大規(guī)模集成電路試卷2004A_第1頁
大規(guī)模集成電路試卷2004A_第2頁
大規(guī)模集成電路試卷2004A_第3頁
大規(guī)模集成電路試卷2004A_第4頁
大規(guī)模集成電路試卷2004A_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢大學(xué)東湖分校20052006學(xué)年第二學(xué)期期末考試試卷(A卷) 試卷類型:開卷年級 2004級 專業(yè) 計算機(jī)科學(xué) 科目 大規(guī)模集成電路 姓名 學(xué)號 主考教師 肖忠付 分?jǐn)?shù) 一 填空題(30分,每小題3分)1、 CPLD是指 ,F(xiàn)PGA是指 。2、 綜合是把 層次中的一種表示轉(zhuǎn)化成另一種表示的過程。3、 EDA設(shè)計的輸入方式有 、 和 方式。4、 STD_LOGIC數(shù)據(jù)類型定義了 九種類型。5、關(guān)系操作的結(jié)果為類型。6、如果進(jìn)程中不包含敏感信號表,那么在進(jìn)程語句中必須包含。7、signal a : in std_logic_vector ( 0 to 7 );for I in arange l

2、oopfor 語句的循環(huán)次數(shù)為次。8、端口模式有。9、數(shù)據(jù)對象有三類。0、一個輸入的查找表,需要存儲個輸入構(gòu)成的,需要占用個單元。二 簡答題(50分,每小題10分)1、LUT的概念及舉例說明一個四輸入函數(shù)的LUT實(shí)現(xiàn)過程。2、說明信號和變量的功能特點(diǎn),以及在應(yīng)用上有何不同?3、邏輯陣列塊LAB包括哪幾個部分?4、可編程邏輯器件有哪幾種?各有什么特點(diǎn)?5、詳細(xì)說明利用MAX+plus II 進(jìn)行EDA設(shè)計的基本過程?三 比較下面兩個程序,說明兩者的區(qū)別,并畫出每個程序所描述的簡單原理圖。(20分)1、 library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity

3、 exp1 is Port ( clk,d1 : in std_logic; q1 : out std_logic);end exp1;architecture Behavioral of exp1 isbeginprocess(clk)variable a,b:std_logic;beginif clk'event and clk='1' thena:=d1;b:=a;q1<=b;end if;end process;end Behavioral;2、 library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity exp2 is

4、 Port ( clk,d1 : in std_logic; q1 : out std_logic);end exp2;architecture Behavioral of exp2 issignal a,b:std_logic;beginprocess(clk)beginif clk'event and clk='1' thena<=d1;b<=a;q1<=b;end if;end process;end Behavioral;武漢大學(xué)計算機(jī)學(xué)院本科20062007學(xué)年第二學(xué)期考試試卷(A卷)課程名稱 :大規(guī)模集成電路 (限120分鐘)專業(yè): 本科姓

5、名: 學(xué)號: 考分: 說明: 答題書寫在專用答題紙上,其他任何答題無效。學(xué)號、姓名等項(xiàng)填寫不規(guī)范,不準(zhǔn)確,一律視為廢卷,不計成績。一 填空題(30分,每小題3分)1、 定義TIMER為整型變量,取值范圍為0-255,VHDL的語句為: 。2、 JTAG包括 五個引腳。3、 在ISE中建立一個工程文件,如果要鎖定使用的引腳,需要建立一個 文件。4、 進(jìn)程之間的通信是通過來實(shí)現(xiàn)的。5、single a :std_logic_vector(7 downto 0),則a的最高位是。(a(7)還是a(0)6、資源優(yōu)化有 和三種方法。7、元件例化語句由兩部分組成,前一部分第二部分。8、關(guān)鍵路徑優(yōu)化法的主要

6、目的是減少從輸入到輸出經(jīng)過的延時最路徑的時延。9、任何的組合電路,可以用電路實(shí)現(xiàn);任何的時序電路都可由電路加上構(gòu)成。1、關(guān)系操作的結(jié)果為數(shù)據(jù)類型;邏輯操作可以使用 數(shù)據(jù)類型。二 簡答題(30分,每小題5分)1 可編程芯片的可編程體現(xiàn)在哪幾個方面? 2 談一談你對IP核的認(rèn)識。3 邏輯單元LE包括哪幾個部分?4 什么是固有延時?什么是傳輸延時?5 利用LUT如何實(shí)現(xiàn)一個四輸入函數(shù)。6 寄存器配平為什么能夠提高電路的運(yùn)行速度?三 利用流水線技術(shù)對下面程序進(jìn)行優(yōu)化。(10分)library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_ari

7、th.all;use IEEE.std_logic_unsigned.all;entity dmul1 is Port ( a0, a1, a2,a3: in std_logic_vector(7 downto 0); result : out std_logic_vector(width-1 downto 0);end dmul1;architecture Behav of dmul1 isconstant width:=64;beginprocess(a0, a1, a2,a3) result<= a0* a1* a2* a3;end process;end Behav;四 VHDL

8、程序設(shè)計(30分)1、 設(shè)計一個64位寬度的雙向總線驅(qū)動電路。(10分)2、 設(shè)計一個帶異步復(fù)位和可預(yù)置初值的10進(jìn)制加1計數(shù)器。(10分)3、 設(shè)計一個帶進(jìn)位位的8位二進(jìn)制全加器電路。(10分) 命題教師簽名: 審核人簽名:年 月 日武漢大學(xué)計算機(jī)學(xué)院本科20072008學(xué)年第二學(xué)期考試試卷(A卷)答案課程名稱 :大規(guī)模集成電路 (限120分鐘)一 填空題(每空1分,共30分)1 片上系統(tǒng) 2 查找表, 16 3 16 4 嵌入式陣列塊,邏輯陣列塊,快速通道,I/O單元 5 未連接, 固定連接,可編成連接 6 自然語言,行為,邏輯,結(jié)構(gòu)(版圖) 7 仿真文件中包含了器件的特性參數(shù),接近于真實(shí)

9、器件運(yùn)行特性的仿真。直接對VHDL、原理圖或其他描述形式的邏輯功能進(jìn)行測試模擬,不涉及硬件的的物理特性。8 重用 9 與門-或門二級電路,組合電路加上存儲元件。10 說明部分,主控時序進(jìn)程,主控組合進(jìn)程和輔助進(jìn)程。11 資源共享,邏輯優(yōu)化,串行優(yōu)化。流水線,寄存器配平,關(guān)鍵路徑法等。二 問答題(每題5分,共10分)1 信號和變量的主要區(qū)別是什么?要點(diǎn):(1)變量具有局部特征,有效范圍只在所定義的進(jìn)程或子程序中;(2)信號具有全局特征,在一個實(shí)體內(nèi)部的各單元之間傳送數(shù)據(jù),或與其他實(shí)體之間通信;(3)變量賦值是立即發(fā)生的,零延遲;(4)信號賦值是在一個進(jìn)程的結(jié)束,有延遲;(5)變量在綜合后可能沒有

10、與之對應(yīng)的硬件結(jié)構(gòu);(6)信號在綜合后可以找到與之對應(yīng)的硬件結(jié)構(gòu),如一根線,一個端口或一個D觸發(fā)器等。2 什么是固有延時?什么是傳輸延時?要點(diǎn):固有延時頁也叫慣性延時,是任何電子器件都存在的一種延時特性,主要由分布電容產(chǎn)生。傳輸延時是輸入與輸出之間的一種絕對延時,使信號傳輸推遲了一個時間段。三 根據(jù)要求完成各小題(共16分)1 在橫線處補(bǔ)齊相應(yīng)語句,使下面語句構(gòu)成完整程序。(本題10分,每空1分)(1) LIBRARY IEEE;(2) END ENTITY; 或 END ENTITY MUX21A;(3)ELSE(4)END IF;(5)END PROCESS;(6)END ARCHITEC

11、TURE;或END ARCHITECTURE ART1;(7)PORT(A,B:IN STD_LOGIC; S:IN STD_LOGIC; Y:OUT STD_LOGIC);(8)SIGNAL(9)PORT MAP(A=>A2,B=>B3,S0=>S, Y=>TMP);(10)PORT MAP(A=>A1,B=>TMP,S=>S1,Y=>OUTY);2下圖是FLEX10K的結(jié)構(gòu)框圖,請分別寫出(1)-(8)所對應(yīng)結(jié)構(gòu)名稱。(本題6分,每(1)+(2)1分,(3)+(4)1分,其他空各1分)(1)IOC(IOE或IOB);(2)IOC(IOE或IO

12、B);(3)EAB;(4)EAB;(5)LA(邏輯陣列);(6)LAB;(7)內(nèi)部互連;(8)LE。四用VHDL語言設(shè)計一個帶有異步復(fù)位和并行置位的左移移位寄存器。(本題14分)參考答案:library IEEE;use IEEE.STD_LOGIC_1164.all;entity Lshifter is Port ( clk,rst,load: in std_logic; din:in std_logic_vector(7 downto 0); qb: out std_logic );end Lshifter;architecture art1 of Lshifter isBeginProc

13、ess(clk,rst,load)Variable reg8:std_logic_vector(7 downto 0);BeginIf load=1 then reg8:=(others=0);IF CLKEVENT AND CLK=1 THEN If load=1 then reg8:=din; Else reg8(7downto 1) := reg8(6 downto 0) ; End if;End if;QB<=REG8(7);End process;end art1;五 用VHDL語言實(shí)現(xiàn)一個38譯碼器。(本題14分)參考答案:(本題有多種實(shí)現(xiàn)方法)library IEEE;us

14、e IEEE.STD_LOGIC_1164.ALL;entity de3to8 is Port ( inp : in std_logic_vector(2 downto 0); outp : out std_logic_vector(7 downto 0);end de3to8;architecture art3 of de3to8 isBeginCase inp isOutp(0)<= 1 when inp=“000” else0;Outp(1)<= 1 when inp=“001” else0;Outp(2)<= 1 when inp=“010” else0; Outp(

15、3)<= 1 when inp=“011” else0;Outp(4)<= 1 when inp=“100” else0;Outp(5)<= 1 when inp=“101” else0;Outp(6)<= 1 when inp=“110” else0;Outp(7)<= 1 when inp=“111” else0;End case;end art3;六 用VHDL語言設(shè)計一個帶有異步復(fù)位和同步時鐘使能的六十進(jìn)制BCD碼加法計數(shù)器。(本題16分)參考答案:library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_

16、LOGIC_UNSIGNED.all;entity CNT60 is Port ( CLK ,RST,EN: in STD_LOGIC; CQ: OUT STD_LOGIC_vector(7 downto 0); COUT:OUT STD_LOGIC);end CNT60;architecture BHV of CNT60 isSignal Q1: STD_LOGIC_vector(7 downto 0);Begin Process(CLK,RST,EN)VARIABLE CQI: STD_LOGIC_vector(7 downto 0);VARIABLE HIGHCQI,LOWCQI: ST

17、D_LOGIC_vector(3 downto 0); Begin IF RST=1 THEN CQI:=(OTHERS =0) ; HIGHCQI:= CQI7:4; LOWCQI:= CQI3:0; ELSIF CLKEVENT AND CLK=1 THEN IF EN =1 THEN IF LOWCQI <9 THEN LOWCQI := LOWCQI +1; ELSE LOWCQI:=(OTHERS =0) ; HIGHCQI:= HIGHCQI+1; END IF; IF HIGHCQI>=5 THEN COUT < =1; HIGHCQI:= (OTHERS =0

18、) ; END IF; ELSE COUT < =0; END IF; END IF; END IF; CQI:= HIGHCQI& LOWCQI; CQ<=CQI; End process;end BHV;武漢大學(xué)計算機(jī)學(xué)院本科20062007學(xué)年第二學(xué)期考試試卷(A卷答案)課程名稱 :大規(guī)模集成電路 (限120分鐘)一 填空題1、variable timer:integer range 0 to 255;2、 TDI、TDO、TMS、TCK、TRST3、 用戶用戶約束文件(UCF文件)4 信號5、 a(7)6、 資源共享、邏輯優(yōu)化和串行優(yōu)化7、 對一個設(shè)計實(shí)體定義為一個

19、元件;此元件與當(dāng)前設(shè)計實(shí)體的連接說明8、大9、與、或、非基本門電路;組合電路、觸發(fā)器。10、boolean;bit、boolean、std_logic。二 簡答題1 可編程芯片的可編程體現(xiàn)在哪幾個方面? 1可編程芯片的可編程體現(xiàn)在哪幾個方面?要點(diǎn):(1) 內(nèi)部組合邏輯單元可編程; (2) 內(nèi)部連線可編程; (3) IO單元可編程; (4) 全局時鐘、全局復(fù)位信號等。2 談一談你對IP核的認(rèn)識。要點(diǎn):(1) IP核具有自主知識產(chǎn)權(quán); (2) 以硬件描述語言描述; (3) 實(shí)現(xiàn)特定功能; (4) 可以集成與其他的用硬件描述語言描述的系統(tǒng)。3 邏輯單元LE包括哪幾個部分?要點(diǎn):(1) 1個4輸入的L

20、UT; (2) 1個帶有同步使能的可編程觸發(fā)器; (3) 1個進(jìn)位鏈; (4) 1個級連鏈。4 什么是固有延時?什么是傳輸延時?要點(diǎn):固有延時也稱為慣性延時,是任何電子器件都存在的一種延時特性,固有延時的主要物理機(jī)制是分布電容效應(yīng),分布電容具有吸收脈沖能量的效應(yīng)。5 利用LUT如何實(shí)現(xiàn)一個四輸入函數(shù)。要點(diǎn):LUT是look up table(查找表)的縮寫,它是用邏輯芯片內(nèi)部的SRAM來構(gòu)成邏輯函數(shù)發(fā)生器,SRAM內(nèi)存儲真值表,真值表是函數(shù)所有取值的集合,一個N輸入LUT可以實(shí)現(xiàn)N個輸入變量的任何邏輯功能。 四輸入函數(shù)的LUT實(shí)現(xiàn)過程圖(略)6 寄存器配平為什么能夠提高電路的運(yùn)行速度?要點(diǎn):一

21、個設(shè)計項(xiàng)中,如果包含邏輯塊的延時差別過大,其總體工作頻率取決于延時最大的模塊,從而導(dǎo)致設(shè)計的整體性能受到限制。可以將大的延時部分(T1)劃分一部分到小延時部分(T2),原系統(tǒng)的速度由T1決定,減小T1可以提高電路的運(yùn)行速度。三 利用流水線技術(shù)對下面程序進(jìn)行優(yōu)化。參考程序: library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity dmul1 is Port ( a0, a1, a2,a3: in std_logic_vector(7 d

22、ownto 0); result : out std_logic_vector(width-1 downto 0);end dmul1;architecture Behav of dmul1 isconstant width:=32;signal tmp1: std_logic_vector(15 downto 0);signal tmp2: std_logic_vector(23 downto 0);signal tmp3: std_logic_vector(31 downto 0);beginprocess(a0, a1, a2,a3) tmp1<= a0* a1* a2* a3;t

23、mp2<= tmp1* a2;tmp3<= tmp2* a3;result<= tmp3;end process;end Behav;四 程序設(shè)計1、 設(shè)計一個64位寬度的雙向總線驅(qū)動電路。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.all;entity bidir is Port ( dir,en: in std_logic; a,b: inout std_logic_vegtor(width-1 downto 0);end bidir;architecture art1 of bidir isSignal aout,bout: st

24、d_logic_vegtor(width-1 downto 0);Constant width:=64;BeginProcess(a,dir,en)BeginIf (en=1)and (dir=1) then bout<=a;Else bout<=“zzzzzzzz”;End if;B<=bout;End process;Process(b,dir,en)BeginIf (en=1)and (dir=0) then aout<=b;Else aout<=“zzzzzzzz”;End if;a<=aout;End process;end art1;2 設(shè)計一個

25、帶異步復(fù)位和可預(yù)置初值的10進(jìn)制加1計數(shù)器。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity counter is Port ( a : in std_logic_vector(3 downto 0); load : in std_logic; reset : in std_logic; count : out std_logic_vector(3 downto 0); clk : in std_logic);end

26、counter;architecture Behavioral of counter isbeginprocess(reset,clk) if reset='1'then count='0000' elsif clk'event and clk='1' then begin if load='1'then count<=a; elsif count>'1001'then count<='0000' else count=count+1; end if; end if; en

27、d process;end Behavioral;3、設(shè)計一個帶進(jìn)位位的8位二進(jìn)制全加器電路。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity add8 is Port ( a : in std_logic_vector(0 to 7); b : in std_logic_vector(0 to 7); ci : in std_logic; cout : out std_logic; sum : out std_log

28、ic_vector(0 to 7);end add8;architecture Behavioral of add8 isvariable tmp:std_logic_vector(0 to 8);begin process(a,b) begin tmp:='0'&a+'0'&b; tmp:=tmp+ci; cout<=tmp(8); sum<=tmp(7:0); end process;end Behavioral;武漢大學(xué)計算機(jī)學(xué)院本科20072008學(xué)年第二學(xué)期考試試卷(A卷)課程名稱 :大規(guī)模集成電路 (限120分鐘)專業(yè):計

29、算機(jī) 本科姓名: 學(xué)號: 考分: 說明: 答題書寫在專用答題紙上,其他任何答題無效。學(xué)號、姓名等項(xiàng)填寫不規(guī)范,不準(zhǔn)確,一律視為廢卷,不計成績。一 填空題(每空1分,共30分)1 SOC是指 。2 LUT是指 ,一個4輸入的LUT需要 bit存儲空間。3 MAX7000中 個宏單元組成一個LAB。4 FLEX10K由 , , 和 四部分組成。5 在可編程電路的邏輯表示中表示 ,表示 ,表示 。6 綜合器的綜合步驟自頂層向低層依次為: 綜合, 綜合, 綜合和 綜合。7 時序仿真是指 。功能仿真是指 。8 IP模塊設(shè)計應(yīng)易于 。9 任何組合電路可以用 實(shí)現(xiàn),任何時序電路可以用 實(shí)現(xiàn)。10 一般有限狀

30、態(tài)機(jī)包含 , , 和 四部分。11 電路設(shè)計中面積優(yōu)化有 , , 等方法,速度優(yōu)化有 , , 等方法。二 問答題(每題5分,共10分)3 信號和變量的主要區(qū)別是什么?4 什么是固有延時?什么是傳輸延時?三 根據(jù)要求完成各小題(共16分)1. 在橫線處補(bǔ)齊相應(yīng)語句,使下面語句構(gòu)成完整程序。(本題10分,每空1分)武漢大學(xué)計算機(jī)學(xué)院本科20082009學(xué)年第二學(xué)期考試試卷(A卷答案)課程名稱 :大規(guī)模集成電路 (限120分鐘)一 填空題1 復(fù)雜可編程器件,現(xiàn)場可編程門陣列2 較高3 VHDL, 電路圖,波形4 九5 BOOLEAN6 wait 語句7 并行語句,順序語句8 IN OUT INOUT

31、 BUFFER9 信號10 進(jìn)程 子程序二、三、簡答題1 方法1,添加輔助進(jìn)程對輸出數(shù)據(jù)進(jìn)行鎖存方法2,將雙進(jìn)程狀態(tài)機(jī)改寫為單進(jìn)程狀態(tài)機(jī),其輸出也是鎖存過了,故能消除毛刺方法3,使用狀態(tài)位直接輸出型狀態(tài)機(jī)編碼方式,其輸出直接由當(dāng)前狀態(tài)輸出,也沒有毛刺2 變量是局部量,信號是全局量;應(yīng)用場合不同;變量的賦值是立即生效的,信號的賦 值是到了規(guī)定的時間才生效。信號可以用來進(jìn)行進(jìn)程之間的通訊3 LABà LEà LUT4 并行語句用在結(jié)構(gòu)體中,相互獨(dú)立運(yùn)行,通過信號進(jìn)行通信。順序語句用在進(jìn)程體中,按順序啟動,在處同時完成5 時序仿真和功能仿真的區(qū)別。時序仿真接近與真實(shí)器件運(yùn)行的仿真

32、,仿真過程中將器件的特性考慮進(jìn)去了。功能仿真源程序綜合后生成網(wǎng)表文件,將網(wǎng)表文件送入仿真器中進(jìn)行仿真。仿真過程不涉及具體的硬件特性,如時延特性。四、JK觸發(fā)器三 程序設(shè)計1 設(shè)計一個含有異步清零和計數(shù)使能的8位減法計數(shù)器。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.all;entity counter is Port ( clk,rst,en : in std_logic; cnt : out std_logic_vector(7 downto 0);end counter;architecture Behavioral of counter isbeg

33、inif( rst='1') then cnt=“0000 0000”;process(clk) begin if clk'event and clk='1' then if( en='1') then cnt<=cnt-1; end if; end if; end process;end Behavioral;2 設(shè)計一個帶有同步并行預(yù)置功能的8位并行輸入,串行輸出的移位電路。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.all;entity shifter is port ( clk,loa

34、d, rst: in std_logic; data:in std_logic_vector(7 downto 0); qout: out std_logic);end shifter;architecture art1 of shifter issignal input: std_logic_vector(7 downto 0);beginprocess(clk,load)begin if (rst='1') then Qout<='0'if clk'event and clk='1' thenif (load='1

35、9;) then input<=data; else qout<=input(7); input<=input(6downto0) & input(7); End if;End process;end art1;武漢大學(xué)計算機(jī)學(xué)院本科20062007學(xué)年第二學(xué)期考試試卷(A卷答案)課程名稱 :大規(guī)模集成電路 (限120分鐘)一 填空題1、variable timer:integer range 0 to 255;2、 TDI、TDO、TMS、TCK、TRST3、 用戶用戶約束文件(UCF文件)4 信號5、 a(7)6、 資源共享、邏輯優(yōu)化和串行優(yōu)化7、 對一個設(shè)計實(shí)體

36、定義為一個元件;此元件與當(dāng)前設(shè)計實(shí)體的連接說明8、大9、與、或、非基本門電路;組合電路、觸發(fā)器。10、boolean;bit、boolean、std_logic。二 簡答題1 可編程芯片的可編程體現(xiàn)在哪幾個方面? 1可編程芯片的可編程體現(xiàn)在哪幾個方面?要點(diǎn):(1) 內(nèi)部組合邏輯單元可編程; (2) 內(nèi)部連線可編程; (3) IO單元可編程; (4) 全局時鐘、全局復(fù)位信號等。2 談一談你對IP核的認(rèn)識。要點(diǎn):(1) IP核具有自主知識產(chǎn)權(quán); (2) 以硬件描述語言描述; (3) 實(shí)現(xiàn)特定功能; (4) 可以集成與其他的用硬件描述語言描述的系統(tǒng)。3 邏輯單元LE包括哪幾個部分?要點(diǎn):(1) 1個

37、4輸入的LUT; (2) 1個帶有同步使能的可編程觸發(fā)器; (3) 1個進(jìn)位鏈; (4) 1個級連鏈。4 什么是固有延時?什么是傳輸延時?要點(diǎn):固有延時也稱為慣性延時,是任何電子器件都存在的一種延時特性,固有延時的主要物理機(jī)制是分布電容效應(yīng),分布電容具有吸收脈沖能量的效應(yīng)。5 利用LUT如何實(shí)現(xiàn)一個四輸入函數(shù)。要點(diǎn):LUT是look up table(查找表)的縮寫,它是用邏輯芯片內(nèi)部的SRAM來構(gòu)成邏輯函數(shù)發(fā)生器,SRAM內(nèi)存儲真值表,真值表是函數(shù)所有取值的集合,一個N輸入LUT可以實(shí)現(xiàn)N個輸入變量的任何邏輯功能。 四輸入函數(shù)的LUT實(shí)現(xiàn)過程圖(略)6 寄存器配平為什么能夠提高電路的運(yùn)行速度

38、?要點(diǎn):一個設(shè)計項(xiàng)中,如果包含邏輯塊的延時差別過大,其總體工作頻率取決于延時最大的模塊,從而導(dǎo)致設(shè)計的整體性能受到限制。可以將大的延時部分(T1)劃分一部分到小延時部分(T2),原系統(tǒng)的速度由T1決定,減小T1可以提高電路的運(yùn)行速度。三 利用流水線技術(shù)對下面程序進(jìn)行優(yōu)化。參考程序: library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity dmul1 is Port ( a0, a1, a2,a3: in std_logic_vecto

39、r(7 downto 0); result : out std_logic_vector(width-1 downto 0);end dmul1;architecture Behav of dmul1 isconstant width:=32;signal tmp1: std_logic_vector(15 downto 0);signal tmp2: std_logic_vector(23 downto 0);signal tmp3: std_logic_vector(31 downto 0);beginprocess(a0, a1, a2,a3) tmp1<= a0* a1* a2*

40、 a3;tmp2<= tmp1* a2;tmp3<= tmp2* a3;result<= tmp3;end process;end Behav;四 程序設(shè)計2、 設(shè)計一個64位寬度的雙向總線驅(qū)動電路。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.all;entity bidir is Port ( dir,en: in std_logic; a,b: inout std_logic_vegtor(width-1 downto 0);end bidir;architecture art1 of bidir isSignal aout,bou

41、t: std_logic_vegtor(width-1 downto 0);Constant width:=64;BeginProcess(a,dir,en)BeginIf (en=1)and (dir=1) then bout<=a;Else bout<=“zzzzzzzz”;End if;B<=bout;End process;Process(b,dir,en)BeginIf (en=1)and (dir=0) then aout<=b;Else aout<=“zzzzzzzz”;End if;a<=aout;End process;end art1;2

42、 設(shè)計一個帶異步復(fù)位和可預(yù)置初值的10進(jìn)制加1計數(shù)器。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity counter is Port ( a : in std_logic_vector(3 downto 0); load : in std_logic; reset : in std_logic; count : out std_logic_vector(3 downto 0); clk : in std_logic)

43、;end counter;architecture Behavioral of counter isbeginprocess(reset,clk) if reset='1'then count='0000' elsif clk'event and clk='1' then begin if load='1'then count<=a; elsif count>'1001'then count<='0000' else count=count+1; end if; end i

44、f; end process;end Behavioral;3、設(shè)計一個帶進(jìn)位位的8位二進(jìn)制全加器電路。參考程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity add8 is Port ( a : in std_logic_vector(0 to 7); b : in std_logic_vector(0 to 7); ci : in std_logic; cout : out std_logic; sum : out st

45、d_logic_vector(0 to 7);end add8;architecture Behavioral of add8 isvariable tmp:std_logic_vector(0 to 8);begin process(a,b) begin tmp:='0'&a+'0'&b; tmp:=tmp+ci; cout<=tmp(8); sum<=tmp(7:0); end process;end Behavioral;ibrary IEEE;use IEEE.std_logic_1164.all;use IEEE.std_l

46、ogic_unsigned;use IEEE.std_logic_arith;entity ZONGXIAN isport(Di : inout STD_LOGIC_VECTOR(15 downto 0);Do : inout STD_LOGIC_VECTOR(15 downto 0);En : in STD_LOGIC);end entity;architecture RTL of ZONGXIAN issignal A : STD_LOGIC_VECTOR(15 downto 0);signal B : STD_LOGIC_VECTOR(15 downto 0);beginIn_pro:p

47、rocess(En,A)beginif(En='1')thenA<=Di;elseA<=(Others=>'Z');end if;Do<=A;end process;Out_pro:process(En,B)beginif(En='0')thenB<=Do;elseB<=(Others=>'Z');end if;Di<=B;end process;end architecture;目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如RAM、

48、時鐘管理和DSP)的硬核(ASIC型)模塊。如圖1-1所示(注:圖1-1只是一個示意圖,實(shí)際上每一個系列的FPGA都有其相應(yīng)的內(nèi)部結(jié)構(gòu)),F(xiàn)PGA芯片主 要由7部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊。圖1-1 FPGA芯片的內(nèi)部結(jié)構(gòu)FPGA芯片的內(nèi)部結(jié)構(gòu)每個模塊的功能如下:1 可編程輸入輸出單元(IOB)可編程輸入/輸出單元簡稱I/O單元,是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配要求,其示意結(jié)構(gòu)如圖1-2所示。 FPGA內(nèi)的I/O按組分類,每組都能夠獨(dú)立地支

49、持不同的I/O標(biāo)準(zhǔn)。通過軟件的靈活配置,可適配不同的電氣標(biāo)準(zhǔn)與I/O物理特性,可以調(diào)整驅(qū)動電流的大小,可以改變上、下拉電阻。目前,I/O口的頻率也越來越高,一些高端的FPGA通過DDR寄存器技術(shù)可以支持高達(dá)2Gbps的數(shù)據(jù)速率。圖1-2 典型的IOB內(nèi)部結(jié)構(gòu)示意圖典型的IOB內(nèi)部結(jié)構(gòu)示意圖外部輸入信號可以通過IOB模塊的存儲單元輸入到FPGA的內(nèi)部,也可以直接輸入FPGA 內(nèi)部。當(dāng)外部輸入信號經(jīng)過IOB模塊的存儲單元輸入到FPGA內(nèi)部時,其保持時間(Hold Time)的要求可以降低,通常默認(rèn)為0。為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),F(xiàn)PGA的IOB被劃分為若干個組(bank),每個bank的接口

50、標(biāo)準(zhǔn)由其接口電壓VCCO決定,一個bank只能有 一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標(biāo)準(zhǔn)的端口才能連接在一起,VCCO電壓相同是接口標(biāo)準(zhǔn)的基本條件。2 可配置邏輯塊(CLB)CLB是FPGA內(nèi)的基本邏輯單元。CLB的實(shí)際數(shù)量和特性會依器件的不同而不同,但是每個CLB都包含一個可配置開關(guān)矩陣,此矩陣由4或6個輸入、一些 選型電路(多路復(fù)用器等)和觸發(fā)器組成。 開關(guān)矩陣是高度靈活的,可以對其進(jìn)行配置以便處理組合邏輯、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多個(一般為4個或2個)相同的Slice和附加邏輯構(gòu)成,如圖1-3所示。每個CLB模塊不僅可以用于實(shí)現(xiàn)組合邏輯、時序邏輯,還可以配置為分布式RAM和分布式ROM。圖1-3 典型的CLB結(jié)構(gòu)示意圖典型的CLB結(jié)構(gòu)示意圖Slice是Xilinx公司定義的基本邏輯單位,其內(nèi)部結(jié)構(gòu)如圖1-4所示,一個Slice由兩個4輸入的函數(shù)、進(jìn)位邏輯、算術(shù)邏輯、存儲邏輯和函數(shù)復(fù)用器組成。算術(shù)邏輯包括一個異或門(XORG)和一個專用與門(MULTAND),一個異或門可以使一個Slice實(shí)現(xiàn) 2bit全加操作,專用與

溫馨提示

  • 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

提交評論