版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.間隔符:空格(b),Tab(t),換行符(n),換頁(yè)符。2.注釋:/*/ /3.標(biāo)識(shí)符,關(guān)鍵詞:標(biāo)識(shí)符由英文字母、數(shù)字、$符、下劃線組成,以英文字母或下劃 線開頭。4.邏輯值:0:邏輯假1:邏輯真x或X:不確定狀態(tài)z或Z:高阻態(tài)5. 常量:<1>格式: <+/-><位寬><基數(shù)符號(hào)><數(shù)值>b/o/d/h:二、八、十、十六進(jìn)制<2>數(shù)字可加下劃線:8b1001_1001表示8位二進(jìn)制數(shù)10011001<3>科學(xué)計(jì)數(shù):5E-4: 5*104<4>利用參數(shù)定義語(yǔ)句來定義一個(gè)標(biāo)識(shí)符表示常量:param
2、eter 參數(shù)名1=常量1,參數(shù)名2=常量2;例: parameter BIT=1,BYTE=8;6. 字符串:雙撇號(hào)內(nèi)的字符序列,不能分多行書寫,表達(dá)式或賦值語(yǔ)句中字符串要換成 無(wú)符號(hào)整數(shù),用8位ASCII碼表示,一個(gè)8位ASCII碼表示一個(gè)字符變量的數(shù)據(jù)類型:1. 線網(wǎng)(net type)類型:線網(wǎng)類被定義后若沒有被元件驅(qū)動(dòng),則默認(rèn)值為高阻態(tài) 關(guān)鍵詞:wire: wiren-1:0變量名1,變量名2,變量名n;除wire外還有wand、wor、tri、triand、trior、trireg2. 寄存器類型:寄存器型變量只能在initial或always內(nèi)被賦值,沒被賦值默認(rèn)為x狀態(tài)。4種類
3、型的寄存器變量:<1>reg:行為描述中對(duì)寄存器型變量說明 <2>integer:32位有符號(hào)整數(shù)型 <3>real:64位有符號(hào)實(shí)型變量(默認(rèn)值是0) <4>time:64位無(wú)符號(hào)時(shí)間型reg:格式:regn-1:0變量名1,變量名n;例:integer counter; initial /initial是過程語(yǔ)句結(jié)構(gòu),賦值給寄存器類型變量 counter=-1;real:通常用于對(duì)實(shí)數(shù)型常量進(jìn)行儲(chǔ)存運(yùn)算例:real delta; initial begin delta=4e10; end integer i; initial i=delta;
4、 /i得到的值為2time:主要用于儲(chǔ)存仿真時(shí)間,只儲(chǔ)存無(wú)符號(hào)整數(shù),常調(diào)用系統(tǒng)函數(shù)$time例:time current_time;initialcurrent_time=$time;Verilog 基本結(jié)構(gòu)module 模塊名(端口名1,端口名2,)端口類型說明(input,output,inout)/inout是雙向端口參數(shù)定義;/將常量用符號(hào)常量代替,非必須結(jié)構(gòu)數(shù)據(jù)類型定義(wire,reg等)實(shí)例化底層模塊和基本門級(jí)元件;連續(xù)賦值語(yǔ)句(assign);過程塊結(jié)構(gòu)(initial和always);行為描述語(yǔ)句;endmodule描述方式:結(jié)構(gòu)描述方式:調(diào)用其他已定義好的底層模塊對(duì)整個(gè)電路
5、進(jìn)行描述,或直 接調(diào)用基本門級(jí)元件描述。數(shù)據(jù)流描述方式:使用連續(xù)賦值語(yǔ)句對(duì)電路邏輯功能進(jìn)行描述。行為描述方式:使用過程塊語(yǔ)句結(jié)構(gòu)(initial,always)。組合邏輯電路門級(jí)建?;鹃T級(jí)元件:and:多輸入與門 or:多輸入或門 xor:多輸入異或門buf:多輸出緩沖器 bufif1:高電平有效三態(tài)緩沖器 bufif0:低電平有效三態(tài)緩沖器nand:多輸入與門 nor:多輸入或非門 xnor:多輸入異或非門not:多輸入反相器 notif1:高電平有效三態(tài)反相器notif0:低電平有效三態(tài)反相器多輸入門:and A1(out,in1,in2,in3);多輸出門:buf B1(out1,ou
6、t2,in);三態(tài)門:bufif1 B1(out,in,ctrl); notif1 N1(out,in,ctrl);組合邏輯電路數(shù)據(jù)流建模 數(shù)據(jù)流建模使用的基本語(yǔ)句是連續(xù)賦值語(yǔ)句,用于對(duì)wire型變量進(jìn)行賦值,由關(guān)鍵詞assign開始,由操作數(shù)和運(yùn)算符組成的邏輯表達(dá)式。 2選1數(shù)據(jù)選擇器:wire A,B,SEL,L;assign L=(A&SEL)|(B&SEL);組合邏輯電路行為級(jí)建模 描述數(shù)字邏輯電路的功能和算法,使用always結(jié)構(gòu),后面跟一系列過程賦值語(yǔ)句,給reg類型變量賦值。1. 條件語(yǔ)句:if: if(condition_expr)true_statement;
7、if(condition_expr)true_statement; else fale_statement;if(condition_expr1)true_statement1; else if(condition_expr2)true-statement2; . . . else default_statement;注:if括號(hào)中的表達(dá)式若為0,z或x都按“假”處理,否則按“真”處理。2. 多支路分支語(yǔ)句:case: case(case_expr)item_expr1: statement1;item_expr2:statement2;.default: default_statement;
8、 /可省略endcase注:若分支后的語(yǔ)句是多條語(yǔ)句,要在多余語(yǔ)句前加上begin,最后加上end。3. always: always (循環(huán)執(zhí)行條件) 表示括號(hào)內(nèi)的任意一個(gè)變量發(fā)生變化時(shí),其下面的過程賦值語(yǔ)句就執(zhí)行一次,執(zhí)行完最后一句時(shí),執(zhí)行掛起,等待變量發(fā)生變化,圓括號(hào)內(nèi)的變量被稱為敏感變量。注:敏感變量互相之間用or連接 只能給寄存器變量賦值(reg型)。用verilog描述鎖存器和觸發(fā)器1. 時(shí)序電路建模:always (事件控制表達(dá)式/敏感事件表)begin 塊內(nèi)局部變量的定義; 過程賦值語(yǔ)句; /左邊的變量必須為寄存器數(shù)據(jù)類型,右邊隨意end敏感事件分兩種類型:電平敏感,邊沿觸發(fā)電
9、平敏感:always (SEL or a or b)SEL,a,b中任意一個(gè)信號(hào)電平發(fā)生變化則后面的語(yǔ)句執(zhí)行一次。邊沿觸發(fā):posedge(上升沿) negedge(下降沿)always (posedge CP or posedge CR)時(shí)鐘信號(hào)CP上升沿到來或清零信號(hào)CR跳變?yōu)榈?電平時(shí),執(zhí)行之后的語(yǔ)句。always內(nèi)部的賦值語(yǔ)句:阻塞型賦值語(yǔ)句(=號(hào)賦值),非阻塞型賦值語(yǔ)句(<=號(hào)賦值)阻塞型賦值語(yǔ)句:按語(yǔ)句由上到下的順序進(jìn)行賦值,即有 先后順序非阻塞型賦值語(yǔ)句:并行執(zhí)行,所有語(yǔ)句同時(shí)執(zhí)行賦值注:一個(gè)語(yǔ)句塊(beginend)中只允許使用一種類型的賦值方式,時(shí)序電路中采用非阻塞型賦
10、值語(yǔ)句。用verilog描述時(shí)序邏輯電路1. 移位寄存器的Verilog建模:左移:Q<=Dsl,Q3:1將左移輸入端Dsl的數(shù)據(jù)直接傳給輸出Q3,Q3->Q2,Q2->Q1,Q1->Q0 (Q3:1傳給Q2:0)右移:Q<=Q3:0,Dsr;module Test_shift74194(S1,S0,D,Dsl,Dsr,Q,CP,CR);input S1,S0;input Dsl,Dsr;input CP,CR;input 3:0D;output 3:0Q;reg 3:0Q;always (posedge CP or negedge CR)if(CR)Q<=
11、4'b0000;else case (S1,S0)2'b00:Q<=Q;2'b01:Q<=Q2:0,Dsr;2'b10:Q<=Dsl,Q3:1;2'b11:Q<=D; endcaseendmodule2. 計(jì)數(shù)器的Verilog建模:a) 同步二進(jìn)制計(jì)數(shù)器:module counter(CEP,CET,PE,D,CP,CR,Q,TC);input CEP,CET,PE,CP,CR;input 3:0D;output TC;output 3:0Q;reg 3:0Q;wire CE;assign CE=CEP&CET;assi
12、gn TC=CET&(Q=4'b1111);always (posedge CP or negedge CR)if(CR)Q<=4'b0000;else if(PE)Q<=D;else if(CE)Q<=Q;else Q<=Q+1'b1;endmoduleb)異步二進(jìn)制計(jì)數(shù)器:module ripplecounter(Q0,Q1,Q2,Q3,CP,CR);output Q0,Q1,Q2,Q3;input CP,CR;D_FF FF0(Q0,Q0,CP,CR);D_FF FF1(Q1,Q1,Q0,CR);D_FF FF2(Q2,Q2,Q1,
13、CR);D_FF FF3(Q3,Q3,Q2,CR);endmodulemodule D_FF(Q,D,CP,Rd);output Q;input D,CP,Rd;reg Q;always (negedge CP or negedge Rd)if(Rd)Q<=1'b0;else Q<=D;endmodulec)非二進(jìn)制計(jì)數(shù)器:module m10_counter(CE,CP,CR,Q);input CE,CP,CR;output 3:0Q;reg 3:0Q;always (posedge CP or negedge CR)if(CR)Q<=4'b0000;els
14、e if(CE)begin if (Q>=4'b1001)Q<=4'b0000;else Q<=Q+1'b1;endelse Q<=Q;endmodule所有實(shí)驗(yàn)代碼及電路波形:十進(jìn)制可逆計(jì)數(shù)器實(shí)驗(yàn):代碼一(可逆計(jì)數(shù)器):module kenijishuqi(set,cin,clk,clr,upd,q,co);input clk,clr,upd,set;input3:0 cin ;output reg co;output reg3:0q;always(posedge clk or negedge clr)begin if(!clr) if(!se
15、t)/clear 0 begin q=cin; end else begin q=0;co=0; end else begin if(upd)/add counter begin if(q=4'd8)co=1'b1;/when q=1000b,co=1 else co=0;/else co=0 if(q<4'd9)q=q+1'b1;/when q<=1000b, else q=0;/q=1001 next q=0000 end else/decrese begin if(q=1)co=1'b1; else co=0; if(q>0)q=
16、q-1'b1; else q=4'd9; end endendendmodule代碼二(BCD碼-七段譯碼器):module decode4_7(codeout,indec);input 3:0indec; output 6:0codeout;reg 6:0codeout;always (indec)begin case (indec)4'd0: codeout=7'b1111110;4'd1: codeout=7'b0110000;4'd2: codeout=7'b1101101;4'd3: codeout=7'
17、b1111001;4'd4: codeout=7'b0110011;4'd5: codeout=7'b1011011;4'd6: codeout=7'b1011111;4'd7: codeout=7'b1110000;4'd8: codeout=7'b1111111;4'd9: codeout=7'b1111011;default: codeout=7'bx;endcaseendendmodule移位器使用74198,不用代碼:Pw脈沖控制m:代碼一:module swm_1(clk,out10khz);input clk;reg 12:0 q5000;output reg out10khz;always(posedge clk)begin if(q5000<=2499) begin q5000<=q5000+1; out10khz<=1; end else if(q5000<=4999) begin q5000<=q5000+1; out10khz<=0; end else q5000<=0; end endmodule代碼二:module swm_
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2180-2024嬰兒輻射保暖臺(tái)校準(zhǔn)規(guī)范
- 語(yǔ)文工作計(jì)劃
- 電商工作計(jì)劃范文
- 十一國(guó)慶節(jié)七天假期安全教案
- 工作前安全分析管理規(guī)定
- 2025年AE活性酯市場(chǎng)調(diào)查報(bào)告
- 買賣合同五篇
- 七年級(jí)班務(wù)工作計(jì)劃
- 制定班級(jí)德育個(gè)人工作計(jì)劃
- 企業(yè)培訓(xùn)心得體會(huì)
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 河北省滄州市2023-2024學(xué)年高一上學(xué)期期末考試語(yǔ)文試題(含答案解析)
- 2024屆四川省成都市中考數(shù)學(xué)第一輪復(fù)習(xí)之中考考點(diǎn)研究《一次函數(shù)與反比例函數(shù)綜合問題》教學(xué)
- 2023AECOPD診治中國(guó)專家共識(shí)
- (正式版)JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動(dòng)機(jī)技術(shù)規(guī)范
- 2024年職業(yè)衛(wèi)生技術(shù)人員評(píng)價(jià)方向考試題庫(kù)附答案
- 醫(yī)院與藥企合作開展臨床研究
- -如何上好一堂課
- 小學(xué)奧數(shù)題庫(kù)《幾何》-直線型-一半模型-3星題(含解析)全國(guó)通用版
- 銷售人員工作銷售目標(biāo)的設(shè)定與跟蹤評(píng)估優(yōu)化報(bào)告
- 2024民用無(wú)人機(jī)可靠性飛行試驗(yàn)要求與方法
評(píng)論
0/150
提交評(píng)論