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