eda实验报告

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

EDA技术与VHDL 实验报告

电气工程系

电子信息工程

实验一:1位全加器设计

实验目的:

1.学习QuartusII9.1集成开发环境的使用方法以及如何建立工程和文件;

2.用原理图输入设计法和VHDL 文本输入设计法设计1位全加器;

3.通过电路仿真和硬件验证,进一步了解1位全加器的功能 实验内容:

用原理图输入设计法和VHDL 文本输入设计法分别设计1位全加器,并下载到CH4实验箱上运行。 实验原理:1位全加器可以由两个半加器和一个或门连接而成,因而可根据半加器的电路(如

图3-1所示)或真值表写出或门和半加器的VHDL 描述。然后根据图3-2写出全加器的顶层描述。

I113co

a so

b

1

0101

0110001

100co so b a not

xnor2

and2

图3-1 半加器h_adder 电路图及其真值表

I113

ain cout cout ain bin sum

cin

bin sum

cin

f_adder

or2a

f e d

u3u2u1b

a c

co so

B

co so

B

h_adder A h_adder

A

图3-2 全加器f_adder 电路图及其实体模块 实验步骤:

1.打开实验箱电源;

2.输入移位寄存器VHDL 程序;

3.点击

图标,进行分析和综合;

4. 建立波形文件,进行功能仿真; 5.按接线图配置FPGA 引脚; 6.点击图

标,进行编译;

7.下载****.sof 配置文件到EP3C16Q240C8中;

1 半加器的vhdl 描述有两种,我用的是下面这种,布尔函数描述法:

(1)布尔函数描述方法的VHDL 源程序如下:

LIBRARY IEEE; --半加器描述(1):布尔方程描述方法 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS

PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC);

END ENTITY h_adder;

ARCHITECTURE fh1 OF h_adder is

BEGIN

so <= NOT(a XOR (NOT b)) ; co <= a AND b ;

END ARCHITECTURE fh1;

(2)或门逻辑描述:

LIBRARY IEEE ; --或门逻辑描述

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY or2a IS

PORT (a, b :IN STD_LOGIC;

c : OUT STD_LOGIC );

END ENTITY or2a;

ARCHITECTURE one OF or2a IS

BEGIN

c <= a OR b ;

END ARCHITECTURE one ;

(3)1位二进制全加器顶层设计描述:

LIBRARY IEEE; --1位二进制全加器顶层设计描述

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY f_adder IS

PORT (ain,bin,cin : IN STD_LOGIC;

cout,sum : OUT STD_LOGIC );

END ENTITY f_adder;

ARCHITECTURE fd1 OF f_adder IS

COMPONENT h_adder --调用半加器声明语句

PORT ( a,b : IN STD_LOGIC;

co,so : OUT STD_LOGIC);

END COMPONENT ;

COMPONENT or2a

PORT (a,b : IN STD_LOGIC;

c : OUT STD_LOGIC);

END COMPONENT;

SIGNAL d,e,f : STD_LOGIC; --定义3个信号作为内部的连接线。

BEGIN

u1 : h_adder PORT MAP(a=>ain,b=>bin,co=>d,so=>e);

--例化语句

u2 : h_adder PORT MAP(a=>e,b=>cin,co=>f,so=>sum);

u3 : or2a PORT MAP(a=>d,b=>f,c=>cout);

END ARCHITECTURE fd1;

实验结果:

实验二:移位寄存器模块

实验目的:

1 设计8位CPU设计中常用的移位寄存器模块

2 用case语句设计并行输入输出的移位寄存器

3 体会信号赋值的特性

实验内容:

编写移位寄存器的VHDL实现程序;通过电路仿真和硬件验证,进一步了解移位寄存器的功能。

设计原理:

Library IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY SHIFT IS

PORT (CLK,C0 : IN STD_LOGIC; --时钟和进位输入

MD : IN STD_LOGIC_VECTOR(2 DOWNTO 0);

--移位模式控制字

D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

--待加载移位的数据

QB : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --移位数据输出

CN : OUT STD_LOGIC); --进位输出

相关文档
最新文档