EDAVerilogHDL復(fù)習(xí)提綱文檔良心出品_第1頁
EDAVerilogHDL復(fù)習(xí)提綱文檔良心出品_第2頁
EDAVerilogHDL復(fù)習(xí)提綱文檔良心出品_第3頁
EDAVerilogHDL復(fù)習(xí)提綱文檔良心出品_第4頁
EDAVerilogHDL復(fù)習(xí)提綱文檔良心出品_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1.EDA技術(shù)是20世紀(jì)后期,伴隨著微電子技術(shù)、大規(guī)模集成電路制造技術(shù)、計(jì)算機(jī)輔助工程、可編程邏輯器件以及電_子設(shè)計(jì)技術(shù)和工藝的開展而同步開展形成的一門綜合性的技術(shù)與學(xué)科.2在EDA工具軟件平臺上,自動完成從軟件方式描述的數(shù)字系統(tǒng)到硬件系統(tǒng)的邏輯化簡、邏輯分割、邏輯綜合、結(jié)構(gòu) 綜合布局布線、邏輯優(yōu)化和仿真測試等功能,隨之完成對于特定目標(biāo)芯片的適配、邏輯映射、編程下載等工作, 直至硬件實(shí)現(xiàn)整個數(shù)字系統(tǒng)3 .綜合是將高層次上描述的電子系統(tǒng)轉(zhuǎn)換為低層次上描述的電子系統(tǒng),以便于系統(tǒng)的具體硬件實(shí)現(xiàn) 綜合器是能自動將高層次的表述系統(tǒng)級、行為級轉(zhuǎn)化為低層次的表述門級、結(jié)構(gòu)級的計(jì)算機(jī)程序4 .設(shè)計(jì)輸入 的方式

2、有原理圖、硬件描述語言、狀態(tài)圖以及波形圖5 .根據(jù)仿真的電路描述級別的不同,HDL仿真器可以完成:系統(tǒng)級仿真,行為級仿真,RTL級仿真,門級時序仿直.根據(jù)仿真是否考慮 硬件延時分類,可以分為:功能仿真和時序仿真.仿真器可分為基于元件邏輯門仿真器和基于HDL語言的仿真器6 . IP核是知識產(chǎn)權(quán)核或知識產(chǎn)權(quán)模塊,在EDA技術(shù)中具有十分重要的地位. 半導(dǎo)體產(chǎn)業(yè)的IP定義為用于ASIC或FPGA中的預(yù)先設(shè)計(jì)好的電路功能模塊.IP分為軟IP、固IP和硬IP.7 .可編程邏輯器件 PLD是一種通過用戶編程或配置實(shí)現(xiàn)所需邏輯功能的邏輯器件,也就是說用戶可以根據(jù)自己的需求,通過EDA開發(fā)技術(shù)對其硬件結(jié)構(gòu)和工作

3、方式進(jìn)行重構(gòu),重新設(shè)計(jì)其邏輯功能8 .兩種可編程邏輯結(jié)構(gòu) 是基于與-或陣列可編程結(jié)構(gòu)乘積項(xiàng)邏輯可編程結(jié)構(gòu)、基于SRAM查找表的可編程邏輯結(jié)構(gòu)9 .PLD按集成度分類:簡單PLD、復(fù)雜PLD;按結(jié)構(gòu)分類:基于 與-或陣列結(jié)構(gòu)的器件、基于查找表結(jié)構(gòu)的器件; 從編程工藝上分類:熔絲型、反熔絲型、EPROM 型、EEPROM 型、SRAM 型、Flash型10 .四種簡單邏輯器件:PROM中固定的與陣列, 可編程或陣列;PLA是與陣列、或陣列都可編程;PAL中或陣列固定, 與陣列可編程;GAL是或陣列、與陣列都可編程,輸入局部增加了輸出邏輯同單元 OLMC 11 .CPLD的組成結(jié)構(gòu):邏輯陣列塊由邏輯

4、宏單元構(gòu)成、擴(kuò)展乘積項(xiàng)共享和并聯(lián)、可編程連線陣列、I/O限制塊12 .FPGA的組成結(jié)構(gòu):邏輯陣列塊 LAB 由多個邏輯宏單元構(gòu)成、嵌入式存儲器塊、嵌入式硬件乘法器、I/O單元和PLL等模塊13 .Verilog的端口模式 有三種:輸入端口、輸出端口、雙向端口.對應(yīng)的端口定義關(guān)鍵詞分別是:input、output、inout14 .Verilog中常用有 兩種變量:存放器型變量用 reg定義、網(wǎng)線型變量用 wire定義15 .Verilog有兩種賦值 方式:阻塞式賦值=、非阻塞式賦值二16 .Verilog 有四種循環(huán) 語句:for 語句、repeat語句、while 語句、forever語句

5、17 .Verilog的描述風(fēng)格:RTL在打術(shù)、數(shù)據(jù)流描述、行為描述、結(jié)構(gòu)描述18 .從狀態(tài)機(jī) 的信號輸出方式上分,有 Mealy型口 Moore型兩種狀態(tài)機(jī);從狀態(tài)機(jī)的 描述結(jié)構(gòu) 上分,有單過程狀態(tài)機(jī)和 多過程狀態(tài)機(jī);從狀態(tài)機(jī) 表達(dá)方式 上分,有符號化狀態(tài)機(jī)和確定狀態(tài)編碼的狀態(tài)機(jī);從狀態(tài)機(jī)編碼方式 上分,有序編碼狀態(tài)機(jī)、一位熱碼編碼狀態(tài)機(jī)或其他編碼方式狀態(tài)機(jī).19 .狀態(tài)機(jī)結(jié)構(gòu)通常包含說明局部、主控時序過程、主控組合過程、輔助過程等幾個局部20 .非法狀態(tài) 是在狀態(tài)機(jī)設(shè)計(jì)中,使用枚舉類型和直接指定狀態(tài)編碼的程序中,特別是使用了一位熱編碼方式后,總是 不可防止地出現(xiàn)大量剩余狀態(tài),即未被定義的編

6、碼組合.這些狀態(tài)在狀態(tài)機(jī)的正常運(yùn)行中是不需要出現(xiàn)的.剩余狀 態(tài)的處理要不同程度地耗用邏輯資源,這就要求設(shè)計(jì)者在選用何種狀態(tài)機(jī)結(jié)構(gòu),何種狀態(tài)編碼方式,何種容錯技術(shù)及系統(tǒng)的工作速度與資源利用率方面權(quán)衡比擬,以滿足自己的設(shè)計(jì)要求1 .簡述自頂向下的設(shè)計(jì)方法答:從自然語言說明到 HDL的系統(tǒng)行為描述;從 HDL的系統(tǒng)行為描述到 RTL描述;從RTL描述到邏輯門級 描述;從門級描述到最終可以物理布線實(shí)現(xiàn)的底層電路;以上可以理解成是逐步綜合的過程. 后期設(shè)計(jì)還包括涉及硬件實(shí)現(xiàn)和測試.2 .簡述EDA的設(shè)計(jì)流程答:圖形輸入:a.原理圖b.硬件描述語言c.狀態(tài)圖d.波形圖;HDL文本輸入;綜合;適配;功能仿真

7、與時序 仿真;編程下載;硬件測試3 .簡述過程語句的執(zhí)行過程答:由2仙2丫$引導(dǎo)的過程語句結(jié)構(gòu)是 Verilog中最常用和最重要的語句結(jié)構(gòu).任何順序語句都必須放在過程語 句結(jié)構(gòu)中.通常要求將過程語句中所有的輸入信號都放在敏感信號表中.a用文字or連接所有敏感信號.b.用逗號區(qū)分或連接所有敏感信號.c.省略形式,只寫成*,或直接寫成always *,顯然試圖通過選擇性地列入敏感信號來改變邏輯設(shè)方t是無效的.過程語句的執(zhí)行依賴于敏感信號的變化發(fā)生事件 .當(dāng)某一敏感信號發(fā)生變化,過程語句被啟動,內(nèi)部的所有順序語句被執(zhí)行一遍,然后返回過程起始端,再次進(jìn)入等待狀態(tài),直到下一次某一敏感信號發(fā)生變化再次進(jìn)入

8、 啟動-運(yùn)行狀態(tài).過程語句結(jié)構(gòu)是一個不斷重復(fù)運(yùn)行的模塊.一個模塊中可以包含任意 個過程語句,過程語句本身屬于并行語句,而由過程引導(dǎo)的各類語句屬于順序語句.4 .簡述什么是元件例化答:元件例化就是引入一種連接關(guān)系,將預(yù)先設(shè)計(jì)好的元件,與當(dāng)前設(shè)計(jì)模塊中的指定端口相連接,從而構(gòu)成層次 化的設(shè)計(jì)方式.元件例化可以是多層次的,一個調(diào)用了較低層次元件的設(shè)計(jì)模塊,也可以被更高層次的設(shè)計(jì)模塊調(diào) 用,成為高層次設(shè)計(jì)模塊中的一個元件.被例化的元件可以以不同的形式出現(xiàn),可以是Verilog設(shè)計(jì)文件,可以是FPGA元件庫中的元件,或者是以別的硬件描述語言設(shè)計(jì)的元件,還可以是 IP核.5 .簡述阻塞賦值 語句和非阻塞賦

9、值 語句的過程區(qū)別答:阻塞賦值語句的執(zhí)行過程可以分成兩步:計(jì)算驅(qū)動表達(dá)式的值; 完成賦值目標(biāo)變量獲得更新.阻塞賦值是一種理想化的數(shù)據(jù)傳輸,賦值立即發(fā)生,不存在延時.執(zhí)行阻塞賦值時,先計(jì)算驅(qū)動表達(dá)式的值,然后即刻完成賦值,目標(biāo)變量立即獲得更新,且在此過程中其他同類賦值語句必須停止工作,即所謂阻塞.阻塞賦值語句的執(zhí)行類似于軟件語言語句的執(zhí)行,即具有順序執(zhí)行的特點(diǎn).阻塞賦值語句的先后順序?qū)⒅苯佑绊懢C合的結(jié)果.在過 程中,允許對同一目標(biāo)變量進(jìn)行屢次賦值和驅(qū)動,=左邊目標(biāo)變量的值將隨賦值語句前后順序的運(yùn)算而改變.非阻塞賦值語句的執(zhí)行過程可以分成三步:計(jì)算驅(qū)動表達(dá)式的值;延時8時間;完成賦值目標(biāo)變量獲得更

10、新.非阻塞賦值比擬接近實(shí)際電路的運(yùn)行,從綜合的角度考慮到電路的延時性和并行性.執(zhí)行非阻塞賦值時,先計(jì)算驅(qū)動表達(dá)式的值理論上立即完成無需耗時,隨后啟動一個8延時器8延時時間就是過程的運(yùn)行時間,延時時間到過程執(zhí)行結(jié)束,此時才完成賦值,目標(biāo)變量才被更新. 延時時間段允許執(zhí)行其他同類賦值語句,即所謂 非阻塞.由于其他同類賦值語句驅(qū)動表達(dá)式的運(yùn)算也不花費(fèi)時間,所以所有語句的延時起始時刻和延時時間長短是相 同的,延時時間結(jié)束,所有語句的目標(biāo)變量同時被更新,可以理解成賦值語句并行執(zhí)行.非阻塞賦值語句的并行執(zhí)行可以理解成:首先按順序計(jì)算<=右側(cè)表達(dá)式的值,然后經(jīng)過8延時,<=左側(cè)的目標(biāo)變量同時獲得

11、更新值同時完成賦值.在過程中,允許對同一目標(biāo)變量進(jìn)行屢次賦值或驅(qū)動作為并行語句的連續(xù)賦值語句不允許這種現(xiàn) 象,被賦值目標(biāo)變量接受最接近過程結(jié)束的那一個驅(qū)動源數(shù)據(jù).過程啟動后,所有非阻塞和阻塞賦值語句,都必 須在一個8延時中完成,其中阻塞賦值在8延時前已按順序完成所有賦值,但非阻塞賦值這時剛進(jìn)入賦值的第一步,且必須在8延時后同時完成賦值.如果有兩個過程,一個過程中全部是阻塞式賦值,一個過程中全部是非阻塞式 賦值,它們的執(zhí)行周期是相同的,不會有誰比誰更快的現(xiàn)象.6 .簡述if語句的幾種主要結(jié)構(gòu)答:if條件表達(dá)式begin 語句塊;endif條件表達(dá)式begin 語句塊1; endelse begi

12、nif(條件表達(dá)式1)語句塊2; endbegin begin語句塊1; end 語句塊2; endelse if條件表達(dá)式 2)else if條件表達(dá)式n)begin語句塊n; endelsebegin語句塊 n+1; end7 .簡述Moore型和Mealy型狀態(tài)機(jī)的區(qū)別答:Mealy型狀態(tài)機(jī)的輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù),它的輸出是在輸入變化后立即發(fā)生的,不依賴時鐘的 同步.Moore型狀態(tài)機(jī)的輸出那么僅為當(dāng)前狀態(tài)的函數(shù),這類狀態(tài)機(jī)在輸入發(fā)生變化時還必須等待時鐘的到來,時鐘狀 態(tài)發(fā)生變化時才導(dǎo)致輸出的變化,所以比 Mealy機(jī)要多等待一個時鐘周期.1.8選1數(shù)據(jù)選擇器moduleM

13、UX81a(a,b,c,d,e,f,g,h,s2,s1,s0,y);input a,b,c,d,e,f,g,h,s2,s1,s0;output y;reg y;always (a,b,c,d,e,f,g,h,s2,s1,s0)begin : MUX81case(s2,s1,s0)3'b000:y<=a;3'b001:y<=b;3'b010:y<=c;3'b011:y<=d;3'b100:y<=e;3'b101:y<=f;3'b110:y<=g; 3'b111:y<=h; defaul

14、t:y<=a; endcaseend endmoduleelse if(sel=5) y=f;else if(sel=6) y=g;elsey=h;endendmoduleh_adder u1(ain,bin,e,d);h_adderu2(.a(e),.so(sum),.b(cin),.co(f);or2a u3(.a(d),.b(f),.c(cout);endmoduleelse if(Q1<9) Q1<=Q1+1;else Q1<=4 'b0000;endendalways (Q1)if(Q1=4 'h9) COUT=1 'b1;else C

15、OUT=1 b0;endmodulealways (posedge CLK) begin if(LOAD) REG8<=DIN;else REG86:0<=REG87:1;end assign QB=REG80;if (DIN7=0) DOUT=3b000;else if (DIN6=0) DOUT=3b100;else if (DIN5=0) DOUT=3b010;else if (DIN4=0) DOUT=3b110;else if (DIN3=0) DOUT=3b001;else if (DIN2=0) DOUT=3b101;else if (DIN1=0) DOUT=3 &

16、#39;b011; elseDOUT=3 b111;end endmoduleif(C2=1) M2<=M2;else if(C2=3) M2=M2; endassign K1=M1;assign K2=M2;assign K_OR=M1|M2;endmodulemoduleMUX81a(a,b,c,d,e,f,g,h,s2,s1,s0,y);input a,b,c,d,e,f,g,h,s2,s1,s0;output y;reg 2:0 sel;reg y;always (a,b,c,d,e,f,g,h,sel)2 .一位全加器module h_adder(a,b,so,co);inpu

17、t a,b;output so,co;assign co,so=a+b;endmodulemodule or2a(a,b,c);output c;3 .十進(jìn)制計(jì)數(shù)器(異步復(fù)位,同步計(jì)數(shù)使能 module CNT10 (CLK, RST, EN,LOAD, COUT,DOUT,DATA);input CLK,EN,RST,LOAD;input 3:0 DATA;output3:0 DOUT;output COUT;reg3:0 Q1;4 .移位存放器(8位右移)module SHFT1 (CLK, LOAD,DIN,QB);output QB;input CLK,LOAD;input 7:0 D

18、IN;reg 7:0 REG8;5 .優(yōu)先編碼器(8-3線)module mux4_1 (DIN,DOUT);output 0:2 DOUT;input 0:7 DIN;reg 0:2 DOUT;always (DIN) begin6 .占空比為50%的任意奇數(shù)五分頻電路 module FDIV3 (CLK,K_OR,K1,K2);input CLK;output K_OR,K1,K2;reg 2:0 C1,C2;reg M1,M2;always (posedge CLK) begin if(C1=4) C1<=0;beginsel=s2,s1,s0;if(sel=0) y=a;else

19、 if(sel=1) y=b;else if(sel=2) y=c;else if(sel=3) y=d;else if(sel=4) y=e;input a,b;assign c=a|b;endmodulemodule f_adder(ain,bin,cin,cout,sum);output cout,sum;input ain,bin,cin;wire e,d,f;,可預(yù)置型)reg COUT;assign DOUT=Q1;always (posedge CLK or negedge RST)beginif (!RST) Q1<=0;else if(EN) beginif(!LOAD

20、) Q1<=DATA;endmoduleelse C1<=C1+1;if(C1=1) M1<=M1;else if(C1=3) M1=M1;endalways(negedge CLK) begin if(C2=4) C2<=0;else C2<=C2+1;7.序列檢測器的態(tài)機(jī)設(shè)計(jì)8位11010011Moore型、mealy型module SCHK(CLK,DIN,RST,SOUT);s2:if(DIN=1'b0)NST<=s3;else NST<=s0;input CLK,DIN,RST;s3:if(DIN=1'b1)NST<=s

21、4;else NST<=s0;output SOUT;s4:if(DIN=1b0)NST<=s5;else NST<=s0;parameter s0=40,s1=41,s2=42,s3=43,s4=44,s5=45,s6=46,s7=s5:if(DIN=1b0)NST<=s6;else NST<=s0;47,s8=48;s6:if(DIN=1'b1)NST<=s7;else NST<=s0;reg 8:0 ST,NST;s7:if(DIN=1'b1)NST<=s8;else NST<=s0;always (posedge C

22、LK or posedge RST)s8:if(DIN=1b0)NST<=s3;else NST<=s0;if(RST) ST<=s0;else ST<=NST;endassign SOUT=(ST=s8);endmoduledefault: NST<=s0;endcasealways (ST or DIN) begincase (ST )s0 : if(DIN=1 'b1) NST<=s1;else NST<=s0;s1 : if(DIN=1 'b1) NST<=s2;else NST<=s0;module SCHK(CL

23、K,DIN,RST,SOUT);input CLK,DIN,RST;output SOUT;parameter s0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8;reg 8:0 ST;reg SOUT;always (posedge CLK) beginSOUT=0;if(RST) ST<=s0; else begincasex (ST )s0 : if(DIN=1 'b1) ST<=s1;else ST<=s0;s1 : if(DIN=1 'b1) ST<=s2;else ST<=s0;s2 : if(DI

24、N=1 'b0)s3 : if(DIN=1 'b1)s4 : if(DIN=1 'b0)s5 : if(DIN=1 'b0)s6 : if(DIN=1 'b1)s7 : if(DIN=1 'b1)s8 : begin SOUT=1;ST<=s3;else ST<=s0;ST<=s4;else ST<=s0;ST<=s5;else ST<=s0;ST<=s6;else ST<=s0;ST<=s7;else ST<=s0;ST<=s8;else ST<=s0;if(DIN=1 &

25、#39;b0) ST<=s3;else ST<=s0; end default: ST<=s0;endcase endend endmodule1編程實(shí)現(xiàn)3-8譯碼器,要求該譯碼器具有同步使能與復(fù)位功能,當(dāng)復(fù)位時所有的輸出為高電平case(code)3'b000: result = 8'h01;3'b001: result = 8'h02;3'b010: result = 8'h04;3'b011: result = 8'h08;3'b100: result = 8'h10;result = 8&

26、#39;h40; elseif(code0)result = 8'h20;elseresult = 8'h10;elseelseif(code1)if(code0)result = 8'h08;endendmodulemodule dec38(input 2:0code,output reg7:0result);always(*)beginmodule decoder38(input 2:0code,output reg7:0result);always(*)beginif(code2)if(code1)if(code0)result = 8'h80;else3

27、'b101: result = 8'h20;3'b110: result = 8'h40;3'b111: result = 8'h80;endcaseendendmoduleelseresult = 8'h04;elseif(code0)result = 8'h02;elseresult = 8'h01;else2 .編程實(shí)現(xiàn)計(jì)數(shù)器,功能要求:31進(jìn)制,遞增計(jì)數(shù),異步清零,同步預(yù)加載計(jì)數(shù)功能moduleDcnt(reset_n,clk,in_ena,cnt,carry_ena);input clk;input reset_

28、n;input in_ena;output 4:0cnt;output carry_ena;reg 4:0cnt;reg carry_ena;always(posedge clk or negedgereset_n) beginif(!reset)cnt <= 5'b0;else if(in_ena && cnt=5'd31)cnt <= 5'b0;else if (in_ena && cnt < 5'd31) cnt <= cnt + 1'b1;endalways(posedge clk or n

29、egedge reset_n) beginif(!reset)carry_ina <= 1'b0;else if(in_ena && cnt=5'd31) carry_ina <= 1'b1;elsecarry_ina <= 1'b0;endendmodule3 .編程實(shí)現(xiàn)8位移位存放器,功能要求:同步預(yù)置移位初值,串行輸出,雙向移位,同步復(fù)位復(fù)位時輸出清零module fifo(clr,clk,din,LorR,dout) input clr,clk,din;input LorR;output 7:0dout;reg 7:0 fifo;assig

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論