FPGA習(xí)題集及參考答案講解_第1頁
FPGA習(xí)題集及參考答案講解_第2頁
FPGA習(xí)題集及參考答案講解_第3頁
FPGA習(xí)題集及參考答案講解_第4頁
FPGA習(xí)題集及參考答案講解_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

習(xí)題集及參考答案填空題一般把EDA技術(shù)的發(fā)展分為()個階段。FPGA/CPLD有如下設(shè)計(jì)步驟:=1\*GB3①原理圖/HDL文本輸入、=2\*GB3②適配、=3\*GB3③功能仿真、=4\*GB3④綜合、=5\*GB3⑤編程下載、=6\*GB3⑥硬件測試,正確的設(shè)計(jì)順序是=1\*GB3①()=5\*GB3⑤=6\*GB3⑥。在EDA工具中,能完成在目標(biāo)系統(tǒng)器件上布局布線的軟件稱為()。設(shè)計(jì)輸入完成之后,應(yīng)立即對文件進(jìn)行()?;谟布枋稣Z言的數(shù)字系統(tǒng)設(shè)計(jì)目前最常用的設(shè)計(jì)方法稱為()設(shè)計(jì)法。將硬件描述語言轉(zhuǎn)化為硬件電路的過程稱為()。IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,以HDL方式提供的IP被稱為()IP。SOC系統(tǒng)又稱為()系統(tǒng)。SOPC系統(tǒng)又稱為()系統(tǒng)。將硬核和固核作為()IP核,而軟核作為()IP核。IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,以HDL方式提供的IP被稱為()。HDL綜合器就是邏輯綜合的過程,把可綜合的VHDL/VerilogHDL轉(zhuǎn)化成硬件電路時,包含了三個過程,分別是()、()、()。EDA軟件工具大致可以由五個模塊構(gòu)成,分別是設(shè)計(jì)輸入編輯器、()、()、()和()。按仿真電路描述級別的不同,HDL仿真器分為()仿真、()仿真、()仿真和門級仿真。系統(tǒng)仿真分為()、()和()。()仿真是對設(shè)計(jì)輸入的規(guī)范檢測,這種仿真通過只能表示編譯通過,說明設(shè)計(jì)滿足一定的語法規(guī)范,但不能保證設(shè)計(jì)功能滿足期望。()仿真是對綜合后的網(wǎng)表進(jìn)行的仿真,它驗(yàn)證設(shè)計(jì)模塊的基本邏輯功能,但不帶有布局布線后產(chǎn)生的時序信息,是理想情況下的驗(yàn)證。()仿真是布局布線后進(jìn)行的后仿真,仿真時考慮了布線延時,和芯片實(shí)際的工作情況更加接近。目前Xilinx公司生產(chǎn)的FPGA主要采用了()配置存儲器結(jié)構(gòu)。描述測試信號的變化和測試工程的模塊叫做()。現(xiàn)代電子系統(tǒng)設(shè)計(jì)領(lǐng)域中的EDA采用()的設(shè)計(jì)方法。有限狀態(tài)機(jī)可分為()狀態(tài)機(jī)和()狀態(tài)機(jī)兩類。VerilogHDL中的端口類型有三類:()、()、輸入/輸出端口。VerilogHDL常用兩大數(shù)據(jù)類型:()、()。FPGA/CPLD設(shè)計(jì)流程為:原理圖/HDL文本輸入→()→綜合→適配→()→編程下載→硬件測試。()是描述數(shù)據(jù)在寄存器之間流動和處理的過程。連續(xù)賦值常用于數(shù)據(jù)流行為建模,常以()為關(guān)鍵詞。VerilogHDL有兩種過程賦值方式:()和()。`timescale1ns/100ps中1ns代表(),100ps代表()。未來的集成電路技術(shù)的發(fā)展趨勢,把整上系統(tǒng)集成在一個芯片上去,這種芯片被稱為()。從互連結(jié)構(gòu)上可將PLD分為確定型和統(tǒng)計(jì)型兩類。確定型結(jié)構(gòu)的代表是(),統(tǒng)計(jì)型結(jié)構(gòu)代表是()。CPLD是由()的結(jié)構(gòu)演變而來的。FPGA的核心部分是(),由內(nèi)部邏輯塊矩陣和周圍I/O接口模塊組成。把基于電可擦除存儲單元的EEPROM或Flash技術(shù)的HYPERLINKCPLD的在系統(tǒng)下載稱為(),這個過程就是把編程數(shù)據(jù)寫入E2CMOS單元陣列的過程。根據(jù)配置數(shù)據(jù)線數(shù),器件配置可分為并行配置和串行配置兩類。串行配置以()為單位將配置數(shù)據(jù)載人可編程器件:而并行配置一般以()為單位向可編程器件載入配置數(shù)據(jù)。FPGA的配置模式有從動串行模式、從動并行模式、主動串行模式、主動并行模式、以及()模式??删幊踢壿嬈骷呐渲梅绞椒譃椋ǎ┖停ǎ﹥深悺erilogHDL是在()年正式推出的。在verilogHDL的always塊本身是()語句。VerilogHDL中的always語句中的語句是()語句。VerilogHDL提供了標(biāo)準(zhǔn)的系統(tǒng)任務(wù),用于常用的操作。如顯示、文件輸入/輸出等,系統(tǒng)函數(shù)前都有一個標(biāo)志符()加以確認(rèn)。VerilogHDL很好地支持了“自頂向下”的設(shè)計(jì)理念,即,復(fù)雜任務(wù)分解成的小模塊完成后,可以通過()的方式,將系統(tǒng)組裝起來。VerilogHDL模塊分為兩種類型:一種是()模塊,即,描述某種電路系統(tǒng)結(jié)構(gòu),功能,以綜合或者提供仿真模型為設(shè)計(jì)目的;另一種是()模塊,即,為功能模塊的測試提供信號源激勵、輸出數(shù)據(jù)監(jiān)測。Verilog語言中,標(biāo)識符可以是任意一組字母、數(shù)字、()符號和下劃線符號的組合。state,State,這兩個標(biāo)識符是()同。assignc=a>b?a:b中,若a=3,b=2,則c=();若a=2,b=3,則c=()。在VerilogHDL的邏輯運(yùn)算中,設(shè)A=4′b1010,則表達(dá)式~A的結(jié)果為()在VerilogHDL的邏輯運(yùn)算中,設(shè)a=2,b=0,則a&&b結(jié)果為(),a||b結(jié)果為()。在VerilogHDL的邏輯運(yùn)算中,設(shè)a=4′b1010,a>>1結(jié)果是()。EDA名詞解釋ASIC,2.CPLD,3.FPGA,4.IC,5.LUT.6.PCB.7.RTL,8.FSM,9.GAL,10.ISP,11.JATG,12.PBD,13.BBD選擇題任VerilogHDL的端口聲明語句中,用()關(guān)鍵字聲明端口為雙向端口A:inoutB:INOUTC:BUFFERD:buffer用VerilogHDL的assign語句建模的方法一般稱為()方法。A:連續(xù)賦值B:并行賦值C:串行賦值D:函數(shù)賦值IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,IP是指()。A:知識產(chǎn)權(quán)B:互聯(lián)網(wǎng)協(xié)議C:網(wǎng)絡(luò)地址D:都不是在verilogHDL的always塊本身是()語句A:順序B:并行C:順序或并行D:串行)大規(guī)??删幊唐骷饕蠪PGA、CPLD兩類,下列對FPGA結(jié)構(gòu)與工作原理的描述中,正確的是()。A:FPGA是基于乘積項(xiàng)結(jié)構(gòu)的可編程邏輯器件;B:FPGA是全稱為復(fù)雜可編程邏輯器件;C:基于SRAM的FPGA器件,在每次上電后必須進(jìn)行一次配置;D:在Altera公司生產(chǎn)的器件中,MAX7000系列屬FPGA結(jié)構(gòu)。下列EDA軟件中,哪一個不具有邏輯綜合功能:()。A:ISEB:ModelSimC:QuartusIID:Synplify下列標(biāo)識符中,()是不合法的標(biāo)識符。A:State0 B:9moon C:Not_Ack_0 D:signal@關(guān)于VerilogHDL中的數(shù)字,請找出以下數(shù)字中最大的一個:()。A:8′b1111_1110B:3′o276C:3′d170D:2′h3E大規(guī)??删幊唐骷饕蠪PGA、CPLD兩類,下列對CPLD結(jié)構(gòu)與工作原理的描述中,正確的是()。

A:CPLD是基于查找表結(jié)構(gòu)的可編程邏輯器件;B:CPLD即是現(xiàn)場可編程邏輯器件的英文簡稱;C:早期的CPLD是從GAL的結(jié)構(gòu)擴(kuò)展而來;D:在Xilinx公司生產(chǎn)的器件中,XC9500系列屬CPLD結(jié)構(gòu);IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位;提供用VHDL等硬件描述語言描述的功能塊,但不涉及實(shí)現(xiàn)該功能塊的具體電路的IP核為()。A:瘦IPB:固IPC:胖IPD:都不是不完整的IF語句,其綜合結(jié)果可實(shí)現(xiàn)()。A:時序邏輯電路 B:組合邏輯電路C:雙向電路D:三態(tài)控制電路CPLD的可編程是主要基于什么結(jié)構(gòu)()。A:查找表(LUT)C:PAL可編程B:ROM可編程D:與或陣列可編程IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,以HDL方式提供的IP被稱為:()A:硬IPB:固IPC:軟IPD:都不是;設(shè)a=4′b1010,b=4′b0001,c=4′b1xz0則下列式子的值為1的是()A:a>bB:a<=cC:13-a<bd:13–(a>b)設(shè)a=2,b=0,則下列式子中等于X的是()。A:a&&bB:a||bC:!aD:x&&aFPGA可編程邏輯基于的可編程結(jié)構(gòu)基于()。A:LUT結(jié)構(gòu)B:乘積項(xiàng)結(jié)構(gòu)C:PLDD:都不對CPLD可編程邏輯基于的可編程結(jié)構(gòu)基于()。A:LUT結(jié)構(gòu)B:乘積項(xiàng)結(jié)構(gòu)C:PLDD:都不對下列運(yùn)算符優(yōu)先級最高的是()。A:!B:+C:&D:{}設(shè)a=1′b1,b=3′b101,c=4′b1010則X={a,b,c}的值的等于()將設(shè)計(jì)的系統(tǒng)按照EDA開發(fā)軟件要求的某種形式表示出來,并送入計(jì)算機(jī)的過程,稱為()。A:設(shè)計(jì)的輸入B:設(shè)計(jì)的輸出C:仿真D:綜合一般把EDA技術(shù)的發(fā)展分為()個階段。A:2B:3C:4D:5設(shè)計(jì)輸入完成之后,應(yīng)立即對文件進(jìn)行()。A:編譯B:編輯C:功能仿真D:時序仿真VHDL是在()年正式推出的。A:1983B:1985C:1987D:1989VerilogHDL是在()年正式推出的。A:1983B:1985C:1987D:1989基于硬件描述語言的數(shù)字系統(tǒng)設(shè)計(jì)目前最常用的設(shè)計(jì)方法稱為()設(shè)計(jì)法。A:自底向上B:自頂向下C:積木式D:頂層在EDA工具中,能將硬件描述語言轉(zhuǎn)化為硬件電路的重要工具軟件為()。A:仿真器B:綜合器C:適配器D:下載器在EDA工具中,能完成在目標(biāo)系統(tǒng)器件上布局布線的軟件稱為()。A:仿真器B:綜合器C:適配器D:下載器邏輯器件()屬于非用戶定制電路。A:邏輯門B:PROMC:PLAD:GAL可編程邏輯器件PLD屬于()電路。A:半用戶定制B:全用戶定制C:自動生成D:非用戶定制不屬于PLD基本結(jié)構(gòu)部分的是()。A:與門陣列B:輸入緩存C:與非門陣列D:或門陣列任VerilogHDL的標(biāo)識符使用字母的規(guī)則是()。A:大小寫相同B:大小寫不同C:只允許大寫D:只允許小寫操作符是VerilogHDL預(yù)定義的函數(shù)命名,操作符是由()字符組成的。A:1B:2C:3D:1~3在VerilogHDL模塊中,task語句類似高級語言中的()。A:函數(shù)B:常數(shù)C:變量D:子程序在VerilogHDL模塊中,函數(shù)調(diào)用時返回一個用于()的值。A:表達(dá)式B:輸出C:輸入D:程序包VerilogHDL中的always語句中的語句是()語句。A:串行B:順序C:并行D:順序或并行嵌套的if語句,其綜合結(jié)果可實(shí)現(xiàn)()。A:條件相與的邏輯B:條件相或的邏輯C:條件相異或的邏輯D:三態(tài)控制電路嵌套的使用if語句,其綜合結(jié)果可實(shí)現(xiàn)()。A:帶優(yōu)先級且條件相與的邏輯電路B:雙向控制電路C:三態(tài)控制電路D:條件相異或的邏輯電路下列哪個FPGA/CPLD設(shè)計(jì)流程是正確的()。A:原理圖/HDL文本輸入->功能仿真->綜合->適配->編程下載->硬件測試B:原理圖/HDL文本輸入->適配->綜合->功能仿真->編程下載->硬件測試C:原理圖/HDL文本輸入->功能仿真->綜合->編程下載->適配->硬件測試D:原理圖/HDL文本輸入->適配->功能仿真->綜合->編程下載->硬件測試簡答題簡述EDA技術(shù)的發(fā)展歷程?什么是EDA技術(shù)?在EDA技術(shù)中,什么是自頂向下的設(shè)計(jì)方法?自頂向下的設(shè)計(jì)方法有什么重要意義?簡要說明目前現(xiàn)代數(shù)字系統(tǒng)的發(fā)展趨勢是什么?簡述現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)流程。簡述原理圖設(shè)計(jì)法設(shè)計(jì)流程。簡述原理圖設(shè)計(jì)法設(shè)計(jì)方法的優(yōu)缺點(diǎn)。什么是綜合?綜合的步驟是什么?什么是基于平臺的設(shè)計(jì)?現(xiàn)有平臺分為哪幾個類型?目前,目前數(shù)字專用集成電路的設(shè)計(jì)主要采用三種方式?各有什么特點(diǎn)?什么是SOC技術(shù)含義是什么?什么是SOPC?SOPC技術(shù)含義是什么?SOPC技術(shù)和SOC技術(shù)的區(qū)別是什么?SOPC技術(shù)是指什么?SOPC的技術(shù)優(yōu)勢是什么?簡要說明一下功能仿真和時序仿真的異同。設(shè)計(jì)過程中如果只做功能仿真,不做時序仿真,設(shè)計(jì)的正確性是否能得到保證?綜合完成的主要工作是什么?實(shí)現(xiàn)(Implement)完成的主要工作是什么?主要的HDL語言是哪兩種?VerilogHDL語言的特點(diǎn)是什么?簡述阻塞賦值與非阻塞賦值的不同。簡述過程賦值和連續(xù)賦值的區(qū)別。什么叫做IP核?IP在設(shè)計(jì)中的作用是什么?什么是IP軟核,它的特點(diǎn)是什么?根據(jù)有效形式將IP分為哪幾類?根據(jù)功能方面的劃分分為哪兩類?比較基于查找表的FPGA和CPLD系統(tǒng)結(jié)構(gòu)和性能上有何不同?什么是數(shù)據(jù)流級建模?什么是行為級建模?timescale指令的作用是什么。采用HDL完成設(shè)計(jì)后,必須應(yīng)用測試程序(testbench)對設(shè)計(jì)的正確性進(jìn)行驗(yàn)證。測什么是FPGA,CPLD?他們分別是基于什么結(jié)構(gòu)的可編程邏輯結(jié)構(gòu)?CPLD是基于什么結(jié)構(gòu)的可編程邏輯器件?其基本結(jié)構(gòu)由哪幾部分組成。FPGA是于什么結(jié)構(gòu)的可編程邏輯器件?其基本結(jié)構(gòu)由哪幾部分組成。PLD器件按照編程方式不同,可以分為哪幾類?解釋編程與配置這兩個概念。說明FPGA配置有哪些模式,主動配置和從動配置的主要區(qū)別是什么?為什么在FPGA構(gòu)成的數(shù)字系統(tǒng)中要配備一個PROM或E2PROM?程序補(bǔ)充完整下面程序是一個3-8譯碼器的VerilogHDL描述,試補(bǔ)充完整??眨?)decoder_38(out,in)output[7:0]out;input[2:0]in;reg[7:0]out空(2)@(in)begin空(3)(in)3′d7:out=8′b01111111;endcase空(4)空(5)下面程序4位計(jì)數(shù)器的VerilogHDL描述,試補(bǔ)充完整??眨?)count4(out,reset,clk)output[3:0]out;空(2)reset,clk;reg[3:0]out;空(3)@(posedgeclk) 空(4) if(reset)out<=0; else out<=out+1;end空(5)下面程序描述一個時鐘上升沿觸發(fā)、同步復(fù)位的D觸發(fā)器,試補(bǔ)充完整??眨?)dflop(d,reset,clk,q);inputd,clk;inputreset;空(2)q;regq;空(3)(posedgeclk)if(reset) q<=0;elseq<=空(4);空(5)用下面測試平臺對mux21u1二選一選擇器進(jìn)行測試,試補(bǔ)充完整??眨?)1ns/100psModule空(2);regA,B;regSEL;wireC;mux21u1(.a(A),.b(B),.sel(SEL),.c(C));空(3)beginA=0;B=0;SEL=0;#10beginA=1;B=0;SEL=0;end#10beginA=0;B=0;SEL=1;end#10$空(4);end空(5)clock1是周期為20的時鐘,clock_pshift是clock1相移,試補(bǔ)充完整??眨?)Gen_clock1(clock_pshift,clock1);outputclock_pshift,clock1;regclock1;wireclock_pshift;空(2)T=20;parameterpshift=2;空(3)clock1=0;always#(T/2)clock1=~clock1;空(4)#PSHIFTclock_pshift=clock1;空(5)下面程序描述了8位移位寄存器,試補(bǔ)充完整??眨?)shifter(空(2),clr,dout);inputdin,clk,clr;output空(3)dout;reg[7:0]dout;always@(posedgeclk)beginif(空(4))dout<=8'b0;elsebegindout<=dout<<1;dout[0]<=din;end空(5)endmodule下面程序描述了一個數(shù)據(jù)選擇器MUX,試補(bǔ)充完整??眨?)mux(data_in1,data_in2,sel,data_out);inputdata_in1,data_in2;input[1:0]sel;outputdata_out;always@(空(2))begincase(空(3))2′b00:data_out<=data_in1^data_in2;2′b01:data_out<=data_in1|data_in2;2′b10:data_out<=data_in1~^data_in2;2′b11:data_out<=~data_in1;空(4):data_out<=2′bxx;endcaseend空(5)下面程序描述了一個返回兩個數(shù)中的最大值的函數(shù)。試補(bǔ)充完整??眨?)[3:0]max;空(2)[3:0]a,b;beginif(空(3))max=a;elsemax=b;空(4)空(5)程序改錯下面的中有5處錯誤,試找出錯誤并修改正確。第1行moduledivide2(clk,clk_o,reset)第2行input????clk,reset;第3行output

clk_o;

第4行wirein;

第5行wireout;

第6行always(posedgeclkorposedgereset)

第7行if(reset)

第8行

out<=0;

第9行

else

第10行out<=in;

第11行

assignin<=~out;

第12行assignclk_o=out;下面的中有5處錯誤,試找出錯誤并修改正確。第1行moduledff8(reset,d,q);

第2行input

clk;

第3行input

reset;

第4行input[7:0]

d;

第5行outputq;

第6行reg[7:0]q;

第7行initial@(posedgeclk)

第8行

if(reset)

第9行

q<=0;

第10行else

第11行

q<=d;

第12行endmodule;下面的中有5處錯誤,試找出錯誤并修改正確。第1行moduledecode4_7(decodeout,indec)第2行output[6:0]decodeout;第3行input[3:0]indec;第4行reg[6:0]decodeout;第5行always@(indec)第6行begin第7行 case第8行 4′d1:decodeout=7′b1111110;第9行4′d1:decodeout=7′b0110000;第10行4′d2:decodeout=7′b1101101;第11行4′d3:decodeout=7′b1111001;第12行4′d4:decodeout=7′b0110011;第13行4′d5:decodeout=7′b1011011;第14行4′d6:decodeout=7′b1011111;第15行4′d7:decodeout=7′b1110000;第16行4′d8:decodeout=7′b1111111;第17行4′d9:decodeout=7′b1111011;第18行endcase第19行end下面的中有5處錯誤,試找出錯誤并修改正確。第1行timescale10ns/1ns第2行modulewave2;第3行regwave;第4行cycle=5;第5行always第6行fork第7行wave=0;第8行#(cycle)wave=1;第9行#(2*cycle)wave=0;第10行#(3*cycle)wave=1;第11行#(4*cycle)wave=0;第12行#(5*cycle)$finish;第13行endmodule;下面的中有5處錯誤,試找出錯誤并修改正確。第1行modulealutast(code,a,b,c)第2行input[1:0]code;第3行input[3:0]a,b;第4行output[4:0]c;第5行reg[4:0]c;第6行taskmy_and;第7行input[3:0]a,b;第7行output[4:0]out;第8行intergeri;第9行for(i=3;i>=0;i=i-1)第10行out[i]=a[i]&b[i];第11行end第12行always@(codeoraorb)第13行begin第14行 case(code)第15行 2’b00:my_hand(a,b,c);第16行2’b01:c=a|b;第17行 2’b10:c=a-b;第18行 2’b11:c=a+b;第19行end第20行endmodule;下面的中有5處錯誤,試找出錯誤并修改正確。modulemux4_1(out,in0,in1,in2,in3,sel);inputout;inputin0,in1,in2,in3;inputsel;regout;always@()case(sel)2'b01: out=in0;2'b01: out=in1;2'b10: out=in2;2'b11: out=in3;default:out=2'bx;endmodule下面的中有5處錯誤,試找出錯誤并修改正確。moduleencoder8_3(none_on,outcode,a,b,c,d,e,f,g,h);outputnone_on;output[3:0]outcode;inputa,b,c,d,e,f,g,h;reg[3:0]outtemp;assign{none_on,outcode}=outtemp;always(aorborcordoreorforgorh)if(h) outtemp=4'b0111;elseif(g) outtemp=4'b0110;elseif(f) outtemp=4'b0101;elseif(e) outtemp=4'b0100;elseif(d) outtemp=4'b0011;elseif(c) outtemp=4'b0010;elseif(b) outtemp=4'b0001;elseif(a) outtemp=4'b0000;elseif outtemp=4'b1000;endendmodule下面的中有5處錯誤,試找出錯誤并修改正確。moduleshifter();inputdin,clk,clr;output[7:0]dout;reg[7:0]dout;alway@(posedgeclk)if(clr)dout=8'b0;elsebegindout<=dout<<1;dout[0]<=din;endendmodule程序分析與設(shè)計(jì)設(shè)計(jì)7人投票表決器,當(dāng)大于等于4票時輸出為1,否則為0。試描述一個具有循環(huán)左移和循環(huán)右移功能的8位串入并出移位寄存器。試描述一個能實(shí)現(xiàn)2倍分頻功能的模塊。

試描述一個異步復(fù)位、二十進(jìn)制的減法計(jì)數(shù)器。 試描述一個帶進(jìn)位輸入、輸出的4位全加器,其中端口:A、B為加數(shù),CIN為進(jìn)位輸入,S為加和,COUT為進(jìn)位輸出。試描述一個同步置數(shù)、同步清零的8位加法計(jì)數(shù)器分別用持續(xù)賦值和阻塞賦值方式描述的2選1多路選擇器。用阻塞賦值方式描述移位寄存器。用for語句實(shí)現(xiàn)2個位數(shù)相乘。試描述8-3優(yōu)先編碼器。試描述一個異步清0、異步置1的D觸發(fā)器。試描述一個4位并串轉(zhuǎn)換器。設(shè)計(jì)一個序列檢測器,用于檢測串行的二進(jìn)制序列,每當(dāng)連續(xù)輸入三個或三個以上的1時,序列檢測器的輸出為1,其它情況下輸出為0。(1)畫出狀態(tài)圖(2)寫出實(shí)現(xiàn)程序。設(shè)計(jì)一個狀態(tài)機(jī)實(shí)現(xiàn)在時鐘clk的控制下檢測輸入的串行數(shù)據(jù)是否為“110”,畫出狀態(tài)轉(zhuǎn)移圖,并寫出設(shè)計(jì)實(shí)現(xiàn)程序。要求:當(dāng)串行數(shù)據(jù)是“101”時,flag_out=1,否則flag_out=0。下圖是一個含有下降沿觸發(fā)的D觸發(fā)器的時序電路,試寫出此電路的VerilogHDL設(shè)計(jì)程序。根據(jù)以下原理圖寫出相應(yīng)的Verilog程序?!趿?xí)題集解答填空題1.(3)2.(=3\*GB3③=4\*GB3④=2\*GB3②)3.(適配器)4.(編譯)5.(自頂向下)6.(綜合)7.(軟)8.(片上系統(tǒng))、(可編程片上系統(tǒng))9.(硬)、(軟)10.(軟IP)11.(轉(zhuǎn)化)、(優(yōu)化)、(映射)12.(HDL綜合器)、(仿真器)、(適配器或布局、布線器)、(下載器)13.(系統(tǒng)級)、(行為級)、(RTL級)14.(行為仿真)、(功能仿真)、(時序仿真)15.(行為)16.(功能)17.(時序)18.(SRAM)19.(測試平臺testbench)20.(自頂向下)21.(Mealy)、(Moore)22.(輸入端口)、(輸出端口)23.(線網(wǎng)類型)、(寄存器類型)24.(功能仿真)、(時序仿真)25.(數(shù)據(jù)流級建模)26.(assign)27.(阻塞賦值)、(非阻塞賦值)28.(時間單位)、(時間精度)29.(片上系統(tǒng)SOC)30.(CPLD、(FPGA)31.(簡單PLD)32.(邏輯單元陣列LCA)33.(編程)34.(Bit比特)、(Byte字節(jié))35.(JTAG)36.(主動配置)、(從動配置)37.(1983)38.(并行)39.(順序)40.($)41.(調(diào)用(也稱例化))42.(功能)、(測試)43.($)44.(不同)45.(3)、(3)46.(8'b0101)47.(0)、(1)48.(4′b0101)EDA名詞解釋ApplicationSpecificIntegratedCircuit,專用集成電路ComplexProgrammableLogicDevice復(fù)雜可編程邏輯塊FiledProgrammableGateArray現(xiàn)場可編程門陣列integratedcircuit集成電路lookuptable查找表PrintedCircuitBoard印制電路板RegisterTransferLevel寄存器傳輸級FiniteStateMachine有限狀態(tài)機(jī)GenericArrayLogic可編程通用陣列邏輯在系統(tǒng)編程邊界掃描測試是一種可測試結(jié)構(gòu)技術(shù)Platform-BasedDesign基于平臺的設(shè)計(jì)方法Block-Baseddesign基于塊的設(shè)計(jì)選擇題1-5AAABA6-10CBBAD11-15DADCA16-20DABAD21-25ABABA26-30BBCAA31-35CBDDA36-39BAAA簡答題答:(1)二十世紀(jì)70年代,產(chǎn)生了第一代EDA工具。(2)到了80年代,為了適應(yīng)電子產(chǎn)品在規(guī)模和制作上的需要,應(yīng)運(yùn)出現(xiàn)了以計(jì)算機(jī)仿真和自動布線為核心技術(shù)的第二代EDA技術(shù)。(3)90年代后,隨著科學(xué)技術(shù)的發(fā)展,出現(xiàn)了以高級語言描述、系統(tǒng)級仿真和綜合技術(shù)為特征的第三代EDA技術(shù)。答:EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺上,對系統(tǒng)功能進(jìn)行描述完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。答:自頂向下首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能劃分和結(jié)構(gòu)設(shè)計(jì),并在系統(tǒng)級采用仿真手段驗(yàn)證設(shè)計(jì)的正確性,然后再逐級設(shè)計(jì)低層的結(jié)構(gòu),實(shí)現(xiàn)從設(shè)計(jì)、仿真、測試一體化。其方案的驗(yàn)證與設(shè)計(jì)、電路與PCB設(shè)計(jì)專用集成電路設(shè)計(jì)等都由電子系統(tǒng)設(shè)計(jì)師借助于EDA工具完成。答:(1)基于PLD硬件和EDA工具支撐;(2)采用逐級仿真技術(shù),以便及早發(fā)現(xiàn)問題修改設(shè)計(jì)方案;(3)基于網(wǎng)上設(shè)計(jì)技術(shù)使全球設(shè)計(jì)者設(shè)計(jì)成果共享,設(shè)計(jì)成果的再利用得到保證。(4)復(fù)雜系統(tǒng)的設(shè)計(jì)規(guī)模和效率大幅度提高。(5)在選擇器件的類型、規(guī)模、硬件結(jié)構(gòu)等方面具有更大的自由度。答:(1)電子設(shè)計(jì)最優(yōu)化(EDO);(2)在線可“重構(gòu)”技術(shù)。答:設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)輸入、設(shè)計(jì)處理、器件編程以及相應(yīng)的功能仿真、時序仿真和器件測試三個設(shè)計(jì)驗(yàn)證過程。答:具體設(shè)計(jì)流程包括設(shè)計(jì)輸入、功能仿真、綜合、綜合后仿真、約束設(shè)置、實(shí)現(xiàn)、布局布線后仿真、生成配置文件與配置FPGA答:主要優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于信號的觀察和電路的調(diào)整。原理圖設(shè)計(jì)方法直觀、易學(xué)。但當(dāng)系統(tǒng)功能較復(fù)雜時,原理圖輸入方式效率低,它適應(yīng)于不太復(fù)雜的小系統(tǒng)和復(fù)雜系統(tǒng)的綜合設(shè)計(jì)。答:將硬件描述語言轉(zhuǎn)化成硬件電路的過程叫綜合。綜合主要有三個步驟:轉(zhuǎn)化,優(yōu)化,映射。答:基于平臺的設(shè)計(jì)方法是近幾年提出的SOC軟硬件協(xié)同設(shè)計(jì)新方法,是基于塊的設(shè)計(jì)BBD方法的延伸,它擴(kuò)展了設(shè)計(jì)重用的理念,強(qiáng)調(diào)系統(tǒng)級復(fù)用,包含了時序驅(qū)動的設(shè)計(jì)和BBD的各種技術(shù),支持軟硬件協(xié)同設(shè)計(jì),提供系統(tǒng)級的算法和結(jié)構(gòu)分析。現(xiàn)有的設(shè)計(jì)平臺分為四類:完整的應(yīng)用平臺;以處理器為中心的平臺;以片內(nèi)通信構(gòu)造為中心的平臺;完整的可編程平臺。答:(1)全定制設(shè)計(jì)或基于標(biāo)準(zhǔn)單元的設(shè)計(jì)。所有的工藝掩模都需要從頭設(shè)計(jì),可以最大限度地實(shí)現(xiàn)電路性能的優(yōu)化。然而,由于其設(shè)計(jì)周期很長,設(shè)計(jì)時間和成本非常高,市場風(fēng)險(xiǎn)也非常大。(2)半定制設(shè)計(jì)或基于標(biāo)準(zhǔn)門陣列的設(shè)計(jì)。采用標(biāo)準(zhǔn)門陣列進(jìn)行初步設(shè)計(jì),待設(shè)計(jì)通過驗(yàn)證后,再對各局部功能單元進(jìn)行優(yōu)化(3)基于可編程邏輯器件PLD的設(shè)計(jì)。PLD的設(shè)計(jì)不需要制作任何掩模,基本不考慮布局布線問題,設(shè)計(jì)成本低,設(shè)計(jì)周期短,設(shè)計(jì)的風(fēng)險(xiǎn)低。答:SOC就是將微處理器、模擬IP核、數(shù)字IP核和存儲器(或片外存儲控制接口)、數(shù)據(jù)通路、與外部系統(tǒng)的數(shù)據(jù)接口等部件集成在單一芯片上。SOPC就是基于可編程邏輯器件的SOC設(shè)計(jì)方案答:SOPC技術(shù)是以可編程邏輯器件PLD取代ASIC,更加靈活、高效的技術(shù)SOC解決方案。SSOPC與SOC的區(qū)別就是FPGA與ASIC的區(qū)別。SOPC是SOC發(fā)展的新階段,代表了當(dāng)今電子設(shè)計(jì)的發(fā)展方向。其基本特征是設(shè)計(jì)人員采用自頂向下的設(shè)計(jì)方法,對整個系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,最后系統(tǒng)的核心電路在可編程器件上實(shí)現(xiàn)。答:SOPC技術(shù)是以可編程邏輯器件PLD取代ASIC,更加靈活、高效的技術(shù)SOC解決方案。SOPC的技術(shù)優(yōu)勢:(1)運(yùn)用嵌入的微處理器軟核;(2)采用先進(jìn)的EDA開發(fā)工具;(3)由于連接延遲時間的縮短,SOPC可以提供增強(qiáng)的性能,而且由于封裝體積的減小,產(chǎn)品尺寸也減小。答:仿功能仿真用于驗(yàn)證設(shè)計(jì)的邏輯功能。它是在設(shè)計(jì)輸入完成之后,選擇具體器件進(jìn)行編譯之前進(jìn)行的邏輯功能驗(yàn)證,不包含延時信息。時序仿真是在選擇了具體器件并完成布局、布線之后進(jìn)行的快速時序檢驗(yàn),并可對設(shè)計(jì)性能作整體上的分析。由于不同器件的內(nèi)部延時不一樣,不同的布局、布線方案會給延時造成不同的影響。只做功能仿真,不做時序仿真,設(shè)計(jì)的正確性是不能得到保證。答:綜合的主要工作將硬件描述語言轉(zhuǎn)化成硬件電路。實(shí)現(xiàn)(Implement)是指將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊與硬件原語,將設(shè)計(jì)映射到器件結(jié)構(gòu)上,進(jìn)行布局布線,達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的答:VHDL和VerilogHDL。VerilogHDL語言允許用戶在不同的抽象層次上對電路進(jìn)行建模,底層描述能力較強(qiáng)。答:阻塞賦值:=;必須是阻塞賦值完成后,才進(jìn)行下一條語句的執(zhí)行;賦值一旦完成,等號左邊的變量值立刻發(fā)生變化非阻塞賦值<=,非阻塞賦值在賦值開始時計(jì)算表達(dá)式右邊的值,到了本次仿真周期結(jié)束時才更新被賦值變量(即賦值不立刻生效);非阻塞賦值允許塊中其他語句的同時執(zhí)行。在同一個順序塊中,非阻塞賦值表達(dá)式的書寫順序,不影響賦值的結(jié)果。答:過程賦值和連續(xù)賦值的區(qū)別:過程賦值連續(xù)賦值無關(guān)鍵字(過程連續(xù)賦值除外)關(guān)鍵字assign用“=”和“<=”賦值只能用“=”賦值只能出現(xiàn)initial和always語句中不能出現(xiàn)initial和always語句中用于驅(qū)動寄存器用于驅(qū)動網(wǎng)線答:IP是指知識產(chǎn)權(quán)芯核。IP核是可以完成特定電路功能的模塊,在設(shè)計(jì)電路時可以將IP核看做黑匣子,只需保證IP模塊與外部電路的接口,無需關(guān)心其內(nèi)部操作。利用IP核還可以使設(shè)計(jì)師不必了解設(shè)計(jì)芯片所需要的所有技術(shù),降低了芯片設(shè)計(jì)的技術(shù)難度。IP核與工業(yè)產(chǎn)品不同,調(diào)用IP核能避免重復(fù)勞動,大大減輕工程師的負(fù)擔(dān),且復(fù)制IP核是不需要花費(fèi)任何代價(jià)的。答:軟核是以可綜合的寄存器傳輸級(RTL)描述或通用庫元件的網(wǎng)表形式提供的可重用的IP模塊。特點(diǎn):軟核的使用者要負(fù)責(zé)實(shí)際的實(shí)現(xiàn)和布圖,它的優(yōu)勢是對工藝技術(shù)的適應(yīng)性很強(qiáng),方便地移植。由于軟核設(shè)計(jì)以高層次表示,因而軟IP易于重定目標(biāo)和重配置,然而預(yù)測軟IP的時序、面積與功率諸方面的性能較困難。答:有效形式分:軟核、固核和硬核。功能劃分:嵌入式IP核與通用IP模塊。答:FPGA和CPLD系統(tǒng)結(jié)構(gòu)比較:性能指標(biāo)CPLDFPGA集成規(guī)模?。ㄈf門)大(百萬門)邏輯單元大(PAL結(jié)構(gòu))?。≒ROM)結(jié)構(gòu)互連方式集總總線分段總線、專用互連編程工藝EPROM、E2ROM、FLASHSRAM編程類型ROM、信息固定RAM、可實(shí)時重構(gòu)性能:邏輯電路在中小規(guī)模范圍內(nèi),選用CPLD價(jià)格較便宜,能直接用于系統(tǒng)。各系統(tǒng)的CPLD器件的邏輯規(guī)模覆蓋面屬中小規(guī)模,器件有很寬的可選范圍,上市速度快,市場風(fēng)險(xiǎn)小。對于大規(guī)模的邏輯電路設(shè)計(jì),則多采用FPGA。因?yàn)閺倪壿嬕?guī)模上講,F(xiàn)PGA覆蓋了大中規(guī)模范圍。答:數(shù)據(jù)流級建模是描述數(shù)據(jù)在寄存器之間流動和處理的過程。行為級建模在更高層次對系統(tǒng)功能和數(shù)據(jù)流進(jìn)行描述。答:在VerilogHDL模型中,所有時延都用單位時間表述。使用`timescale編譯器指令將單位時間與實(shí)際時間相關(guān)聯(lián)。用于定義仿真時間、延遲時間的單位和時延精度。答:(1)產(chǎn)生模擬激勵(波形);(2)將模擬的輸入激勵加入到被測試模塊端口并觀測其輸出響應(yīng);(3)將被測模塊的輸出與期望值進(jìn)行比較,驗(yàn)證設(shè)計(jì)的正確與否。答:FPGA是現(xiàn)場可編程門陣列,CPLD中文全稱是復(fù)雜可編程邏輯器件。其中CPLD是基于乘積項(xiàng)的可編程邏輯結(jié)構(gòu),F(xiàn)PGA是基于查找表的可編程邏輯結(jié)構(gòu)。答:CPLD是基于乘積項(xiàng)的可編程結(jié)構(gòu),基本構(gòu)成:邏輯陣列塊LAB、宏單元、擴(kuò)展乘積項(xiàng)、可編程連線陣列、I/O控制器。答:FPGA是基于SRAM查找表的可編程結(jié)構(gòu)。FPGA的核心部分是邏輯單元陣列LCA,LCA是由內(nèi)部邏輯塊矩陣和周圍I/O接口模塊組成。LCA內(nèi)部連線在邏輯塊的行列之間,占據(jù)邏輯塊I/O接口模塊之間的通道,可以由可編程開關(guān)以任意方式連接形成邏輯單元之間的互連。答:PLD器件按照編程方式不同,可以分為熔絲(Fuse)或反熔絲開關(guān)、浮柵編程技術(shù)、SRAM配置存儲器答:基于電可擦除存儲單元的EEPROM或Flash技術(shù)的HYPERLINKCPLD的在系統(tǒng)下載稱為編程(Program);編程過程就是把編程數(shù)據(jù)寫入E2CMOS單元陣列的過程。而把基于SRAM查找表結(jié)構(gòu)的FPGA的在系統(tǒng)下載稱為配置(Configure)。答:分為:從動串行模式、從動并行模式、主動串行、主動并行、JTAG模式。主動配置由可編程器件引導(dǎo)配置過程,從動配置則由外部處理器控制配置過程。答:因?yàn)槌S玫腇PGA的結(jié)構(gòu)是基于SRAM的,掉電后芯片內(nèi)的信息將消失,所以配備一個PROM或E2PROM,使得上電后,F(xiàn)PGA的信息由外部加載到芯片中,使得FPGA成為用戶需要功能的芯片。程序補(bǔ)充完整(1)module(2)always(3)case(4)end(5)endmodule(1)module(2)input(3)always(4)begin(5)endmodule(1)module(2)output(3)always@(4)d(5)endmodule(1)`timescale(2)testbench(3)initial(4)$stop(5)endmodule(1)module(2)parameter(3)initial(4)assign(5)endmodule(1)module(2)din,clk(3)[7:0](4)clr(5)end(1)module(2)data_in1,data_in2,sel(3)sel(4)default(5)endmodule(1)function(2)input(3)a>b(4)end(5)endfunction程序改錯題1:(1)第1行加;(2)第5行wire改為reg(3)第6行always后加@(4)第11行<=改為=(5)第12行后面加endmodule題2:(1)第1行改為moduledff8(clk,reset,d,q);(2)第5行改為output[7:0]q;(3)第7行initial改為always (4)第7行敏感變量加posedgereset(5)第12行去掉;題3:(1)第1行加;(2)第7行改為case(indec)(3)第8行改為4′d0(4)第17行和18行之間加 default:decodeout=7′bx;(5)第19行后endmodule題4:(1)第1行加“′”改為′timescale10ns/1ns(2)第4行加parameter(3)第5行always改為initial(4)第12行之后加join(5)第13行去掉;分號題5:(1)第1行加;分號(2)第8行后加begin(3)第11行后加endtask(4)第18行后加endcase(5)第20行后去掉分號題6:(1)第2行加input改成output;(2)第4行正確為:input[1:0]sel;(3)第6行正確為:always@(in0orin1orin2orin3orsel)(4)第8行正確為:2'b00: out=in0;(5)第12行后面加end題7:(1)第3行正確為output[2:0]outcode;(2)第7行正確為:always@(aorborcordoreorforgorh)(3)第7行后添加:begin(4)第8行正確為:elseouttemp=4'b1000;(5)第18行后面加endmodule題8:(1)第1行正確為:moduleshifter(din,clk,clr,dout);(2)第5行正確為:always@(posedgeclk)(3)第5行后添加:begin(4)第6行正確為:if(clr)dout<=8'b0;(5)第10行后面加end程序分析與設(shè)計(jì)7人投票表決器:。modulevoter7(pass,vote);outputpass;input[6:0]vote;reg[2:0]sum;integeri;regpass;always@(vote)beginsum=0;for(i=0;i<=6;i=i+1)if(vote[i])sum=sum+1;if(sum>4)pass=1;elsepass=0;endendmodule具有循環(huán)左移和循環(huán)右移功能的8位串入并出移位寄存器:moduleshiftreg(clr,clk,din,LorR,dout);inputclr,clk,din;inputLorR;output[7:0]dout;reg[7:0]fifo;assigndout=fifo;always@(posedgeclk)if(clr)fifo<=0;elseif(LorR)fifo<={fifo[6:0],din};elsefifo<={din,fifo[7:1]};endmodule2倍分頻功能的模塊:moduledivide2(clk,clk_o,reset);

input

clk,reset;

output

clk_o;

wirein;

regout;

always@(posedgeclkorposedgereset)

if(reset)

out<=0;

else

out<=in;

assignin=~out;

assignclk_o=out;

endmodule異步復(fù)位、二十進(jìn)制的減法計(jì)數(shù)器:moduleCNT20(CLK,RST,CQ,COUT);inputCLK,RST;output[4:0]CQ;outputCOUT;reg[4:0]CQI;regCOUT;always@(posedgeCLKornegedgeRST)beginif(!RST) begin CQI=5'b0; endelseif(CQI==5'b0)beginCQI=5'b10100; COUT<=1'b1;endelsebeginCQI=CQI-1; COUT<=1'b0;endendassignCQ=CQI;endmodule帶進(jìn)位輸入、輸出的4位全加器“moduleadder8(A,B,CIN,S,COUT);input[8:0]A,B;inputCIN;output[8:0]S;outputCOUT;assign{COUT,S}=A+B+CIN;endmodule同步置數(shù)、同步清零的8位計(jì)數(shù)器:modulecount(out,data,load,reset,clk);output[7:0]out;input[7:0]data;inputload,clk,reset;reg[7:0]out;always@(posedgeclk)beginif(!reset) out=8'h00;elseif(load)out=data;else out=out+1;endendmodule2選1多路選擇器:。持續(xù)賦值moduleMUX21_1(out,a,b,sel);inputa,b,sel;outputout;assignout=(sel==0)?a:b;endmodule阻塞賦值moduleMUX21_2(out,a,b,sel);inputa,b,sel;outputout;regout;always@(aorborsel)beginif(sel==0)out=a;elseout=b;endendmodule阻塞賦值方式描述移位寄存器:moduleblock3(Q0,Q1,Q2,Q3,din,clk);outputQ0,Q1,Q2,Q3;inputclk,din;regQ0,Q1,Q2,Q3;always@(posedgeclk) begin Q0=din;//還有其他多種方式 Q1=Q0; Q2=Q1; Q3=Q2; endendmodule2個位數(shù)相乘:modulemult_for(outcome,a,b);parametersize=8;input[size:1]a,b;output[2*size:1]outcome;reg[2*size:1]outcome;integeri;always@(aorb)beginoutcome=0;for(i=1;i<=size;i=i+1)if(b[i])outcome=outcome+(a<<(i-1));endendmodule8-3優(yōu)先編碼器:moduleencoder8_3(none_on,outcode,a,b,c,d,e,f,g,h);outputnone_o

溫馨提示

  • 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

提交評論