![EDA技術課后參考答案(陳炳權-曾慶立)_第1頁](http://file4.renrendoc.com/view/827c51d59dd2c6cfce1466de24c9211e/827c51d59dd2c6cfce1466de24c9211e1.gif)
![EDA技術課后參考答案(陳炳權-曾慶立)_第2頁](http://file4.renrendoc.com/view/827c51d59dd2c6cfce1466de24c9211e/827c51d59dd2c6cfce1466de24c9211e2.gif)
![EDA技術課后參考答案(陳炳權-曾慶立)_第3頁](http://file4.renrendoc.com/view/827c51d59dd2c6cfce1466de24c9211e/827c51d59dd2c6cfce1466de24c9211e3.gif)
![EDA技術課后參考答案(陳炳權-曾慶立)_第4頁](http://file4.renrendoc.com/view/827c51d59dd2c6cfce1466de24c9211e/827c51d59dd2c6cfce1466de24c9211e4.gif)
![EDA技術課后參考答案(陳炳權-曾慶立)_第5頁](http://file4.renrendoc.com/view/827c51d59dd2c6cfce1466de24c9211e/827c51d59dd2c6cfce1466de24c9211e5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 . .答案由個人做出,可能有不全或錯誤之處,歡迎大家批評指正。第一章1.EDA 的英文全稱及其中文含義是什么?答:EDA 是 Electronic Design Automation,其中文含義是“電子設計自動化”。2.什么叫 EDA 技術?簡述 EDA 技術的發(fā)展歷程。答:EDA 技術有狹義和廣義之分,狹義 EDA 技術就是以大規(guī)??删幊踢壿嬈骷樵O計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設計工具,通過有關的開發(fā)軟件,自動完成用軟件的方式設計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、
2、邏輯仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術,或稱為IES/ASIC 自動設計技術。3.簡述用 EDA 技術設計電路的設計流程。答 EDA 設計流程包括:設計準備、設計輸入、設計處理、設計校驗、器件編程、器件測試和設計驗證。4.什么叫”綜合”和”網(wǎng)表文件”?答: (A)在電子設計領域中綜合的概念可以表示為:將用行為和功能層次表達的電子系統(tǒng)轉(zhuǎn)換為低層次的便于具體實現(xiàn)的模塊組合裝配的過程。(1)從自然語言轉(zhuǎn)換到 VHDL 語言算法表示,即 自然語言綜合。(2)從算法表示轉(zhuǎn)換到寄存器 傳輸級(RegisterTransport
3、 Level,RTL),即從行為域到結(jié)構域的綜合,即行為綜合。(3)從 RTL 級表示轉(zhuǎn)換到邏 輯門(包括觸發(fā)器 )的表示,即邏輯綜合。 (4)從邏輯門表示轉(zhuǎn)換到版圖表示 (ASIC 設計),或轉(zhuǎn)換到FPGA 的配置網(wǎng)表 文件,可稱為版圖綜合或結(jié)構綜合。 綜合在電子設計自動化中處于核心地位。(B)網(wǎng)表文件是描述電路的連接關系的文件,一般以文本文件的形式存在。英文為netlist file 格式有 cdl, spice, aucdl.等5. 從使用的角度來講,EDA 技術主要包括幾個方面的內(nèi)容?這幾個方面在整個電子系統(tǒng)的設計中分別起什么作用?答: EDA 技術的學習主要應掌握 4 個方面的內(nèi)容:
4、 大規(guī)??删幊踢壿嬈骷?硬件描述語言; 軟件開發(fā)工具; 實驗開發(fā)系統(tǒng)。. .v . .6.目前流行的主流廠家的 EDA 的軟件工具有哪些?比較這些 EDA 軟件的差異。答: (1)目前比較流行的主流廠家的 EDA 的軟件工具有 Altera 的 MAX+plus II、QuartusII 、Lattice 的 ispEXPERT、Xilinx 的 Foundation Series。(2)Max+plus II 是 A1tera 公司推出的一個使用非常廣泛的 EDA 軟件工具,它支持原理圖、VHDL 和 Verilog 語言的文本文件,以及波形圖與 EDIF 等格式的文件作為設計輸入,并支持
5、這些文件的任意混合設計。它具有門級仿真器,可以進行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結(jié)果。在適配之后,Max+plus II 生成供時序仿真用的 Edif、VHDL 和Verilog 3 種不同格式的網(wǎng)表文件。Max+plus II 界面友好,使用便捷,被譽為業(yè)界最易學易用的 EDA 軟件,并支持主流的第三方 EDA 工具,支持除 APEx20K 系列之外的所有 A1tera公司的 FPGACPLD 大規(guī)模邏輯器件。Quartus II 是 A1tera 公司新近推出的 EDA 軟件工具,其設計工具完全支持 VHDL 和Verilog 的設計流程,其內(nèi)部嵌有 VHDL、Verilog 邏輯
6、綜合器。第三方的綜合工具,如Leonardo Spectrum、Synplify pro 和 FPGA Compiler II 有著更好的綜合效果,QuartusII 可以直接調(diào)用這些第三方工具,因此通常建議使用這些工具來完成 VHDL/Verilog 源程序的綜合。同樣,Quartus II 具備仿真功能,也支持第三方的仿真工具,如 Modelsim。此外,Quartus II 為 A1tera DSP 開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境,它與MATLAB和 DSP Builder 結(jié)合可以進行基于 FPGA 的 DSP 系統(tǒng)開發(fā),是 DSP 硬件系統(tǒng)實現(xiàn)的關鍵EDA 工具。Quart
7、us II 還可與 SOPC Builder 結(jié)合,實現(xiàn) SOPC 系統(tǒng)開發(fā)。ispExPERT 是 Lattice 公司的主要集成環(huán)境。通過它可以進行 VHDL、Verilog 及 ABEL 語言的設計輸入、綜合、適配、仿真和在系統(tǒng)下載。ispExPERT 是目前流行的 EDA 軟件中最容易掌握的設計工具之一,它界面友好、操作方便、功能強大,并與第三方EDA 工具兼容良好。Foundation Series 是 Xilinx 公司較成熟的集成開發(fā) EDA 工具。它采用自動化的、完整的集成設計環(huán)境。 Foundation 項目管理器集成 Xilinx 實現(xiàn)工具,并包含了強大的書館Synopsy
8、s FPGA Express 綜合系統(tǒng),是業(yè)界最強大的 EDA 設計工具之一。7. 簡要闡述 EDA 技術的發(fā)展趨勢和應用領域答:從目前的 EDA 技術來看,其發(fā)展趨勢是政府重視、使用普及、應用文泛、工具多樣、軟件功能強大。EDA 的范疇包括:機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領域,都有 EDA 的應用。第二章 VHDL 硬件描述語言1、簡述實體(ENTITY)、結(jié)構體(ARCHITECTURE)與原理圖的關系。答:結(jié)構來說 實體就是原理圖的外觀,結(jié)構體中的具體程序就是原理圖中的具體實現(xiàn)。2、子程序調(diào)用與元件例化有何區(qū)別,函數(shù)與過程在具體使用上有何不同。答:從硬件角
9、度講,一個子程序的調(diào)用類似于一個元件模塊的例化,VHDL 綜合器為子程序的每一次調(diào)用都生成一個電路邏輯塊。所不同的是,元件的例化將產(chǎn)生一個新的設計層次,. .v . .而子程序調(diào)用只對應于當前層次的一部分。函數(shù)和過程的不同在于:函數(shù)只有一個輸出,只能通過函數(shù)體內(nèi)的 RETURN 語句來實現(xiàn),函數(shù)體內(nèi)不能有信號賦值語句;而過程卻可以有不止一個輸出,而且是通過過程體內(nèi)的信號賦值語句或者變量賦值語句來實現(xiàn)的,過程體內(nèi)的 RETURN 語句沒有用處,因此不少過程都將其省略了。函數(shù)的調(diào)用只能通過表達式來實現(xiàn),過程的調(diào)用則是通過過程調(diào)用語句來實現(xiàn)的。3、什么是重載函數(shù)?重載算符有何用處?如何調(diào)用重載算符函
10、數(shù)。答:(1)什么是重載函數(shù)? 根據(jù)操作對象變換處理功能。(2)重載算符有何用處? 用于兩個不同類型的操作數(shù)據(jù)自動轉(zhuǎn)換成同種數(shù)據(jù)類型,并進行運算處理。(3)如何調(diào)用重載算符函數(shù)?采用隱式方式調(diào)用,無需事先聲明。4、在 VHDL 程序中配置有何用處?答:配置可以把特定的結(jié)構體關聯(lián)到一個確定的實體,正如配置一詞本身的含義一樣。配置語句就是用來為較大的系統(tǒng)設計提供管理和工程組織的。配置也是 VHDL 設計實體中的一個基本單元,在綜合或仿真中,可以利用配置語句為確定整個設計提供許多有用信息??傊糜谠O置 VHDL 的工作參數(shù)以及工作模式。配置用來選擇實體的多個結(jié)構體的哪一個被使用。5. 嵌套 BLOC
11、K 的可視性規(guī)則是什么?以嵌套 BLOCK 的語句方式設計三個并列的 3 輸入或門。答:BLOCK 是 VHD 中具有的一種劃分機制,這種機制允許設計者合理地將一個模塊分為數(shù)個區(qū)域,在每個塊都能對其局部信號、數(shù)據(jù)類型和常量加以描述和定義。任何能在結(jié)構體的說明部分進行說明的對象都能在 BLOCK 說明部分中進行說明。相關參考代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY triple_input ISPORT (A :IN STD_LOGIC;B :IN STD_LOGIC;C
12、:IN STD_LOGIC;OUTA :OUT STD_LOGIC);END triple_input;ARCHITECTURE ADO OF triple_input ISBEGIN. .v . .OUTA= A AND B AND C;END ADO;6.簡述函數(shù)與過程的異同點,過程與進程的異同點。答:子程序有兩種類型,即過程(PROCEDURE)和函數(shù)(FUNCTION)。函數(shù)和過程都是串行的。它們的區(qū)別在于:過程的調(diào)用可以通過其界面獲得多個返回值,而函數(shù)只能返回一個值;在函數(shù)入口中,所有參數(shù)都是輸入?yún)?shù),而過程有輸入?yún)?shù)、輸出參數(shù)和雙向參數(shù);過程一般被看作一種語句結(jié)構,而函數(shù)通常是表達
13、式的一部分;過程可以單獨存在,而函數(shù)通常作為語句的一部分調(diào)用。過程和進程的相同點:只能使用順序語句,可以單獨存在。不同點:過程不能像進程那樣可以從本結(jié)構體的其他塊或進程結(jié)構中直接讀取信號值或者信號賦值。7、判斷下列 VHDL 標識符是否合法,如果不合法則指出原因:16#0FA#,10#12F#,8#789#,8#356#,2#0101010#,74HC245,74HC574,CLR/RESET,IN 4/SCLK,D100%。答:識符用法規(guī)定:(1)只能包含英文字母,數(shù)字,下劃線(2)標識符的首字符只能是字母。故:(1)16#0FA#錯在首字符是數(shù)字,且包含非法字符“#“。 10#12F#、8
14、#789#,8#356#,2#0101010#,74HC245 也是犯同一錯誤。(2)74HC574,CLR/RESET,IN4/SCLK,D100%都是非法,包含非法字符.8、討論數(shù)據(jù)對象信號與變量間的異同處,說明它們的使用對所形成的硬件結(jié)構有何影響。答:在 VHDL 中,對象是指用來保持數(shù)據(jù)的一些客體單元。信號跟變量是VHDL 中的重要客體。信號是指在設計實體中數(shù)據(jù)交換的一種手段,采用信號對象可以把設計實體連接在一起形成模塊。在硬件電路中代表一條硬件連線,有時信號會被綜合成一個寄存器。變量主要是對暫時數(shù)據(jù)進行局部存儲,它是一個局部量。信號與變量在使用前都必需先聲明后使用,否則會產(chǎn)生編譯錯誤
15、。信號可以 architecture、package、entitiy 中聲明,是全局量可以在全局使用。變量可以 process、function、procedure中聲明,也只能在 process、function、procedur 中使用不是全局變量。他們之間的主要區(qū)別有:信號賦值至少要有 延時;而變量賦值沒有。信號除當前值外有許多相關的信息,如歷史信息和投影波形;而變量只有當前值。進程對信號敏感而不對變量敏感。信號可以是多個進程的全局信號;而變量只在定義他們的順序域可見(共享變量除外)。信號是硬件中連線的抽象描述,他們的功能是保存變化的數(shù)據(jù)值和連接子元件,信號在元件的端口連接元件。變量在硬
16、件中沒有類似的對應關系,他們用于硬件特性的高層次建模所需要的計算中。. .v . .從綜合后所對應的硬件電路結(jié)構來看,信號一般將對應更多的硬件結(jié)構,但在許多情況下,信號和變量并沒有什么區(qū)別。例如在滿足一定條件的進程中,綜合后它們都能引入寄存器。這時它們都具有能夠接受賦值這一重要的共性,而 VHDL 綜合器并不理會它們在接受賦值時存在的延時特性。9. 運算符重載函數(shù)通常要調(diào)用轉(zhuǎn)換函數(shù),以便能夠利用已有的數(shù)據(jù)類型。下面給出一個新的數(shù)據(jù)類型 AGE,并且下面的轉(zhuǎn)換函數(shù)已經(jīng)實現(xiàn):function CONV_INTEGER(ARG:AGE)return INTEGER;請仿照本章中的例子,利用此函數(shù)編寫
17、一個“+”運算符重載函數(shù),支持下面的運算:SIGNAL a,c : AGE;.c B 時, E=1;當 A b) thenX =1;Y =0;Z =0;elsif(a b) then. .v . .X =0;Y =1;Z =0;ELSEX =0;Y =0;Z =1;end if;end process;end behave;11. 在 VHDL 編程中,為什么應盡可能使用子類型對類型的取值范圍給予限定。答:由于子類型與其基本數(shù)據(jù)類型屬同一數(shù)據(jù)類型,因此屬于子類型的和屬于基本數(shù)據(jù) 類型的數(shù)據(jù)對象間的賦值和被賦值可以直接進行,不必進行數(shù)據(jù)類型的轉(zhuǎn)換。利用子類型定義數(shù)據(jù)對象的好處是,除了使程序提高可
18、讀性和易處理外,其實質(zhì)性的好處還在于有利于提高綜合的優(yōu)化效率,這是因為綜合器可以根據(jù)子類型所設的約束范圍,有效地推知參與綜合的寄存器的最合適的數(shù)目。12、判斷下面 3 例 VHDL 程序中是否有錯誤,若有錯誤則指出錯誤原因:程序 1Signal A, EN : std_logic;Process (A, EN)Variable B : std_logic;Beginif EN = 1 thenB = A;end if;end process;. .v . .程序 2Architecture one of sample isvariable a, b, c : integer;beginc =
19、a + b;end;程序 3library ieee;use ieee.std_logic_1164.all;entity mux21 isport ( a, b : in std_logic;sel : in std_logic;c : out std_logic;);end sam2;architecture one of mux21 isbeginif sel = 0 then c := a;else c := b;end if;end two;答:程序 1: 將“B=A”改成“B:=A”程序 2:-將“c=a+b”改成“c:=a+b”. .v . .程 序 3 : 將 “;)” 改 成
20、 “)” 將 “sam2” 改 成 “entity mux21” 增 加“process(a,b,sel) beginif sel= 0 then c:=a; else c:=b; end if; -應改成“if sel= 0then c=a; else c=b; end if;” 增 加 “end process;” 將 “two” 改 成“architecture one”13、分別用 CASE 語句和 IF 設計 3-8 譯碼器。答:CASE 語句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 ISPORT (EN:I
21、N STD_LOGIC;A0,A1,A2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY decoder38;ARCHITECTUR bhv OF decoder38 ISSIGNAL S:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINSYYYYYYYYNULL;END CASE;END IF;END PROCESS;END ARCHITECTURE bhv;. .v . .IF 語句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder38 I
22、SPORT (EN:IN STD_LOGIC;A0,A1,A2:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY decoder38;ARCHITECTUR bhv OF decoder38 ISBEGINPROCESS (EN,A2,A1,A0)BEGINIF (EN=1) THENIF(A2=0) THENIF(A1=0) THENIF(A0=0) THENY=00000001;ELSEY=00000010;ELSIF(A1=1) THENIF(A0=0) THENY=00000100;ELSEY=00001000;END
23、 IF;END IF;ELSIF(A2=1) THENIF(A1=0) THENIF(A0=0) THENY=00010000;ELSEY=00100000;END IF;ELSIF(A1=1) THENIF(A0=0) THENY=01000000;ELSEY=10000000;END IF;END IF;END IF;END IF;END PROCESS;. .v . .END ARCHITECTURE bhv;library ieee;use ieee.std_logic_1164.all;entity sss isport (a: in std_logic_vector(2 downt
24、o 0);cout:out std_logic_vector(7 downto 0);end ;architecture one of sss isbeginprocess(a)beginif a=000 then cout =11111110;elsif a=001 then cout =11111101;elsif a=010 then cout =11111011;elsif a=011 then cout =11110111;elsif a=100 then cout =11101111;elsif a=101 then cout =11011111;elsif a=110 then
25、cout =10111111;elsif a=111 then cout x,b=y,ci=tmp,su=sum,co=cout);u2:df port map(d=cout,cl=clock,q1=tmp);end architecture one;-底層文件 1:D 觸發(fā)器library ieee;use ieee.std_logic_1164.all;entity df isport (d,cl:in std_logic;q1:out std_logic);end;architecture two of df issignal qq:std_logic;. .v . .beginproc
26、ess(cl,qq)beginif cl event and cl=1then qq=d;end if;end process;q1a,b1=b,cou=d,so=e);u2:h_adder port map(a1=e,b1=ci,cou=f,so=su);u3:or2a port map(a1=d,b1=f,c=co);end architecture three;-底層文件 2-1:半加器library ieee;use ieee.std_logic_1164.all;entity h_adder isport (a1,b1:in std_logic;so,cou:out std_logi
27、c);end;architecture four of h_adder isbeginso=not(a1 xor(not b1);cou=a1 and b1;end architecture four;-底層文件 2-2:或門. .v . .library ieee;use ieee.std_logic_1164.all;entity or2a isport (a1,b1:in std_logic;c:out std_logic);end;architecture five of or2a isbeginc=a1 or b1;end architecture five;16. 設計 5 位可變
28、模數(shù)計數(shù)器。設計要求:令輸入信號M1 和 M0 控制計數(shù)模,即令(M1,M0)=(0,0)時為模 19 加法計數(shù)器,(M1,M0)=(0,1)時為模 4 計數(shù)器,(M1,M0) =(1,0) 為模 10 加法計數(shù)器,(M1,M0)=(1,1)時為模 6 計數(shù)器。答:Entity mod_cal isPort(M1,M0:in bit;Count:out std_logic_vector(4 downto 0);Clk:in std_logic);End entity;Architecture behav of mod_cal isSignal count1:std_logic_vector(4
29、 downto 0);Begin. .v . .Process(clk,M1,M0)Variable sel is bit_vector(1 downto 0);BeginSel:=M1&M0;If clkevent and clk=1thenCount1if Count1=”10011”then Count1if Count1=”00100”then Count1if Count1=”01010”then Count1if Count1=”00110”then Count1=”00000”;End if;End case;End if;End process;Count=count1;End
30、 behav;17. 什么是 VHDL 結(jié)構體的行為描述風格,敘述行為描述的優(yōu)缺點。. .v . .答:如果 VHDL 的結(jié)構體只描述了所希望電路的功能或者說電路行為,而沒有直接指明或涉及實現(xiàn)這些行為的硬件結(jié)構,包括硬件特性、連線方式、邏輯行為方式,則稱為行為風格的描述或行為描述。優(yōu)點:抽象程度最高,最能體現(xiàn)VHDL 描述高層次結(jié)構和系統(tǒng)的能力。缺點:只表示輸入與輸出間轉(zhuǎn)換的行為,它不包含任何結(jié)構信息。18結(jié)構化描述與調(diào)用子程序有何異同點,VHDL 程序中是如何進行結(jié)構化描述的?結(jié)構化描述需要哪些語句?答:略19. 試舉一例,在一個結(jié)構體中同時含有 3 種不同描述風格的 VHDL 語句結(jié)構。答
31、:略20. 以數(shù)據(jù)流的方式設計一個 2 位比較器,再以結(jié)構描述方式將已設計好的比較器連接起來構成一個 8 位比較器答:略21. 采用 VHDL 進行數(shù)字系統(tǒng)設計有哪些特點?答:HDL 系統(tǒng)設計的基本點:(1)與其他硬件描述語言相比,VHDL 具有以下特點:(2)功能強大、設計靈活。(3)強大的系統(tǒng)硬件描述能力。(4)易于共享和復用。. .v . .22. VHDL 的基本程序結(jié)構由幾部分組成?各部分的功能是什么?答:由 5 個部分組成,包含實體、結(jié)構體、配置、程序包和庫。實體作為一個設計實體 的 組 成 部 分 , 其 功 能 是 對 這 個 設 計 實 體 與 外 部 電 路 進 行 接 口
32、 描 述 。 結(jié) 構 體(ARCHITECTURE)是設計實體的一個重要部分,結(jié)構體將具體實現(xiàn)一個實體。在利用 VHDL進行工程設計中,為了提高設計效率以及使設計遵循某些統(tǒng)一的語言標準或數(shù)據(jù)格式,有必要將一些有用的信息匯集在一個或幾個庫中以供調(diào)用,這些信息可以是預先定義好的數(shù)據(jù)類型、子程序等設計單元的集合體(程序包)或預先設計好的各種設計實體(元件庫程序包)。因此可以把庫看成是一種用來存儲預先完成的程序包、數(shù)據(jù)集合體和元件的倉庫。已在設計實體中定義的數(shù)據(jù)類型、子程序或數(shù)據(jù)對象對于其它設計實體是不可用的,或者說是不可見的。為了使已定義的常數(shù)、數(shù)據(jù)類型、元件調(diào)用說明以及子程序能被更多的VHDL 設
33、計實體方便地訪問和共享,可以將它們收集在一個 VHDL 程序包中, 多個程序包可以并入一個 VHDL 庫中,使之適用于更一般的訪問和調(diào)用范圍,這一點對于大系統(tǒng)開發(fā)多 個 或多組開發(fā)人員同步并行工作顯得尤為重要。配置可以把特定的結(jié)構體關聯(lián)到一個確定的實體,正如配置一詞本身的含義一樣。配置也是 VHDL 設計實體中的一個基本單元,在綜合或仿真中,可以利用配置語句為確定整個設計提供許多有用信息。23. 說明端口模式 BUFFER 與 INOUT 有何異同點?答:INOUT 為輸入輸出雙向端口,即從端口內(nèi)部看,可以對端口進行賦值,即輸出數(shù)據(jù)。也可以從此端口讀入數(shù)據(jù),即輸入。BUFFER 為緩沖端口,功
34、能與 INOUT 類似,區(qū)別在于當需要讀入數(shù)據(jù)時,只允許內(nèi)部回讀內(nèi)部產(chǎn)生的輸出信號,即反饋。舉個例子,設計一個計數(shù)器的時候可以將輸出的計數(shù)信號定義為 BUFFER,這樣回讀輸出信號可以做下一計數(shù)值的初始值。. .v . .24. 用 VHD 設計一個實現(xiàn)三輸入的多數(shù)表決器。答:library ieee;use ieee.std_logic_1164.all;entity bjq3 isport(a,b,c:in std_logic;y:out std_logic);end;architecture x of bjq3 issignal ty:std_logic_vector(2 downto
35、0);beginty=a&b&c;with ty selecty=0 when 000,0 when 001,0 when 010,1 when 011,0 when 100,1 when 101,1 when 110,1 when 111,X when others;end;25. 用 PROCESS 語句描述帶同步復位的 JK 觸發(fā)器。答:library ieee;use ieee.std_logic_1164.all;entity jk_ff isport(clk,reset,j,k:in std_logic;q,qb:out std_logic);end;architecture be
36、have of jk_ff issignal tq,tqb:std_logic;beginq=tq;qb=tqb;process(clk,reset)beginif (clkevent and clk=1) thenif (reset=0) thentq=0;tqb=1;elsif (j=0)and(k=0) thentq=tq;tqb=tqb;elsif (j=0)and(k=1) thentq=0;tqb=1;elsif (j=1)and(k=0) thentq=1;tqb=0;elsif (j=1)and(k=1) thentq=not tq;tqb=not tqb;end if;end
37、 if;end process;. .v . .end;26. 用并行信號賦值語句設計 8 選 1 數(shù)據(jù)選擇器。答:library ieee;use ieee.std_logic_1164.all;entity xzq8 isport(x:in std_logic_vector(7 downto 0);sel:in std_logic_vector(2 downto 0);f:out std_logic);end;architecture a of xzq8 isbeginf=x(0) when sel=000 elsex(1) when sel=001 elsex(2) when sel=0
38、10 elsex(3) when sel=011 elsex(4) when sel=100 elsex(5) when sel=101 elsex(6) when sel=110 elsex(7) when sel=111 elseX;end;27. 用 VHDL 設計一個三態(tài)輸出的雙 4 選 1 數(shù)據(jù)選擇器。其地址信號共用,且各有個低電平有效的使能端答:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DUAL_MUX_41 ISPORT(A,B,C,D:IN STD_LOGIC;ENA_N,ENB_N:IN STD_LOGIC;S:IN ST
39、D_LOGIC_VECTOR(1 DOWNTO 0);OUTA,OUTB:OUT STD_LOGIC);ENDARCHITECTURE A OF DUAL_MUX_41 ISSIGNAL P,Q:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINP=ENA_N & S;Q=ENB_N & S;WITH P SELECTOUTA=A WHEN “000”,. .v . .B WHEN”001”,C WHEN”010”,D WHEN”011”,Z WHEN OTHERS;WITH Q SELECTOUTB= A WHEN”000”,B WHEN”001”,C WHEN”010”,
40、D WHEN”011”,Z WHEN OTHERS;END A;28. 用 VHDL 設計實現(xiàn)由兩輸入端與非門構成的 1 位全加器。答:略29. 用 VHDL 設計實現(xiàn)一百進制的計數(shù)器。答:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter ISGENERIC( count_value: INTEGER:=9);PORT (clk,clr,en: IN STD_LOGIC;co: OUT STD_LOGIC;count: OUT INTEGER RANGE 0 TO co
41、unt_value);END counter;ARCHITECTURE a OF counter ISSIGNALt: INTEGER RANGE 0 TO count_value;BEGINPROCESS (clk,clr). .v . .BEGINIF clr = 1 THENt = 0;ELSIF (clkEVENT AND clk = 1) THENIF en = 1 THENIFt = count_value THENt = 0;ELSEt =t + 1;END IF;END IF;END IF;END PROCESS;co=1 WHENt=count_value ELSE 0;co
42、unt 9)port map(clk,clr,en, en1, count1);bb: counter generic map( count_value=9)port map(clk=clk,clr=clr, en=en1, co=co,count=count2);end rtl;30. 比較 CASE 語句與 WITH_SELECT 語句,敘述它們的異同點。. .v . .答:相同點:CASE 語句中各子句的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語句也不允許選擇值有重疊現(xiàn)象,也不允許選擇值涵蓋不全的情況。另外,兩者對子句各選擇值的測試都具有同步性,都依賴于敏感信號的變化
43、。不同點:CASE 語句只能在進程中使用,至少包含一個條件語句,可以有多個賦值目標;WITH_SECLECT 語句根據(jù)滿足的條件,對信號進行賦值,其賦值目標只有一個,且必須是信號。31、將以下程序段轉(zhuǎn)換為 WHEN_ELSE 語句:PROCESS(a,b,c,d)BEGINIF a= 0 AND b=1 THENnext1 = 1101ELSIF a=0 THEN next1 = dELSIF b=1 THEN next1 = cELSENext1= 1011;END IF;END PROCESS;答:原程序轉(zhuǎn)換如下:ARCHITECTURE one OF mux ISBEGIN. .v .
44、.PROCESS(a,b,c,d)BEGINNEXT1 =1101WHEN a=0 AND b=1 ELSEd WHEN a=0 ELSEcWHEN b=1 ELSE1011;END one;END PROCESS;32. 以下為一時序邏輯模塊的 VHDL 結(jié)構體描述,請找出其中的錯誤:ARCHITECTURE one OF com1BEGINVARIABLE a,b,c,clock:STD_LOGIC ;pro1:PROCESSBEGINIF NOT(clockEVENT AND clock=1)THENx= a xor b or cEND IF;END PROCESS;. .v . .EN
45、D;答:33. VHDL 程序設計中用 WITH_SELECT_WHEN 語句描述 4 個 16 位至 1 個 16 位輸出的 4 選 1 多路選擇器。答:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT( dina : IN STD_LOGIC_VECTOR(0 to 15);dinb : IN STD_LOGIC_VECTOR(0 to 15);dinc : IN STD_LOGIC_VECTOR(0 to 15);dind : IN STD_LOGIC_VECTOR(0 to 15);sel: IN STD_LOGIC_
46、VECTOR(0 to 1);dout : OUT STD_LOGIC_VECTOR(0 to 15);END mux;ARCHITECTURE rtl OF mux ISBEGINwith sel selectdout=dina WHEN 00,dinb WHEN 01,dinc WHEN 10,dind WHEN 11,. .v . .ZZZZZZZZZZZZZZZZ when others;END rtl;34、哪些情況下需要用到程序包 STD_LOGIC_UNSIGNED,試舉一例。答:調(diào)用數(shù)據(jù)類型變換函數(shù)或重載運算符函數(shù)時;定義UNSIGNED 類型的數(shù)據(jù)時。舉例如下:LIBRARY
47、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;IF TEMP=”11111111”THEN TEMP:=”00000000”;ELSE TEMP:=TEMP+16;END IF;35. 為什么說一條并行賦值語句可以等效為一個進程,如果是這樣的話,怎樣實現(xiàn)敏感信號的檢測。答:因為信號賦值語句的共同點是賦值目標必須都是信號,所以賦值語句與其它并行語句一樣,在結(jié)構體內(nèi)的執(zhí)行是同時發(fā)生的,與它們的書寫順序沒有關系,所以每一信號賦值語句都相當于一條縮寫的進程語句。由于這條語句的所有輸入信號都被隱性地列入此縮寫進程的敏感
48、信號表中,故任何信號的變化都將相關并行語句的賦值操作,這樣就實現(xiàn)了敏感信號的檢測。. .v . .36. 給出 1 位全減器的 VHDL 描述,要求:(1) 類似于 1 位全加器的設計方法,首先設計 1 位半減器,然后用例化語句將它們連 接起來,圖 2.20 中 h_suber 是半減器,diff 是輸出差,s_out 是借位輸出,sub_in 借位輸入;(2)直接根據(jù)全減器的真值表 2.12 進行設計;(3)以 1 位全減器為基本硬件,構成串行借位的 8 位減法器,要求用例化語句和生成語句來完成此項設計(減法運算是 xy - sun_in =diffr)。圖 2.20 36 題圖表 2.12
49、全減器真值表答:(1)先設計一個半減器X y000011101110diffS_out0100Library ieee;use ieee.std_logic_1164.all;entity h_suber isport (x,y : in std_logic;. .v . .diff,s_out : out std_logic);end entity ;architecture hdlarch of h_suber isbeginprocess(x,y) begindiff = x xor y;s_out x,y = y,diff = t0,s_out = t1);u2 : h_suberPO
50、RT MAP(x = t0,y = sub_in,diff = diffr,s_out = t2);sub_out = t1 OR t2;. .v . .END;(2) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f_subber ISPORT(x,y,sub_in:IN STD_LOGIC;diffr,sub_out:OUT STD_LOGIC);END;ARCHITECTURE ONE OF f_subber ISBEGINdiffr=(x nor y)nor sub_in;
51、sub_out=(not x)and y)or(sub_in and(not(x nor y);END ARCHITECTURE ONE;(3)8位減法器LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY sub8 ISport(a : IN std_logic_vector(7 downto 0);b : IN std_logic_vector(7 downto 0);sin : IN STD_LOGIC;sout : OUT STD_LOGIC;c : OUT std_logic_vector(7 downto 0);END sub8;ARCHI
52、TECTURE hdlarch OF sub8 IScomponent suberPORT(x : IN STD_LOGIC;y : IN STD_LOGIC;sub_in : IN STD_LOGIC;diffr : OUT STD_LOGIC;sub_out : OUT STD_LOGIC);. .v . .end component;signal stmp : std_logic_vector(8 downto 0);BEGINstmp( b(i),MAP(x = a(i),sub_in = stmp(i),diffr = c(i),sub_out = stmp(i+1);end gen
53、erate ;end;0) = sin;sout37 圖 2.20 有 3 張由 D 觸發(fā)器構成的電路圖,請分別給出它們的VHDL 描述。. .v . .-底層文件 1:2 選 1 選擇器library ieee;use ieee.std_logic_1164.all;entity mux21a isport (a,b,s:in bit;z:out bit);end entity mux21a;architecture one of mux21a isbeginz=a when s=0 else b;end architecture one;-底層文件 2:D 觸發(fā)器library ieee;
54、use ieee.std_logic_1164.all;entity dff1 isport(clk,d:in std_logic;q:out std_logic);end;architecture bhv of dff1 issignal q1:std_logic;beginprocess(clk,q1). .v . .beginif clk event and clk=1then q1=d;end if;end process;qa,b=b,s=s,z=tmp1);u2:dff1 PORT MAP(clk=tmp1,d=tmp2,q=tmp2);out1a,b=b,s=s,z=tmp1);
55、u2:dff1 PORT MAP(clk=clk,d=tmp1,q=out2);END ARCHITECTURE ONE;-頂層文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fff ISPORT(a,b,d:IN STD_LOGIC;out2:OUT STD_LOGIC);END;ARCHITECTURE ONE OF fff ISCOMPONENT mux21aPORT(a,b,s:IN STD_LOGIC;z:OUT STD_LOGIC);END COMPONENT;COMPONENT dff1PORT(clk,d:IN STD_LOG
56、IC;q:OUT STD_LOGIC);END COMPONENT;. .v . .SIGNAL tmp1,tmp2: STD_LOGIC;BEGINu1:mux21a PORT MAP(a=a,b=b,s=tmp2,z=tmp1);u2:dff1 PORT MAP(clk=tmp1,d=d,q=tmp2);out2=tmp2;END ARCHITECTURE ONE;第三章 CPLD 與 FPGA 的結(jié)構及應用3.1 簡述 PLD 的基本類型。答:對于 PLD 產(chǎn)品,一般分為:基于乘積項(Product-Term)技術,EEPROM(或 Flash)工藝的中小規(guī)模 PLD,以及基于查找表(
57、Look-Up table)技術,SRAM 工藝的大規(guī)模PLD/FPGA。EEPROM 工藝的 PLD 密度小,多用于 5,000 門以下的小規(guī)模設計,適合做復雜的組合邏輯,如譯碼。SRAM 工藝的 PLD(FPGA),密度高,觸發(fā)器多,多用于 10,000門以上的大規(guī)模設計,適合做復雜的時序邏輯,如數(shù)字信號處理和各種算法。3.2 Altera 公司、Xilinx 公司、Lattice 公司有哪些器件系列?這些器件各有什么性能指標?并闡述主要性能指標的含義。答:Altera 公司、Xilinx 公司、Lattice 公司有 CPLD 器件系列、FPGA 系列、ispLSI. .v . .和 p
58、LSI 邏輯器件系列。FPGA 器件具有高密度、高速率、系列化、標準化、小型化、多功能、低功耗、低成本,設計靈活方便,可無限次反復編程,并可現(xiàn)場模擬調(diào)試驗證等特點。3.3 CPLD 的英文全稱是什么? CPLD 的結(jié)構主要由哪幾部分組成?每一部分的作用如何?答:CPLD 的英文全稱是 Complex Programmab1e Logic Device。CPLD 的結(jié)構主要由 宏單元、可編程連線和 I/O 控制塊三部分構成,宏單元是基本結(jié)構,可編程連線負責信號傳遞,連接所有的宏單元。I/O 控制塊負責輸入輸出的電氣特性控制。3.4 比較 Altera 公司的 FLEX10K/8000 系列。答:
59、系 列代表產(chǎn)品配置單元邏輯單元 最大用速度等級 RAM/位FLEX10KEPF10K10 SRAMSRAM4992(5394032(4654063604324 576FLEX8000 EPF80503.5 概述 FPGA 器件的優(yōu)點及主要應用場合。答:FPGA 器件具有高密度、高速率、系列化、標準化、小型化、多功能、低功耗、低成本,設計靈活方便,可無限次反復編程,并可現(xiàn)場模擬調(diào)試驗證等特點。DL 程序,交付原供產(chǎn)商進行相同封裝形式的掩模設計。(3) 硬件仿真。由于 FPGA 是 SRAM 結(jié)構,且能提對于大規(guī)模的邏輯設計、ASIC 設計或單片系統(tǒng)設計,則多采用 FPGA。FPGA 的使用途徑主
60、要有 4 個方面:(1)直接使用,即如 CPLD 那樣直接用于產(chǎn)品的電路系統(tǒng)板上。(2)間接使用,其方法是首先利用FPGA 完成系統(tǒng)整機的設計,包括最后的電路板的. .v . .定型,然后將充分檢證的成功的設計軟件,如 VH 供龐大的邏輯資源,因而適用于作各種邏輯設計的仿真器件。從這個意義上講,F(xiàn)PGA 本身即為開發(fā)系統(tǒng)的一部分。FPGA 器件能用作各種電路系統(tǒng)中不同規(guī)模邏輯芯片功能的實用性仿真,一旦仿真通過,就能為系統(tǒng)配以相適應的邏輯器件。(4) 專用集成電路 ASIC 設計仿真。對產(chǎn)品產(chǎn)量特別大,需要專用的集成電路,或是單片系統(tǒng)的設計,如 CPU 及各種單片機的設計,除了使用功能強大的 E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PreQ1-biotin-生命科學試劑-MCE-4211
- 2-4-6-TMPEA-hydrochloride-生命科學試劑-MCE-2109
- 二零二五年度特色酒館經(jīng)營權轉(zhuǎn)讓協(xié)議書
- 2025年度門面轉(zhuǎn)讓及商業(yè)地產(chǎn)項目投資合同
- 2025年度簡易混凝土建筑廢棄物運輸與處理服務合同
- 二零二五年度體育用品連鎖店籃球教練聘用合同
- 個人住房貸款合同
- 臨時工合作合同示范文本
- 二手房買賣合同:回購權益條款
- 二手房銷售合同樣本范文
- 二零二五年度大型自動化設備買賣合同模板2篇
- 江西省部分學校2024-2025學年高三上學期1月期末英語試題(含解析無聽力音頻有聽力原文)
- GA/T 2145-2024法庭科學涉火案件物證檢驗實驗室建設技術規(guī)范
- 電廠檢修管理
- 2024年中考語文試題分類匯編:非連續(xù)性文本閱讀(學生版)
- 2024年度窯爐施工協(xié)議詳例細則版B版
- 2024年北京市平谷區(qū)中考英語二模試卷
- 第一屆山東省職業(yè)能力大賽濟南市選拔賽制造團隊挑戰(zhàn)賽項目技術工作文件(含樣題)
- 尿毒癥替代治療
- 2022年公務員多省聯(lián)考《申論》真題(黑龍江省市卷)及答案解析
- 【課件】2025屆高考英語一輪復習小作文講解課件
評論
0/150
提交評論