《EDA技术—VHDL版期末试卷(含答案).pdf》由会员分享,可在线阅读,更多相关《EDA技术—VHDL版期末试卷(含答案).pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、20102011 学年第一学期期末考试试卷(闭卷)年级 2008 专业 信息处理与交换(本)课程名称 EDA 技术基础 教师出题时请勿超出边界虚线;2、学生答题前将密封线外的内容填写清楚,答题不得超出密封线;3、答题请用蓝、黑钢笔或圆珠笔。一、单项选择题(30 分)1以下描述错误的是 C AQuartusII 是 Altera 提供的 FPGA/CPLD集成开发环境 B Altera 是世界上最大的可编程逻辑器件供应商之一 C MAX+plusII 是 Altera 前一代 FPGA/CPLD集成开发环境 QuartusII 的更新换代新产品 DQuartusII 完全支持 VHDL、Veri
2、log 的设计流程 2以下工具中属于 FPGA/CPLD 开发工具中的专用综合器的是 B AModelSim BLeonardo Spectrum CActive HDL DQuartusII 3以下器件中属于 Xilinx 公司生产的是 C AispLSI 系列器件 BMAX 系列器件 CXC9500 系列器件 DFLEX 系列器件 4 以下关于信号和变量的描述中错误的是 B A信号是描述硬件系统的基本数据对象,它的性质类似于连接线 B信号的定义范围是结构体、进程 C除了没有方向说明以外,信号与实体的端口概念是一致的 D在进程中不能将变量列入敏感信号列表中 5以下关于状态机的描述中正确的是
3、B AMoore 型状态机其输出是当前状态和所有输入的函数 B与 Moore 型状态机相比,Mealy 型的输出变化要领先一个时钟周期 CMealy 型状态机其输出是当前状态的函数 D以上都不对 6 下列标识符中,B 是不合法的标识符。APP0 BEND CNot_Ack Dsig 7 大规模可编程器件主要有 FPGA、CPLD 两类,下列对 CPLD 结构与工作原理的描述中,正确的是 C 。A CPLD 即是现场可编程逻辑器件的英文简称 B CPLD 是基于查找表结构的可编程逻辑器件 C早期的 CPLD 是从 GAL 的结构扩展而来 D在 Altera 公司生产的器件中,FLEX10K 系列
4、属 CPLD 结构 8综合是 EDA 设计流程的关键步骤,在下面对综合的描述中,D 是错误的。A综合就是把抽象设计层次中的一种表示转化成另一种表示的过程 B综合就是将电路的高级语言转化成低级的,可与 FPGA/CPLD 的基本结构相映射的网表文件 C 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束 D综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)9嵌套使用 IF 语句,其综合结果可实现 A 。A带优先级且条件相与的逻辑电路 B条件相或的逻辑电路 C三态控制电路 D双向控制电路 10在 VHDL 语言中,
5、下列对时钟边沿检测描述中,错误的是 D 。Aif clkevent and clk=1 then Bif falling_edge(clk)then Cif clkevent and clk=0 then Dif clkstable and not clk=1 then 11下列那个流程是正确的基于 EDA 软件的FPGA/CPLD 设计流程 B A 原理图/HDL 文本输入适配综合功能仿真编程下载硬件测试 B 原理图/HDL 文本输入功能仿真综合适配编程下载硬件测试 C 原理图/HDL 文本输入功能仿真综合编程下载适配硬件测试;D 原理图/HDL 文本输入功能仿真适配编程下载综合硬件测试 1
6、2在 VHDL 语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是 A 。APROCESS 为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动 B敏感信号参数表中,应列出进程中使用的所有输入信号 C进程由说明部分、结构体部分、和敏感信号参数表三部分组成 D当前进程中声明的变量也可用于其他进程 13下列语句中,不属于并行语句的是 B A进程语句 BCASE 语句 C元件例化语句 DWHENELSE语句 14VHDL 语言共支持四种常用库,其中哪种库是用户的 VHDL 设计现行工作库 D AIEEE 库 BVITAL库 CSTD 库 DWORK
7、 库 15VHDL 语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 D 。A 器件外部特性 B 器件的综合约束 C 器件外部特性与内部功能 D 器件的内部功能 二、EDA 名词解释,写出下列缩写的中文含义(10 分)1CPLD:复杂可编程逻辑器件 2ASIC:专用集成电路 3LUT:查找表 4EDA:电子设计自动化 5ROM:只读存储器 三、程序填空题(20 分)以下是一个模为 24(023)的 8421BCD 码加法计数器 VHDL 描述,请补充完整 LIBRARY IEEE;USE tb IS PORT(CLK:IN STD_LOGIC;SHI,GE:
8、OUT INTEGER RANGE 0 TO 9);END;ARCHITECTURE bhv OF tb IS SIGNAL SHI1,GE1:INTEGER RANGE 0 TO 9;BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 then IF GE1=9 THEN GE1=0;SHI1=SHI1+1;ELSIF SHI1=2 AND GE1=3 THEN SHI1=0;GE1=0;ELSE GE1=GE1+1;END IF;END IF;END PROCESS;GE=GE1;SHI=SHI1;END bhv;四、程序改错题(仔细阅读下列程序后回
9、答问题,12 分)1 LIBRARY IEEE;2 USE USE ENTITY gc IS 5 PORT(CLK:IN STD_LOGIC;6 Q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);7 END gc;8 ARCHITECTURE bhv OF gc IS 9 SIGNAL Q1:RANGE 0 TO 9;10 BEGIN 11 PROCESS(clk,Q)12 BEGIN 13 IF RISING_EDGE(CLK)THEN 14 IF Q1 1001 THEN 15 Q1=Q1+1;16 ELSE 17 Q1 0);18 END IF;19 END IF;
10、20 END PROCESS;21 Q=Q1;22 END bhv;程序编译时,提示的错误为:Error:Line 9:File e:myworktest:VHDL syntax error:subtype indication must have resolution function or type mark,but found RANGE instead Error:Line 11:File e:myworktest:interface Declaration error:cant read port Q of mode OUT 请回答问题:在程序中存在两处错误,试指出并修改正确(如果是
11、缺少语句请指出应该插入的行号)答:(1)第 9 行有误,SIGNAL Q1:RANGE 0 TO 9 数据类型有误,应该改成 SIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0)(2)第 11 行有误,敏感信号列表中不能出现输出端口,应该改成 PROCESS(clk)五、(28 分)1试用 VHDL 描述一个外部特性如图所示的 D触发器。(10 分)参考程序如下:LIBRARY IEEE;USE mydff IS PORT(CLK:IN STD_LOGIC;D:IN STD_LOGIC;Q:OUT STD_LOGIC);END;ARCHITECTURE bhv OF m
12、ydff IS BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Q=D;END IF;END PROCESS;END;2.下图为某一状态机对应的状态图,试用VHDL 语言描述这一状态机。(18 分)S0S1S3S21/10011/11110/11000/0000其它/0000其它/1111其它/1100其它/1001 参考程序如下:LIBRARY IEEE;USE FSM2 IS PORT(clk,reset,in1:IN STD_LOGIC;out1:OUT STD_LOGIC_VECTOR(3 downto 0);END;ARCHITE
13、CTURE bhv OF FSM2 IS TYPE state_type IS(s0,s1,s2,s3);SIGNALcurrent_ state,next_state:state_type;BEGIN P1:PROCESS(clk,reset)BEGIN IF reset=1 THEN current_state=s0;ELSIF clk=1 AND clkEVENT THEN current_state IF in1=1THEN next_state=s1;ELSE next_state IF in1=0THEN next_state=S2;ELSE next_state IF in1=1THEN next_state=S3;ELSE next_state IF in1=0THEN next_state=S0;ELSE next_state IF in1=1THEN out1=“1001”;ELSE out1 IF in1=0THEN out1=1100;ELSE out1 IF in1=1THEN out1=1111;ELSE out1 IF in1=1THEN out1=0000;ELSE out1=1111;END IF;end case;END PROCESS;end bhv;
限制150内