版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、08EDA復(fù)習(xí)題一、單項(xiàng)選擇題:(20分)大規(guī)??删幊唐骷饕蠪PGA、CPLD兩類,下列對CPLD結(jié)構(gòu)與工作原理的描述中,正確的是_C_。A. CPLD即是現(xiàn)場可編程邏輯器件的英文簡稱; B. CPLD是基于查找表結(jié)構(gòu)的可編程邏輯器件;C. 早期的CPLD是從GAL的結(jié)構(gòu)擴(kuò)展而來;D. 在Altera公司生產(chǎn)的器件中,F(xiàn)LEX10K 系列屬CPLD結(jié)構(gòu);綜合是EDA設(shè)計(jì)流程的關(guān)鍵步驟,綜合就是把抽象設(shè)計(jì)層次中的一種表示轉(zhuǎn)化成另一種表示的過程;在下面對綜合的描述中,_C_是錯誤的。綜合就是將電路的高級語言轉(zhuǎn)化成低級的,可與FPGA / CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件;綜合可理解為,將軟件
2、描述與給定的硬件結(jié)構(gòu)用電路網(wǎng)表文件表示的映射過程,并且這種映射關(guān)系不是唯一的;綜合是純軟件的轉(zhuǎn)換過程,與器件硬件結(jié)構(gòu)無關(guān);為實(shí)現(xiàn)系統(tǒng)的速度、面積、性能的要求,需要對綜合加以約束,稱為綜合約束。 IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,IP分軟IP、固IP、硬IP;下列所描述的IP核中,對于硬IP的正確描述為_B_。 提供用VHDL等硬件描述語言描述的功能塊,但不涉及實(shí)現(xiàn)該功能塊的具體電路;提供設(shè)計(jì)的最終產(chǎn)品-掩膜;以網(wǎng)表文件的形式提交用戶,完成了綜合的功能塊;都不是。基于EDA軟件的FPGA / CPLD設(shè)計(jì)流程為:原理圖/HDL文本輸入_B_綜合適配_編程下載硬件測試。功能仿真時序仿真
3、邏輯綜合配置引腳鎖定AB.C.D.下面對利用原理圖輸入設(shè)計(jì)方法進(jìn)行數(shù)字電路系統(tǒng)設(shè)計(jì),那一種說法是不正確的_B_。原理圖輸入設(shè)計(jì)方法直觀便捷,但不適合完成較大規(guī)模的電路系統(tǒng)設(shè)計(jì);原理圖輸入設(shè)計(jì)方法無法對電路進(jìn)行功能描述;原理圖輸入設(shè)計(jì)方法一般是一種自底向上的設(shè)計(jì)方法;原理圖輸入設(shè)計(jì)方法也可進(jìn)行層次化設(shè)計(jì)。在VHDL語言中,下列對進(jìn)程(PROCESS)語句的語句結(jié)構(gòu)及語法規(guī)則的描述中,正確的是_A_。PROCESS為一無限循環(huán)語句;敏感信號發(fā)生更新時啟動進(jìn)程,執(zhí)行完成后,等待下一次進(jìn)程啟動。敏感信號參數(shù)表中,應(yīng)列出進(jìn)程中使用的所有輸入信號;進(jìn)程由說明部分、結(jié)構(gòu)體部分、和敏感信號參數(shù)表三部分組成;當(dāng)
4、前進(jìn)程中聲明的信號也可用于其他進(jìn)程。嵌套使用IF語句,其綜合結(jié)果可實(shí)現(xiàn)_A_。帶優(yōu)先級且條件相與的邏輯電路;條件相或的邏輯電路;三態(tài)控制電路;雙向控制電路。電子系統(tǒng)設(shè)計(jì)優(yōu)化,主要考慮提高資源利用率減少功耗-即面積優(yōu)化,以及提高運(yùn)行速度-即速度優(yōu)化;指出下列那種方法不屬于速度優(yōu)化:_A_。A. 資源共享B. 流水線設(shè)計(jì)寄存器配平D. 關(guān)鍵路徑法在一個VHDL設(shè)計(jì)中idata是一個信號,數(shù)據(jù)類型為integer,下面哪個賦值語句是不正確的_D_。idata = 16#20#;idata = 32;idata = 16#A#E1;idata = B#1010#;10.下列EDA軟件中,哪一不具有時序
5、仿真功能:_D_。Max+Plus IIQuartus IIModelSimSynplify單項(xiàng)選擇題:(20分)11.可編程器件主要有FPGA、CPLD兩類,下列對CPLD結(jié)構(gòu)與工作原理的描述中,正確的是_CD_。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);綜合是EDA設(shè)計(jì)流程的關(guān)鍵步驟,綜合就是把抽象設(shè)計(jì)層次中的一種表示轉(zhuǎn)化成另一種表示的過程;在下面對綜合的描述中,_A_是正確的。綜合就是將電路的高級語言轉(zhuǎn)化成低級的,可與F
6、PGA / CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件;綜合是純軟件的轉(zhuǎn)換過程,與器件硬件結(jié)構(gòu)無關(guān); 為實(shí)現(xiàn)系統(tǒng)的速度、面積、性能的要求,需要對綜合加以約束,稱為強(qiáng)制綜合。綜合可理解為,將軟件描述與給定的硬件結(jié)構(gòu)用電路網(wǎng)表文件表示的映射過程,并且這種映射關(guān)系是唯一的;IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,IP分軟IP、固IP、硬IP;下列所描述的IP核中,對于硬IP的正確描述為_D_。 提供用VHDL等硬件描述語言描述的功能塊,但不涉及實(shí)現(xiàn)該功能塊的具體電路;提供設(shè)計(jì)的最總產(chǎn)品-模型庫;以網(wǎng)表文件的形式提交用戶,完成了綜合的功能塊;都不是。基于EDA軟件的FPGA / CPLD設(shè)計(jì)流程為:功能
7、仿真_D_適配時序仿真編程下載硬件測試。原理圖/HDL文本輸入 時序仿真邏輯綜合配置引腳鎖定AB. C.D. 下面對利用原理圖輸入設(shè)計(jì)方法進(jìn)行數(shù)字電路系統(tǒng)設(shè)計(jì),那一種說法是不正確的_D_。原理圖輸入設(shè)計(jì)方法直觀便捷,但不適合完成較大規(guī)模的電路系統(tǒng)設(shè)計(jì);原理圖輸入設(shè)計(jì)方法一般是一種自底向上的設(shè)計(jì)方法;原理圖輸入設(shè)計(jì)方法無法對電路進(jìn)行功能描述; 原理圖輸入設(shè)計(jì)方法也可進(jìn)行層次化設(shè)計(jì)。在VHDL語言中,下列對進(jìn)程(PROCESS)語句的語句結(jié)構(gòu)及語法規(guī)則的描述中,不正確的是_D_。PROCESS為一無限循環(huán)語句;敏感信號發(fā)生更新時啟動進(jìn)程,執(zhí)行完成后,等待下一次進(jìn)程啟動。敏感信號參數(shù)表中,不一定要列
8、出進(jìn)程中使用的所有輸入信號;進(jìn)程由說明部分、結(jié)構(gòu)體部分、和敏感信號三部分組成;當(dāng)前進(jìn)程中聲明的變量不可用于其他進(jìn)程。嵌套使用IF語句,其綜合結(jié)果可實(shí)現(xiàn)_A_。帶優(yōu)先級且條件相與的邏輯電路;條件相或的邏輯電路;三態(tài)控制電路;雙向控制電路。電子系統(tǒng)設(shè)計(jì)優(yōu)化,主要考慮提高資源利用率減少功耗-即面積優(yōu)化,以及提高運(yùn)行速度-即速度優(yōu)化;指出下列那種方法不屬于速度優(yōu)化:_B_。A.流水線設(shè)計(jì)B. 串行化關(guān)鍵路徑法D. 寄存器配平在一個VHDL設(shè)計(jì)中idata是一個信號,數(shù)據(jù)類型為integer,數(shù)據(jù)范圍0 to 127,下面哪個賦值語句是正確的_C_。idata := 32;idata = 16#A0#;
9、idata = 16#7#E1;idata := B#1010#;10.下列EDA軟件中,哪一不具有邏輯綜合功能:_B_。Max+Plus IIModelSimQuartus IID.Synplify一、單項(xiàng)選擇題:(20分)IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位;提供用VHDL等硬件描述語言描述的功能塊,但不涉及實(shí)現(xiàn)該功能塊的具體電路的IP核為_。DA .瘦IP B.固IP C.胖IP D.都不是綜合是EDA設(shè)計(jì)流程的關(guān)鍵步驟,在下面對綜合的描述中,_是錯誤的。D綜合就是把抽象設(shè)計(jì)層次中的一種表示轉(zhuǎn)化成另一種表示的過程;綜合就是將電路的高級語言轉(zhuǎn)化成低級的,可與FPGA / CPLD的
10、基本結(jié)構(gòu)相映射的網(wǎng)表文件;為實(shí)現(xiàn)系統(tǒng)的速度、面積、性能的要求,需要對綜合加以約束,稱為綜合約束;綜合可理解為一種映射過程,并且這種映射關(guān)系是唯一的,即綜合結(jié)果是唯一的。大規(guī)??删幊唐骷饕蠪PGA、CPLD兩類,下列對FPGA結(jié)構(gòu)與工作原理的描述中,正確的是_C_。FPGA全稱為復(fù)雜可編程邏輯器件; FPGA是基于乘積項(xiàng)結(jié)構(gòu)的可編程邏輯器件;基于SRAM的FPGA器件,在每次上電后必須進(jìn)行一次配置;在Altera公司生產(chǎn)的器件中,MAX7000系列屬FPGA結(jié)構(gòu)。進(jìn)程中的信號賦值語句,其信號更新是_C_。按順序完成;比變量更快完成;在進(jìn)程的最后完成;D.都不對。VHDL語言是一種結(jié)構(gòu)化設(shè)計(jì)語
11、言;一個設(shè)計(jì)實(shí)體(電路模塊)包括實(shí)體與結(jié)構(gòu)體兩部分,結(jié)構(gòu)體描述_。B器件外部特性;器件的內(nèi)部功能;器件的綜合約束;器件外部特性與內(nèi)部功能。不完整的IF語句,其綜合結(jié)果可實(shí)現(xiàn)_。AA. 時序邏輯電路B. 組合邏輯電路C. 雙向電路D. 三態(tài)控制電路子系統(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. 下列標(biāo)識符中,_是不合法的標(biāo)識符。BA. State0B. 9moonC. Not_Ack_0D. signall關(guān)于VHDL中的數(shù)字,請找出以下數(shù)字中
12、最大的一個:_。A2#1111_1110#8#276#10#170#16#E#E1下列EDA軟件中,哪一個不具有邏輯綜合功能:_。BA.Max+Plus IIB.ModelSimC.Quartus IID.Synplify一、單項(xiàng)選擇題:(20分)下列那個流程是正確的基于EDA軟件的FPGA / CPLD設(shè)計(jì)流程:BA. 原理圖/HDL文本輸入適配綜合功能仿真編程下載硬件測試B. 原理圖/HDL文本輸入功能仿真綜合適配編程下載硬件測試C. 原理圖/HDL文本輸入功能仿真綜合編程下載適配硬件測試;D. 原理圖/HDL文本輸入功能仿真適配編程下載綜合硬件測試綜合是EDA設(shè)計(jì)流程的關(guān)鍵步驟,綜合就是
13、把抽象設(shè)計(jì)層次中的一種表示轉(zhuǎn)化成另一種表示的過程;在下面對綜合的描述中,_是錯誤的。CA. 綜合就是將電路的高級語言轉(zhuǎn)化成低級的,可與FPGA / CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件;B. 為實(shí)現(xiàn)系統(tǒng)的速度、面積、性能的要求,需要對綜合加以約束,稱為綜合約束;C. 綜合是純軟件的轉(zhuǎn)換過程,與器件硬件結(jié)構(gòu)無關(guān);D. 綜合可理解為,將軟件描述與給定的硬件結(jié)構(gòu)用電路網(wǎng)表文件表示的映射過程,并且這種映射關(guān)系不是唯一的。 CPLD的可編程是主要基于什么結(jié)構(gòu):。DA .查找表(LUT);B. ROM可編程; C. PAL可編程;D. 與或陣列可編程; 4.IP核在EDA技術(shù)和開發(fā)中具有十分重要的地位,以H
14、DL方式提供的IP被稱為:。CA. 硬IP;B. 固IP;C. 軟IP;D. 都不是;流水線設(shè)計(jì)是一種優(yōu)化方式,下列哪一項(xiàng)對資源共享描述正確_。CA. 面積優(yōu)化方法,不會有速度優(yōu)化效果B. 速度優(yōu)化方法,不會有面積優(yōu)化效果C. 面積優(yōu)化方法,可能會有速度優(yōu)化效果D. 速度優(yōu)化方法,可能會有面積優(yōu)化效果在VHDL語言中,下列對時鐘邊沿檢測描述中,錯誤的是_。DA. if clkevent and clk = 1 thenB. if falling_edge(clk) then C. if clkevent and clk = 0 thenD.if clkstable and not clk =
15、1 then狀態(tài)機(jī)編碼方式中,其中_占用觸發(fā)器較多,但其實(shí)現(xiàn)比較適合FPGA的應(yīng)用CA. 狀態(tài)位直接輸出型編碼B. 順序編碼C. 一位熱碼編碼D. 以上都不是8 子系統(tǒng)設(shè)計(jì)優(yōu)化,主要考慮提高資源利用率減少功耗(即面積優(yōu)化),以及提高運(yùn)行速度(即速度優(yōu)化);指出下列那種方法是速度優(yōu)化_。AA. 流水線設(shè)計(jì)B. 資源共享C. 邏輯優(yōu)化D. 串行化不完整的IF語句,其綜合結(jié)果可實(shí)現(xiàn)_。AA. 時序電路B. 雙向控制電路C. 條件相或的邏輯電路D. 三態(tài)控制電路10在一個VHDL設(shè)計(jì)中Idata是一個信號,數(shù)據(jù)類型為std_logic_vector,試指出下面那個賦值語句是錯誤的。DA. idata
16、= “00001111”B. idata = b”0000_1111”;C. idata = X”AB”D. idata = 16”01”;二、EDA名詞解釋,寫出下列縮寫的中文(或者英文)含義:(10分)CPLD:復(fù)雜可編程邏輯器件HDL:硬件描述語言JTAG: 聯(lián)合測試行動小組(邊界掃描)ASIC:專用集成電路SOC:片上系統(tǒng)二、EDA名詞解釋,寫出下列縮寫的中文(或者英文)含義:(14分)SOPC: 可編程片上系統(tǒng);LUT:查找表;JTAG:聯(lián)合行動測試組;GAL:通用陣列邏輯;EAB:嵌入式陣列快;IP:知識產(chǎn)權(quán)(包);HDL:硬件描述語言;二、EDA名詞解釋,寫出下列縮寫的中文(或者
17、英文)含義:(14分)LPM參數(shù)可定制宏模塊庫RTL寄存器傳輸級UART串口(通用異步收發(fā)器)ISP在系統(tǒng)編程IEEE電子電氣工程師協(xié)會ASIC專用集成電路LAB邏輯陣列塊二、EDA名詞解釋,寫出下列縮寫的中文(或者英文)含義:(10分)SOC單芯片系統(tǒng)FPGA現(xiàn)場可編程門陣列LUT查找表EDA電子設(shè)計(jì)自動化Synthesis綜合三、VHDL程序填空:(10分)下面程序是帶異步復(fù)位、同步置數(shù)和移位使能的8位右移移位寄存器的VHDL描述,試補(bǔ)充完整。library ieee;use IEEE.STD_LOGIC_1164 .all;entity sreg8b isport (clk, rst :
18、 in std_logic; load,en : in std_logic; din : in _STD_LOGIC_VECTOR(7 downto 0); qb : out std_logic);end sreg8b;architecture behav of SREG8B issignal reg8: std_logic_vector( 7 downto 0);beginprocess (clk, RST , load, en)begin if rst=1 then 異步清零 reg8 0 ;elsif clkevent and clk=1 then 邊沿檢測 if load = 1 th
19、en 同步置數(shù) reg8 = din; elsif en=1 then 移位使能 reg8(6 downto 0) = reg8(7 doento1) ; end if;end if;end process;qb = _reg8_; 輸出最低位end behav;三、VHDL程序填空:(10分)下面程序是n輸入與門的VHDL描述,試補(bǔ)充完整。_ ieee;use _.all;entity andn is_ (n : integer);- 類屬參數(shù)聲明port (a : in std_logic_vector( _ downto 0); c : out std_logic);end;_ beha
20、v of _ is- 結(jié)構(gòu)體聲明beginprocess (_)_ int : std_logic;- 變量聲明beginint := _;- 變量賦初值for I in alength 1 downto 0 loop- 循環(huán)判斷if a(i) = 0 thenint := 0;end if;end loop;c = _;- 輸出判斷結(jié)果end process;end behav;三、VHDL程序填空:(10分)LIBRARY IEEE;- 8位分頻器程序設(shè)計(jì)USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY P
21、ULSE IS PORT ( CLK: IN STD_LOGIC; D: IN STD_LOGIC_VECTOR (7 DOWNTO 0); FOUT: OUT STD_LOGIC );END;ARCHITECTURE one OF PULSE IS SIGNAL FULL : STD_LOGIC;BEGINP_REG: PROCESS(CLK)VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLKEVENT AND CLK = 1 THEN IF CNT8 = 11111111 THEN CNT8 := D; -當(dāng)CNT8計(jì)數(shù)計(jì)滿時,
22、輸入數(shù)據(jù)D被同步預(yù)置給計(jì)數(shù)器CNT8 FULL = 1; -同時使溢出標(biāo)志信號FULL輸出為高電平 ELSE CNT8 := CNT8 + 1; -否則繼續(xù)作加1計(jì)數(shù) FULL = 0; -且輸出溢出標(biāo)志信號FULL為低電平 END IF;END IF;END PROCESS P_REG;P_DIV: PROCESS(FULL)VARIABLE CNT2 : STD_LOGIC;BEGINIF FULLEVENT AND FULL = 1 THEN CNT2 = NOT CNT2; -如果溢出標(biāo)志信號FULL為高電平,D觸發(fā)器輸出取反 IF CNT2 = 1 THEN FOUT = 1; EL
23、SE FOUT = 0; END IF; END IF; END PROCESS P_DIV;END;三、VHDL程序填空:(10分)下面程序是一個10線4線優(yōu)先編碼器的VHDL描述,試補(bǔ)充完整。LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(9 DOWNTO 0); output : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END coder;ARCHITECTURE behav OF CODER IS SIGNAL SIN :
24、STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (DIN) BEGIN IF (din(9)=0) THEN SIN = 1001 ; ELSIF (din(8)=0) THEN SIN = 1000 ; ELSIF (din(7)=0) THEN SIN = 0111 ; ELSIF (din(6)=0) THEN SIN = 0110 ; ELSIF (din(5)=0) THEN SIN = 0101 ; ELSIF (din(4)=0) THEN SIN = 0100 ; ELSIF (din(3)=0) THEN SIN = 0011 ; EL
25、SIF (din(2)=0) THEN SIN = 0010 ; ELSIF (din(1)=0) THEN SIN = 0001 ; ELSE SIN = “0000” ; END IF; END PROCESS ; Output = sin ;END behav;四、VHDL程序改錯:(10分)仔細(xì)閱讀下列程序,回答問題LIBRARY IEEE;- 1USE IEEE.STD_LOGIC_1164.ALL;- 2ENTITY LED7SEG IS- 3PORT (A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);- 4CLK : IN STD_LOGIC;- 5LED
26、7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);- 6END LED7SEG;- 7ARCHITECTURE one OF LED7SEG IS- 8SIGNAL TMP : STD_LOGIC;- 9BEGIN- 10SYNC : PROCESS(CLK, A)- 11BEGIN- 12IF CLKEVENT AND CLK = 1 THEN- 13TMP LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S = 1111111四、VHDL程序改錯:(10分)本題程序?yàn)镋DA
27、實(shí)驗(yàn)中的示例程序sch.vhd,仔細(xì)閱讀程序,回答問題。1.對該程序進(jìn)行編譯時出現(xiàn)錯誤提示:“VHDL Design File “sch” must contain an entity of the same name.”這是什么原因?如何修改?library ieee;-1use ieee.std_logic_1164.all;-2entity schk is-3port (din, clk, clr: in std_logic;- 串行輸入數(shù)據(jù)位/工作時鐘/復(fù)位信號-4ab: out std_logic_vector(3 downto 0)- 檢測結(jié)果輸出-5);-6end schk;-7
28、architecture bhv of schk is-8signal q : integer range 0 to 8;-9signal d : std_logic_vector(7 downto 0);- 8位待檢測預(yù)置數(shù)-10begin-11d = 11100101;- 8位待檢測預(yù)置數(shù)-12process (clk, clr)-13begin-14if clr = 1 then q if din = d(7) then q = 1; else q if din = d(6) then q = 2; else q if din = d(5) then q = 3; else q if d
29、in = d(4) then q = 4; else q if din = d(3) then q = 5; else q if din = d(2) then q = 6; else q if din = d(1) then q = 7; else q if din = d(0) then q = 8; else q q = 0;-26end case;-27end if;-28end process;-29process (q)-30begin-31if q = 8 thenab = 1010;-32elseab = 1011;-33end if;-34end process;-35end
30、 bhv;-36在上述程序代碼中存在兩處錯誤,編譯時出現(xiàn)如下提示,試修改錯誤:Error: Line 12: File f:edaschk.vhd: VHDL syntax error: unexpected signal “d” in Concurrent Statement PartError: Line 29:File f:edaschk.vhd: VHDL syntax error: if statement must have END IF, but found PROCESS instead錯誤1行號:11 程序改為:d = 11100101;錯誤2行號:16 程序改為:elsei
31、f clkevent and clk = 1 then2.修改問題1的錯誤后,如果編譯時出現(xiàn)“Cant open VHDL “WORK” ”這樣的錯誤提示。這又是什么原因,如何修改?四、VHDL程序改錯:(10分)01LIBRARY IEEE ;02USE IEEE.STD_LOGIC_1164.ALL ;03USE IEEE.STD_LOGIC_UNSIGNED.ALL;04ENTITY LED7CNT IS05PORT ( CLR: IN STD_LOGIC;06CLK : IN STD_LOGIC;07LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) )
32、;08END LED7CNT; 09ARCHITECTURE one OF LED7CNT IS10SIGNAL TMP : STD_LOGIC_VECTOR(3 DOWNTO 0);11BEGIN 12CNT:PROCESS(CLR,CLK)13BEGIN 14IF CLR = 1 THEN15TMP = 0;16ELSE IF CLKEVENT AND CLK = 1 THEN17TMP LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S 0);34END CASE;35END PROCESS;36END on
33、e; 在程序中存在兩處錯誤,試指出,并說明理由:提示:在MAX+PlusII 10.2上編譯時報出的第一條錯誤為:Error:Line 15: File */led7cnt.vhd: Type error: type in waveform element must be “std_logic_vector”第 15 行, 錯誤:整數(shù)0不能直接賦值給TMP矢量改正:TMP 0);第 16 行, 錯誤:ELSE IF 缺少一條對應(yīng)的END IF語句改正:將ELSE IF 改為關(guān)鍵字ELSIF四、VHDL程序改錯:(10分)仔細(xì)閱讀下列程序,回答問題1LIBRARY IEEE;2USE IEEE.
34、STD_LOGIC_1164.ALL;34ENTITY CNT4 IS 5 PORT ( CLK : IN STD_LOGIC ;6 Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; 7END CNT4; 8ARCHITECTURE bhv OF CNT4 IS9 SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); 10BEGIN 11 PROCESS (CLK) BEGIN12 IF RISING_EDGE(CLK) begin 13 IF Q1 15 THEN14 Q1 = Q1 + 1 ; 15 ELSE 16 Q1 0); 1
35、7 END IF;18 END IF; 19 END PROCESS ;20 Q = Q1;21END bhv;22在程序中存在兩處錯誤,試指出,并說明理由:在MAX+PlusII中編譯時,提示的第一條錯誤為:Error: Line 12: File e:myworktestcnt4.vhd: VHDL syntax error: If statement must have THEN, but found BEGIN instead12行,IF語句對應(yīng)的關(guān)鍵字是then而非begin14行,Q1是矢量,不能直接和整數(shù)1相加,需要使用重載函數(shù)修改相應(yīng)行的程序(如果是缺少語句請指出大致的行數(shù)):
36、錯誤1行號: 12 程序改為:BEGIN 改為 THEN錯誤2行號: 3 程序改為:USE IEEE.STD_LOGIC_UNSIGNED.ALL;五、VHDL程序設(shè)計(jì):(15分)設(shè)計(jì)一數(shù)據(jù)選擇器MUX,其系統(tǒng)模塊圖和功能表如下圖所示。試采用下面三種方式中的兩種來描述該數(shù)據(jù)選擇器MUX的結(jié)構(gòu)體。(a) 用if語句。 (b) 用case 語句。 (c) 用when else 語句。Library ieee;Use ieee.std_logic_1164.all;Entity mymux isPort (sel : in std_logic_vector(1 downto 0);- 選擇信號輸入A
37、in, Bin : in std_logic_vector(1 downto 0);- 數(shù)據(jù)輸入Cout : out std_logic_vector(1 downto 0) );End mymux;五、VHDL程序設(shè)計(jì):(16分)設(shè)計(jì)一數(shù)據(jù)選擇器MUX,其系統(tǒng)模塊圖和功能表如下圖所示。試采用下面三種方式中的兩種來描述該數(shù)據(jù)選擇器MUX的結(jié)構(gòu)體。(a) 用if語句。 (b) 用case 語句。 (c) 用when else 語句。Library ieee;Use ieee.std_logic_1164.all;Entity mymux isPort (sel : in std_logic_ve
38、ctor(1 downto 0);- 選擇信號輸入Ain, Bin : in std_logic_vector(1 downto 0);- 數(shù)據(jù)輸入Cout : out std_logic_vector(1 downto 0) );End mymux;五、VHDL程序設(shè)計(jì):(16分)設(shè)計(jì)一數(shù)據(jù)選擇器MUX,其系統(tǒng)模塊圖和功能表如下圖所示。試采用下面三種方式中的兩種來描述該數(shù)據(jù)選擇器MUX的結(jié)構(gòu)體。(a) 用if語句。 (b) 用case 語句。 (c) 用when else 語句。Library ieee;Use ieee.std_logic_1164.all;Entity mymux isP
39、ort (sel : in std_logic_vector(1 downto 0);- 選擇信號輸入Ain, Bin : in std_logic_vector(1 downto 0);- 數(shù)據(jù)輸入Cout : out std_logic_vector(1 downto 0) );End mymux;Architecture one of mymux isBeginProcess (sel, ain, bin)BeginIf sel = “00” then cout = ain and bin; Elsif sel = “01” then cout = ain xor bin;Elsif s
40、el = “10” then cout = not ain;Else cout cout cout cout cout = not bin;End case;End process;End two;Architecture three of mymux isBeginCout = ain and bin when sel = “00” elseAin xor bin when sel = “01” elseNot ain when sel = “10” else not bin;End three;五、閱讀下列VHDL程序,畫出原理圖(RTL級):(10分)library ieee;use i
41、eee.std_logic_1164.all;entity lfsr isport (clk : in std_logic;clr : in std_logic;d : in std_logic;mout : out std_logic);end lfsr; architecture rtl of lfsr issignal sreg : std_logic;beginshift_p : process(clk,clr) variable s : std_logic;begin if clr = 1 thens := 0;elsif rising_edge(clk) thens := sreg
42、 xor (not d);end if; sreg = s;end process;mout = sreg;end rtl;六、根據(jù)原理圖寫出相應(yīng)的VHDL程序:(15分)六、根據(jù)原理圖寫出相應(yīng)的VHDL程序:(10分)六、根據(jù)原理圖寫出相應(yīng)的VHDL程序:(10分)Library ieee;Use ieee.std_logic_1164.all;Entity mycir isPort ( A, B, clk : in std_logic;Qout : out std_logic);End mycir;Architecture behave of mycir isSignal ta, tb,
43、tc;Begintc = ta nand tb;Process (clk)BeginIf clkevent and clk = 1 thenTa = A;Tb = B;End if;End process;Process (clk, tc)BeginIf clk = 1 thenQout = tc;End if;End process;End behave;六、寫VHDL程序:(20分)1設(shè)計(jì)一個3-8譯碼器輸入端口: din 輸入端,位寬為3位 EN 譯碼器輸出使能,高電平有效輸出端口: xout譯碼器輸出,低電平有效LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.
44、ALL;ENTITY DECODE3_8 ISPORT ( DIN : IN STD_LOGIC_VECTOR (2 DOWNTO 0);EN : IN STD_LOGIC; XOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END DECODE3_8;ARCHITECTURE ONE OF DECODE3_8 ISBEGINPROCESS (DIN, EN)BEGINIF EN = 1 THENIF DIN = “111” THEN XOUT = “11111110”;ELSIF DIN = “110” THEN XOUT = “11111101”;ELSIF
45、 DIN = “101” THEN XOUT = “11111011”;ELSIF DIN = “100” THEN XOUT = “11110111”;ELSIF DIN = “011” THEN XOUT = “11101111”;ELSIF DIN = “010” THEN XOUT = “11011111”;ELSIF DIN = “001” THEN XOUT = “10111111”;ELSE XOUT = “11111011”;END IF; END IF;END PROCESS;END ONE;2. 看下面原理圖,寫出相應(yīng)VHDL描述LIBARRY IEEE;USE IEEE.
46、STD_LOGIC_1164.ALL;ENTITY MYCIR IS PORT ( XIN, CLK : IN STD_LOGIC;YOUT : OUT STD_LOGIC);END MYCIR;ARCHITECTURE ONE OF MYCIR ISSIGNAL A, B, C;BEGINB = XIN OR A;PROCESS (CLK)BEGINIF CLKEVENT AND CLK = 1 THENA = C;C = B;END IF;END PROCESS;YOUT = C;END ONE;七、綜合題:(20分)根據(jù)如下所示狀態(tài)圖及其狀態(tài)機(jī)結(jié)構(gòu)圖,回答問題1.試判斷該狀態(tài)機(jī)類型,并說
47、明理由。改狀態(tài)機(jī)可以為mealy型狀態(tài)機(jī),當(dāng)輸入ina變化時可影響輸出outa立即變化2.請問如何消除狀態(tài)機(jī)輸出信號毛刺?試列出至少兩種方法,并說明理由。方法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)輸出,也沒有毛刺3.試由b、c兩圖中任選一圖寫出其完整的VHDL程序。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY EX7 ISPORT (CLK, RESET: IN STD_LOGIC;INA: IN STD_LOG
48、IC_VECTOR(2 DOWNTO 0);OUTA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END EX7;- MOORE型狀態(tài)機(jī)ARCHITECTURE ONE OF EX7 ISTYPE STATE IS (S0, S1, S2, S3);SIGNAL C_ST : STATE;BEGINPROCESS (CLK, RESET, INA)BEGINIF RESET = 1 THEN C_ST = S0; OUTA 0);ELSIF RISING_EDGE(CLK) THENCASE C_ST ISWHEN S0 =IF INA = 101 THEN OUT
49、A = 0010;ELSIF INA = 111 THEN OUTA = 1100;END IF;C_ST IF INA = 000 THEN C_ST = S1;ELSIF INA = 110 THEN C_ST = S2;END IF;OUTA IF INA = 100 THEN C_ST = S2;ELSIF INA = 011 THEN C_ST = S1;ELSE C_ST = S3;END IF;OUTA IF INA = 101 THEN OUTA = 1101;ELSIF INA = 011 THEN OUTA = 1110;END IF;C_ST C_ST = S0;OUTA
50、 0);END CASE;END IF;END PROCESS;END ONE;- MEALY型狀態(tài)機(jī)ARCHITECTURE TWO OF EX7 ISTYPE STATE IS (S0, S1, S2, S3);SIGNAL C_ST, N_ST : STATE;BEGINREG : PROCESS (CLK, RESET)BEGINIF RESET = 1 THEN C_ST = S0;ELSIF CLKEVENT AND CLK = 1 THENC_ST N_ST = S1;IF INA = 101 THEN OUTA = 0010;ELSIF INA = 111 THEN OUTA
51、= 1100;ELSE OUTA OUTA = 1001;IF INA = 000 THEN N_ST = S1;ELSIF INA = 110 THEN N_ST = S2;ELSE N_ST OUTA = 1111;IF INA = 100 THEN N_ST = S2;ELSIF INA = 011 THEN N_ST = S1;ELSE N_ST IF INA = 101 THEN OUTA = 1101;ELSIF INA = 011 THEN OUTA = 1110;ELSE OUTA = 0000;END IF;N_ST N_ST = S0;OUTA 0);END CASE;END PROCESS;END TWO;4. 已知一個簡單的波形發(fā)生器的數(shù)字部分系統(tǒng)框圖如下圖所示:圖中DOWNCNT、MYROM都是在MAX+PlusII中使用MegaWizard調(diào)用的LPM模塊,其VHDL描述中Entity部分分別如下:ENTITY DOWNCNT ISPORT(clock: IN STD_LOGIC
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)藥文化進(jìn)校園-中醫(yī)藥健康伴我行
- 斜面上靜摩擦問題課件
- 上下消化道出血鑒別
- 《血葡萄糖檢測》課件
- 河北省張家口市橋西區(qū)2024-2025學(xué)年九年級上學(xué)期期末 歷史試題(含答案)
- 2024年土地登記代理人題庫附完整答案【奪冠系列】
- 單位管理制度展示大全職工管理十篇
- Unit 1 語篇組合提升練
- 單位管理制度展示大合集員工管理篇
- 全球資產(chǎn)配置資金流向月報(2024年12月):強(qiáng)美元下12月資金流出非美市場流入美股
- 2024年酒店式公寓承包合同
- 2025年八省聯(lián)考內(nèi)蒙古高考生物試卷真題答案詳解(精校打印)
- 校園公園綠化養(yǎng)護(hù)協(xié)議
- 貓抓病的護(hù)理
- 2024版城市綠化養(yǎng)護(hù)合同補(bǔ)充協(xié)議3篇
- 勘察設(shè)計(jì)工作內(nèi)容
- GB/T 19799.2-2024無損檢測超聲檢測試塊第2部分:2號標(biāo)準(zhǔn)試塊
- 2024-2025學(xué)年冀教新版八年級上冊數(shù)學(xué)期末復(fù)習(xí)試卷(含詳解)
- DB45T 1831-2018 汽車加油加氣站防雷裝置檢測技術(shù)規(guī)范
- 《兒歌運(yùn)用于幼兒園教育問題研究的文獻(xiàn)綜述》8600字
- 懸掛燈籠施工方案
評論
0/150
提交評論