EDA实验报告分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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