verilog中的代码使用
生活随笔
收集整理的這篇文章主要介紹了
verilog中的代码使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
不推薦使用的:
| initial | 設計中不用,測試中用 |
| task/function | 設計中一般不用,測試中用 |
| while/repeat/forever | 設計中不用,只測試中用 |
| for | 設計初期不用,后期按規范使用 |
| integer | 設計中不用 |
| casex/casez | 設計中不用 |
| force/wait/fork | 設計中不用,只測試中用 |
| #n | 設計中不用,只測試中用 |
?推薦使用的 :
| reg/wire | 設計中信號類型,有reg和wire;?在always中使用reg,其他用wire。 |
| assign/always | 組合邏輯中格式: always@(*)begin 代碼語句; end 或者assign 時序邏輯中格式: always@(posedge clk or negedgerst_n)begin ? ? ? ? ?if(rst_n==1'b0) begin 代碼語句; end ? ? ? ? else begin 代碼語句; ? ? ? ? end ?end |
| if else/case | always中的語句,用來做選擇判斷 |
| 算數運算符 (+,—,x,/,%) | 一般不使用‘/’和‘%’ |
| 賦值運算符(=,<=) | 時序邏輯中用“<=”;組合邏輯中使用“=” |
| 三元運算符 | cond ? iftrue : iffalse 。cond 條件為真,則表達式的值為 iftrue,反之表達式的值為 iffalse。例 (sel)?b:a 式,當 sel 為真時,結果為 b,反之結果為 a。 備注:三元運算符嵌套用法,比較a,b,c,中的最大值 assign max= (a > b) ? (a > c)?a:c:(b > c)?b:c; |
| parameter | 設計代碼中,位寬、長度、狀態機命名最好都用參數表示,方便閱讀和修改 |
總結
以上是生活随笔為你收集整理的verilog中的代码使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB浮点数与十六进制(浮点数)转
- 下一篇: Verilog如何避免Latch