基本上,一個程式會有四大架構,
文章內是提到是VHDL的格式,但我想也是用於Verilog當中。
[1] Optional Heading Section
檔頭部分,通常會寫一些重要的資訊,以及如何使用這套模組(Module)。
好讓第一次使用的人能夠快速上手,給用過的人能夠重新回想,還有一些歷史更改記錄。
[2] Library Declaration
宣告用了哪寫資料庫,可以提醒人記得匯入哪些資料到專案中。
[3] Entity Declaration
其實,Module就是黑盒子的觀念一樣,你把輸入給黑盒子裡面做什麼不重要,
但要得到你想要的輸出,這樣才能達到簡化的目標。因此,輸入及輸出的訊號對Module來說可是很重要的。
為了能夠有效的整理利用就把它們放在此區塊吧。
[4] Architecture Section
接著,最後的區塊就是給設計者設計的地方囉!!
下面有五個小訣竅可以幫助減少錯誤。
[1] 常常註解你的程式碼!!!
你覺得你記得住?等到一年後拿來看再說吧~
[2] 用空白鍵或Tab鍵來增加可讀性。
[3] 變數名稱的命名方式。
(1) 命名盡量短而好記。舉例來說,
active low chip enable
X active_low_chip_enable
O CEn_n
(2) 用“_”來加以敘述變數用途。舉例來說,
負緣觸發的訊號,可以在變數名稱後面多加個n, _n, _b, *來提醒自己。
[4] 盡量止少使用Function。
[*5] Synchronize signals to change on a clock edge
正負觸發的問題常常會影響訊號同步的問題。
Reference :
http://www.embedded.com/design/configurable-systems/4007481/3/The-art-of-FPGA-construction
http://www.embedded.com/design/configurable-systems/4007481/4/The-art-of-FPGA-construction
No comments:
Post a Comment