VHDL作业及答案2只是分享.docx
- 文档编号:15772101
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:13
- 大小:31.90KB
VHDL作业及答案2只是分享.docx
《VHDL作业及答案2只是分享.docx》由会员分享,可在线阅读,更多相关《VHDL作业及答案2只是分享.docx(13页珍藏版)》请在冰点文库上搜索。
VHDL作业及答案2只是分享
第5章PPT课件作业
1.VHDL程序一般包含几个组成部分?
各部分的作用是什么?
实体,结构体,库,程序包,配置
实体:
用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
结构体:
用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
库:
存放已经编译的实体、构造体、程序包集合和配置。
程序包:
存放各设计模块都能共享的数据类型、常数和子程序库;
配置:
实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。
2.端口模式有哪几种?
buffer类型与inout类型的端口有什么区别?
Out,in,inout,buffer
out(输出):
只能被赋值,用于不能反馈的输出;
in(输入):
只能读,用于时钟输入、控制输入单向数据输入;
inout(输入输出):
既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲):
类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
3.下列标识符中,哪些是非法的?
Led3coder__1endportstd_machine2adderdecoder*8
and_2__decoder_1and2and_2and__2and-2
4.指出下面的实体描述中存在的四处语法错误并改正
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21aIS
PORT(a,b,s:
INBIT;
y:
OUTBIT;);(1.删除括号内的分号)
ENDENTITYmux;(2.改为mux21a)
ARCHITECTUREoneOFmux21aIS
BEGIN
PROCESS(a,b,s)
Begin
ifs=‘0’theny<=a;
elsey<=b;
endif;
endprocess(结束少了一个分号)
ENDARCHITECTUREnone;(none改为one)
5.写出下图所示的设计实体mux41的实体声明。
所有端口都采用bit或bit_vector类型。
ENTITYmux41IS
PORT(A,B,C,D:
INBIT;
SEL:
INBIT_VECTOR(1DOWNTO0);
Q:
OUTBIT);
ENDENTITYmux41;
6.表达式C<=A+B中,A、B、C的数据类型都是STD_LOGIC_VECTOR,是否能直接进行加法运算?
说明原因和解决方法。
答:
不能直接进行加法运算。
因为+号只能对整数类型进行直接相加,如果要对STD_LOGIC_VECTOR数据类型进行+法操作,需要调用运算符重载,即在程序的开头打开IEEE.STD_LOGIC_UNSIGNED.ALL程序包,或者把STD_LOGIC_VECTOR数据类型改为整数类型。
7.能把任意一种进制的值向一整数类型的对象赋值吗?
如果能,怎样做?
答:
能。
见书上P322页
8.判断下列VHDL的数值表示是否合法,如果有误指出原因(P322)
16#0FA#10#12F#8#789#8#356#2#0101010#
9.数据类型BIT,INTEGER,BOOLEAN分别定义在那个库中?
哪些库和程序包总是可见的?
答:
BIT,INTEGER,BOOLEAN分别定义在STD库的STANDARD程序包中(见书上P324-325)
WORK库,STD库总是可见的(P316-317)
10.习题3-1,3-2,3-6(P92)
答:
3-6考试有此种类型的程序题。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDFF3IS
PORT(CLK0,CL:
INSTD_LOGIC;
OUT1:
OUTSTD_LOGIC);
END;
ARCHITECTUREbhvOFDFF3IS
SIGNALQ:
STD_LOGIC;(此处只能定义信号)
BEGIN
PROCESS(CLK0)
BEGIN
IFCLK0'EVENTANDCLK0='1'THEN
Q<=QNORCL;
ENDIF;
ENDPROCESS;
OUT1<=NOTQ;
END;
11.VHDL语言数据对象有哪几种?
作用范围如何?
对其赋初值作用有何不同?
答:
VHDL语言数据对象有信号,变量,常量。
要回答的特别详细
12.判断下面三个程序中是否有错误,若有则指出错误所在。
程序1:
signala,en:
std_logic;
process(a,en)
variableb:
std_logic;
begin
ifen=1thenb<=a;(错误2处。
1.en为std_logic类型,此类型赋值为en=‘1’;2.b为变量,变量赋值采用:
=)
endif;
endprocess;
程序2:
architectureoneofsampleis
variablea,b,c:
integer;(结构体里面不能定义变量,只能定义信号)
begin
c<=a+b;
endarchitectureone;
程序3:
libraryieee;
Useieee.std_logic_1164.all;
Entitymux21is
Port(a,b:
instd_logic;
sel:
instd_logic;
c:
outstd_logic);
endEntitysam2;(1.sam2改为mux21)
architectureoneofsampleis(2.sample改为mux21)
begin
process(a,b.sel)(6.if语句应该放在process中)
begin
ifsel=‘0’thenc:
=a;(3.端口赋值采用<=,改为c<=a)
elsec:
=b;(4.端口赋值采用<=,改为c<=b)
endif;
endprocess;
endarchitecturetwo;(5.two改为mux21)
13.在VHDL中,如何描述时钟信号上升沿和下降沿?
请分别列举两种不同的方法
14.叙述进程语句的语法格式,并说明各组成部分的功能和作用。
(回答要详细)
process[(敏感信号表)]
[进程说明部分]
begin
{顺序处理语句}
endprocess[标号];
1.敏感信号表内为信号列表,该表内的信号的变化将引起进程的执行。
多数VHDL综合器要求敏感信号表必须列出本进程中所有输入信号名。
2.进程说明用来定义在该进程中需要用到的局部量,如变量、常数等,在此处定义的变量是局部量,只能在该进程中使用,其他地方不能使用。
特别强调在进程说明部分只能定义局部变量,不能定义信号和共享变量。
3.顺序描述语句是一段顺序执行的语句,具体描述进程的行为.如:
信号赋值,变量赋值,if语句,case语句等。
15.进程的敏感信号表具有什么作用?
列出敏感信号时应注意什么?
(回答要详细)
答:
敏感信号表中有多个敏感信号时,其中任一个信号的变化都会引起进程启动,写敏感信号表时,尽量将在进程中被读取的信号列全。
若无敏感信号表,就必须放一个WAIT语句在进程内作为进程启动语句
16.进程设计要点是什么?
(回答要详细)
ØPROCESS为一无限循环语句
ØPROCESS中的顺序语句具有明显的顺序/并行运行双重性进程内部只能加载顺序语句,但进程本身是并行语句出现在结构体中,它与其他并行结构或进程之间在结构体中是并行运行的
Ø进程语句本身是并行语句
Ø一个进程中只允许描述对应于一个时钟信号的同步时序逻辑
Ø进程必须由敏感信号的变化来启动敏感信号表中有多个敏感信号时,其中任一个信号
的变化都会引起进程启动,写敏感信号表时,尽量将在进程中被读取的信号列全。
无
敏感信号表,就必须放一WAIT语句在进程内作为进程启动语句
Ø信号是多个进程间的通信线在结构体中多个进程可以并行运行,多个进程之间的通
信是通过信号来实现。
因此,在任一进程的进程说明部分不允许定义信号
第6章PPT课件作业
1.顺序语句和并行语句分别有哪些?
顺序语句和并行语句主要有什么区别?
2.用IF和when-else语句编写全加器(自己结合PPT,编程实现。
)
3.用元件例化法实现4位加法器。
(自己结合2位加法器的方法,编程实现。
)
4.阅读下面的程序,分析其实现的逻辑功能,并说明是时序逻辑还是组合逻辑
libraryieee;
Useieee.std_logic_1164.all;
Entitydecoderis
Port(a:
instd_logic_vector(9downto0);
c:
outintegerrange0to9);
endEntitydecoder;
architectureoneofdecoderis
begin
withaselect
c<=0when“0000000001”,
1when“0000000010”,
2when“0000000100”,
3when“0000001000”,
4when“0000010000”,
5when“0000100000”,
6when“0001000000”,
7when“0010000000”,
8when“0100000000”,
9when“1000000000”,
0whenothers;
endarchitectureone;
组合电路:
译码电路。
从低位到高位依次判断10位2进制数的哪一位是高电平,并输出高电平所在数据位置。
5.结构体的描述方式有几种方式?
各有什么特点?
1.行为描述方式:
只需描述输入与输出的行为,不关注具体的电路实现,一般通过一组顺序的VHDL进程来反映设计的功能和算法;
2.数据流描述方式:
这种描述将数据看成从设计的输入端到输出端,通过并行语句表示这些数据形式的改变,即信号到信号的数据流动的路径和形式进行描述;
3.结构描述方式:
多用在多层次的设计中,通过调用库中得元件或已经设计好的元件,进行组合来完成实体功能的描述,它只表示元件和元件之间的互连.
6.下面是三人表决器的VHDL描述,分析其实现机制,并说明三个不同的结构体分别用
了什么描述方法。
libraryieee;
Useieee.std_logic_1164.all;
Entityvoter3is
Port(a,b,c:
inbit;
m:
outbit);
endEntityvoter3;
结构体描述方法1:
(属于结构体的数据流描述方式。
)
architectureoneofvoter3is
begin
witha&b&cselect
m<=’1’when“110”|“101”|“011”|“111”,’0’whenothers;
endarchitectureone;
结构体描述方法2:
(采用了进程,属于结构体的行为描述方式)
architecturetwoofvoter3is
begin
process(a,b,c)
constantlookuptable:
bit_vector(0to7):
=“00010111”;
variableindex:
natural;]
begin
index:
=0;
ifa=’1’thenindex:
=index+1;endif;
ifb=’1’thenindex:
=index+2;endif;
ifc=’1’thenindex:
=index+4;endif;
m endprocess; endarchitecturetwo; 结构体描述方法3: (采用元件例化,调用了其他元件,属于结构体的结构描述方式) architecturethreeofvoter3is componentand2port(in1,in2: inbit;out1: outbit); endcomponent; componentor2port(in1,in2,in3: inbit;out1: outbit); endcomponent; signalw1,w2,w3: bit; begin gate1: and2portmap(a,b,w1); gate2: and2portmap(b,c,w2); gate3: and2portmap(a,c,w3); gate4: or3portmap(w1,w2,w3,m); endarchitecturethree; 第8章PPT课件作业 1.设计一个比较电路,当输入的8421BCD码值大于4时,输出为1,否则输出为0 (自己编写。 ) LIBRARYIEEE;--8421比较电路方法1 USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_ARITH.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYcomparaIS PORT(a: INSTD_LOGIC_VECTOR(3DOWNTO0); Y: OUTSTD_LOGIC); ENDENTITYcompara; ARCHITECTUREoneOFcomparaIS BEGIN process(a) begin if((a>4)and(a<=9))theny<='1'; elsey<='0'; endif; endprocess; ENDARCHITECTUREone; LIBRARYIEEE;----8421比较电路方法2 USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_ARITH.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYcompara2IS PORT(a: INSTD_LOGIC_VECTOR(3DOWNTO0); Y: OUTSTD_LOGIC); ENDENTITYcompara2; ARCHITECTUREoneOFcompara2IS BEGIN 可见“体验化消费”广受大学生的欢迎、喜欢,这是我们创业项目是否成功的关键,必须引起足够的注意。 process(a) 目前,上海市创业培训中心已开办大学生创业培训班,共招收上海交通大学、上海商业职业技术学院等应届毕业生62人。 begin ifa="0000"theny<='0'; 因为是连锁店,老板的“野心”是开到便利店那样随处可见。 所以办了积分卡,方便女孩子到任何一家“漂亮女生”购物,以求便宜再便宜。 elsifa="0001"theny<='0'; 附件 (一): elsifa="0010"theny<='0'; elsifa="0011"theny<='0'; elsifa="0100"theny<='0'; 而手工艺制品是一种价格适中,不仅能锻炼同学们的动手能力,同时在制作过程中也能体会一下我国传统工艺的文化。 无论是送给朋友还是亲人都能让人体会到一份浓厚的情谊。 它的价值是不用金钱去估价而是用你一颗真诚而又温暖的心去体会的。 更能让学生家长所接受。 elsifa="0101"theny<='1'; elsifa="0110"theny<='1'; elsifa="0111"theny<='1'; elsifa="1000"theny<='1'; (二)DIY手工艺品的“热卖化”elsifa="1001"theny<='1'; elsifa="1010"theny<='0'; elsifa="1011"theny<='0'; elsifa="1100"theny<='0'; 动漫书籍□化妆品□其他□elsifa="1101"theny<='0'; 朋友推荐□宣传广告□逛街时发现的□上网□elsifa="1110"theny<='0'; 功能性手工艺品。 不同的玉石具有不同的功效,比如石榴石可以促进血液循环,改善风湿和关节炎;白水晶则可以增强记忆力;茶晶能够帮助镇定情绪,缓解失眠、头昏等症状。 顾客可以根据自己的需要和喜好自行搭配,每一件都独一无二、与众不同。 elsey<='0'; endif; (3)年龄优势endprocess; ENDARCHITECTUREone; 2.编程实现3-8译码器。 (结合数码管译码器的方法,查询资料编写) 3.编程实现2个数相加的加法器。 其中加数和被加数均为4位二进制数。 (结合PPT的 位加法器,编程实现) 4.8位右移寄存器(自己编写。 )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 作业 答案 只是 分享