武科大EDA试卷及答案(5)

2019-03-09 17:40

E1

10.下列EDA软件中,哪一个不具有逻辑综合功能:____ B ____。 A. Max+Plus II B. ModelSim C. Quartus II D. Synplify

二、EDA名词解释,写出下列缩写的中文(或者英文)含义:(14分) 1. LPM 参数可定制宏模块库 2. RTL 寄存器传输级

3. UART 串口(通用异步收发器) 4. ISP 在系统编程

5. IEEE 电子电气工程师协会 6. ASIC 专用集成电路 7. LAB 逻辑阵列块 三、VHDL程序填空:(10分)

LIBRARY IEEE; -- 8位分频器程序设计

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PULSE 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; BEGIN

P_REG: PROCESS(CLK)

VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

IF CLK’EVENT AND CLK = ‘1’ THEN IF CNT8 = \

CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT8 FULL <= '1'; --同时使溢出标志信号FULL输出为高电平 ELSE CNT8 := CNT8 + 1; --否则继续作加1计数

FULL <= '0'; --且输出溢出标志信号FULL为低电平 END IF; END IF;

END PROCESS P_REG; P_DIV: PROCESS(FULL)

VARIABLE CNT2 : STD_LOGIC; BEGIN

IF FULL'EVENT AND FULL = '1' THEN

CNT2 <= NOT CNT2; --如果溢出标志信号FULL为高电平,D触发器输出取反 IF CNT2 = '1' THEN FOUT <= '1'; ELSE FOUT <= '0'; END IF; END IF;

END PROCESS P_DIV; END;

四、VHDL程序改错:(10分) 01 LIBRARY IEEE ;

02 USE IEEE.STD_LOGIC_1164.ALL ; 03 USE IEEE.STD_LOGIC_UNSIGNED.ALL; 04 ENTITY LED7CNT IS

05 PORT ( CLR : IN STD_LOGIC; 06 CLK : IN STD_LOGIC;

07 LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; 08 END LED7CNT;

09 ARCHITECTURE one OF LED7CNT IS

10 SIGNAL TMP : STD_LOGIC_VECTOR(3 DOWNTO 0); 11 BEGIN

12 CNT:PROCESS(CLR,CLK) 13 BEGIN

14 IF CLR = '1' THEN 15 TMP <= 0;

16 ELSE IF CLK'EVENT AND CLK = '1' THEN 17 TMP <= TMP + 1; 18 END IF; 19 END PROCESS;

20 OUTLED:PROCESS(TMP) 21 BEGIN

22 CASE TMP IS

23 WHEN \

24 WHEN \25 WHEN \26 WHEN \27 WHEN \28 WHEN \29 WHEN \30 WHEN \31 WHEN \32 WHEN \33 WHEN OTHERS => LED7S <= (OTHERS => '0'); 34 END CASE; 35 END PROCESS; 36 END one;

在程序中存在两处错误,试指出,并说明理由:

提示:在MAX+PlusII 10.2上编译时报出的第一条错误为:

Error:Line 15: File ***/led7cnt.vhd: Type error: type in waveform element must be “std_logic_vector”

第 15 行, 错误:整数0不能直接赋值给TMP矢量 改正:TMP <= (OTHERS => ‘0’);

第 16 行, 错误:ELSE IF 缺少一条对应的END IF语句 改正:将ELSE IF 改为关键字ELSIF 第2页 共5页 五、VHDL程序设计:(16分)

设计一数据选择器MUX,其系统模块图和功能表如下图所示。试采用下面三种方式中的两种来描述该数据选择器MUX的结构体。

(a) 用if语句。 (b) 用case 语句。 (c) 用when else 语句。 Library ieee;

Use ieee.std_logic_1164.all;

Entity mymux is

Port ( sel : in std_logic_vector(1 downto 0); -- 选择信号输入 Ain, Bin : in std_logic_vector(1 downto 0); -- 数据输入 Cout : out std_logic_vector(1 downto 0) ); End mymux;

Architecture one of mymux is Begin

Process (sel, ain, bin) Begin

If sel = “00” then cout <= ain and bin; Elsif sel = “01” then cout <= ain xor bin; Elsif sel = “10” then cout <= not ain; Else cout <= not bin; End if;


武科大EDA试卷及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:古代名言警句大全

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: