EDA实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA 实验报告

实验一:组合电路的设计

实验内容是对2选1多路选择器VHDL 设计,它的程序如下:

ENTITY mux21a IS

PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;

ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ;

END ARCHITECTURE one ;

Mux21a 仿真波形图

以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。Mux21a 结构体可以看成是元件的内部电路图。最后是对仿真得出的mux21a 仿真波形图。

Mux21a 实体

Mux21a 结构体

实验二:时序电路的设计

实验内容D触发器的VHDL语言描述,它的程序如下:

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ;

ENTITY DFF1 IS

PORT (CLK : IN STD_LOGIC ;

D : IN STD_LOGIC ;

Q : OUT STD_LOGIC );

END ;

D触发器ARCHITECTURE bhv OF DFF1 IS

BEGIN

PROCESS (CLK)

BEGIN

IF CLK'EVENT AND CLK = '1'

THEN Q <= D ;

END IF;

END PROCESS ;

END bhv;

D触发器的仿真波形图

最简单并最具代表性的时序电路是D触发器,它是现代可编程ASIC设计中最基本的时序元件和底层元件。D触发器的描述包含了VHDL对时序电路的最基本和典型的表达方式,同时也包含了VHDL中许多最具特色的语言现象。D触发器元件如上图所示,其在max+plus2的仿真得出上面的波形

实验三:设计含异步清零和同步时钟使能的加法计数器

实验内容一个带有异步复位和同步时钟使能的十进制加法计数器,它的程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT10 IS

PORT (CLK,RST,EN:IN STD_LOGIC;

CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

COUT:OUT STD_LOGIC);

END CNT10;

ARCHITECTURE behav OF CNT10 IS

BEGIN

PROCESS(CLK,RST,EN)

VARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF RST='1'THEN CQI:=(OTHERS=>'0'); --计数器异步复位

ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿

IF EN='1'THEN --检测是否允许计算(同步使能)

IF CQI<9 THEN CQI:=CQI+1; --允许计数,检测是否小于9

ELSE CQI:=(OTHERS=>'0'); --大于9,计数值清零

END IF;

END IF;

END IF;

IF CQI=9 THEN COUT<='1'; --计数大于9,输出进位信号

ELSE COUT<='0';

END IF;

CQ<=CQI; --将计数值向端口输出

END PROCESS;

END behav;

加法计数器的工作时序

程序说明RST是异步清信号,高电平有效;CLK是锁存信号;D[3..0]是4位数据输入端。当EN为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当EN为'0'时将"0000"加载于锁存器.

实验四:用原图输入法设计8位全加器

实验内容:完成半加器和全加器的设计。

实验目的:熟悉利用max+plus2的原理图输入方法设计简单组合电路,掌握层次化设计的方法。

半加器的原理图如下

半加器的时序仿真波形如下:

将半加器的原理图选择File中的Create Default Symbol项,此时即将当前文件变成了一个包装好的单一元件,并被放置在工程路径指定的目录中以备后用。

H_adder

一位全加器的VHDL描述,它的电路图如下

1位全加器的时序仿真波形如下

一位全加器可以由两个半加器和一个或门连接而成。

8位全加器设计原理图

八位全加器的波形仿真如上图

实验五:用原理图输入法设计较复杂数字系统

实验目的:熟悉原理图输入法中74系列等宏功能元件的使用方法,掌握更复杂的原理图层次化设技术和数字系统设计方法。

实验内容:完成2位十进制频率计的设计,并进行仿真测试,给出仿真波形。

实验原理图:

时序仿真波形图:

实验分析:F_IN是待测频率信号,CNT_EN是对待测频率脉冲计数允许信号CNT_EN高电平时允许计数,低电平时禁止计数。仿真波形显示,当CNT_EN为高电平时允许conter8对F_IN计数,低电平时conter8停止计数,由锁存信号LOCK 发出的脉冲,将conter8中的二个4位十进制数锁存进74374中,并由74374分高低位通过总线H[6..0]和L[6..0]输给74248译码输出显示,即测得的频率值。此后由清零信号CLR对计数器conter8清零,以备下一周期计数之用。

实验六:七段数码显示译码器设计

实验目的:学习7段数码显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。

实验内容:7段数码的程序和其波形方真,它的程序如下:

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ;

ENTITY DecL7S IS

PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;

相关文档
最新文档