VHDL复习题(2)

2019-03-28 13:48

3.16 在CASE 语句中在什么情况下可以不要WHEN OTHERS语句?在什么情况下一定要WHEN OTHERS语句?

答:case语句执行时,根据选择表达式的值来选择执行哪个顺序语句,要求对于选择表达式的每个可能取值,有且仅有一个选择值与之匹配。因此,当已列出的选择值能够覆盖选择表达式的所有可能取值时,可以不要when others语句。否则,要用 when others表示其它未列出的选择值。

3.17 FOR-LOOP语句应用于什么场合?循环变量怎样取值?是否需要事先在程序中定义?

在重复的次数已知的情况下可以使用该语句。循环变量的取值是根据系统的功能要求给定 的,要事先在程序上定义。

3.18 分别用IF语句、CASE语句设计一个四—十六译码器。

a:用IF语句设计一个四-十六译码器 PROCESS(G1,g2a,g2b,sel) begin

if(g1='1'and g2a='0'and g2b='0')then

if(sel=\ y<=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ elsif(sel=\ else y<=\ end if;

else Y<=\ end if;

end process;

b:用CASE语句设计一个四-十六译码器 case sel is

when \ when \ when \ when \

when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when others =>y<=\ end case;

3.19 WAIT语句有几种书写格式?哪些格式可以进行逻辑综合?

wait until 结构 wait on 结构 其中wait until 结构可以进行逻辑组合

3.20 VHDL的预定义属性的作用是什么?哪些项目可以具有属性?常用的预定义属性有哪几类?

(1)作用在于可对信号或其他的项目多种属性进行检测或统计。

(2)具有属性的项目:类型,子类型,过程,函数,信号,变量,常量,实体,结构体,配置, 程序包,元件,语句标号。

(3)常用的属性有信号类属性,数据区间类属性,数值类属性,数组属性

3.21 试用’EVENT 属性描述一种用时钟CLK 上升沿触发的D触发器及一种用时钟CLK下降沿触发的JK触发器。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY dtrigger IS PORT(clk: IN STD_LOGIC; d : IN STD_LOGIC; q : OUT STD_LOGIC); END dtrigger;

ARCHITECTURE behave OF dtrigger IS BEGIN PROCESS(clk) BEGIN

IF clk'EVENT AND clk='1' THEN q:=d; END IF;

END PROCESS; END behave;

3.22 什么叫进程语句?你是如何理解进程语句的并行性和顺序性的双重特性的?

(1)进程实际上是顺序语句描述的一种进程过程,进程是用于描述事件的,process语句结构包含了一个代表实体中部分逻辑行为的独立的顺序语句描述的进程

(2)一个结构体中可以有多个并行进程结构,而有一个进程内部结构却是由一系列顺序语句来构成的,即进程语句间是并行执行的进程的内部是顺序执行的

( 进程语句是一种描述硬件行为的语句,进程语句内部是由顺序语句构成的,内部执行时是顺 序性的,但进程语句属于并行语句,多个进程之间的执行并行运行。 )

3.23 进程的启动条件是什么?如果进程有两个基本点敏感变量,其中一个由“0”变“1”,等待一段时间以后再由“1”变“0”;而另一个只由“1”变“0”改变一次,请问该进程将执行几遍?

答:进程的启动条件:敏感信号列表中的任何一个敏感信号的值发生变化,或者wait语句中的条件为真。 3遍

3.24 有人说,进程中的语句顺序颠倒一下并不会改变所描述电路的功能,这种说法对吗?为什么?

不对。因为PLC的扫描过程是从左到右,从上到下进行的。同一进程中的逻辑描述语句是顺序运行的。

3.25 并行信号赋值语句有几类?比较其异同。

(1)1.简单信号赋值语句2.条件信号赋值语句3.选择信号赋值语句

(2)共同点:赋值目标都是信号,都是并行语句,都相当于一个隐含的进程语句(信号赋值语句中的所有读入信号都作为该进程的敏感信号)。 不同点:简单信号赋值语句是最简单的并行语句,执行时直接将表达式的值赋给信号。 条件信号赋值语句的功能与if语句相同,在执行时按书写的先后顺序测试每个条件,一旦条件为真,则将表达式的值赋给信号。

选择信号赋值语句与case语句相似。当关键字with后的选择表达式的值发生变化时,就将该值和每个选择值进行比较,将选择值匹配的子句中的表达式的值赋给信号。

3.26 分别用条件信号赋值语句、选择信号赋值语句设计一个四—十六译码器。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DECODER IS

PORT(A, B, C,D:IN STD_LOGIC;

Y: OUT BIT_VECTOR (15 DOWNTO 0)); END ENTITY DECODER;

ARCHITECTURE ART1 OF DECODER IS

SIGNAL SR: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

SR<= D&C&B&A;

Y(0)<='1' WHEN SR=\ELSE '0'; Y(1)<='1' WHEN SR=\ELSE '0'; Y(2)<='1' WHEN SR=\ ELSE '0'; Y(3)<='1' WHEN SR=\ELSE '0'; Y(4)<='1' WHEN SR=\ELSE '0'; Y(5)<='1' WHEN SR=\ELSE '0'; Y(6)<='1' WHEN SR=\ELSE '0'; Y(7)<='1' WHEN SR=\ELSE '0'; Y(8)<='1' WHEN SR=\ELSE '0'; Y(9)<='1' WHEN SR=\ ELSE '0'; Y(10)<='1' WHEN SR=\ELSE '0'; Y(11)<='1' WHEN SR=\ELSE '0'; Y(12)<='1' WHEN SR=\ELSE '0'; Y(13)<='1' WHEN SR=\ELSE '0'; Y(14)<='1' WHEN SR=\ELSE '0'; Y(15)<='1' WHEN SR=\ELSE '0'; END ARCHITECTURE ART1;

ARCHITECTURE ART2 OF DECODER IS

SIGNAL SR: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

WITH SR SELECT

Y<= “0000_0000_0000_0001” WHEN “0000”, “0000_0000_0000_0010” WHEN “0001”, “0000_0000_0000_0100” WHEN “0010”, “0000_0000_0000_1000” WHEN “0011”, “0000_0000_0001_0000” WHEN “0100”, “0000_0000_0010_0000” WHEN “0101”, “0000_0000_0100_0000” WHEN “0110”, “0000_0000_1000_0000” WHEN “0111”, “0000_0001_0000_0000” WHEN “1000”, “0000_0010_0000_0000” WHEN “1001”, “0000_0100_0000_0000” WHEN “1010”, “0000_1000_0000_0000” WHEN “1011”, “0001_0000_0000_0000” WHEN “1100”, “0010_0000_0000_0000” WHEN “1101”, “0100_0000_0000_0000” WHEN “1110”, “1000_0000_0000_0000” WHEN OTHERS; END ARCHITECTURE ART2;


VHDL复习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建省大学生志愿服务欠发达地区计划2 0 1 0年实施方案

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

马上注册会员

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