跳到主要內容

截至2006/04/19的Hardware精華文章!

硬體相關的文章
PIC 指令集列表
PIC指令集列表
Verilog 快速參考筆記
本文主要記載本人學習Verilog過程中的一些參考用筆記。
Verilog 模擬階段分析
對於學習Verilog的人而言,切確的瞭解在一個單位時間內Simulator進行了哪些工作是十分重要的。本文針對這個 議題做了一個簡單的列表。
Verilog Code Style
本文主要是收集一些重要的Verilog coding style。一個好的coding style可以減少錯誤的發生,增加電路的效能,以及較好的可讀性。
Finite State Machine(FSM)
FSM依據與輸入訊號的關係可分為兩種:Mealy與Moore。其中Mealy與輸入訊號有直接關係,Moore則無。
Verilog 資源列表
本文主要列出一些網路上面的Verilog資源。
一 個以組合邏輯判斷edge的verilog code.
通常在verilog中我們都是使用posedge或negedge的方式判斷組合邏輯。網路上有人在問如何用純組合邏輯來 判斷edge。我嘗試寫了這樣的一個solution。有興趣的人可以看看!
在Verilog 中如何避免implicit wire type.
通常如果沒有指定某個net的type的話,Verilog會預設給予wire的型態。看起來很方便,其實常會導致 designer忽略掉一些錯誤。透過Verilog-2001的一些設定我們可以避免發生這種情況。

留言

這個網誌中的熱門文章

Windows Installer死掉了嗎?

最近我的電腦發生了奇怪的事情。只要是與Windows Installer有關的東西,都無法動作了。也就是說,我無法安裝包裝成msi的軟體。也無法加以移除。搞了半天,始終沒有頭緒。一度動念頭想要將整台電腦重灌。 不過,經過一路追蹤問題,我發現是Windows Installer的服務無法啟動,而造成整個問題。透過系統管理工具中的『服務』,去啟動Windows Installer服務時,每次都看到代碼1067的錯誤訊息。無論怎麼重灌Windows Installer也無法解決。 今天突然靈光一閃,我開始把正在執行的程式一個接著一個砍掉,一邊砍一邊去啟動Windows Installer服務。試了好久,都快要放棄的時候。忽然我的Windows Installer就run起來了。趕快看一下是砍了哪個程式變成這樣的。終於被我找到罪魁禍首了!!就是下面這個程式造成的。只要把這個服務停掉,我的Windows Installer就復活了!!! 感謝匿名網友提供另外一個小技巧: 『只要在windows installer服務的內容裡,在登入那頁勾" 允許服務與桌面互動 " 就輕鬆解決囉!』 BTW, 我沒實際試過,有遇到這個問題的人,請試試看!然後好心的跟我回報一下! 有些網友找不到service的控制畫面。下面簡單說明一下: service的控制是在 『控制台->系統管理工具->服務』 英文的話是 『Control Panel->Administrative Tools->Services』 再不然,用command line下services.msc /s也可以叫出來。 再不行...就試試吧 > net stop LVPrcSrv > %WINDIR%\system32\sc.exe config LVPrcSrv start= disabled PS: 如果需要重新安裝MSI installer,可以到Microsoft的 下載中心 。

Portable Python

我常常需要把Python寫的script帶到其他電腦使用,因此,一個免安裝,可攜帶的Python就顯得十分重要。最近看過了幾個可攜式Python的方案,下面這個PortablePython是我覺得最合我意的方案。因為它提供了大部分會用到的Python module及工具,甚至連wxPython及PyGame也有。同時也有好用的Python編輯器PyScripter。所有開發Python所需的開發工具都一應俱全了!把它放到隨身碟中,就不用到處幫人安裝Python了。 PortablePython : http://www.portablepython.com/

一個Python程式可幫檔名加上日期與時間

很多時候,我們希望能夠將檔案或是目錄名稱加上一個時間及日期,以便release。所以,我就寫了一個小小的程式來達到這個目的。我把這個程式貼上來,讓有興趣的人可以拿去使用。 -- #!/usr/bin/env python # -*- coding: ascii -*- """ Usage: cfgfn.py [filename or directory list] """ import sys import os import time import re import glob ro = re.compile(r'(?P<FN> .*)-[0-9]{8}-[0-9]{4}(?P<EXT> .*)') for fnl in sys.argv[1:]: for fn in glob.glob(fnl): mo = ro.match(fn) if mo: pre = mo.group('FN') ext = mo.group('EXT') else: pre, ext = os.path.splitext(fn) newFn = pre + time.strftime('-%Y%m%d-%H%M') + ext os.rename(fn, newFn) print 'Rename %s -> %s' % (fn, newFn)