EDA技術與應用課後習題答案大全

EDA技術與應用》爲普通高等教育“十一五”國家級規劃教材,下面yjbys小編爲大家提供的是本書的課後習題答案,希望能幫助到大家!

EDA技術與應用課後習題答案大全

主要內容包括:EDA技術;電路設計仿真軟件PSpice、Muhisim8的使用方法;可編程邏輯器件的工作原理、分類及應用;硬件描述語言Verilog HDL的語法要點與設計實例;數字集成軟件Quartus n、仿真軟件ModelSim、綜合軟件SynplifyPro等的使用方法及設計流程;EDA技術綜合設計實例。 本書內容全面,注重基礎,理論聯繫實際,突出實用性,並使用大量圖表說明問題,編寫簡明精煉、針對性強,設計實例都通過了編譯,設計文件和參數選擇都經過驗證,便於讀者對內容的理解和掌握。

  第一章

1-1 EDA技術與ASIC設計和FPGA開發有什麼關係? P3~4

答:利用EDA技術進行電子系統設計的最後目標是完成專用集成電路ASIC的設計和實現;FPGA和CPLD是實現這一途徑的主流器件。FPGA和CPLD通常也被稱爲可編程專用IC,或可編程ASIC。FPGA和CPLD的應用是EDA技術有機融合軟硬件電子設計技術、SoC(片上系統)和ASIC設計,以及對自動設計與自動實現最典型的詮釋。

1-2與軟件描述語言相比,VHDL有什麼特點? P6

答:編譯器將軟件程序翻譯成基於某種特定CPU的機器代碼,這種代碼僅限於這種CPU而不能移植,並且機器代碼不代表硬件結構,更不能改變CPU的硬件結構,只能被動地爲其特定的硬件電路結構所利用。綜合器將VHDL程序轉化的目標是底層的電路結構網表文件,這種滿足VHDL設計程序功能描述的電路結構,不依賴於任何特定硬件環境;具有相對獨立性。綜合器在將VHDL(硬件描述語言)表達的電路功能轉化成具體的電路結構網表過程中,具有明顯的能動性和創造性,它不是機械的一一對應式的“翻譯”,而是根據設計庫、工藝庫以及預先設置的各類約束條件,選擇最優的方式完成電路結構的設計。

l-3什麼是綜合?有哪些類型?綜合在電子設計自動化中的地位是什麼? P5

什麼是綜合? 答:在電子設計領域中綜合的概念可以表示爲:將用行爲和功能層次表達的電子系統轉換爲低層次的便於具體實現的模塊組合裝配的過程。

有哪些類型? 答:(1)從自然語言轉換到VHDL語言算法表示,即自然語言綜合。(2)從算法表示轉換到寄存器傳輸級(RegisterTransport Level,RTL),即從行爲域到結構域的綜合,即行爲綜合。(3)從RTL級表示轉換到邏輯門(包括觸發器)的表示,即邏輯綜合。(4)從邏輯門表示轉換到版圖表示(ASIC設計),或轉換到FPGA的配置網表文件,可稱爲版圖綜合或結構綜合。

綜合在電子設計自動化中的地位是什麼? 答:是核心地位(見圖1-3)。綜合器具有更復雜的工作環境,綜合器在接受VHDL程序並準備對其綜合前,必須獲得與最終實現設計電路硬件特徵相關的工藝庫信息,以及獲得優化綜合的諸多約束條件信息;根據工藝庫和約束條件信息,將VHDL程序轉化成電路實現的相關信息。

1-4在EDA技術中,自頂向下的設計方法的'重要意義是什麼? P7~10

答:在EDA技術應用中,自頂向下的設計方法,就是在整個設計流程中各設計環節逐步求精的過程。

1-5 IP在EDA技術的應用和發展中的意義是什麼? P11~12

答:IP核具有規範的接口協議,良好的可移植與可測試性,爲系統開發提供了可靠的保證。

  第二章

2-1 敘述EDA的FPGA/CPLD設計流程。 P13~16

答:1.設計輸入(原理圖/HDL文本編輯);2.綜合;3.適配;4.時序仿真與功能仿真;5.編程下載;6.硬件測試。

2-2 IP是什麼?IP與EDA技術的關係是什麼? P24~26

IP是什麼? 答:IP是知識產權核或知識產權模塊,用於ASIC或FPGA/CPLD中的預先設計好的電路功能模塊。

IP與EDA技術的關係是什麼? 答:IP在EDA技術開發中具有十分重要的地位;與EDA技術的關係分有軟IP、固IP、硬IP:軟IP是用VHDL等硬件描述語言描述的功能塊,並不涉及用什麼具體電路元件實現這些功能;軟IP通常是以硬件描述語言HDL源文件的形式出現。固IP是完成了綜合的功能塊,具有較大的設計深度,以網表文件的形式提交客戶使用。硬IP提供設計的最終階段產品:掩模。

2-3 敘述ASIC的設計方法。 P18~19

答:ASIC設計方法,按版圖結構及製造方法分有半定製(Semi-custom)和全定製(Full-custom)兩種實現方法。

全定製方法是一種基於晶體管級的,手工設計版圖的製造方法。

半定製法是一種約束性設計方式,約束的目的是簡化設計,縮短設計週期,降低設計成本,提高設計正確率。半定製法按邏輯實現的方式不同,可再分爲門陣列法、標準單元法和可編程邏輯器件法。

2-4 FPGA/CPLD在ASIC設計中有什麼用途? P16,18

答:FPGA/CPLD在ASIC設計中,屬於可編程ASIC的邏輯器件;使設計效率大爲提高,上市的時間大爲縮短。

2-5 簡述在基於FPGA/CPLD的EDA設計流程中所涉及的EDA工具,及其在整個流程中的作用。 P19~23

答:基於FPGA/CPLD的EDA設計流程中所涉及的EDA工具有:設計輸入編輯器(作用:接受不同的設計輸入表達方式,如原理圖輸入方式、狀態圖輸入方式、波形輸入方式以及HDL的文本輸入方式。);HDL綜合器(作用:HDL綜合器根據工藝庫和約束條件信息,將設計輸入編輯器提供的信息轉化爲目標器件硬件結構細節的信息,並在數字電路設計技術、化簡優化算法以及計算機軟件等複雜結體進行優化處理);仿真器(作用:行爲模型的表達、電子系統的建模、邏輯電路的驗證及門級系統的測試);適配器(作用:完成目標系統在器件上的佈局和佈線);下載器(作用:把設計結果信息下載到對應的實際器件,實現硬件設計)。

  第三章

3-1 OLMC(輸出邏輯宏單元)有何功能?說明GAL是怎樣實現可編程組合電路與時序電路的。 P34~36

OLMC有何功能? 答:OLMC單元設有多種組態,可配置成專用組合輸出、專用輸入、組合輸出雙向口、寄存器輸出、寄存器輸出雙向口等。

說明GAL是怎樣實現可編程組合電路與時序電路的? 答:GAL(通用陣列邏輯器件)是通過對其中的OLMC(輸出邏輯宏單元)的編程和三種模式配置(寄存器模式、複合模式、簡單模式),實現組合電路與時序電路設計的。

3-2 什麼是基於乘積項的可編程邏輯結構? P33~34,40

答:GAL、CPLD之類都是基於乘積項的可編程結構;即包含有可編程與陣列和固定的或陣列的PAL(可編程陣列邏輯)器件構成。

3-3 什麼是基於查找表的可編程邏輯結構? P40~41

答:FPGA(現場可編程門陣列)是基於查找表的可編程邏輯結構。

3-4 FPGA系列器件中的LAB有何作用? P43~45

答:FPGA(Cyclone/Cyclone II)系列器件主要由邏輯陣列塊LAB、嵌入式存儲器塊(EAB)、I/O單元、嵌入式硬件乘法器和PLL等模塊構成;其中LAB(邏輯陣列塊)由一系列相鄰的LE(邏輯單元)構成的;FPGA可編程資源主要來自邏輯陣列塊LAB。

3-5 與傳統的測試技術相比,邊界掃描技術有何優點? P47~50

答:使用BST(邊界掃描測試)規範測試,不必使用物理探針,可在器件正常工作時在系統捕獲測量的功能數據。克服傳統的外探針測試法和“針牀”夾具測試法來無法對IC內部節點無法測試的難題。

3-6 解釋編程與配置這兩個概念。 P58

答:編程:基於電可擦除存儲單元的EEPROM或Flash技術。CPLD一股使用此技術進行編程。CPLD被編程後改變了電可擦除存儲單元中的信息,掉電後可保存。電可擦除編程工藝的優點是編程後信息不會因掉電而丟失,但編程次數有限,編程的速度不快。

配置:基於SRAM查找表的編程單元。編程信息是保存在SRAM中的,SRAM在掉電後編程信息立即丟失,在下次上電後,還需要重新載入編程信息。大部分FPGA採用該種編程工藝。該類器件的編程一般稱爲配置。對於SRAM型FPGA來說,配置次數無限,且速度快;在加電時可隨時更改邏輯;下載信息的保密性也不如電可擦除的編程。

3-7 請參閱相關資料,並回答問題:按本章給出的歸類方式,將基於乘積項的可編程邏輯結構的PLD器件歸類爲CPLD;將基於查找表的可編程邏輯結構的PLD器什歸類爲FPGA,那麼,APEX系列屬於什麼類型PLD器件? MAX II系列又屬於什麼類型的PLD器件?爲什麼? P54~56

答:APEX(Advanced Logic Element Matrix)系列屬於FPGA類型PLD器件;編程信息存於SRAM中。MAX II系列屬於CPLD類型的PLD器件;編程信息存於EEPROM中。

  第四章

4-1:畫出與下例實體描述對應的原理圖符號元件:

ENTITY buf3s IS -- 實體1:三態緩衝器

PORT (input : IN STD_LOGIC ; -- 輸入端

enable : IN STD_LOGIC ; -- 使能端

output : OUT STD_LOGIC ) ; -- 輸出端

END buf3x ;

ENTITY mux21 IS --實體2: 2選1多路選擇器

PORT (in0, in1, sel : IN STD_LOGIC;

output : OUT STD_LOGIC);

4-1.答案

4-2. 圖3-30所示的是4選1多路選擇器,試分別用IF_THEN語句和CASE語句的表達方式寫出此電路的VHDL程序。選擇控制的信號s1和s0的數據類型爲STD_LOGIC_VECTOR;當s1='0',s0='0';s1='0',s0='1';s1='1',s0='0'和s1='1',s0='1'分別執行y<=a、y<=b、y<=c、y<=d。

4-2.答案

LIBRARY IEEE;

USE _LOGIC_;

ENTITY MUX41 IS

PORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --輸入選擇信號

a,b,c,d:IN STD_LOGIC; --輸入信號

y:OUT STD_LOGIC);--輸出端

END ENTITY;

ARCHITECTURE ART OF MUX41 IS

BEGIN

PROCESS(s)

BEGIN

IF (S="00") THEN y<=a;

ELSIF (S="01") TH EN y<=b;

ELSIF (S="10") TH EN y<=c;

ELSIF (S="11") TH EN y<=d;

ELSE y<=NULL;

END IF;

EDN PROCESS;

END ART;

LIBRARY IEEE;

USE _LOGIC_;

ENTITY MUX41 IS

PORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --輸入選擇信號

a,b,c,d:IN STD_LOGIC; --輸入信號

y:OUT STD_LOGIC);--輸出端

END MUX41;

ARCHITECTURE ART OF MUX41 IS

BEGIN

PROCESS(s)

BEGIN

CASE s IS

WHEN “00” => y<=a;

WHEN “01” => y<=b;

WHEN “10” => y<=c;

WHEN “11” => y<=d;

WHEN OTHERS =>NULL;

END CASE;

END PROCESS;

END ART;

4-3. 圖3-31所示的是雙2選1多路選擇器構成的電路MUXK,對於其中MUX21A,當s='0'和'1'時,分別有y<='a'和y<='b'。試在一個結構體中用兩個進程來表達此電路,每個進程中用CASE語句描述一個2選1多路選擇器MUX21A。

4-3.答案

LIBRARY IEEE;

USE _LOGIC_;

ENTITY MUX221 IS

PORT(a1,a2,a3:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --輸入信號

s0,s1:IN STD_LOGIC;

outy:OUT STD_LOGIC);--輸出端

END ENTITY;

ARCHITECTURE ONE OF MUX221 IS

SIGNAL tmp : STD_LOGIC;

BEGIN

PR01:PROCESS(s0)

BEGIN

IF s0=”0” THEN tmp<=a2;

ELSE tmp<=a3;