Verilog復(fù)習(xí)題_第1頁
Verilog復(fù)習(xí)題_第2頁
Verilog復(fù)習(xí)題_第3頁
Verilog復(fù)習(xí)題_第4頁
Verilog復(fù)習(xí)題_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Verilog復(fù)習(xí)題一、填空題1. 用EDA技術(shù)進行電子系統(tǒng)設(shè)計的目標是最終完成ASIC的設(shè)計與實現(xiàn)。 2. 可編程器件分為 CPLD和FPGA。3. 隨著EDA技術(shù)的不斷完善與成熟,自頂向下的設(shè)計方法更多的被應(yīng)用于Verilog HDL設(shè)計當中。4. 目前國際上較大的PLD器件制造公司有ALtera和Xilinx公司。 5. 完整的條件語句將產(chǎn)生組合電路,不完整的條件語句將產(chǎn)生時序電路。 6. 阻塞性賦值符號為 = ,非阻塞性賦值符號為 <=  。7有限狀態(tài)機分為Mo

2、ore和Mealy兩種類型。8、EDA縮寫的含義為電子設(shè)計自動化(Electronic Design Automation)9狀態(tài)機常用狀態(tài)編碼有二進制、格雷碼和獨熱碼。10Verilog HDL中任務(wù)可以調(diào)用其他任務(wù)和函數(shù)。11系統(tǒng)函數(shù)和任務(wù)函數(shù)的首字符標志為 $ ,預(yù)編譯指令首字符標志為 # 。12可編程邏輯器件的優(yōu)化過程主要是對速度和資源的處理過程。13、大型數(shù)字邏輯電路設(shè)計采用的IP核有軟IP、固IP和硬IP。二、選擇題1、已知 “a =1b1; b=3b'001;”那么a,b(  C   ) &#

3、160; (A) 4b'0011  (B) 3b'001  (C) 4b'1001  (D) 3b'101 2、在verilog中,下列語句哪個不是分支語句?(  D    )  (A) if-else (B) case  (C) casez  (D) repeat 

4、 3、Verilog HDL語言進行電路設(shè)計方法有哪幾種(8分) 自上而下的設(shè)計方法(Top-Down) 自下而上的設(shè)計方法(Bottom-Up) 綜合設(shè)計的方法4、在verilog語言中,a=4b'1011,那么   &a=(D   )   (A) 4b'1011  (B) 4b'1111  (C) 1b'1  (D)

5、0;1b'0 5、在verilog語言中整型數(shù)據(jù)與( C  )位寄存器數(shù)據(jù)在實際意義上是相同的。  (A) 8  (B) 16  (C) 32  (D) 64  6、大規(guī)??删幊唐骷饕蠪PGA、CPLD兩類,下列對FPGA結(jié)構(gòu)與工作原理的描述中,正確的是_C_ 。  AFPGA全稱為復(fù)雜可編程邏輯器件;  BFPGA是基于乘積項結(jié)構(gòu)的可編程邏輯器件; &#

6、160;C基于SRAM的FPGA器件,在每次上電后必須進行一次配置;D在Altera公司生產(chǎn)的器件中,MAX7000系列屬FPGA結(jié)構(gòu)。 7. 子系統(tǒng)設(shè)計優(yōu)化,主要考慮提高資源利用率減少功耗(即面積優(yōu)化),以及提高運行速度(即速度優(yōu)化);指出下列哪些方法是面積優(yōu)化_B_。   流水線設(shè)計 資源共享 邏輯優(yōu)化 串行化 寄存器配平  關(guān)鍵 路徑法  A B     C  D

7、0;8、下列標識符中,_A_是不合法的標識符。 A9moon     BState0    C Not_Ack_0   D signall9、 下列語句中,不屬于并行語句的是:_D_ A. 過程語句     Bassign語句  C元件例化語句  Dcase語句6、 10、P,Q,R都是4bit的輸入矢量,下面哪一種表達形式是正確的 5)

8、1)input P3:0,Q,R;2)input P,Q,R3:0;3)input P3:0,Q3:0,R3:0;4)input 3:0 P,3:0Q,0:3R;5)input 3:0 P,Q,R;11、請根據(jù)以下兩條語句的執(zhí)行,最后變量A中的值是_。 reg 7:0 A;A=2'hFF; 8'b0000_0011 8'h03 8'b1111_1111 8'b11111111三、簡答題 1、簡要說明仿真時阻塞賦值與非阻塞賦值的區(qū)別非阻塞(non-blocking)賦值方式 ( b<= a):b的值被賦成新值a的操作, 并不是立刻完成的,而是在塊結(jié)束

9、時才完成;塊內(nèi)的多條賦值語句在塊結(jié)束時同時賦值;硬件有對應(yīng)的電路。阻塞(blocking)賦值方式 ( b = a):b的值立刻被賦成新值a;完成該賦值語句后才能執(zhí)行下一句的操作;硬件沒有對應(yīng)的電路,因而綜合結(jié)果未知。阻塞賦值是在該語句結(jié)束是立即完成賦值操作;非阻塞賦值是在整個過程塊結(jié)束是才完成賦值操作。2、簡述有限狀態(tài)機FSM分為哪兩類?有何區(qū)別?有限狀態(tài)機的狀態(tài)編碼風(fēng)格主要有哪三種?根據(jù)內(nèi)部結(jié)構(gòu)不同可分為摩爾型狀態(tài)機和米里型狀態(tài)機兩種。摩爾型狀態(tài)機的輸出只由當前狀態(tài)決定,而次態(tài)由輸入和現(xiàn)態(tài)共同決定;米里型狀態(tài)機的輸出由輸入和現(xiàn)態(tài)共同決定,而次態(tài)也由輸入和現(xiàn)態(tài)決定。狀態(tài)編碼主要有三種:連續(xù)二

10、進制編碼、格雷碼和獨熱碼。3、簡述基于數(shù)字系統(tǒng)設(shè)計流程包括哪些步驟?包括五個步驟:、設(shè)計輸入:將設(shè)計的結(jié)構(gòu)和功能通過原理圖或硬件描述語言進行設(shè)計或編程,進行語法或邏輯檢查,通過表示輸入完成,否則反復(fù)檢查直到無任何錯誤。 、邏輯綜合:將較高層的設(shè)計描述自動轉(zhuǎn)化為較低層次描述的過程,包括行為綜合,邏輯綜合和版圖綜合或結(jié)構(gòu)綜合,最后生成電路邏輯網(wǎng)表的過程。 、布局布線:將綜合生成的電路網(wǎng)表映射到具體的目標器件中,并產(chǎn)生最終可下載文件的過程。 、仿真:就是按照邏輯功能的算法和仿真庫對設(shè)計進行模擬,以驗證設(shè)計并排除錯誤的過程,包括功能仿真和時序仿真。 、編程配置:將適配后生成的編程文件裝入到PLD器件的

11、過程,根據(jù)不同器件實現(xiàn)編程或配置。4、簡述Verilog HDL編程語言中函數(shù)與任務(wù)運用有什么特點?函數(shù)和任務(wù)都能獨立完成相應(yīng)電路功能,通過在同一模塊中的調(diào)用實現(xiàn)相應(yīng)邏輯電路功能。但它們又有以下不同:、函數(shù)中不能包含時序控制語句,對函數(shù)的調(diào)用,必須在同一仿真時刻返回。而任務(wù)可以包含時序控制語句,任務(wù)的返回時間和調(diào)用時間可以不同。、在函數(shù)中不能調(diào)用任務(wù),而任務(wù)中可以調(diào)用其它任務(wù)和函數(shù)。但在函數(shù)中可以調(diào)用其它函數(shù)或函數(shù)自身。、函數(shù)必須包含至少一個端口,且在函數(shù)中只能定義input端口。任務(wù)可以包含0個或任何多個端口,且可以定義input、output和inout端口。、函數(shù)必須返回一個值,而任務(wù)不

12、能返回值,只能通過output 或inout端口來傳遞執(zhí)行結(jié)果。5、簡述FPGA與CPLD兩種器件應(yīng)用特點。CPLD與FPGA都是通用可編程邏輯器件,均可在EDA仿真平臺上進行數(shù)字邏輯電路設(shè)計,它們不同體現(xiàn)在以下幾方面:FPGA集成度和復(fù)雜度高于CPLD,所以FPGA可實現(xiàn)復(fù)雜邏輯電路設(shè)計,而CPLD適合簡單和低成本的邏輯電路設(shè)計。、FPGA內(nèi)主要由LUT和寄存器組成,傾向?qū)崿F(xiàn)復(fù)雜時序邏輯電路設(shè)計,而CPLD內(nèi)主要由乘積項邏輯組成,傾向?qū)崿F(xiàn)組合邏輯電路設(shè)計。、FPGA工藝多為SRAM、flash等工藝,掉電后內(nèi)信息消失,所以該類型需外配存儲器,而CPLD工藝多為EEPROM等工藝,掉電后信息不

13、消失,所以不用外配存儲器。、FPGA相對CPLD成本高,但都可以在內(nèi)都鑲嵌硬核和軟核,實現(xiàn)片上系統(tǒng)功能。四、計算題 1、   利用有限狀態(tài)機,以格雷碼編譯方式設(shè)計一個從輸出信號序列中檢測出101信號的電路圖,其方塊圖、狀態(tài)圖和狀態(tài)表如圖表示。module melay(clk,Din,reset,Qout);input clk,reset;input Din;output Qout;reg Qout;parameter1:0 S0=2'b00,S1=2'b01,S2=2'b11;reg1:0 CS;reg1:0 NS;always

14、(posedge clk or posedge reset) begin if(reset=1'b01) CS=S0; else CS=NS; end always (CS or Din) begin case(CS) S0:beign if(Din=1'b0) begin NS=S0; Qout=1'b0; end else begin NS=S1; Qout=1'b0; end end S1:begin if(Din=1'b0) begin NS=S2; Qout=1'b0; end else begin NS=S1; Qout=1'

15、b0; end end S2:beign if(Din=1'b0) begin NS=S0; Qout=1'b0; end else begin NS=S1; Qout=1'b0; end end endcase end endmodule2、 程序注解,并說明整個程序完成的功能。module  AAA  ( a ,b );              &

16、#160;                               output  a ;              

17、;                                     input 6:0 b;reg2:0 sum;      

18、60;                                            integer i;   

19、                              reg  a ;                &

20、#160;                                       always  (b)      

21、0;                                                 begi

22、n                                                  

23、;          sum = 0;                                     

24、;                  for(i = 0;i<=6;i = i+1)   if(bi)              sum = sum+1;  

25、60;                                 if(sum2)  a = 1;         else 

26、;      a = 0;                                end endmodule    3、設(shè)計一個帶有異步復(fù)位控

27、制端和時鐘使能控制端的10進制計數(shù)器。 端口設(shè)定如下:  輸入端口:CLK:時鐘,RST:復(fù)位端,EN:時鐘使能端,LOAD:置位控制端, DIN:置位數(shù)據(jù)端;  輸出端口:COUT:進位輸出端,DOUT:計數(shù)輸出端。module cnt10 (clk,rst,en,loat,cout,dout,data);input clk ;input en ;input rst ;input load ;input 3:0 data ;output 3:0 dout ;output cout ;reg 3:0 q1 ;reg cout ;ass

28、ign dout = q1;always (posedge clk or negedge rst) beginif (!rst) q1 <= 0;else if (en)beginif (!loat) q1 <= data;else if (q1<9) q1 <= q1+1;else q1 <= 4'b0000;endendalways (q1)if (q1=4'h9) cout = 1'b1;else cout = 1'b0;endmodule4、下面是通過case語句實現(xiàn)四選一電路部分程序,將橫線上的語句補上,使程序形成完整功能

29、。case(s1,s0)2b00:out=i0;2b01:out=i1;2b10:out=i2;2b11:out=i3;3、 標注各語句功能,指出整個程序完成的電路功能。/ 帶同步清0/同步置1(低電平有效)的D觸發(fā)器.module dff_syn(q,qn,d,clk,set,reset); /定義模塊為diff_syn, 端口為q,qn,d,clk,set,resetinput d,clk,set,reset; output reg q,qn; /定義端口d,clk,set,reset為輸入端口,reg,q,qn為輸出端口always (posedge clk) /對clk信號上升沿有效

30、begin if(reset) begin q<=1'b0;qn<=1'b1;end /同步清零,低電平有效else if(set) begin q<=1'b1;qn<=1'b0;end /同步置位, 低電平有效else begin q<=d; qn<=d; end /q輸出為d, qn輸出為非d; endendmodule /模塊結(jié)束 4、根據(jù)圖3給定的兩個2位全加器信號關(guān)系及實現(xiàn)的4位全加器功能部分程序,在下列部分程序中的橫線上填入必要語句,實現(xiàn)4位全加器的完整功能。2位加法器aibicisumcout2位加法器aibic

31、isumcoutsum4(3.2)cout4a(1.0)b(1.0)cc0a(3.2)b(3.2)sum4(1.0)圖3 /底層4位全加器程序module add2(ai,bi,ci,sum,cout);input 1:0ai,bi;input ci;output 1:0sum; reg 1:0sum;output cout;reg cout;always (ai,bi,ci) cout,sum=ai+bi+ci;endmodule/頂層8位全加器程序module fadd4(a,b,c,sum4,cout4);input 3:0a,b;input c;output 3:0 sum4outpu

32、t cout4;wire c0;add4 U1( a1:0,b1:0,c,c0,sum41:0);add4 U2( a3:0,b3:0,c0,count4,sum43:0);endmodule5、 根據(jù)下列給定的仿真輸入輸出波形圖2,說明完成此功能的電路是什么功能電路?并寫出對應(yīng)的Verilog HDL描述程序(圖中clk,clr為輸入,q,c為輸出)。4進制加法計數(shù)器module counter(clk,clr,q,c)input clk,clr;output ret1:0 q;output c;always(posedge clk or negedge clr)beginif(clr) q

33、<=2h0;elsebeginif(2h3=q) q<=2h0;else q<=q+2h1;endendassign c=(2h3=q)endmodule6、采用結(jié)構(gòu)描述方法設(shè)計一個二進制數(shù)字半加器,輸入數(shù)據(jù)ai與bi,并將和輸出到so,進位輸出到co,給出詳細設(shè)計過程。輸入輸出aibisoco0000011010101101由輸入輸出邏輯表達式,采用與門and和異或門xor進行結(jié)構(gòu)描述的程序如下:(6分)module hadd (ai,bi,so,co);input ai,bi;output so,co;xor(so,si,ci); and(co,ai,bi); endmo

34、dule6、 采用結(jié)構(gòu)描述方法設(shè)計一個二進制數(shù)字比較器,比較輸入數(shù)據(jù)a與b的大小,并分別輸出到x,y和z,給出詳細設(shè)計過程。not(not_a,a);not(not_b,b);and(ab,a,b);and(not_ab,not_a,not_b);or(x,ab,not_ab);and(y,not_a,b);and(z,a,not_b);7、采用結(jié)構(gòu)描述方法設(shè)計一個3人競選數(shù)字電路,輸入數(shù)據(jù)2:0x,要求2人以上為1表示通過,且輸出為y為1,否則輸出相反,給出詳細設(shè)計過程。module three1(x,y); input 2:0 x; output y; y=a&b+a&c+

35、b&c=ab+ac+bc;wire a,b,c;and(a,x0,x1); and(b,x1,x2); and(c,x1,x0); or(y,a,b,c) ;endmodule一、填空題(10分,每小題1分) 1. 用EDA技術(shù)進行電子系統(tǒng)設(shè)計的目標是最終完成      ASIC               的設(shè)計與實現(xiàn)。 2. 可編程器件

36、分為 FPGA     和 CPLD   。 3.隨著EDA技術(shù)的不斷完善與成熟,  自頂向下的設(shè)計方法更多的被應(yīng)用于Verilog HDL設(shè)計當中。 4.目前國際上較大的PLD器件制造公司有  Altera  和  Xilinx          公司。 5.完整的條件語句將產(chǎn)

37、生  組合  電路,不完整的條件語句將產(chǎn)生時序   電路。 6.阻塞性賦值符號為     =             ,非阻塞性賦值符號為         <=       

38、      。  二、選擇題 (10分,每小題2分) 1. 大規(guī)??删幊唐骷饕?#160;FPGA、CPLD兩類,下列對FPGA結(jié)構(gòu)與工作原理的描述中,正確的是     C           。  AFPGA全稱為復(fù)雜可編程邏輯器件; BFPGA是基于乘積項結(jié)構(gòu)的可編程邏輯器件; C

39、基于SRAM的FPGA器件,在每次上電后必須進行一次配置; D在Altera公司生產(chǎn)的器件中,MAX7000系列屬FPGA結(jié)構(gòu)。 2. 基于EDA軟件的FPGA / CPLD設(shè)計流程為:原理圖/HDL文本輸入   綜合    _     _          適配編程下載硬件測試。正確的是 B  &

40、#160;        。 功能仿真 時序仿真 邏輯綜合 配置 分配管腳              A  B  C  D 3. 子系統(tǒng)設(shè)計優(yōu)化,主要考慮提高資源利用率減少功耗(即面積優(yōu)化),以及提高運行速度(即速度優(yōu)化);指出下列哪些方法是面積優(yōu)化

41、     B        。   流水線設(shè)計 資源共享 邏輯優(yōu)化 串行化 寄存器配平 關(guān)鍵路徑法 A B     C  D 4. 下列標識符中,_A_是不合法的標識符。 A9moon     BState0 

42、   C Not_Ack_0  D signall 5. 下列語句中,不屬于并行語句的是:_D_  閱讀會員限時特惠 7大會員特權(quán)立即嘗鮮 A過程語句     Bassign語句  C元件例化語句 Dcase語句 三、EDA名詞解釋(10分) 寫出下列縮寫的中文含義: ASIC:         &

43、#160;                RTL:                      FPGA:         

44、0;                SOPC:                     CPLD:           

45、               LPM:                      EDA:           

46、0;               IEEE:                      IP:           &#

47、160;                 ISP:                            四、簡答題(10分) 1.

48、0;簡要說明仿真時阻塞賦值與非阻塞賦值的區(qū)別(本題4分)。   2. 簡述有限狀態(tài)機FSM分為哪兩類?有何區(qū)別?有限狀態(tài)機的狀態(tài)編碼風(fēng)格主要有哪三種?FSM的三段式描述風(fēng)格中,三段分別描述什么?(本題6分)  五、程序注解(20分,每空1分) module  AAA  ( a ,b );              &#

49、160;                              output  a                &

50、#160;                                   input 6:0 b          

51、0;                                         reg2:0 sum;      

52、                                             integer i;  

53、60;                                                 

54、60;  reg  a                                             

55、;            always  (b)                                  &#

56、160;                     begin                           

57、60;                                 sum = 0;             

58、60;                                         for(i = 0;i<=6;i = i+1) 

59、;                                             if(bi)    

60、0;                                     sum = sum+1;         

61、                                       if(sum2)  a = 1;     

62、                            else       a = 0;           

63、0;                               end endmodule  本程序的邏輯功能是:            

64、                                     。  四、VerilogHDL語言編程題(1、2小題10分,3小題20分)     要

65、求:寫清分析設(shè)計步驟和注釋。 1.  試用Verilog HDL描述一個帶進位輸入、輸出的8位全加器。 端口:A、B為加數(shù),CI為進位輸入,S為和,CO為進位輸出                           2. 編寫一個帶異步清零、異步置位的D觸發(fā)器。 端口:

66、CLK為時鐘,D為輸入,CLK為清零輸入端,SET為置位輸入端;Q輸出端。                             3. 設(shè)計一個帶有異步復(fù)位控制端和時鐘使能控制端的10進制計數(shù)器。 端口設(shè)定如下: 輸入端口:CLK:時鐘,RST:復(fù)位端,EN:時鐘使能端,LOAD:置位控

67、制端, DIN:置位數(shù)據(jù)端; 輸出端口:COUT:進位輸出端,DOUT:計數(shù)輸出端。                         一、填空題(每空2分,共20分) 1、  ASIC    2、    FPGA

68、0;    和 CPLD   。 3、自頂向下 4、  Altera  和  Xilinx   5、組合     時序   6、   =    <=   二、選擇題 (10分,每小題2分) 1、C

69、0;  2、 B   3、B    4、 A   5、D  三、EDA名詞解釋(10分) ASIC      專用集成電路         RTL        寄存器傳輸級 FPGA

70、60;     現(xiàn)場可編程門陣列     SOPC         可編程片上系統(tǒng) CPLD      復(fù)雜可編程邏輯器件   LPM              參數(shù)可定

71、制宏模塊庫 EDA   電子設(shè)計自動化       IEEE              電子電氣工程師協(xié)會 IP       知識產(chǎn)權(quán)核           I

72、SP                在系統(tǒng)可編程 四、簡答題(10分)  1、簡要說明仿真時阻塞賦值與非阻塞賦值的區(qū)別(本題4分)。 答:非阻塞(non-blocking)賦值方式 ( b<= a): b的值被賦成新值a的操作, 并不是立刻完成的,而是在塊結(jié)束時才完成; 塊內(nèi)的多條賦值語句在塊結(jié)束時同時賦值; 硬件有對應(yīng)的

73、電路。 阻塞(blocking)賦值方式 ( b = a): b的值立刻被賦成新值a; 完成該賦值語句后才能執(zhí)行下一句的操作; 硬件沒有對應(yīng)的電路,因而綜合結(jié)果未知。 2、 簡述有限狀態(tài)機FSM分為哪兩類?有何區(qū)別?有限狀態(tài)機的狀態(tài)編碼風(fēng)格主要有哪三種?FSM的三段式描述風(fēng)格中,三段分別描述什么?(本題6分) 答:Mearly型,Moore型;前者與輸入與當前狀態(tài)有關(guān),而后者只和當前狀態(tài)有關(guān);Binary,Gray,One-Hot編碼;分別為狀態(tài)保存,狀態(tài)切換,輸出; 五、程

74、序注解(20分,每空1分) module  AAA  ( a ,b );     定義模塊名為AAA,端口為a,b             output  a            定義a為輸出端口&

75、#160;                          input 6:0 b            定義b為輸出端口,b為7位二進制數(shù)     

76、;    reg2:0 sum;            sum為reg型變量,用于統(tǒng)計贊成的人數(shù)   integer i;               定義整型變量i為循環(huán)控制變量     

77、        reg  a                 定義a為寄存器變量                     

78、;  always  (b)            過程語句,敏感變量為b                       begin      

79、0;        語句塊                                          

80、sum = 0;          sum初值為0                                   for(i

81、 = 0;i<=6;i = i+1)    for語句,統(tǒng)計b為1的個數(shù)                 if(bi)               條件語句   &

82、#160;                sum = sum+1;     只要有人投贊成票,則 sum加1                if(sum2)  a =&#

83、160;1;     若超過4人贊成,則表決通過   else       a = 0;      若不到4人,則不通過                   end en

84、dmodule  本程序的邏輯功能是:    7人投票表決器                                          。     六、Veril

溫馨提示

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

評論

0/150

提交評論