- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附带:
一.问答题
1 信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是 什么?两种赋值符号有什么区别?
信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。信号赋值语句在进程内 或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
信号赋值符号为“=”变量赋值用“:=”。信号赋值符号用于信号赋值动作,不立即生效。 变量,赋值符号用于变量赋值动作,立即生效。
2 进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?
?
进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信 号间以“,”号分隔。当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程 被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等 待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。
3 什么是库、程序包、子程序、过程调用和函数调用?
?
库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、 调用。子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数只能返回一 个变量。若子程序调用的是一个过程,就称为过程调用,若子程序调用的是一个函数,则称为函 数调用。过程调用、函数调用都是子程序调用。
二.改错题
1.已知 sel 为 STD_LOGIC_VECTOR(1 DOWNTO 0)类型的信号,而 a、b、c、d、q 均为 STD_LOGIC 类型 的信号,请判断下面给出的 CASE 语句程序片段:
2.
CASE sel IS
?
WHEN“00”=q=a;
?
WHEN“01”=q=b;
?
WHEN“10”=q=c;
?
WHEN“11”=q=d;
?
END CASE;
?
答案:CASE 语句缺“WHEN OTHERS”语句。
?
已知 data_in1, data_in2 为 STD_LOGIC_VECTOR(15 DOWNTO 0)
类型的输入端口,data_out 为
STD_LOGIC_VECTOR(15 DOWNTO 0)类型的输出端口,add_sub 为 STD_LOGIC 类型的输入端口,请判断下面 给出的程序片段:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY add IS
PORT(data_in1, data_in2:IN INTEGER; data_out:OUT INTEGER);
END add;
ARCHTECTURE add_arch OF add IS
CONSTANT a:INTEGER=2;
BEGIN
data_out=( data_in1+ data_in2) * a;
END addsub_arch;
3.
答案:常量声明时赋初值的“=”符号应改用“:=”符号。 已知 Q 为 STD_LOGIC 类型的输出端口,请判断下面的程序片段:
ARCHITECTURE test_arch OF test IS BEGIN
SIGNAL B:STD_LOGIC;
Q= B;
END test_arch
答案:信号 SIGNAL 的声明语句应该放在 BEGIN 语句之前。
4.
已知 A 和 Q 均为 BIT 类型的信号,请判断下面的程序片段:
ARCHITECTURE archtest OF test IS BEGIN
CASE A IS
WHEN ‘0’=Q=‘1’;
WHEN ‘1’=Q=‘0’;
END CASE;
END archtest;
答案:CASE 语句应该存在于进程 PROCESS 内。
三.程序设计
1@4 位二进制并行加法器的源程序 ADDER4B.VHD LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ADDER4B IS --4 位二进制并行加法器
PORT(CIN:IN STD_LOGIC; --低位进位
: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --4 位加数
: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --4 位被加数
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --4 位和
CONT: OUT STD_LOGIC);
END ADDER4B;
ARCHITECTURE ART OF ADDER4B IS
SIGNAL SINT:STD_LOGIC_VECTOR(4 DOWNTO 0);
SIGNAL AA,BB
原创力文档


文档评论(0)