最新《EDA技术》复习期末资料.docx
- 文档编号:533467
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:17
- 大小:77.26KB
最新《EDA技术》复习期末资料.docx
《最新《EDA技术》复习期末资料.docx》由会员分享,可在线阅读,更多相关《最新《EDA技术》复习期末资料.docx(17页珍藏版)》请在冰豆网上搜索。
最新《EDA技术》复习期末资料
《EDA技术应用》复习提纲
一、VHDL程序分析处理
1画出与以下实体描述对应的原理图符号元件:
ENTITYbuf3sIS--实体1:
三态缓冲器
PORT(input:
INSTD_LOGIC;--输入端
enable:
INSTD_LOGIC;--使能端
output:
OUTSTD_LOGIC);--输出端
ENDbuf3s;
ENTITYmux21IS--实体2:
2选1多路选择器
PORT(in0,in1,sel:
INSTD_LOGIC;
output:
OUTSTD_LOGIC);
2哪一种复位方法必须将复位信号放在敏感信号表中?
给出这两种电路的VHDL描述。
解:
边沿触发复位信号要将复位信号放在进程的敏感信号表中。
(1)边沿触发复位信号
…………………….
ARCHITECTUREbhv0FDFF3IS
SIGNALQQ:
STD_LOGIC;
BEGIN
PROCESS(RST)
BEGIN
IFRST’EVENTANDRST=‘1'THEN
QQ<=(Others=>‘0’);
ENDIF;
ENDPROCESS;
Q1<=QQ;
END;
………………………
(2)电平触发复位信号
…………………….
ARCHITECTUREbhv0FDFF3IS
SIGNALQQ:
STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IFRST=‘1'THEN
QQ<=(Others=>‘0’);
ENDIF;
ENDPROCESS;
Q1<=QQ;
END;
………………………
3判断下面三个程序中是否有错误,若有则指出错误所在,并给出完整程序。
程序1:
SignalA,EN:
std_logic;
…………………
Process(A,EN)
VariableB:
std_logic;
Begin
ifEN=lthenB<=A;endif;--将“B<=A”改成“B:
=A”
endprocess;
程序2:
Architectureoneofsampleis
variablea,b,c:
integer;
begin
c<=a+b;--将“c<=a+b”改成“c:
=a+b”
end;
程序3:
libraryieee;
useieee.std_logic_1164.all;
entitymux21is
PORT(a,b:
instd_logic;sel:
instd_loglc;c:
outstd_logle;);--将“;)”改成“)”
endsam2;--将“sam2”改成“entitymux21”
architectureoneofmux2lis
begin
--增加“process(a,b,sel)begin”
ifsel='0'thenc:
=a;elsec:
=b;endif;--应改成“ifsel='0'thenc<=a;elsec<=b;endif;”
--增加“endprocess;”
endtwo;--将“two”改成“architectureone”
二、电路设计应用
【例3-1】2选1多路选择器
图3-1mux21a实体图3-2mux21a结构体
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21aIS
PORT(a,b,s:
INBIT;
y:
OUTBIT);
ENDENTITYmux21a;
ARCHITECTUREone0Fmux21aIS
BEGIN
PROCESS(a,b,s)
BEGIN
IFs=‘0’THEN
y<=a;
ELSE
y<=b;
ENDIF;
ENDPROCESS;
3-2图3-16所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序,选择控制信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=’0’,s0=’0’;s1=’0’,s0=’1’;s1=’1’,s0=’0’和s1=’1’,s0=’1’时,分别执行y<=a、y<=b、y<=c、y<=d。
图3-164选1多路选择器
--解1:
用IF_THEN语句实现4选1多路选择器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux41IS
PORT(a,b,c,d:
INSTD_LOGIC;
s0:
INSTD_LOGIC;
s1:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDENTITYmux41;
ARCHITECTUREif_mux41OFmux41IS
SIGNALs0s1:
STD_LOGIC_VECTOR(1DOWNTO0);--定义标准逻辑位矢量数据
BEGIN
s0s1<=s1&s0;--s1相并s0,即s1与s0并置操作
PROCESS(s0s1,a,b,c,d)
BEGIN
IFs0s1="00"THENy<=a;
ELSIFs0s1="01"THENy<=b;
ELSIFs0s1="10"THENy<=c;
ELSEy<=d;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREif_mux41;
--解2:
用CASE语句实现4选1多路选择器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux41IS
PORT(a,b,c,d:
INSTD_LOGIC;
s0:
INSTD_LOGIC;
s1:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDENTITYmux41;
ARCHITECTUREcase_mux41OFmux41IS
SIGNALs0s1:
STD_LOGIC_VECTOR(1DOWNTO0);--定义标准逻辑位矢量数据类型
BEGIN
s0s1<=s1&s0;--s1相并s0,即s1与s0并置操作
PROCESS(s0s1,a,b,c,d)
BEGIN
CASEs0s1IS--类似于真值表的case语句
WHEN"00"=>y<=a;
WHEN"01"=>y<=b;
WHEN"10"=>y<=c;
WHEN"11"=>y<=d;
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREcase_mux41;
3-7给出1位全减器的VHDL描述;最终实现8位全减器。
要求:
1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差(diff=x-y),s_out是借位输出(s_out=1,x yin b 图3-191位全加器 c --解(1.1): 实现1位半减器h_suber(diff=x-y;s_out=1,x LIBRARYIEEE;--半减器描述 (1): 布尔方程描述方法 USEIEEE.STD_LOGIC_1164.ALL; ENTITYh_suberIS PORT(x,y: INSTD_LOGIC; diff,s_out: OUTSTD_LOGIC); ENDENTITYh_suber; ARCHITECTUREhs1OFh_suberIS BEGIN Diff<=xXOR(NOTy); s_out<=(NOTx)ANDy; ENDARCHITECTUREhs1; --解(1.2): 采用例化实现图4-20的1位全减器 LIBRARYIEEE;--1位二进制全减器顺层设计描述 USEIEEE.STD_LOGIC_1164.ALL; ENTITYf_suberIS PORT(xin,yin,sub_in: INSTD_LOGIC; sub_out,diff_out: OUTSTD_LOGIC); ENDENTITYf_suber; ARCHITECTUREfs1OFf_suberIS COMPONENTh_suber--调用半减器声明语句 PORT(x,y: INSTD_LOGIC; diff,s_out: OUTSTD_LOGIC); ENDCOMPONENT; SIGNALa,b,c: STD_LOGIC;--定义1个信号作为内部的连接线。 BEGIN u1: h_suberPORTMAP(x=>xin,y=>yin,diff=>a,s_out=>b); u2: h_suberPORTMAP(x=>a,y=>sub_in,diff=>diff_out,s_out=>c); sub_out<=cORb; ENDARCHITECTUREfs1; 三、状态机设计应用 【例7-2】根据图7-5状态图,采用Moore型状态机,设计ADC0809采样控制器。 图7-5控制ADC0809采样状态图 LIBRARYIEEE; USEIEEE.STD_LOGIC_1164.ALL; ENTITYADC0809IS PORT(D: INSTD_LOGIC_VECTOR(7DOWNTO0);--来自0809转换好的8位数据 CLK: INSTD_LOGIC;--状态机工作时钟 RST: INSTD_LOGIC;--系统复位控制 EOC: INSTD_LOGIC;--转换状态指示,低电平表示正在转换 ALE: OUTSTD_LOGIC;--8个模拟信号通道地址锁存信号 START: OUTSTD_LOGIC;--转换开始信号 OE: OUTSTD_LOGIC;--数据输出三态控制信号 ADDA: OUTSTD_LOGIC;--信号通道最低位控制信号 LOCK_T: OUTSTD_LOGIC;--观察数据锁存时钟 Q: OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位数据输出 ENDADC0809; ARCHITECTUREbehavOFADC0809IS TYPEstatesIS(st0,st1,St2,st3,st4);--定义各状态子类型 SIGNALcs,next_state: states: =st0; SIGNALREGL: STD_LOGIC_VECTOR(7DOWNTO0); SIGNALLOCK: STD_LOGIC;--转换后数据输出锁存时钟信号 BEGIN ADDA<='1';--当ADDA<='0',选择模拟信号通道IN0;当ADDA<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA技术 最新 EDA 技术 复习 期末 资料