为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

EDA期末考试题A卷

2012-11-01 5页 doc 569KB 246阅读

用户头像

is_132418

暂无简介

举报
EDA期末考试题A卷 系 班 姓 名 座 号 ……………密……………封……………线……………密……………封…………… 嘉应学院 电子信息工程学院 考试题样题(A卷) 时间:120分钟 (2009年6月) 考试形式:闭卷 题 号 一 二 三 四 五 总分 复核人 得 分 评卷人 一、选择题(20分) 1. 下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程:(B) A. 原理图/HDL文本输入→适配→综合→功能...
EDA期末考试题A卷
系 班 姓 名 座 号 ……………密……………封……………线……………密……………封…………… 嘉应学院 电子信息工程学院 考样题(A卷) 时间:120分钟 (2009年6月) 考试形式:闭卷 题 号 一 二 三 四 五 总分 复核人 得 分 评卷人 一、选择题(20分) 1. 下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程:(B) A. 原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试 B. 原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试 C. 原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试; D. 原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试 2. 综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,____C_____是错误的。 A. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件; B. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束; C. 综合是纯软件的转换过程,与器件硬件结构无关; D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的。 3. CPLD的可编程是主要基于什么结构:。(D ) A .查找表(LUT); B. ROM可编程; C. PAL可编程; D. 与或阵列可编程; 4. IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为:。(C  ) A. 硬IP; B. 固IP; C. 软IP; D. 都不是; (这个不要)5. 流水线设计是一种优化方式,下列哪一项对资源共享描述正确_ C  。 A. 面积优化方法,不会有速度优化效果 B. 速度优化方法,不会有面积优化效果 C. 面积优化方法,可能会有速度优化效果 D. 速度优化方法,可能会有面积优化效果 6. 在VHDL语言中,下列对时钟边沿检测描述中,错误的是___D____。 A. if clk’event and clk = ‘1’ then B. if falling_edge(clk) then C. if clk’event and clk = ‘0’ then D.if clk’stable and not clk = ‘1’ then 7状态机编码方式中,其中_____C____占用触发器较多,但其实现比较适合FPGA的应用 A. 状态位直接输出型编码 B. 顺序编码 C. 一位热码编码 D. 以上都不是 8. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速 度(即速度优化);指出下列那种方法是速度优化___A______。 A. 流水线设计 B. 资源共享 C. 逻辑优化 D. 串行化 9. 不完整的IF语句,其综合结果可实现____A____。 A. 时序电路 B. 双向控制电路 C. 条件相或的逻辑电路 D. 三态控制电路 10.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。(  D ) A. idata <= “00001111” B. idata <= b”0000_1111”; C. idata <= X”AB” D. idata <= 16”01”; 二、VHDL程序填空(20分) 下面程序是一个10线-4线优先编码器的VHDL描述,试补充完整。 系 班 姓 名 座 号 ……………密……………封……………线……………密……………封…………… 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 : 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" ; ELSIF (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程序改错(20分) 仔细阅读下列程序,回答问题: 1. 在程序中存在两处错误,试指出,并说明理由: 在MAX+PlusII中编译时,提示的第一条错误为: Error: Line 12: File e:\mywork\test\cnt4.vhd: VHDL syntax error: If statement must have THEN, but found BEGIN instead 12行,IF语句对应的关键字是then而非begin 14行,Q1是矢量,不能直接和整数1相加,需要使用重载函数 2. 修改相应行的程序(如果是缺少语句请指出大致的行数): 错误1 行号: 12 程序改为:BEGIN 改为 THEN 错误2 行号: 3 程序改为:USE IEEE.STD_LOGIC_UNSIGNED.ALL; 1 LIBRARY IEEE; 2 USE IEEE.STD_LOGIC_1164.ALL; 3 4 ENTITY CNT4 IS 5 PORT ( CLK : IN STD_LOGIC ; 6 Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)) ; 7 END CNT4; 8 ARCHITECTURE bhv OF CNT4 IS 9 SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); 10 BEGIN 11 PROCESS (CLK) BEGIN 12 IF RISING_EDGE(CLK) begin 13 IF Q1 < 15 THEN 14 Q1 <= Q1 + 1 ; 15 ELSE 16 Q1 <= (OTHERS => '0'); 17 END IF; 18 END IF; 19 END PROCESS ; 20 Q <= Q1; 21 END bhv; 22 四、编写VHDL程序(20分,每题10分) 1. 试描述一个带进位输入、输出的8位全加器 端口:A、B为加数,CIN为进位输入,S为加和,COUT为进位输出 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADDER8 IS PORT (A, B : IN STD_LOGIC_VECTOR (7 DOWNTO 0); CIN : IN STD_LOGIC; COUT : OUT STD_LOGIC; S : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END ADDER8; ARCHITECTURE ONE OF ADDER8 IS SIGNAL TS : STD_LOGIC_VECTOR (8 DOWNTO 0); BEGIN TS <= (‘0’ & A) + (‘0’ & B) + CIN; S <= TS(7 DOWNTO 0); COUT <= TS(8); END ONE; 系 班 姓 名 座 号 ……………密……………封……………线……………密……………封…………… 2. 看下面原理图,写出相应VHDL描述 LIBARRY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MYCIR IS PORT ( XIN, CLK : IN STD_LOGIC; YOUT : OUT STD_LOGIC); END MYCIR; ARCHITECTURE ONE OF MYCIR IS SIGNAL A, B, C; BEGIN B <= XIN OR A; PROCESS (CLK) BEGIN IF CLK’EVENT AND CLK = ‘1’ THEN A <= C; C <= B; END IF; END PROCESS; YOUT <= C; END ONE; 五、综合题(20分) 已知状态机状态图如图(a)所示;完成下列各题: (一)已知状态机状态图如图a所示;完成下列各题: 图a 状态图 图b 状态机结构图 1. 试判断该状态机类型,并说明理由。 该状态机为moore型状态机,输出数据outa和输入ina没有直接逻辑关系,outa是时钟clk的同步时序逻辑。 2. 根据状态图,写出对应于结构图b,分别由主控组合进程和主控时序进程组成的VHDL有限状态机描述。  Library ieee; Use ieee.std_logic_1164.all; Entity mooreb is Port (clk, reset : in std_logic; Ina : in std_logic_vector (1 downto 0); Outa : out std_logic_vector (3 downto 0) ); End mooreb; 系 班 姓 名 座 号 ……………密……………封……………线……………密……………封…………… Architecture one of mooreb is Type ms_state is (st0, st1, st2, st3); Signal c_st, n_st : ms_state; Begin Process (clk, reset) Begin If reset = ‘1’ then c_st <= st0; Elsif clk’event and clk = ‘1’ then c_st <= n_st; End if; End process; Process (c_st) Begin Case c_st is When st0 => if ina = “00” then n_st <= st0; Else n_st <= st1; End if; Outa <= “0101”; When st1 => if ina = “00” then n_st <= st1; Else n_st <= st2; End if; Outa <= “1000”; When st2 => if ina = “11” then n_st <= st0; Else n_st <= st3; End if; Outa <= “1100”; When st3 => if ina = “11” then n_st <= st3; Else n_st <= st0; End if; Outa <= “1101”; When others => n_st <= st0; End case; End process; End one; 3. 若已知输入信号如下图所示,状态机的工作时序,画出该状态机的状态转换值(c_state)和输出控制信号(out_a); 4. 若状态机仿真过程中出现毛刺现象,应如何消除;试指出两种方法,并简单说明其原理。 方法1,添加辅助进程对输出数据进行锁存 方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺 方法3,使用状态位直接输出型状态机编码方式,其输出直接由当前状态输出,也没有毛刺 注意: 第一页 共四页 Rb 第四页 共四页 第三页 共四页 第三页 共四页 第二页 共四页 第二页 共四页 _1197156827.vsd
/
本文档为【EDA期末考试题A卷】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索