《《EDA技术与VHDL基础》课后习题答案》由会员分享,可在线阅读,更多相关《《EDA技术与VHDL基础》课后习题答案(9页珍藏版)》请在金锄头文库上搜索。
1、EDA技术与VHDL基础课后习题答案第一章EDA技术概述一、填空题1、电子设计自动化2、非常高速集成芯片硬件描述语言3、CAD、CAE、EDA4、原理图输入、状态图输入、文本输入5、VHDL、Verilog HDL6、硬件特性二、选择题1、A2、C3、A4、D5、C6、D7、A第二章可编程逻辑器件基础一、填空题1、PLD2、Altera公司、Xilinx公司、Lattice公司3、基于反熔丝编程的 FPGA4、配置芯片二、选择题1、D2、C3、C4、D第三章VHDL程序初步程序结构一、填空题1、结构、行为、功能、接口2、库和程序包、实体、结构体、配置3、实体名、类型表、端口表、实体说明部分4、
2、结构体说明语句、功能语句5、端口的大小、实体中子元件的数目、实体的定时特性6、设计库7、元件、函数8、进程PROCESS、过程PROCEDURE9、顺序语句、并行语句二、选择题1、D2、C3、C4、B5、D6、B7、A8、C三、简答题2、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand_3in ISPORT(a,b,c:IN STD_LOGIC; y:OUT STD_LOGIC);END;ARCHITECTURE bhv OF nand_3in ISBEGINy=NOT(a AND b AND c);END bhv;5、00006、111
3、10111(247)第四章 VHDL基础一、填空题1、顺序语句、并行语句2、跳出本次循环3、等待、信号发生变化时4、函数、过程5、值类属性、函数类属性、信号类属性、数据类型类属性、数据范围类属性6、程序调试、时序仿真7、子程序、子程序二、选择题1、B2、A3、A4、C5、B6、C7、D三、判断题1、2、3、4、5、6、四、简答题9、修改正确如下所示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count ISPORT(clk:IN BIT; q:OUT BIT_VECTOR(7
4、DOWNTO 0);END count;ARCHITECTURE a OF count ISBEGINPROCESS(clk)IF clkEVENT AND clk=1 THEN qoutvalueoutvalueNULL;END CASE;11、修改正确如下所示:ARCHITECTURE bhv OF com1 ISBEGINSIGNAL a,b,c:STD_LOGIC;pro1:PROCESS(clk)BEGINIF NOT (clkEVENT AND clk=1) THENx=a XOR b OR c;END IF;END PROCESS;END;12、(1)PROCESS() -本题中
5、两条IF语句均为信号c进行可能赋值,VHDL语言不允许IF a=b THEN c=d; END IF; IF a=4 THEN c=d+1; END IF; END PROCESS;(2)ARCHITECTURE behave OF mux IS -同时为q进行多次可能赋值,VHDL语言不允许BEGIN q=i0 WHEN a=0 AND b=0 ELSE 0; -WHEN ELSE语句语法错误 q=i1 WHEN a=0 AND b=1 ELSE 0; q=i2 WHEN a=1 AND b=0 ELSE 0; q=i3 WHEN a=1 AND b=1 ELSE 0; END behave
6、;13、next1=1101WHEN(a=0 AND b=0)ELSE d WHEN a=0 ELSE c WHEN b=1 ELSE1011;15、(1)、STD_LOGIC_UNSIGNED(2)、GENERIC(3)、IN(4)、width-1(7)(5)、counter_n(6)、“00000000”(7)、clkEVENT AND clk=1(8)、ELSIF(9)、END IF(10)、q= count16、修改正确如下所示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CNT10 IS PORT ( clk: IN STD_LOG
7、IC;q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END CNT10; ARCHITECTURE bhv OF CNT10 ISSIGNAL q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (clk)BEGINIF RISING_EDGE(clk) begin begin修改为THENIF q1 9 THEN -q1为STD_LOGIC数据类型,而9为整型不可直接比较q1 = q1 + 1; -q1为STD_LOGIC数据类型,而1为整型不可直接相加ELSE q1 0); END IF;END IF; END PR
8、OCESS;q = q1;END bhv;17、使用IF语句实现LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21 ISPORT(ain,bin,sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0); cout:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);END;ARCHITECTURE bhv OF mux21 ISSIGNAL cout_tmp:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(ain,bin,sel)BEGINIF (sel=00) THEN
9、cout_tmp=ain OR bin;ELSIF (sel=01) THEN cout_tmp=ain XOR bin; ELSIF (sel=10) THEN cout_tmp=ain AND bin; ELSE cout_tmp=ain NOR bin;END IF;END PROCESS;cout=cout_tmp;END bhv;第五章 Quartus集成开发软件初步一、填空题1、实体名2、FPGA、CPLD3、.vhd4、输入、综合、适配、仿真、下载5、RTL Viewer、Technology Map Viewer6、功能、参数含义、使用方法、硬件描述语言、模块参数设置7、mif
10、、hex8、根目录二、选择题1、C2、D第七章有限状态机设计一、设计题1、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ztj ISPORT(clk,reset:IN STD_LOGIC;in_a:IN STD_LOGIC_VECTOR(1 DOWNTO 0);out_a:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE bhv OF ztj ISTYPE state IS(s0,s1,s2,s3); -用枚举类型定义状态,简单直观SIGNAL current_state,next_state:
11、state; -定义存储现态和次态的信号BEGINp1:PROCESS(clk) -状态更新进程BEGINIF clkEVENT AND clk=1 THENIF reset=1 THEN current_state=s0;ELSE current_stateIF in_a/=”00” THEN next_state=s1; ELSE next_stateIF in_a=/”01” THEN next_state=s2; ELSE next_stateIF in_a=”11” THEN next_state=s0 ELSE next_stateIF in_a/=11 THEN next_sta
12、te=s0; ELSE next_stateNULL;END CASE;END PROCESS;p3:PROCESS(current_state) BEGINCASE current_state ISWHEN s0=out_aout_aout_aout_aNULL;END CASE;END PROCESS;END;2、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ztj ISPORT(clk,reset:IN STD_LOGIC;ina:IN STD_LOGIC_VECTOR(2 DOWNTO 0); outa:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE bhv OF ztj ISTYPE state IS(s0,s1,s2,s3); -