⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)
您的(de)當前(qián)位置:主(zhǔ)页(yè) > 技術(shù)文(wén)章(zhāng) >

私人(rén)總(zǒng)結版Verilog語(yǔ)法笔(bǐ)記(jì)

發(fà)布(bù)时(shí)間(jiān):2020-03-13   作者(zhě):admin 浏覽量(liàng):

1.1 概述


1.2 模块(kuài)Module


1.3 數據(jù)類(lèi)型

1.3.1 wire/reg線(xiàn)网(wǎng)

wire和(hé)reg都是(shì)線(xiàn)類(lèi)型,工程上(shàng)沒(méi)區(qū)别;只(zhī)是(shì)always/initial模块(kuài)中(zhōng)輸出(chū)定(dìng)義需要(yào)为(wèi)reg型;
注意(yì):不(bù)要(yào)将reg類(lèi)型與(yǔ)D觸發(fà)器混淆,reg理解(jiě)为(wèi)因(yīn)为(wèi)代(dài)碼所(suǒ)産生(shēng)的(de)。例如(rú):

wire [7:0] a;  //定(dìng)義了(le)8位的(de)wire型數據(jù)

wireb;   // 定(dìng)義了(le)1位的(de)wire型數據(jù)

reg [3:0]sum//定(dìng)義了(le)一(yī)个(gè)4位的(de)reg型數據(jù)

1.3.2 常量(liàng)


類(lèi)型

格式

说(shuō)明(míng)

parameter

parameter數據(jù)名= 表(biǎo)达(dá)式

parameterMSB = 7
//定(dìng)義參數MSB为(wèi)常量(liàng)7;推薦大写;

常量(liàng)

<位宽(kuān)><進(jìn)制><數字(zì)>

二(èr)進(jìn)制:B或(huò)b

十(shí)進(jìn)制:D或(huò)d

八(bā)進(jìn)制:O或(huò)o
十(shí)六(liù)進(jìn)制:H或(huò)h

8b1010_1100 (b表(biǎo)示二(èr)進(jìn)制)
下(xià)画(huà)線(xiàn)“_,提(tí)高(gāo)閱读(dú)性(xìng)。

<數字(zì)>

默認十(shí)進(jìn)制;

4值邏輯

0Logic Low

低電(diàn)平;

1Logic High

高(gāo)電(diàn)平;

xUnknow

不(bù)确定(dìng);

zHigh Impedance

高(gāo)阻态; //三(sān)态門(mén)

1.4 運算符

1.4.1 概述

運算符

说(shuō)明(míng)

算術(shù)運算符

()-(減),*(乘),/(除),%(取(qǔ)模);

每个(gè)運算符在(zài)電(diàn)路(lù)中(zhōng)都是(shì)个(gè)模块(kuài),如(rú)加法器,減法器;

!注意(yì):除法,除2^n,是(shì)移位運算,

浮點(diǎn)運算就(jiù)複雜了(le),因(yīn)此(cǐ)浮點(diǎn)運算要(yào)專用(yòng)除法器;

關(guān)系(xì)運算符

>, <, >=, <===(相等), !=(不(bù)相等);

邏輯運算符

&&(邏輯與(yǔ)). ||(邏輯或(huò)), !(邏輯非(fēi));

条(tiáo)件(jiàn)判斷語(yǔ)句(jù)中(zhōng),为(wèi)避免歧義,邏輯運算符二(èr)邊(biān)推薦为(wèi)1bit

位運算符

&(與(yǔ)),|(或(huò)), ~(非(fēi)), ^(异(yì)或(huò)); ~^(同(tóng)或(huò));

移位運算符

<<(左(zuǒ)移),>>(右(yòu)移);

歸約操作

&~&|~|^, ~^;//unary reduction

条(tiáo)件(jiàn)運算符

?:

拼接運算符

{}

//{3{a[0]}}:代(dài)表(biǎo)3根(gēn)同(tóng)樣(yàng)的(de)a[0]線(xiàn),{a[0],a[0],a[0]}

1.5 設計(jì)語(yǔ)句(jù)

1.5.1 assign(連(lián)續賦值)


1.1.1 always(过(guò)程块(kuài))

賦值方(fāng)式

说(shuō)明(míng)

=,阻塞賦值

always @a or b or C or …)

begin

語(yǔ)句(jù)块(kuài)(=if語(yǔ)句(jù), case語(yǔ)句(jù))

end

实現(xiàn):組合邏輯電(diàn)路(lù);(注意(yì)!禁止用(yòng)于(yú)时(shí)序邏輯電(diàn)路(lù))

always块(kuài)內(nèi),阻塞賦值:是(shì)順序執行(類(lèi)似C);

敏感(gǎn)表(biǎo):@*//*”自(zì)動(dòng)添加相關(guān)輸入(rù)信(xìn)号(hào);

避免出(chū)現(xiàn)Latch(鎖存器)

分(fēn)支語(yǔ)句(jù)(if語(yǔ)句(jù),case語(yǔ)句(jù))条(tiáo)件(jiàn)不(bù)滿时(shí),会(huì)在(zài)電(diàn)路(lù)中(zhōng)自(zì)動(dòng)生(shēng)成(chéng)鎖存器来(lái)保存不(bù)滿足条(tiáo)件(jiàn)的(de)值,因(yīn)此(cǐ)要(yào)補全(quán)if-else,和(hé)case的(de)defalut語(yǔ)句(jù);

<=,非(fēi)阻塞賦值

always @posedge clk or negedge rst_n

begin

語(yǔ)句(jù)块(kuài)(<=if語(yǔ)句(jù), case語(yǔ)句(jù))

end

实現(xiàn):时(shí)序邏輯電(diàn)路(lù);(注意(yì)!禁止用(yòng)于(yú)組合邏輯電(diàn)路(lù))

always块(kuài)內(nèi),阻塞賦值:并行執行;

if語(yǔ)句(jù)

条(tiáo)目

说(shuō)明(míng)

格式1

if(条(tiáo)件(jiàn))begin

        語(yǔ)句(jù)1;

        語(yǔ)句(jù)2

end

else begin

        語(yǔ)句(jù)1

        語(yǔ)句(jù)2

end

格式2

if(条(tiáo)件(jiàn))begin

        語(yǔ)句(jù)1;

        語(yǔ)句(jù)2

end

else if begin

        語(yǔ)句(jù)1

        語(yǔ)句(jù)2

end

else begin

        語(yǔ)句(jù)1

        語(yǔ)句(jù)2

end

特(tè)點(diǎn)

分(fēn)支語(yǔ)句(jù),各(gè)个(gè)分(fēn)支条(tiáo)件(jiàn)不(bù)同(tóng);順序執行判斷;

注意(yì)

if-else成(chéng)对(duì)使用(yòng);

case語(yǔ)句(jù)

条(tiáo)目

说(shuō)明(míng)

格式

case(表(biǎo)达(dá)式)

常量(liàng)表(biǎo)达(dá)式1:begin

語(yǔ)句(jù);

        end

常量(liàng)表(biǎo)达(dá)式2:begin

語(yǔ)句(jù);

        end

常量(liàng)表(biǎo)达(dá)式3:begin

語(yǔ)句(jù);

        end

       default

語(yǔ)句(jù);

endcase

特(tè)點(diǎn)

分(fēn)支語(yǔ)句(jù),各(gè)个(gè)分(fēn)支条(tiáo)件(jiàn)相同(tóng);并行執行判斷;

注意(yì)

default語(yǔ)句(jù)不(bù)可(kě)省(shěng)略;

代(dài)碼&硬(yìng)件(jiàn)

1.5.3 模块(kuài)例化(huà)
作用(yòng)

系(xì)統設計(jì)时(shí),建議遵循以(yǐ)下(xià)設計(jì)原則:

1.5.4 全(quán)加器

描述方(fāng)式

描述方(fāng)式

说(shuō)明(míng)

位置關(guān)聯

AND u1(a, b, and_out);

名字(zì)關(guān)聯

AND u1(.a(a), .b(b), .oand_out); //推薦使用(yòng)

1.6.1 結構

1.6.2 特(tè)殊符号(hào)

語(yǔ)句(jù)

说(shuō)明(míng)

`<标(biāo)識符>

表(biǎo)示:

編譯引導語(yǔ),用(yòng)于(yú)指導仿真(zhēn)編譯器在(zài)編譯时(shí)采取(qǔ)一(yī)些特(tè)殊处理;

編譯引導語(yǔ)句(jù)一(yī)直(zhí)保持(chí)有(yǒu)效,直(zhí)到(dào)被(bèi)取(qǔ)消或(huò)重(zhòng)写;

`timescale

`timescale <时(shí)間(jiān)單位>/<时(shí)間(jiān)精度(dù)>

1

`timescale 1ns/1ns  //时(shí)間(jiān)單位1ns;时(shí)間(jiān)精度(dù)1ns

#2    //延时(shí)2 ×1=2ns

#2.1//延时(shí)2.1 × 1 = 2.1ns,精确到(dào)1ns,为(wèi)2ns

2

`timescale 1ns/100ps  //时(shí)間(jiān)單位1ns;时(shí)間(jiān)精度(dù)100ps

#2    //延时(shí)2 ×1= 2ns

#2.1//延时(shí)2.1 × 1 = 2.1ns,精确到(dào)100s,为(wèi)2.1ns

`define

 

`include

`include global.v

包(bāo)含另(lìng)一(yī)个(gè)文(wén)件(jiàn),完整拷貝过(guò)来(lái);

`restall

把所(suǒ)有(yǒu)設置的(de)編譯引導恢複到(dào)缺省(shěng)狀态;

 

#<num>;

#10; //延遲10个(gè)时(shí)間(jiān)單位

1.6.3 語(yǔ)句(jù)

語(yǔ)句(jù)

说(shuō)明(míng)

initial

块(kuài)語(yǔ)句(jù):只(zhī)執行一(yī)次(cì),always循环(huán)執行;不(bù)可(kě)綜合;

作用(yòng):

産生(shēng)激勵信(xìn)号(hào);

檢查輸出(chū)波(bō)形;

賦初值;

forever

//産生(shēng)周期(qī)信(xìn)号(hào):

intial begin

clk = 0

forever

 #10 clk = ~clk;  //时(shí)鐘(zhōng)信(xìn)号(hào)

end


1.6.4 系(xì)統任务和(hé)函(hán)數

条(tiáo)目

说(shuō)明(míng)

$<标(biāo)識符>

表(biǎo)示Verilg的(de)系(xì)統任务和(hé)函(hán)數

$time

當前(qián)的(de)仿真(zhēn)时(shí)間(jiān)

$display

顯示信(xìn)号(hào)值變(biàn)化(huà):只(zhī)執行一(yī)次(cì),打(dǎ)印(yìn)當前(qián)时(shí)刻;

$display($time, b% %b %b”, rst,clk,dout);

$monitor

監視信(xìn)号(hào)值變(biàn)化(huà):所(suǒ)有(yǒu)过(guò)程时(shí)刻;

$monitor($time, b% %b %b”, rst,clk,dout);

$stop

暫停仿真(zhēn)

$finish

結束(shù)仿真(zhēn),釋放(fàng)電(diàn)腦資源;

1.7.1 組合邏輯電(diàn)路(lù)

条(tiáo)目

说(shuō)明(míng)

assign

assign add_cnt = flag==1; //用(yòng)于(yú)簡單的(de)組合邏輯電(diàn)路(lù);

always

always  @(*)begin//統一(yī)采用(yòng)“*”为(wèi)敏感(gǎn)列表(biǎo);

=,if,case)語(yǔ)句(jù);//只(zhī)能(néng)使用(yòng)“=”賦值

end

1.7.2 时(shí)序邏輯電(diàn)路(lù)

計(jì)數器模板1

3段(duàn)式模板

模板1

1

計(jì)數段(duàn)

always @( posedge cllk or negedge rst_n) begin

if (!rst_n)

     cnt <= 0;           //初值規定(dìng)为(wèi)0

else if (add_cnt)begin//【位置1

if(end_cnt)

            cnt <= 0;

else

               cnt <= cnt + 1;

end

end

2

1条(tiáo)件(jiàn)

assingadd_cnt = d==1;   //d==1: 什麼(me)时(shí)候開(kāi)始數脈沖

3

結束(shù)条(tiáo)件(jiàn)

assing end_cnt = add_cnt&& cnt == X-1; // X:數多(duō)少(shǎo)个(gè)脈沖

計(jì)數器模板2

3段(duàn)式模板

模板1

1

計(jì)數段(duàn)

always @( posedge cllk or negedge rst_n) begin

if (!rst_n)

     cnt <= 0;           //初值規定(dìng)为(wèi)0

else if (add_cnt)  begin//【位置1

if(end_cnt)

            cnt <= 0;

else

               cnt <= cnt + 1;

end

else

  cnt <= 0;    //不(bù)連(lián)續,需要(yào)清(qīng)0时(shí),使用(yòng)模板2

end

2

1条(tiáo)件(jiàn)

assingadd_cnt = d==1;   //d==1: 什麼(me)时(shí)候開(kāi)始數脈沖

3

結束(shù)条(tiáo)件(jiàn)

assing end_cnt = add_cnt&& cnt == X-1; // X:數多(duō)少(shǎo)个(gè)脈沖

模板4段(duàn)式狀态機(jī)

段(duàn)号(hào)

代(dài)碼

1

// 初始化(huà),次(cì)态賦值給(gěi)現(xiàn)态,明(míng)确當前(qián)狀态;

always @(posedge clk or negedge rst_n) begin

    if(!rst_n)

        state_c <= S00;//初始狀态

    else

        state_c <= state_n;

end

2

always @( * ) begin  //組合邏輯,描述狀态轉(zhuǎn)換目标(biāo)

    case(state_c)

S00: begin

            if(s00_s20_start)  // 条(tiáo)件(jiàn)名 S00->S20

                state_n = S20;

            else

                state_n = state_c; // 方(fāng)便拷貝

        end

S20: begin

            if(s20_s21_start)

                state_n = S21;

            else

                state_n = state_c;

        end

S21: begin

            if(s21_s00_start)

                state_n = S00;

            else

                state_n = state_c;

        end

default: begin

            state_n = S00;

        end

    endcase

end

3

//具體(tǐ)的(de)轉(zhuǎn)換条(tiáo)件(jiàn)內(nèi)容

assign s00_s20_start = state_c==S00&& (条(tiáo)件(jiàn))

assign s20_s21_start = state_c==S20&& (条(tiáo)件(jiàn));

assign s21_s20_start = state_c==S21&& (条(tiáo)件(jiàn));

4

根(gēn)據(jù)轉(zhuǎn)态設計(jì)輸出(chū):

1个(gè) always 設計(jì)1个(gè)輸出(chū)信(xìn)号(hào);

1.7.3 Testbench
框架

条(tiáo)目

內(nèi)容

模块(kuài)名

`timescale 1 ns/1 ns

module testbench_name();

信(xìn)号(hào)定(dìng)義

reg clk  ;  //时(shí)鐘(zhōng)

reg rst_n;  //複位

reg[3:0]  din0  ; //uut的(de)輸入(rù)信(xìn)号(hào) ,定(dìng)義为(wèi)reg型,在(zài)initial中(zhōng)

reg       din1  ;

wire      dout0;//uut的(de)輸出(chū)信(xìn)号(hào), 定(dìng)義为(wèi)wire

wire[4:0] dout1;

parameter CYCLE    = 20; //參數定(dìng)義,方(fāng)便修改;

parameter RST_TIME = 3 ;

待测模块(kuài)例化(huà)

module_name uut(   //統一(yī)采用(yòng)名字(zì)關(guān)聯

       .clk          (  clk     ),

       .rst_n        (  rst_n   ),

       .din0         (  din0    ),

       .din1         (  din1    ),

       .dout0        (  dout0   ),

       .dout1        (  dout1   )

);

激勵産生(shēng)

//複位,时(shí)鐘(zhōng) ,等

顯示輸出(chū)結果(guǒ)

$display   //類(lèi)似printf

複位

複位

initial begin

       rst_n = 1;

       #2;

       rst_n = 0;

       #(CYCLE*RST_TIME);

       rst_n = 1;

 end

仿真(zhēn)时(shí)鐘(zhōng)

仿真(zhēn)时(shí)鐘(zhōng)

initial begin

     clk = 0;

     forever

     #(CYCLE/2)

     clk=~clk;

 end


激勵信(xìn)号(hào)

激勵信(xìn)号(hào)

 initial begin

      #1;//方(fāng)便观测

      din1 = 0; //賦初值  

      #(10*CYCLE);

//開(kāi)始賦值

 end

以(yǐ)上(shàng)就(jiù)是(shì)本(běn)人(rén)總(zǒng)結的(de)Verilog語(yǔ)法相關(guān)知識點(diǎn),當然明(míng)德揚還(huán)有(yǒu)很多(duō)比較簡便的(de)模板給(gěi)我(wǒ)们(men)使用(yòng),感(gǎn)興趣的(de)朋友可(kě)以(yǐ)進(jìn)入(rù)明(míng)德揚論壇(http://www.fpgabbs.cn/)進(jìn)行更(gèng)多(duō)FPGA 或(huò)者(zhě)語(yǔ)法相關(guān)讨論!




下(xià)一(yī)篇(piān):沒(méi)有(yǒu)了(le)
  •   
  •   
  •   
  •  
  • FPGA教育領域第(dì)一(yī)品牌(pái)
  • 咨詢热(rè)線(xiàn):020-39002701
  • 技術(shù)交流Q群(qún):544453837
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨