




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
這是長(zhǎng)期總結(jié)的EDA期末考試試題
獻(xiàn)一
1-2與軟件描述語(yǔ)言相比,VHDL有什么特點(diǎn)?P6
答:編譯器將軟件程序翻譯成基于某種特定CPU的機(jī)器代碼,這種代碼僅限于這種CPU而不能移植,并且機(jī)器代碼不代表硬件結(jié)構(gòu),
更不能改變CPU的硬件結(jié)構(gòu),只能被動(dòng)地為其特定的硬件電路結(jié)構(gòu)所利用。綜合器將VIIDL程序轉(zhuǎn)化的目標(biāo)是底層的電路結(jié)構(gòu)網(wǎng)表文件,
這種滿足VHDL設(shè)計(jì)程序功能描述的電路結(jié)構(gòu),不依賴于任何特定硬件環(huán)境;具有相對(duì)獨(dú)立性。綜合器在將VHDL(硬件描述語(yǔ)言)表達(dá)的電
路功能轉(zhuǎn)化成具體的電路結(jié)構(gòu)網(wǎng)表過(guò)程中,具有明顯的能動(dòng)性和創(chuàng)造性,它不是機(jī)械的一一對(duì)應(yīng)式的“翻譯”,而是根據(jù)設(shè)計(jì)庫(kù)、工藝庫(kù)
以及預(yù)先設(shè)置的各類約束條件,選擇最優(yōu)的方式完成電路結(jié)構(gòu)的設(shè)計(jì)。
1-3什么是綜合?有哪些類型?綜合在電子設(shè)計(jì)自動(dòng)化中的地位是什么?P5
什么是綜合?答:在電子設(shè)計(jì)領(lǐng)域中綜合的概念可以表示為:將用行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換為低層次的便于具體實(shí)現(xiàn)的模
塊組合裝配的過(guò)程。
有哪些類型?
答:(1)從自然語(yǔ)言轉(zhuǎn)換到VHDL語(yǔ)言算法表示,即自然語(yǔ)言綜合。
(2)從算法表示轉(zhuǎn)換到寄存器傳輸級(jí)(RegisterTransporlLevel,RTL),即從行為域到結(jié)構(gòu)域的綜合,即行為綜合。
(3)從RTL級(jí)表示轉(zhuǎn)換到邏輯門(包括觸發(fā)器)的表示,即邏輯綜合。
(4)從邏輯門表示轉(zhuǎn)換到版圖表示(ASIC設(shè)計(jì)),或轉(zhuǎn)換到FPGA的配置網(wǎng)表文件,可稱為版圖綜合或結(jié)構(gòu)綜合。
綜合在電子設(shè)計(jì)自動(dòng)化中的地位是什么?答:是核心地位(見圖1-3)。綜合器具有更復(fù)雜的工作環(huán)境,綜合器在接受VHDL程序并準(zhǔn)備對(duì)
其綜合前,必須獲得與最終實(shí)現(xiàn)設(shè)計(jì)電路硬件特征相關(guān)的工藝庫(kù)信息,以及獲得優(yōu)化綜合的諸多約束條件信息;根據(jù)工藝庫(kù)和約束條件信
>,將VH將程序轉(zhuǎn)化成電路實(shí)現(xiàn)的相關(guān)信息。
1-4在EDA技術(shù)中,自頂向下的設(shè)計(jì)方法的重要意義是什么?P7~10
答:在EDA技術(shù)應(yīng)用中,自頂向下的設(shè)計(jì)方法,就是在整個(gè)設(shè)計(jì)流程中各設(shè)計(jì)環(huán)節(jié)逐步求精的過(guò)程。
1-5IP在EDA技術(shù)的應(yīng)用和發(fā)展中的意義是什么?Piri2
答:IP核具有規(guī)范的接口協(xié)議,良好的可移植與可測(cè)試性,為系統(tǒng)開發(fā)提供了可靠的保證。
2-1敘述EDA的FPGA/CPLD設(shè)計(jì)流程。P13~16
答:1.設(shè)計(jì)輸入(原理圖/HDL文本編輯):2.綜合;3.適配;4.時(shí)序仿真與功能仿真;5.編程下載;6.硬件測(cè)試。
2-2IP是什么?IP與EDA技術(shù)的關(guān)系是什么?P24~26
IP是什么?
答:空是知識(shí)產(chǎn)權(quán)核或知識(shí)產(chǎn)權(quán)模塊,用于AS1C或FPGA/CPLD中的預(yù)先設(shè)計(jì)好的電路功能模塊。
IP與EDA技術(shù)的關(guān)系是什么?
答:IP在EDA技術(shù)開發(fā)中具有十分重要的地位;與EDA技術(shù)的關(guān)系分有軟IP、固IP、硬IP:軟IP是用VHDL等硬件描述語(yǔ)言描述的
功能塊,并不涉及用什么具體電路元件實(shí)現(xiàn)這些功能;軟1P通常是以硬件描述語(yǔ)言HDL源文件的形式出現(xiàn)。固IP是完成了綜合的功能塊,
具有較大的設(shè)計(jì)深度,以網(wǎng)表文件的形式提交客戶使用。硬IP提供設(shè)計(jì)的最終階段產(chǎn)品:掩模。
3-10LMC(輸出邏輯宏單元)有何功能?說(shuō)明GAL是怎樣實(shí)現(xiàn)可編程組合電路與時(shí)序電路的。P34~36
答:OLMC單元設(shè)有多種組態(tài),可配置成專用組合輸出、專用輸入、組合輸出雙向口、寄存器輸出、寄存器輸出雙向口等。
說(shuō)明GAL是怎樣實(shí)現(xiàn)可編程組合電路與時(shí)序電路的?
答:GAL(通用陣列邏輯器件)是通過(guò)對(duì)其中的0LMC(輸出邏輯宏單元)的編程和三種模式配置(寄存器模式、復(fù)合模式、簡(jiǎn)單模式),
實(shí)現(xiàn)組合電路與時(shí)序電路設(shè)計(jì)的。
3-2什么是基于乘積項(xiàng)的可編程邏輯結(jié)構(gòu)?P33~34,40
答:GAL、CPLD之類都是基于乘積項(xiàng)的可編程結(jié)構(gòu):即包含有可編程與陣列和固定的或陣列的PAL(可編程陣列邏輯)器件構(gòu)成。
3-3什么是基于查找表的可編程邏輯結(jié)構(gòu)?P40~41
答:FPGA(現(xiàn)場(chǎng)可編程門陣列)是基于查找表的可編程邏輯結(jié)構(gòu)。
3-7請(qǐng)參閱相關(guān)資料,并回答問(wèn)題:按本章給出的歸類方式,將基于乘積項(xiàng)的可編程邏輯結(jié)構(gòu)的PLD器件歸類為CPLD;將基于查找表
的可編程邏輯結(jié)構(gòu)的PLD器什歸類為FPGA,那么,APEX系列屬于什么類型PLD器件?MAXII系列又屬于什么類型的PLD器件?為什么?
P54~56
答:APEX(AdvancedLogicElementMatrix)系列屬于FPGA類型PLD器件:編程信息存于SRAM中。MAXII系列屬于CPLD類型的PLD器件;
編程信息存于EEPR0M中。
4-3.圖3-31所示的是雙2選1多路選擇器構(gòu)成的電路MUXK,對(duì)于其中MUX21A,當(dāng)5='0'和’1'時(shí),分別有y〈='a'和y<='b'。試在一
個(gè)結(jié)構(gòu)體中用兩個(gè)進(jìn)程來(lái)表達(dá)此電路,每個(gè)進(jìn)程中用CASE語(yǔ)句描述一個(gè)2選1多路選擇器MUX21A。
LIBRARYIEEE;
USEIEEE.STDJ-0GIC1164.ALL;
ENTITYMUX221IS
PORT(al,a2,a3:INSTD_LOGIC_VECTOR(1DOWNTO0);一輸入信號(hào)
sO,sl:INSTD_LOGIC;
outy:0UTSTDLOGIC);--輸出端
ENDENTITY;
ARCHITECTUREONEOFMUX221IS
SIGNALtmp:STDLOGIC;
BEGIN
PR01:PROCESS(sO)
BEGIN
IFsO二"0"THENtmp<=a2;
ELSEtmp<=a3;
ENDIF;
ENDPROCESS;
PR02:PROCESS(si)
BEGIN
IFsi二"0"THENouty<=al;
ELSEouty<=tmp;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREONE;
ENDCASE;
4-4.下圖是一個(gè)含有上升沿觸發(fā)的D觸發(fā)器的時(shí)序電路,試寫出此電路的VHDL設(shè)計(jì)文件。
LIBRARYIEEE;
USEIEEE.STDLOGICJ164.ALL;
ENTITYMULTIIS
PORT(CL:INSTD_LOGIC;一輸入選擇信號(hào)
CLKO:INSTDLOGIC;一輸入信號(hào)
OUT1:OUTSTD_LOGIC);一輸出端
ENDENTITY;
ARCHITECTUREONEOFMULTIIS
SIGNALQ:STD_LOGIC;
BEGIN
PR01:PROCESS(CLKO)
BEGIN
IFCLK*EVENTANDCLK=,1'
THENQ<=NOT(CLORQ);ELSE
ENDIF;
ENDPROCESS;
PR02:PROCESS(CLKO)
BEGIN
0UTK=Q;
ENDPROCESS;
ENDARCHITECTUREONE;
ENDPROCESS;
4-5.給出1位全減器的VHDL描述。要求:
(1)首先設(shè)計(jì)1位半減器,然后用例化語(yǔ)句將它們連接起來(lái),圖3-32中h_suber是半減器,diff是輸出差,s_out是借位輸出,
sub_in是借位輸入。
(2)以1位全減器為基本硬件,構(gòu)成串行借位的8位減法器,要求用例化語(yǔ)句來(lái)完成此項(xiàng)設(shè)計(jì)(減法運(yùn)算是x-y-sun_in=diffr)
底層文件1:or2a.VHD實(shí)現(xiàn)或門操作
LIBRARYIEEE;
USEIEEE.STD_L0GIC_1164.ALL;
USEIEEE.STDLOG[CONSIGNED.ALL;
ENTITYor2aIS
PORT(a,b:INSTD_LOGIC;C:OUTSTD_LOGIC);
ENDENTITYor2a;
ARCHITECTUREoneOFor2aIS
BEGIN
c<=aORb;
ENDARCHITECTUREone;
底層文件2:h_subber.VHD實(shí)現(xiàn)一位半減器
LIBRARYIEEE;
USEIEEE.STD_LOGIC」164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYh_subberIS
PORT(x,y:INSTD_LOGIC;
diff,s_out::OUTSTD_LOGIC);
ENDENTITYh_subber;
ARCHITECTUREONEOFh_subberIS
SIGNALxyz:STD_LOGIC_VECTOR(1DOWNTO0);
BEGIN
xyz<=x&y;
PROCESS(xyz)
BEGIN
CASExyzIS
=,
WHEN〃00〃二〉diff〈二'O';s_out<0>
=,=,
WHEN〃01〃二〉diff<T;s_out<P
WHENTO"=>diffOT';s_out<=,0J
=,
WHEN"11〃=>diff〈='O';s_out<0)
WHENOTHERS=)NULL;
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREONE;
頂層文件:f.subber.VHD實(shí)現(xiàn)一位全減器
LIBRARYIEEE;
USEIEEE.STD_L0GIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYf_subberIS
P0RT(x,y,sub_in:INSTD_LOGIC;
diffr,sub_out:0UTSTD_LOGIC);
ENDENTITYf_subber;
ARCHITECTUREONEOFf_subberIS
COMPONENTh_subber
PORT(x,y:INSTD_LOGIC;
diff,S_out:OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTor2a
PORT(a,b:INSTDLOGIC;
c:0UTSTD_LOGIC);
ENDCOMPONENT;
SIGNALd,e,f:STD.LOGIC;
BEGIN
ul:h_subberPORTMAP(x=>x,y=>y,diff=>d,s_out=>e);
u2:hsubberPORTMAP(x=>d,y=>subin,diff=>diffr,sout=>f);
u3:or2aPORTMAP(a=>f,b=>e,c=>sub_out);
ENDARCHITECTUREONE;
ENDARCHITECTUREART;
4-6.根據(jù)下圖,寫出頂層文件MX3256.VHD的VHDL設(shè)計(jì)文件。
MAX3256頂層文件
LIBRARYIEEE;
USEIEEE.STD_L0GIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYMAX3256IS
PORT(INA,INB,INCK:INSTD_LOGIC;INC:INSTD_LOGIC;
E,OUT:OUTSTD_LOGIC);
ENDENTITYMAX3256;
ARCHITECTUREONEOFMAX3256ISCOMPONENTLK35一調(diào)用LK35聲明語(yǔ)句
PORT(Al,A2:INSTD_LOGIC;CLK:INSTD_LOGIC;Q1,Q2:0UTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTD一調(diào)用D觸發(fā)器聲明語(yǔ)句
PORT(D,C:INSTD_LOGIC;CLK:INSTD_LOGIC;Q:OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTMUX21一調(diào)用二選一選擇器聲明語(yǔ)句
PORT(B,A:INSTD_LOGIC;S:INSTD_LOGIC;C:OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALAA,BB,CC,DD:STDLOGIC;
BEGIN
ul:LK35PORTN!AP(A1=>INA,A2=>INB,CLK=INCK,Q1=>AA,Q2=>BB);
u2:DPORTMAP(D=>BB;CLK=>INCK,C=>INC,Q=>CC);
u3:LK35PORTMAP(A1=>BB,A2=>CC,CLK=INCK,Q1=>DD,Q2=>OUT1);
u4:MUX21PORTMAP(B=>AA,A=>DD,S=>BB,C=>E);
ENDARCHITECTUREONE;
4-7含有異步清零和計(jì)數(shù)使能的16位二進(jìn)制加減可控計(jì)數(shù)器.
LIBRARYIEEE;
USEIEEE.STD_LOGIC」164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT16IS
PORT(CLK,RST,EN:INSTDLOGIC;CHOOSE:INBIT;
SETDATA:BUFFERINTEGERRANCE65535DOWNTO0;
COUT:BUFFERINTEGERRANCE65535DOWNTO0);
ENDCNT16;
ARCHITECTUREONEOFCNT16IS
BEGIN
PROCESS(CLK,RST,SDATA)
VARIABLEQI:STD_LOGIC_VECTOR(65535DOWNTO0);
BEGIN
IFRST='I'THEN一計(jì)數(shù)器異步復(fù)位QI:=(OTHERS=>'O');
ELSIFSET='1'THEN一計(jì)數(shù)器一步置位
QI:=SETDATA;
ELSIFCLK'EVENTANDCLK='1'THEN一檢測(cè)時(shí)鐘上升沿
IFEN='1'THEN-檢測(cè)是否允許計(jì)數(shù)
IFCHOOSE=,1'THEN一選擇加法計(jì)數(shù)
QI:=QI+1;一計(jì)數(shù)器加一
ELSEQI=QI-1;一計(jì)數(shù)器加一
ENDIF;
COUT〈=Q【;一將計(jì)數(shù)值向端口輸出
ENDPROCESS;
ENDONE;
6-4說(shuō)明信號(hào)和變量的功能特點(diǎn),以及應(yīng)用上的異同點(diǎn)。
答:變量:變量是一個(gè)座圜,只能在進(jìn)程和子程序中使用。變量不能將信息帶出對(duì)它做出定義的當(dāng)前結(jié)構(gòu)。變量的賦值是一種理想化的
數(shù)據(jù)傳輸,是立即發(fā)生的,不存在任何延時(shí)行為。變量的主要作用是在進(jìn)程中作為臨時(shí)的數(shù)據(jù)存儲(chǔ)單元。
信號(hào):信號(hào)是描述硬件系統(tǒng)的基本數(shù)據(jù)對(duì)象,其性質(zhì)類似于連接線;可作為設(shè)計(jì)實(shí)體中并行語(yǔ)句模塊間的信息交流通道。信號(hào)不但可以安
納當(dāng)前值,也可以保持歷史值;與觸發(fā)器的記憶功能有很好的對(duì)應(yīng)關(guān)系。
6-7什么是重載函數(shù)?重載算符有何用處?如何調(diào)用重載算符函數(shù)?
答:⑴根據(jù)操作對(duì)象變換處理功能。
(2)用于兩個(gè)不同類型的操作數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同種數(shù)據(jù)類型,并進(jìn)行運(yùn)算處理。
(3)如何調(diào)用重載算符函數(shù)?采用隱式方式調(diào)用,無(wú)需事先聲明。
6-8判斷下面三個(gè)程序中是否有錯(cuò)誤,指出錯(cuò)誤并給出完整程序。
程序1:
SignalA,EN:stdlogic;
Process(A,EN)
VariableB:std_logic;
Begin
ifEN=1thenB<=A;endif;一將“BCA”改成“B:二A”
endprocess;
程序2:
Architectureoneofsampleis
variablea,b,c:integer;
begin
c<=a+b;一將"c〈=a+b"改成"c:=a+b”
end;
程序3:
libraryieee;
useieee.std_logic_l164.al1;
entitymux21is
PORT(a,b:instd_logic;sei:instd_loglc;c:outstd_logle;);--將改成"
endsam2;--將“sam2"改成"entitymux21
architectureoneofmux21is
begin
一增加"process(a,b,sei)begin”
ifsel='O'thenc:=a;elsec:=b;endif;一應(yīng)改成"ifsel='O'thenc<=a;elsec<=b;endif;
一增加“endprocess;w
endtwo;一將“two"改成"architectureone”
74LS160的程序
libraryieee;
useieee.std_logic_l164.all;
useieee.std_logic_unsigned.al1;
entityjishuqiis
port(elk,clr,p,t,load:instd_logic;
y:outstd_logic;
led:bufferstdlogic;
d:instd_logic_vector(3downto0);
q:bufferstd_logic_vector(3downto0);
hex:outstdlogic_vector(6downto0));
endjishuqi;
architecturebehavofjishuqiis
signalcount2:integerrange0to9;
signalhz:integerrange0to1;
begin
process(elk)
variablecount:integerrange0to25000000;
begin
if(clk=,1*andelk*event)thencount:=count+l;
if(count=12500000)thenhz<=l;y<=,T;
elsif(count=25000000)thenhz<=0;y<=,0>;
count:=0;
endif;
endif;
endprocess;
process(clr,hz,p,t,d,load,q)
begin
ifclr=0*thenq0〃0000〃;
else
ifhz=landhz'eventthen
ifload='O'thenq<=d;
elsifload=,1'then
ifp=,Tthen
ift=,Tthen
ifq=/z100r,thenq<=z,0000,/;led<=notled;
elseq〈=q+1
endif;
endprocess;
process(p,t,d,q)
begin
ifp='O'thenq<=q;
elsift='O'thenq<=q;
endif;
endprocess;
process(q)
begin
caseqis
when"0000"=>counl2<=0;
whenz/000r,=>count2<=l;
when,z0010/,=>count2<=2;
when,,001P=>count2<=3;
whenz,0100,,=>count2<=4;
whenz,0101z,=>count2<=5;
whenz,0110/z=>count2<=6;
when"Olli*=>count2<=7;
when,z1000,,=>count2<=8;
when1001/z=>count2<=9;
whenothers=>count2<=null;
endcase;
endprocess;
process(count2)
begin
casecount2is
when0=〉hex<="0000001”;
when1二>hex<="1001111”;
when2二>hex<=〃0010010〃;
when3=>hex<:"0000110”;
when4=>hex<=//1001100^;
when5二)hex〈二”0100100”;
when6=>hex<="0100000”;
when7=>hex<=/,0001111zz;
when8二)hex<=〃0000000〃;
when9=>hex<=,,0000100/,;
endcase;
endprocess;
endbehav;
4選1多路選擇器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitymux4isport(dO,dl,d2,d3:instd_logic;
aO,al:instd_logic;
q:outstd_logic);
endmux4;
architecturebehavioralofmux4issignalsei:integer;
beginwithseiselect
q<=dOafter10nswhen0,dlafter10nswhen1,d2after10nswhen2,d3after10nswhen3,'x'after10nswhen
other;
sei<=0whenaO='O'andal='O'else1whenaO='1'andal='O'else
2whenaO='O'andal='1'else3whenaO='1'andal='1'else4;
endbehavioral
七段數(shù)碼顯示譯碼器設(shè)計(jì)實(shí)驗(yàn)程序1:
libraryieee;
useieee.std_logic_l164.all;
entitydecl7sis
port(a:instd_logic_vector(3downto0);
led7s:outstd_logic_vector(6downto0));
end;
architectureoneofdec17sis
begin
process(a)
begin
caseais
when“0000〃二)led7s<=“0111111〃
when“0001〃=>led7s<=“0000110〃
when“0010〃=>led7s<=“1011011〃
when“0011〃二〉led7s<=“1001111〃
when"0100"=>led7s<=“1100110〃
when“0101〃=>lec17s<=“1101101〃
when“0110〃=>led7s<="lllllOl"
when=>led7s<="ooooiir
when“1000〃=>lec17s<=“1111111〃
when“1001〃=>led7s<=“1101111〃
when“1010〃二)led7s<=“1110111〃
when"1011"=>led7s<=“1111100〃
when“1100〃=>led7s<=“0111001〃
when*1101*=>led7s<="1011110"
when”1110〃=>led7s<=”1111001〃
when"1111"=>led7s<=“1110001〃
whenothers=>null;
endcase;
endprocess;
end;
實(shí)驗(yàn)程序2:
1ibraryieee;
useieee.std_logic_l164.all;
useieee.std_logic_unsigned,all;
entitycnt4bis
port(elk,rst,ena:instd_logic;
outy:outstd_logic_vector(3downto0);
cout:outstd_logic);
endcnt4b;
architecturebehavofcnt4bis
begin
process(elk,rst,ena)
variableoutyl:std_logic_vector(3downto0);
begin
ifrst='1'thenoutyl:=(others=>'O');
elsifelk'eventandelk='1'then
ifena='fthen
ifoutyl<15thenoutyl:=outyl+l;
elseoutyl:=(others二>'O');
endif;
ifoutyl=15thencoutO'1';
elsecout<='0>;
endif;
outy<=outyl;
endprocess;
endbehav;
實(shí)驗(yàn)程序3:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.al1;
entityshenjiaois
port(clock0,rstO,enaO:instd_logic;
led:outstd_logic_vector(6downto0);
coutO:outstdlogic);
endentityshenjiao;
architecturezllofshenjiaois
componentcnt4b
port(elk,rst,ena:instd_logic;
outy:outstd_logic_vector(3downto0);
cout:outstd_logic);
endcomponent;
componentdecl7s
port(a:instdlogic_vector(3downto0);
led7s:outstdlogicvector(6downto0));
endcomponent;
signaltmp:stdlogic_vector(3downto0);
begin
ul:cnt4map(clk=>clock0,rst=>rst0,ena=>ena0,outy=>tmp,cout=>cout0);
u2:dec17sportmap(a=>tmp,led7s=>led);
endarchitecturezll;
八位數(shù)碼掃描顯示電路實(shí)驗(yàn)程序例6-19
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityscan_ledis
port(elk:instd_logic;
sg:outstd_logic_vector(6downto0);
bt:outstd_logic_vector(7downto0));
end;
architectureoneofscan1edis
signalcnt8:std_logic_vector(2downto0);
signala:integerrange0to15;
begin
pl:process(cnt8)
begin
casecnt8is
when"000"=>bt<="00000001a〈=l;
when"001"=>bt<="00000010";a<=3:
when"010"=>bt<="00000100*;a<=5;
when"011"=>bt<="00001000";a<=7;
when"100"=>bt<="00010000";a<=9;
whenT01"=>bt<="00100000//;a<=ll;
whenT10"=>bt<="01000000//;a<=13;
when"111"=>bt<="10000000";a<=15;
whenothers=>null;
endcase;
endprocesspl;
p2:process(elk)
begin
ifelk*eventandelk='Tthencnt8<=cnt8+l;
endif;
endprocessp2;
p3:process(a)
begin
caseais
when0=>sg<=,,01111ir;when1=>sg<="0000110〃;
when2=>sg<="1011011”;when3=>sg<="1001111”;
when4=>sg〈=“H00110〃;when5=>sg<="1101101”
when6=>sgwhen7=>sg<="000011K;
when8=>sg<="1111111”;when9=>sg<="1101111”;
when10=>sg<=,/U101ir/;when11=>sg<="1111100”;
when12=>sg<="0111001”;when13=>sg<="1011110";
when14=>sg〈=”1111001”;when15=>sg<="1110001〃;
whenothers=>null;
endcase;
endprocess
end;
程序12選1選擇器:
LIBRARYIEEE;
USEIEEE.STD_L0GIC_1164.ALL;
ENTITYmux21aIS
PORT(a,bINSTDLOGIC;
sINSTD_LOGIC;
OUTSTD__LOGIC);
ENDENTITYmux21a;
ARCHITECTUREoneOFmux21aIS
BEGIN
PROCESS(a,b,s)
BEGIN
IFs:'O'THEN
y<=a;
ELSEy<=b;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREone;
程序2多路選擇器:
LIBRARYIEEE;
USEIEEE.STD_L0GIC_1164.ALL;
ENTITYmuxkIS
PORT(al,a2,a3,sO,si:instd_logic;
outy:outstd_logic);
ENDmuxk;
ARCHITECTUREoneOFmuxkIS
COMPONENTmux21a
PORT(a,b,s:INSTDLOGIC;
y:OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALtmp:STD_LOGIC;
BEGIN
UI:mux21aPORTMAP(a=>a2,b=>a3,s=>sO,y=>tmp);
U2:mux21aPORTMAP(a=>al,b=>tmp,s=>sl,y=>outy);
ENDARCHITECTURE;
程序3半加器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adderIS
PORT(a,b:INSTDLOGIC;
co,so:OUTSTD_LOGIC);
ENDENTITYh_adder;
ARCHITECTUREfhlOFh_adderis
BEGIN
so<=N0T(aXOR(NOTb));CO<=aANDb;
ENDARCHITECTUREfhl;
或門邏輯描述
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYor2aIS
PORT(a,b:INSTD_LOGIC;
C:OUTSTD_LOGIC);
ENDENTITY0R2a;
ARCHITECTUREoneOFor2aIS
BEGIN
C<=aORb;
ENDARCHITECTUREone;
全加器
LIBRARYIEEE;
USEIEEE.STD_LOGIC1164.ALL;
ENTITY—adderIS
PORT(ain,bin,cin:INstd_logic;
cout,sum:OUTSTD_LOGIC);
ENDENTITYf_adder;
ARCHITECTUREfdlOFf_adderIS
COMPONENTh_adder
PORT(a,b:INSTDLOGIC;
cO,SO:outstd_logic);
ENDCOMPONENT;
COMPONENTor2a
PORT(a,b:INSTD_LOGIC;
c:OUTSTD.LOGIC);
ENDCOMPONENT;
SIGNALd,e,f:STD_LOGIC;
BEGIN
ul:h_adderPORTMAP(a=>ain,b=>bin,co=>d,so=>e);
u2:h_adderPORTMAP(a=>e,b=>cin,co=>f,so=>sum);
u3:or2aPORTMAP(a=>d,b=>f,c=>cout);
ENDARCHITECTUREfdl;
試題二
一、單項(xiàng)選擇題:(20分)
1.IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位;提供用VHDL等硬件描述語(yǔ)言描述的功能塊,但不涉及實(shí)現(xiàn)該功能塊的具體電路的
IP核為D。A.瘦IPB.固IPC.胖IPD.都不是
2.綜合是EDA設(shè)計(jì)流程的關(guān)鍵步驟,在下面對(duì)綜合的描述中,是錯(cuò)誤的。D
A.綜合就是把抽象設(shè)計(jì)層次中的一種表示轉(zhuǎn)化成另?種表示的過(guò)程;
B.綜合就是將電路的高級(jí)語(yǔ)言轉(zhuǎn)化成低級(jí)的,可與FPGA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件;
C.為實(shí)現(xiàn)系統(tǒng)的速度、面積、性能的要求,需要對(duì)綜合加以約束,稱為綜合約束;
D.綜合可理解為一種映射過(guò)程,并且這種映射關(guān)系是唯一的,即綜合結(jié)果是唯一的。
3.大規(guī)??删幊唐骷饕蠪PGA、CPLD兩類,下列對(duì)FPGA結(jié)構(gòu)與工作原理的描述中,正確的是_C_。
A.FPGA全稱為復(fù)雜可編程邏輯器件;
B.FPGA是基于乘積項(xiàng)結(jié)構(gòu)的可編程邏輯器件;
C.基于SRAM的FPGA器件,在每次上電后必須進(jìn)行一次配置;
D.在Altera公司生產(chǎn)的器件中,MAX7000系列屬FPGA結(jié)構(gòu)。
4.進(jìn)程中的信號(hào)賦值語(yǔ)句,其信號(hào)更新是_C_.
A.按順序完成;B.比變量更快完成;C.在進(jìn)程的最后完成;
5.VHDL語(yǔ)言是一種結(jié)構(gòu)化設(shè)計(jì)語(yǔ)言;一個(gè)設(shè)計(jì)實(shí)體(電路模塊)包括實(shí)體與結(jié)構(gòu)體兩部分,結(jié)構(gòu)體描述B
A.器件外部特性;B.器件的內(nèi)部功能;C.器件的綜合約束;
I).器件外部特性與內(nèi)部功能。
6.不完整的IF語(yǔ)句,其綜合結(jié)果可實(shí)現(xiàn)A
A.時(shí)序邏輯電路B.組合邏輯電C.雙向電路D.三態(tài)控制電路
7.子系統(tǒng)設(shè)計(jì)優(yōu)化,主要考慮提高資源利用率減少功耗(即面積優(yōu)化),以及提高運(yùn)行速度(即速度優(yōu)化);指出下列哪些方法是面積
優(yōu)化B
①流水線設(shè)計(jì)②資源共享③邏輯優(yōu)化④串行化
⑤寄存器配平⑥關(guān)鍵路徑法
A.??⑤B.②③④C.②⑤⑥D(zhuǎn).①0?
8.下列標(biāo)識(shí)符中,是不合法的標(biāo)識(shí)符。B
A.StateOB.9moonC.Not_Ack_0D.signall
9.關(guān)于VHDL中的數(shù)字,請(qǐng)找出以下數(shù)字中最大的一個(gè):A
A.2#llll_1110ttB.8#276#C.10#170#D.16#E#E1
10.下列EDA軟件中,哪一個(gè)不具有邏輯綜合功能:B
A.Max+PlusIIB.ModelSimC.QuartusIII).Synplify
三、VHDL程序填空:(10分)
LIBRARYIEEE;-8位分頻器程序設(shè)計(jì)
USEIEEE.STD_L0GIC_1164.ALL;
USEIEEE.STDLOGICONSIGNED.ALL;
ENTITYPULSEIS
PORT(CLK:INSTD_LOGIC;
D:INSTD_LOGIC_VECTOR(7DOWNTO0);
FOOT:OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFPULSEIS
SIGNALFULL:STD_LOGIC;
BEGIN
P_REG:PROCESS(CLK)
VARIABLECNT8:STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
IFCLK,EVENTANDCLK=THEN
IFCNT8="11111111”THEN
CNT8:二D;一當(dāng)CNT8計(jì)數(shù)計(jì)滿時(shí),輸入數(shù)據(jù)D被同步預(yù)置給計(jì)數(shù)器CNT8
FULL<=T';一同時(shí)使溢出標(biāo)志信號(hào)FULL輸出為高電平
ELSECNT8:=CNT8+1;一否則繼續(xù)作加1計(jì)數(shù)
FULL〈=’0';一且輸出溢出標(biāo)志信號(hào)FULL為低電平
ENDIF;
ENDIF;
ENDPROCESSP_REG;
FLDIV:PROCESS(FULL)
VARIABLECNT2:STDLOGIC;
BEGIN
IFFULL'EVENTANDFULL='1'THEN
CNT2<=NOTCNT2;一如果溢出標(biāo)志信號(hào)FULL為高電平,D觸發(fā)器輸出取反
IFCNT2=T'THENFOUT<=T';
ELSEFOUT〈二'O';
ENDIF;
ENDIF;
ENDPROCESSPDIV;
END;
四、VHDL程序改錯(cuò):(10分)
01LIBRARYIEEE;
02USEIEEE.STD_L0GIC_1164.ALL;
03USEIEEE.STD_LOGIC_UNSIGNED.ALL;
04ENTITYLED7CNTIS
05PORT(CLR:INSTD_LOGIC;
06CLK:INSTD_L0GIC;
07LED7s:OUTSTD_L0GIC_VECT0R(6DOWNTO0));
08ENDLED7CNT;
09ARCHITECTUREoneOFLED7CNTIS
10SIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);
11BEGIN
12CNT:PROCESS(CLR,CLK)
13BEGIN
14IFCLR=*TTHEN
15TMP<=0;
16ELSEIFCLK*EVENTANDCLK=*TTHEN
17TMP<=TMP+1;
18ENDIF;
19ENDPROCESS;
20OUTLED:PROCESS(TMP)
21BEGIN
22CASETMPIS
23WHEN"0000'=>LED7S〈二〃0111111〃;
24WHEN"0001"=>LED7S<="0000110”;
25WHEN〃0010〃=>LED7S<="1011011〃;
26WHEN"0011"=>LED7S<="lOOlllK;
27WHEN“0100〃=>LED7S<="1100110〃;
28WHEN〃0101"=>LED7S<="1101101";
29
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)餐飲連鎖行業(yè)運(yùn)營(yíng)市場(chǎng)深度調(diào)查及投資策略研究報(bào)告
- 2025-2030年中國(guó)阿莫西林行業(yè)競(jìng)爭(zhēng)現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)鍍層鋼板市場(chǎng)運(yùn)營(yíng)態(tài)勢(shì)與發(fā)展風(fēng)險(xiǎn)分析報(bào)告
- 2025-2030年中國(guó)酒石酸美托洛爾緩釋片行業(yè)發(fā)展趨勢(shì)及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)運(yùn)動(dòng)服飾行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)西廚設(shè)備行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)營(yíng)養(yǎng)保健食品市場(chǎng)發(fā)展?fàn)顩r及投資戰(zhàn)略研究報(bào)告
- 病人轉(zhuǎn)運(yùn)合同范本
- 2025河北省安全員B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- 2025年廣東省安全員知識(shí)題庫(kù)及答案
- 2025年天津三源電力集團(tuán)限公司社會(huì)招聘33人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 西安2025年陜西西安音樂學(xué)院專任教師招聘20人筆試歷年參考題庫(kù)附帶答案詳解
- 國(guó)家安全與生態(tài)安全
- 課題申報(bào)參考:養(yǎng)老金融在三支柱養(yǎng)老金體系中的作用機(jī)制與路徑仿真研究
- 2024-2025學(xué)年第二學(xué)期學(xué)校團(tuán)委工作計(jì)劃(附2月-6月安排表)
- 培養(yǎng)自律能力主題班會(huì)
- 【物理】牛頓第一定律 2024-2025學(xué)年人教版物理八年級(jí)下冊(cè)
- 2025網(wǎng)格員考試題庫(kù)及參考答案
- 2025年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2025年春新冀教版英語(yǔ)三年級(jí)下冊(cè)課件 U1L1
- 川教版2024-2025學(xué)年六年級(jí)下冊(cè)信息技術(shù)全冊(cè)教案
評(píng)論
0/150
提交評(píng)論