verilog 語法注意事項

2021-10-07 18:13:00 字數 737 閱讀 2278

1. 變數賦值或比較需要等位寬,進行嚴格約束,如  reg [7:0] param;  initial param = 8'h87;    (最好不要寫 param = 135;)

2. verilog 中使用case ,if  else , 或其他邏輯語句時需要保證語句的完整性,如 if 後需要跟隨 else ; case 內需要包含default,保證程式塊執行分支完整,否則可能會造成造成塊內賦值語句執行錯誤(**正確,片上實際執行錯誤)

3.verilog 需要仔細檢查變數是否在僅在乙個always塊中進行賦值,多個always塊中賦值在block design 設計中並不會倍檢測出來,**時可能功能正常,實際片上執行功能異常

4.在非時鐘同步情況下,條件語句內賦值,所有分支最好都包含該賦值語句,即使保持原值也需要寫入,防止賦值語句引發問題。

如三段式狀態機。紅色框內語句必須存在,保證next_state可以穩定在當前狀態,如果缺失會造成狀態機跳轉不正確,狀態機多跳狀態。

5. ila 除錯vhdl只能監控輸入或buf,不能監控out埠

6.組合邏輯,即沒有時鐘約束的process,不能做計數器操作,只能進行邏輯組合,賦值;時序邏輯可以根據組合邏輯的訊號量跳變進行計數器操作。

7.reg 賦值,initial 初始化**有效,生成bit檔案後不生效,需要用clk賦值,wire可直接初始化賦值

vue語法使用注意事項

stop 就是js中的event.stoppropagation 的縮寫,它是用來阻止冒泡的 prevent 就是js中event.preventdefault 的縮寫,它是用來阻止預設行為的 capture 捕獲事件和冒泡事件 預設 是兩種事件流,事件捕獲是從document到觸發事件的那個元素 ...

Verilog實現分頻器時,計數注意事項

本來我是想設計乙個四分頻,但是結果卻是六分頻?後來仔細分析了一下波形後,發現這是時序電路 module fenpinqi clk,clr,q0,state input clk,clr output reg q0 output reg 1 0 state always posedge clk begi...

jQuery的語法總結和注意事項

1 關於頁面元素的引用 通過jquery的 引用元素包括通過id class 元素名以及元素的層級關係及dom或者xpath條件等方法,且返回的物件為jquery物件 集合物件 不能直接呼叫dom定義的方法。2 jquery物件與dom物件的轉換 只有jquery物件才能使用jquery定義的方法。...