EDA实验报告分析

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

E

D

A

班级:

姓名:

学号:

实验一EDA工具基本操作与应用

一、实验目的

1、掌握QUARTUSII设计工具进行电子设计的基本流程。

2、了解可编程器件设计的全过程。

二、实验内容

一个简单的D触发器的设计。

三、实验条件

QUARTUSII软件,GW48试验箱,计算机。

四、实验设计

(1)系统的原理框图

(2)VHDL源程序

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ;

ENTITY DCFQ IS

PORT (D,CLK : IN STD_LOGIC ;

Q : OUT STD_LOGIC );

END ENTITY DCFQ;

ARCHITECTURE ART OF DCFQ IS

BEGIN

PROCESS (CLK) IS

BEGIN

IF ( CLK'EVENT AND CLK = '1') THEN

Q <= D ;

END IF ;

END PROCESS ;

END ARCHITECTURE ART;

(3)管脚锁定

实验设备:CW48系统;试验芯片:EP1C6/12Q240;试验模式:NO.1;

五、实验结果及总结

(1)系统仿真情况

(2)硬件验证情况

CLK 0 1 0 1 0 1 0 1 0 D 1 0 0 0 1 0 0 1 1 Q 0 0 0 0 0 1 0 1 0

(3)实验过程中出现的问题及解决办法

在仿真的过程中,把时钟频率调低时,发现有延迟。

实验二8位加法器的设计

一、实验目的

1、掌握QUARTUSII设计工具进行电子设计的基本流程。

2、了解可编程器件设计的全过程。

二、实验内容

设计一个简单的8位加法器

三、实验条件

QUARTUSII软件,GW48试验箱,计算机。

四、实验设计

一、基本原理:调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码管上显示出来。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。进程process(p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。

一个简单加法器,能够实现加法运算并显示结果,在按键控制下,由开关

变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显

示,按下加法按键后,以十进制方式显示结果。

根据要求首先加法器中必须有二进制(8位)转换成十进制电路,其次加

法器中需要用开关变量来控制加数和被加数的输入,再次输入的二进制加数和被

加数必须经过转换成十进制后显示,最后加法完成结果以十进制显示。其二进制

(8位)全为1时转换成十进制表示为255,先设三位分别表示十进制数的百位、

十位和个位。将二进制数分别减去100的二进制数,循环直至二进制数小于100,

百位循环一次加一,根据同样的道理得出十位和个位。

加数和被加数的输入和显示,利用高低电平控制显示器,当电平为高电平时

显示加数和被加数的和,利用选择器来分别选择输出显示,当低电平时分别显示

输入的二进制加数和被加数。

加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。多位加法器的构成有两种方式:并行进位和串行进位。并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。并行进位加法器通常比串行级联加法器占用更多的资源。随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

程序总体设计框图如图2.1所示:

数字显示电路

动态扫描显示电路

8位二进制加

法器

输入

图2.1 程序总体设计框图

二、单元电路设计

一个简单8位加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键(ST)后,以十进制方式显示结果。

调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现

加法器功能,从而不用去编写全加器,即程序尽量简单化。并用函数

CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在

数码管上显示出来。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。进程process(p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。

8位二进制加法器电路如图3.1所示:

ST

D[7..0]BAI[3..0] SHI[3..0] GE[3..0]

adder_8

inst

图3.1 八位二进制加法器电路图

8位二进制加法器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY adder_8 IS

PORT(

ST : IN STD_LOGIC;

D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

BAI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

SHI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

GE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END adder_8;

ARCHITECTURE BHV OF adder_8 IS

相关文档
最新文档