电竞比分网-中国电竞赛事及体育赛事平台

分享

【Verilog學習】Verilog基礎語法

 楓中眸zc 2022-01-13
  • 測試

    邏輯值

    邏輯0:表示低電平,一般對應電路GND
    邏輯1:表示高電平,一般對應電路VCC
    邏輯X:表示未知,可能是高電平,也可能是低電平
    邏輯Z:表示高阻態(tài),外部沒有激勵信號,是個懸空狀態(tài)
    測試

    數(shù)字進制格式

    Verilog 數(shù)字進制格式包括二進制(b)、八進制(o)、十進制(d)和十六進制(h)
    一般常用的為二進制、十進制、以及十六進制
    二進制表示為: 4'b0101 表示 4 位二進制數(shù)字 0101
    十進制表示為: 4'd2 表示4位十進制數(shù)字2(二進制0010)
    十六進制表示為: 4'ha 表示4位十六進制數(shù)字a(二進制1010)

    16'b1001_1010_1010_1001 = 16'h9AA9

    標識符

    標識符 :用于定義 模塊名、端口名、信號名 等。
    1、標識符可是任意一組 字母、數(shù)字、$符號和_(下劃線)符號 的組合;
    2、標識符的第一個字符必須是字母或者下劃線;
    3、標識符區(qū)分大小寫,不建議大小寫混合使用;

    數(shù)據(jù)類型

    在 verilog 中,主要有三大類數(shù)據(jù)類型

    寄存器類型
    reg [31:0] delay_cnt;   //延時計數(shù)    32位位寬
    reg        key_reg;      //沒有指定位寬,默認位寬為1

    測試

    reg類型數(shù)據(jù),只能在always語句和 initial語句中被賦值。

    線網(wǎng)類型
    參數(shù)類型

    運算符

    算術運算符

    測試

    關系運算符

    測試

    邏輯運算符

    測試

    條件操作符

    (類似三目運算符)
    測試

    位運算符

    測試

    移位運算符

    左移時,位寬增加;右移時,位寬不變。
    測試

    拼接運算符

    例如:c = {a,b[3:0]};
    測試

    運算符優(yōu)先級

    測試

    結構語句

    initial 語句在模塊中只執(zhí)行一次。
    常用于測試文件編寫,用于產(chǎn)生仿真測試信號(激勵信號),或者用于對存儲器變量賦初值。
    always 語句在持續(xù)活動。
    只有與時序結合才能正常運行。
    沿觸發(fā)的always
    測試
    測試

    賦值語句

    條件語句

    if 語句
    case 語句
    • 分支表達式的值互補相同

    • 表達式的位寬必須相等,不能用 'bx,代替 n'bx ('bx,默認表示32位數(shù)據(jù))

    • "casez" 比較時,不考慮表達式中的高阻值 z

    • "casex" 比較時,不考慮表達式中的高阻值 z 和 不定值 x

    • if ...

    • if ... else ...

    • if ... else if ... else ...

    • 條件語句必須在過程塊中使用(過程塊語句是指有 initial 和 always 語句引導的塊語句)

    • if語句對表達式真值判斷:若為1,為真;若非1(為0,x,z),則為假;

    • if 和 else 內的操作語句,可以使用 begin 、 end,包含多個語句

    • 允許 if 語句嵌套

    • 阻塞賦值 (b = a;)

    • 非阻塞賦值 (b <= a;)

    • 參數(shù)是常量,在Verilog中,使用 parameter 定義常量。

    • 參數(shù)定義的右邊必須是常數(shù)表達式。

    • 線網(wǎng)數(shù)據(jù)類型表示結構實體(例如門)之間的 物理連線。

    • 線網(wǎng)類型的變量 不能存儲值 ,它的值有驅動它的元件所決定。

    • 線網(wǎng)類型關鍵字為wire型與tri型
      驅動線網(wǎng)類型變量的元件有門、連續(xù)賦值語句、assign等。
      若沒有驅動元件連接到線網(wǎng)類型變量上,則該變量就是高阻的,即其值為z

    • 若過程語句描述 時序邏輯,即always語句帶有時序信號,則該寄存器變量對應為觸發(fā)器。

    • 若過程語句描述 組合邏輯,即always語句不帶有時序信號,則該寄存器變量對應為硬件連線。

    • 表示一個抽象的數(shù)據(jù)存儲單元。

    • 通過賦值語句改變寄存器存儲的值。

    • 寄存器數(shù)據(jù)類型關鍵字為reg,默認初始值為不定值x

    • 寄存器數(shù)據(jù)類型

    • 線網(wǎng)數(shù)據(jù)類型

    • 參數(shù)數(shù)據(jù)類型 (編譯器識別)

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多