FPGA實戰-verilog設計規範及要點

以下爲建議規範,可以增強代碼的閱讀性和可觀性,並不是強制的規範

1.只有三種邏輯電路:組合邏輯,同步復位的時序邏輯電路,異步復位的時序邏輯電路

2.一個always只產生一個信號(方便調試,但是可以有多個輸入)

3.一個信號只能在一個always產生

4.always是描述一個信號產生的方法,即在什麼情況下,這個信號的值爲多少,在其他情況下,值爲多少(要考慮全面)

5.含有posedge或者negedge的一定是D觸發器,是時序電路

6.設計時。如果想立即有結果,就用組合邏輯,想延時一拍有結果,就用時序邏輯

7.時序邏輯的敏感信號是always@(posedge clk or negedge rst_n);

8.組合邏輯的敏感信號是always@(*);

9.reg常用來表示用於“always”模塊內的指定信號類型,常代表觸發器,在alwyas裏面賦值的信號都必須定義爲reg型

10.wire類型信號表示線,常用於模塊例化

11.輸出信號必須是寄存器直接輸出,不能用wire類型數據作爲的輸出(防止產生亞穩態,詳情可參考:https://blog.csdn.net/VCA821/article/details/81989846

12.輸入輸出的信號聲明一行只能寫一個

13.時序邏輯電路中使用非阻塞賦值,組合邏輯中使用阻塞賦值

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章