EDA综合实验设计报告

2020-03-03 11:37:01 来源:范文大全收藏下载本文

Beijing Jiaotong University

EDA实验设计报告

指导老师:刘彪

院:电子信息工程学院 姓

名:黄家维 学

号:13213012 班

级:电子1301

实验地点:电气楼406

实验日期:2014年5月29日星期四

实验一熟悉QuartusII软件的安装及使用(4学时)

我们通过下载及安装,可在电脑上运行Altera Quartus II。打开软件,新建一个工程,在工程底下新建一个VHDL File,即可实现编程功能。编完程序后点击Start Compilation可试运行程序,待编写的程序运行无误后,再在此工程下新建一个Vector Waveform File,给程序中的输入变量赋值,保存后点击Start Simulation即可实现程序的仿真。 实验

二、组合逻辑电路的设计 实验方案设计、实验方法、1.实验方案

8-3优先编码器的VHDL描述有多种方法,设计过程中可以根据真值表采用case…when语句、with…select语句、if…then结构等多种手段实现,也可以根据真值表分析输入输出间的逻辑关系,根据逻辑关系写出其布尔表达式,根据布尔代数式调用基本逻辑门元件实现8-3优先编码器。

本实验中根据真值表用if-then结构实现8-3优先编码器 2.实验方法

首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。 实验步骤

1.设计输入 利用FILE\\New菜单输入VHDL源程序,创建源文件 2.设计项目的创建 1) 原文件存储…..

2) 利用FILE\\Project\\Set Project… 3.设计编译 ….

4.器件选择及管脚分配 …..5.设计仿真 …..6.时序分析 …..7.编程下载(可选)….LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ENCODER IS

PORT(

D:IN TO 7);

A:OUT STD_LOGIC_VECTOR(0 TO 2)

); END ; ARCHITECTURE XIANI OF ENCODER IS BEGIN PROCESS(D) BEGIN IF

(D(7)=\'0\')THEN A

ELSIF (D(6)=\'0\')THEN A

STD_LOGIC_VECTOR(0

ELSIF (D(5)=\'0\')THEN A

ELSIF (D(4)=\'0\')THEN A

ELSIF (D(3)=\'0\')THEN A

ELSIF (D(2)=\'0\')THEN A

ELSIF (D(1)=\'0\')THEN A

ELSIF (D(0)=\'0\')THEN A

ELSE A

END IF; END PROCESS; END;

1用CASE语句设计一个4-16译码器。 设计思路:

通过case语句可实现使能端的控制及4-16译码器的功能,即输入一个四位二进制数,即可使输出的16个端口中相应的端口电平发生变化。用case语句来实现译码器中相应数值选择的功能恰到好处。 程序:

其中实体名为SB2,when \"0000\"=> outt(15 downto 0)

port(inn:in std_logic_vector(3 downto 0);

shi:in std_logic;

outt:out std_logic_vector(15 downto 0)); end entity SB2; architecture sb of SB2 is

begin proce(inn,shi) begin if shi=\'1\' then case inn is when \"0000\"=>

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15

downto

downto

downto

downto

downto

downto

downto 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

outt(15 0)

downto

downto

downto

downto

downto

downto

downto when \"1110\"=> outt(15 downto 0)

outt(15

downto 0)

=>outt(15

downto 0)

当输入inn为0000时,输出outt中的第16个端口变为低电平,即实现了译码的功能。实际仿真波形如下图。

实验3:时序电路设计

设计4位二进制同步加/减法可逆计数器,其中 输入: clr:

异步清零(高电平有效) clk:

时钟输入

d3-d0:

4位二进制数输入端 updown:

加/减法控制信号(‘1’加,‘0’减) 输出: q3-q0:

4位二进制计数输出 co:

进位输出 bo:

借位输出 设计思路:

用if语句实现清零及加减法的选择。若选择updown=1,则当时钟输入为高电平时输入的d就加1,当d=1111时进位输出co就变1,最后将d中的数送给q来输出,以达到4位二进制同步加/减法可逆计数器的设计。 程序:

其中实体名为

CTRDIV16,程序中两个关键的if语句即可实现加减法的控制及进位、借位的输出。具体程序如下: library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity CTRDIV16 is

port(clk:in STD_LOGIC;

updown:in STD_LOGIC;

clr:in STD_LOGIC;

q:out STD_LOGIC_VECTOR downto 0);

co,bo:out std_logic); end CTRDIV16;

(3 architecture sbb of CTRDIV16 is signal d:std_logic_vector(3 downto 0); begin proce(clk,clr,updown) begin if clr=\'1\' then

d

if updown=\'1\' then

d

co

bo

else

d

co

bo

end if;

if d=\"1111\" and updown=\'1\' then

co

bo

end if;

if d=\"0000\" and updown=\'0\' then

bo

co

end if; end if; end proce; proce(d) begin q

若选取updown=1(加法),通过波形即可看出,该程序已经实现了d的加法运算,同时在d=1111时,进位输出co跳转一次,即有一个进位。

若选取updown=0(减法),该程序也实现了d的减法运算,同时在d=0000是,借位输出bo跳转一次,即有一个借位输出。具体仿真波形如下。

updown=1(加法) updown=0(减法)

实验感想:

quartusII可以模拟硬件设计,即为硬件程序烧写模拟软件,操作简单,易于运行。它让我熟练了实际硬件的使用语言和逻辑顺序,并能实现一些简单硬件的程序编制和模拟仿真,使我对VHDL和EDA有了更加具体而深刻的认识,我认为这次实验设计对使我获益匪浅,一定会为我以后的学习生活带来不少的益处。

数字钟实验设计报告

EDA实习报告

EDA实习报告

EDA实习报告

EDA设计报告

EDA课程设计报告

实验设计报告心得体会[材料]

网络营销教学实验2_综合实验设计

eda实习报告封皮

EDA实训报告

《EDA综合实验设计报告.doc》
EDA综合实验设计报告
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文