日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【Verilog學(xué)習(xí)】Verilog基礎(chǔ)語法

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

    邏輯值

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

    數(shù)字進(jìn)制格式

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

    16'b1001_1010_1010_1001 = 16'h9AA9

    標(biāo)識符

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

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

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

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

    測試

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

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

    運(yùn)算符

    算術(shù)運(yùn)算符

    測試

    關(guān)系運(yùn)算符

    測試

    邏輯運(yùn)算符

    測試

    條件操作符

    (類似三目運(yùn)算符)
    測試

    位運(yùn)算符

    測試

    移位運(yùn)算符

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

    拼接運(yùn)算符

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

    運(yùn)算符優(yōu)先級

    測試

    結(jié)構(gòu)語句

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

    賦值語句

    條件語句

    if 語句
    case 語句
    • 分支表達(dá)式的值互補(bǔ)相同

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

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

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

    • if ...

    • if ... else ...

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

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

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

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

    • 允許 if 語句嵌套

    • 阻塞賦值 (b = a;)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多