EDA练习题

更新时间:2023-11-23 06:04:01 阅读量: 教育文库 文档下载

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

注:3,4,5,7答案不是正确的哈!!!!!

一.VHDL语言中信号赋值语句与变量赋值语句的区别并举例? 变量赋值语句

目标变量名:=表达式

变量赋值符号“:=”,变量的值随着变量赋值语句的运算发生改变。

右边的表达式必须是一个与目标变量具有相同数据类型的数值,它可以是一个运算表达式,也可以是一个数值。

左边的目标变量可以是单值变量,也可以是一个变量的集合,即数组变量。 a:=“1010101”;— 位矢量a赋值 信号赋值语句

目标信号名<=表达式

数据信息传入目标信号可以设置延时量,因此目标信号获得传入的数据并不是即时的。 E.g x<=9; y<=x;

z<=x AFFTER 5ns;在5ns后将x的值赋予z;关键词AFFTER后是延迟时间值,在这一点上,与变量的赋值很不相同。

二.在VHDL语言中Wait语句具有哪几种形式?其中哪几种形式可进行逻辑综合? WAIT;

WAIT ON;信号表

WAIT UNTIL;条件表达式 WAIT FOR;时间表达式

三.采用IF-THEN-ELSE语句设计一个二输入的4位矢量比较器 八位二进制比较器 Library ieee;

Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; ENTITY cmpab IS

PORT (A,B :in std_logic_vector(7 downto 0); Y1,Y2,Y3 : out std_logic ); END cmpab;

ARCHITECTURE a OF cmpab IS BEGIN

Y1<='1' when a=b else '0'; --并行语句 Y2<='1' when a>b else '0'; Y3<='1' when a

四.采用CASE语句设计一个4线至16线的译码器

五.采用LOOP语句设计一个整数类型到STD_LOGIC_VECTOR类型的转换函数 二到十bmq library ieee;

use ieee.std_logic_1164.all; entity bmq is port( A : in

std_logic_vector(9 downto 0);

B: out

std_logic_vector(3 downto 0)); end bmq;

architecture m1 of bmq is begin

B<=\ \ “0010\ “0011\ “0100\ “0101\n A=\ “0110\ “0111\ “1000\ “1001\ “1111\ end m1;

六.在VHDL语言中,跳出循环的语句有哪几种类型?它们是如何进行定义的? 答:4种,如何进行定义见书上P220-223 LOOP语句

[LOOP的标号:] LOOP 顺序语句

END LOOP [LOOP标号]; FOR_LOOP语句

[LOOP标号:] FOR 循环变量 IN 循环次数范围 LOOP 顺序语句;

END LOOP [LOOP 标号] ; NEXT语句 三种语句格式 NEXT;

NEXT LOOP 标号;

NEXT LOOP 标号 WHEN 条件表达式 EXIT语句 三种语句格式 EXIT;

EXIT LOOP 标号;

EXIT LOOP 标号 WHEN 条件表达式;

七.简述RETURN语句在函数和过程体中的不同之处,并举例进行说明。 Return ;

Return 表达式; 只能用于Function 例题1:

Procedure rs (signal s ,r : in std_logic;

signal q, nq : inout std_logic) is Begin

If (s=‘1’ and r=‘1’) then Return Else

q<=s and nq Nq<=s and q End if;

End procedure rs; 例题2:

Function opt(a,b,opr:std_logic) return std_logic is Begin

If (opr =‘1’) then Return (a and b); Else

Return (a or b); End if;

End Function opt; Return

语句的作用就是结束当前运行的子程序,所不同的是过程无条件返回,并且不返回任何值。函数必须返回一个值

八.在VHDL语言中,断言语句是如何定义的,它的作用是什么? 书写格式:

ASSERT<条件表达式> REPORT<出错信息> SEVERITY<错误级别>

作用:用于程序调试,时序仿真时的人机对话,也属于不可综合语句,综合中被忽略而不会生成逻辑电路,只用于监控某些电路模型是否正常工作等。

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

Top