VHDL试卷

更新时间:2024-05-20 14:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西安电子科技大学

考试时间 120 分钟

试 题

题号 一 二 三 四 五 六 七 八 九 十 分数 总分 1.考试形式:开卷;2.本试卷共 三 大题,满分100分。

班级 学号 姓名 任课教师

一、 简答题(30分,每题6分)

1. 一个最简单的VHDL语言由哪几部分组成?请简述各部分的主要功能。

有实体说明和构造体两部分组成。实体说明部分规定了设计单元的输入、输出接口信号或引脚,而构造体部分定义了设计单元的具体构造和操作(行为)。

2. 请简述自上至下硬件电路设计方法的基本过程。

规格设计;行为级描述;行为级仿真;RTL级描述;RTL级仿真;逻辑综合、优化;门级仿真、定时检查;输出门级网络表。 3. 请简述COMPONENT语句的主要功能。

该语句指定了本构造体中使用了哪一个现成的逻辑描述模块。 4. VHDL语言构造体的描述方式有哪几种?试述各自的特点。 答:1,行为描述:采用进程语句,顺序描述被称为设计实体的行为, 2,数据流描述(寄存器传输描述):采用进程语句。顺序描述数据流在控制流作用下被加工处理,存储的全过程

第1页 共4页

第2页 共4页

5. VHDL语言的变量和信号有什么区别?

答:1,信号赋值是有一定延迟的,而变量赋值是没有延迟的, 2,对于进程语句来说,进程只对信号敏感,而不对变量敏感

3,信号在莫一时刻除了具有当前值外,还有一定的历史信息,而变量在某一时刻只包含一个值,

4,信号可以是多进程的的全局信号,而变量只在定义它的过程,函数,和进程中可见,5,信号时硬件中连线的抽象描述,其功能是保存变化的数据值和连接子元件,信号在元件的端口连接元件,变量在硬件中没有类似的对应关系,主要应用于高层次的建模中

二、 程序分析题(假设程序中出现的信号以及变量均已定义)(30分,每

题6分)

1. 简述VHDL语句a <= Transport b XOR c AFTER m; 完成的主要功能。

将b与c与或运算后传输延时ms后把异或运算的结果赋给信号a

2. 分析以下程序段的主要功能: process begin

if (clk’event and clk=’1’) then

q<=d; end if;

wait on clk; end process;

本程序段的主要功能是:在时钟信号CLK的上升沿到来时,将将信号d代入到q。

3. 简述以下程序段的主要功能:

PROCESS (clock_signal) BEGIN

IF (clock_edge_condition) THEN

IF (reset_condition) THEN Signal_out <= reset_value; ELSE Signal_out <= signal_in; -- 其他语句 END IF; END IF;

END PROCESS;

这个程序段的主要功能是:在满足时钟的边沿信号的条件下,如果复位信号有效,则信号Signal_out,否则将输入信号signal_in代入Signal_out。 4. 分析以下程序段的功能缺陷:

BEGIN

IF ( sel =‘1’) THEN y <= ‘0’; ELSE

y <= ‘1’; END IF

这个程序段的缺陷是sel =‘1’输出y <= ‘0’;而其他信号则输出y <= ‘1’,其他信号包括sel =‘0’和一个不确定信号“X”

5. 判断以下VHDL语句短标识符命名的对错:

第3页 共4页

第4页 共4页

(1)name1; 对 (2) nam_e1; 对 (3)1name; 错 (4)1_name; 错(5)_1name; 错(6)n_1name;对

三、 编程题(40分)

1. 以下是4位D寄存器74LS161的引脚说明以及真值表,请编写实现该芯片功能的VHDL主要功能程序段。(25分)

LABRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL

ENTITY jishuqi IS

PORT(MR,CP,IE1,IE2:IN STD_LOGIC;

D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);)

END ENTITY jishuqi;

ARCHITECTURE m1 OF jishuqi IS

BEGIN

第5页 共4页

第6页 共4页

PROCESS(CP,MR) IS

SIGNAL Q_1:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF(MR:=’1’) THEN

Q_1<=”0000”;

ELSEIF(IE1:=’1’OR IE2:=’1’OR CP:=’0’)

Q_1<=Q;

ELSEIF(CP’EVENT AND CP:=’1’)

Q_1<=D;

ENDIF

Q<=Q_1;

END PROCESS ;

END ARCHITECTURE m1;

2.请编写实现3-8译码器功能的VHDL程序段。(15分)

第7页 共4页

本文来源:https://www.bwwdw.com/article/njh7.html

Top