版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
(2)數(shù)的表示方法
按進制劃分,整數(shù)可以表示成十進制數(shù),十六進制數(shù),八進制和二進制數(shù)。Verilog中整數(shù)通常有兩種表述方式,分別為十進制數(shù)和指定位數(shù)表述方式。十進制數(shù)表述方式:
指定位數(shù)表述方式:
用0到9的數(shù)字序列表示。
<位長度><‘進制符號><數(shù)字及a到f(十六進制)>
。
在硬件描述語言中,x表示不定值,z表示高阻態(tài)??梢栽谑M制,八進制和二進制中使用x和z,十六進制中一個x表示4位都是x,八進制中一個x表示3位都是x,二進制中則表示一位是x。z用法同理。整數(shù)的表示示例:'h123F
//無位長度的十六進制數(shù)'o123 //無位長度的八進制數(shù)3'b101 //3位二進制數(shù)5'D3 //5位十進制數(shù)12'hx //12位不確定數(shù)16'oz //16位高阻態(tài)16'b1001_0110_1111_zzzz//16位二進制數(shù)以下表示是不正確的:123af
//十六進制數(shù),缺少進制符號'
h
在表示長數(shù)據(jù)時還可以用下劃線“_”進行分割以增加程序的可讀性,(3)
case語句的語法結(jié)構(gòu)
case
(表達式)
選項值1:語句1; 選項值2:語句2; 選項值3:語句3;
…default:
缺省語句;endcase
缺省語句不是必須有的。
4選1數(shù)據(jù)選擇器的仿真電路圖:
4選1數(shù)據(jù)選擇器的仿真波形圖:3.
仿真結(jié)果10.3.2
4選1數(shù)據(jù)選擇器實例21.if-else語句實現(xiàn)的4選1數(shù)據(jù)選擇器
//例10.3.2modulemux4_1(out,in0,in1,in2,in3,sel);outputout;inputin0,in1,in2,in3;input[1:0]sel;regout;always@(in0orin1orin2orin3orsel)beginif(sel==2'b00)out=in0;elseif(sel==2'b01)out=in1;elseif(sel==2'b10)out=in2;elseif(sel==2'b11)out=in3;elseout=1'bx;endendmodule2.
程序說明(1)if條件語句除了if-else結(jié)構(gòu)外,還有if-else-if結(jié)構(gòu)
if
(表達式1)
語句1;elseif(表達式2)
語句2;elseif…else
語句n;(2)順序塊語句begin-end
順序塊語句通常用來將兩條或多條語句組合在一起,使其在格式上更象一條語句。begin
語句1;語句2;
......語句n;end順序塊有以下特點:
1)塊內(nèi)的語句是按順序執(zhí)行的,即只有上面一條語句執(zhí)行完后下面的語句才能執(zhí)行。2)直到最后一條語句執(zhí)行完,程序才跳出該語句塊。
(3)缺省項問題缺省項是可以省略的,但省略缺省項會引入鎖存器,在組合邏輯電路設(shè)計中可能會帶來一些問題。
//例10.3.3moduleex3reg(y,a,b,c);inputa,b,c;outputy;regy,rega;always@(aorborc)begin
if(a&b)rega=c;else //有缺省項情況
rega=0;y=rega;endendmodulerega被綜合為一個數(shù)據(jù)選擇器:
省略了缺省項的Verilog語言程序
//例10.3.4moduleex4reg(y,a,b,c);inputa,b,c;outputy;regy,rega;always@(aorborc)beginif(a&b)rega=c; //缺省項省略
y=rega;endendmoduleif-else結(jié)構(gòu)的缺省項省略了,當a&b為1時,rega被賦予c的值,但當a&b為0時,rega將保持原值,這時需要一個鎖存器把rega的值保持下來,因此綜合時rega被綜合為一個鎖存器,鎖存器是多余的部分。綜合后的電路:對于case語句存在同樣的問題,也會由于缺少缺省項,產(chǎn)生了不必要的鎖存器。//例10.3.5moduleinccase(a,b,c,d,e);inputa,b,c,d;outpute;rege;always@(aorborcord)
case({a,b})//---------------12’b11:e=d;2’b10:e=~c;endcaseendmodule程序行1的“{}”為拼接操作符,將a和b組成一個二進制數(shù)。仿真電路:
由此可見,If條件語句和case條件語句在省略缺省項時,會產(chǎn)生鎖存器。因此,在設(shè)計組合邏輯電路時缺省項不能省略。10.4四位加法器1.Verilog語言描述4位加法器的功能是實現(xiàn)2個4位二進制數(shù)的加法運算。由兩個模塊組成,分別為底層全加器模塊和頂層模塊。//例10.4.1//全加器moduleadd_full(A,B,C,Carry,S);inputA,B,C;outputCarry,S;//全加器進位和assignS=A^B^C;assignCarry=(A&B)|(B&C)|(A&C);endmodule實例(Instances)//四位加法器moduleadd_full4(A,B,C,S);input[3:0]A,B;output[3:0]S;//加法器和output[4:0]C;//加法器進位assignC[0]=0;add_fullu1(A[0],B[0],C[0],C[1],S[0]),//------------1u2(A[1],B[1],C[1],C[2],S[1]),
u3(A[2],B[2],C[2],C[3],S[2]),
u4(A[3],B[3],C[3],C[4],S[3]);endmodule實例化(instantiation)2.
程序說明實例(Instances),實例化(instantiation)已經(jīng)定義好的模塊,作為我們電路中的單元。調(diào)用這些模塊的過程,稱為實例化(instantiation),調(diào)用完之后,這些電路中的模塊單元稱為實例(Instance)。實例的使用格式為:
<模塊名><實例名><端口列表>;這是管腳按順序映射調(diào)用方式。
Verilog中不允許嵌套定義模塊,即一對module和endmodule之間只能定義一個模塊。但一個模塊內(nèi)可以通過實例的方式多次調(diào)用其他模塊。實例的調(diào)用格式2:add_fullu1(.A(A[0]),.B(B[0]),.C(C[0]),.Carry(C[1]),.S(S[0])),u2(.A(A[1]),.B(B[1]),.C(C[1]),.Carry(C[2]),.S(S[1])),u3(.A(A[2]),.B(B[2]),.C(C[2]),.Carry(C[3]),.S(S[2])),u4(.A(A[3]),.B(B[3]),.C(C[3]),.Carry(C[4]),.S(S[3]));<模塊名><實例名><.實例端口1(模塊端口1]),.實例端口2(模塊端口2)>;3.
仿真結(jié)果仿真電路圖
仿真波形圖
10.5
七段數(shù)碼管顯示譯碼器例10.5.1實現(xiàn)的是將BCD碼轉(zhuǎn)換成七段數(shù)碼管的顯示碼,并假設(shè)LED數(shù)碼管是共陰極。電路有4個輸入端,7個輸出端。
//例10.5.1moduledecode48(a,b,c,d,e,f,g,D3,D2,D1,D0);outputa,b,c,d,e,f,g;inputD3,D2,D1,D0;//輸入4位BCD
碼rega,b,c,d,e,f,g;//輸出驅(qū)動7個筆劃段always@(D3orD2orD1orD0)begincase({D3,D2,D1,D0})//用case
語句進行譯碼1.Verilog語言描述4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 定金罰則法律風險
- 誠實保證字萬能保證書
- 招標文件條款的全面解讀與實踐
- 招標文件商務(wù)評分的操作流程
- 正規(guī)訂餐服務(wù)合同樣本
- 非受雇關(guān)系非固定員工聲明書
- 技術(shù)支持服務(wù)合同樣本
- 招標房屋租賃信息
- 招標信息格式技巧
- 招標文件疑問全解析
- 一年級數(shù)學個位數(shù)加減法口算練習題大全(連加法-連減法-連加減法直接打印版)
- 軟件UI設(shè)計師招聘筆試題與參考答案(某世界500強集團)2024年
- 五年級上冊數(shù)學試題試卷(8篇)
- 中國慢性腎臟病早期評價與管理指南課件
- 2024-2025學年四年級科學上冊第三單元《運動和力》測試卷(教科版)
- 安全漏洞挖掘技術(shù)
- 賽碼網(wǎng)行測題題庫2024
- 中國血液透析用血管通路專家共識(全文)
- 10S507 建筑小區(qū)埋地塑料給水管道施工
- DL∕T 5028.4-2015 電力工程制圖標準 第4部分:土建部分
- 2024年北京電子科技職業(yè)學院高職單招筆試歷年職業(yè)技能測驗典型例題與考點解析含答案
評論
0/150
提交評論