EDA实验Word文件下载.docx

上传人:b****6 文档编号:19233981 上传时间:2023-01-04 格式:DOCX 页数:15 大小:50.07KB
下载 相关 举报
EDA实验Word文件下载.docx_第1页
第1页 / 共15页
EDA实验Word文件下载.docx_第2页
第2页 / 共15页
EDA实验Word文件下载.docx_第3页
第3页 / 共15页
EDA实验Word文件下载.docx_第4页
第4页 / 共15页
EDA实验Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

EDA实验Word文件下载.docx

《EDA实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA实验Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

EDA实验Word文件下载.docx

(2)输入信号节点。

(3)设置仿真参数。

一般首先选择菜单option\snaptogrid取消前面的“√”,以便能任意设置输入电平或设置输入时钟信号的周期。

(4)设定仿真时间。

(5)设置输入信号波形。

(6)保存波形文件。

(7)运行仿真器。

选择主菜单Qaurtus\simulator,单击start按钮。

(8)观察波形。

(9)延时精确测量。

若要精确测量电路的输入与输出的延时,可选择主菜单Qaurtus\timinganalyzer。

在仿真通过后,可以对器件进行编程和硬件测试。

在编程前要完成目标芯片的引脚锁定,并重新编译。

引脚锁定的方法是选择菜单assign\pin\location/chip。

编程时要用下载电缆线把计算机并行口(打印口)与目标板(实验板)连接起来,选择主菜单Qaurtus\programmer,再选择菜单options\hardwaresetup,选择byteblaster(mv)编程方式。

在编程器窗口中单击configure按钮,如果没有故障会出现配置完成的信息提示,表明编程(配置)完毕,之后就可以进行硬件测试了。

本实验的电路方案可参考下图:

四、

实验内容、步骤与结果

1、建立文件夹:

E:

\2005045101XX。

2、启动Qaurtus,打开图形编辑器输入设计并存盘。

3、项目编译

1)将设计文件设成项目。

2)选择目标器件:

ACEX-EP1K10TC100-3。

3)参数设置:

取默认值。

4)编译。

4、时序仿真

1)建立波形文件:

*.SCF。

2)参数设置。

3)打开仿真窗口并”START”。

4)查看仿真结果

请记录仿真波形,并添加到实验报告中。

5、器件编程

1)连好电缆,锁定引脚并重新编译。

2)打开“PROGRAMER”窗口。

3)选择编程/配置目标文件(*.POF/SOF)。

4)点击“PROGRAM”或”CONFIGURE”。

6、硬件测试。

请说明测试方法并记录测试结果,在实验报告中写出。

五、实验结果分析与结论

1、Qaurtus的基本功能和一般操作步骤。

2、原理图文件的建立方法。

3、仿真的方法。

4、其它。

实验二

内容参考课本P291的(实验3)

实验三

实验三VHDL的并行语句

一、实验目的

掌握VHDL中并行语句的特点、功能和使用方法;

进一步熟悉QuartusII的使用方法。

二、实验要求

用选择信号赋值语句或条件信号赋值语句设计一个2线-4线译码器,并完成设计输入、编译、仿真等过程。

三、实验原理与方案

VHDL的基本描述语句分成顺序语句和并行语句两大类。

顺序语句只能包含在进程中,并行语句直接出现在结构体中。

在结构体中的并行语句的执行是同步的,与书写顺序无关。

选择信号赋值语句和条件信号赋值语句属于并行语句,它们的格式如下:

选择信号赋值语句:

WITH选择表达式SELECT

赋值目标信号<

=表达式1WHEN选择值1,

表达式2WHEN选择值2,

表达式nWHEN选择值n;

选择信号赋值语句不能在进程中应用,但其功能与进程中的CASE语句相似。

选择信号语句中也有敏感量,即关键词WITH后的选择表达式,每当选择表达式的值发生变化时,就将自动对各子句的选择值进行测试对比,并将满足条件的子句对应的表达式的值赋给目标信号。

选择信号赋值语句对各子句中选择值的测试具有同期性,因此,不允许有条件重叠或条件覆盖不全的情况。

条件信号赋值语句:

=表达式1WHEN赋值条件1ELSE

表达式2WHEN赋值条件2ELSE

表达式n;

在结构体中的条件信号赋值语句的功能类似进程中的IF语句,在执行条件信号语句时,每一赋值条件是按书写的先后关系逐项测定的,一旦发现赋值条件为真,立即将对应的表达式的值赋给目标信号。

由此可知,条件信号语句的赋值条件允许有重叠现象,这与CASE语句有很大的不同。

注意选择信号赋值语句的每一子句结尾都是逗号,最后一句是分号;

而条件赋值语句每一子句的结尾没有任何标点,只有最后一句有分号。

2线-4线译码器是2个输入、4个输出的组合电路,假设输入信号为b、a,输出信号为y0-y3,则其真值表如表3-1所示:

表3-12线-4线译码器的真值表

ba

y0y1y2y3

00

0111

01

1011

10

1101

11

1110

下面是使用选择信号赋值语句的示例程序,可供实验参考。

libraryieee;

useieee.std_logic_1164.all;

entitydecode24is

port(a,b:

instd_logic;

y:

outstd_logic_vector(0to3));

enddecode24;

architecturertlofdecode24is

signalindata:

std_logic_vector(1downto0);

begin

indata<

=b&

a;

WITHindataSELECT

y<

=”0111”when“00”,

”1011”when“01”,

”1101”when“10”,

”1110”when“11”,

”XXXX”whenothers;

endrtl;

四、实验内容、步骤与结果

(一)使用选择信号赋值语句实现实验要求

1、建立文件夹:

2、启动QuartusII,打开文本编辑器输入设计并存盘。

3、项目编译

1)将设计文件设成项目。

2)选择目标器件:

3)参数设置:

4)编译。

4、时序仿真

1)建立波形文件:

2)参数设置。

3)打开仿真窗口并”START”。

4)查看仿真结果

5、器件编程

1)锁定引脚并重新编译。

2)打开“PROGRAMER”窗口。

4)点击“PROGRAM”或”CONFIGURE”。

6、硬件测试

(二)使用条件信号赋值语句实现实验要求

步骤同上。

五、实验结果分析与实验结论

1、根据仿真及硬件测试结果说明实验是否达到了要求。

2、并行语句的特点。

3、选择信号赋值语句和条件信号赋值语句的异同。

4、其它。

实验四数字系统的层次化设计

了解并掌握QuartusII环境下数字系统的层次化设计方法。

采用层次化的设计方法,设计一个十进制计数器-译码器电路,使计数器的输出用数码管显示,并完成设计输入、编译、仿真、硬件测试等过程;

当设计一个结构较为复杂的系统时,通常采用层次化的设计方法。

层次化设计是分层次、分模块进行设计描述。

描述器件总功能的模块放在最上层,称为顶层设计;

描述器件的某一部分功能的模块放在下层,称为底层设计。

根据图形和硬件描述语言的特点,一般在顶层中用电路图说明各模块的连接和I/O关系,在底层用VHDL语言描述模块的逻辑功能。

本实验中的电路结构可参考下图:

 

如果顶层文件采用原理图方式,则需要在底层设计时创建各模块元件的图形符号,供顶层设计时调用。

方法是在底层设计编译仿真无误后,选择菜单file\createdefaultsymbol。

顶层设计也可以采用文本方式,一般采用结构化描述方式,元件例化语句是结构化描述的典型语句。

下面的程序可供实验中参考:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcounter10IS

PORT(clk,:

INSTD_LOGIC;

q:

BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));

ENDcounter10;

ARCHITECTURErtlOFcounter10IS

BEGIN

PROCESS(clk,)

BEGIN

IF(clk’EVENTANDclk=’1’)THEN

IFQ=”1001”THEN

Q<

=”0000”

ELSE

Q<

=q+1;

ENDIF;

ENDIF;

ENDPROCESS;

ENDrtl;

ENTITYSEG7IS

PORT(in_data,:

INSTD_LOGIC_VECTOR(3DOWN0);

out_data:

OUTSTD_LOGIC_VECTOR(0TO6));

ENDSEG7;

ARCHITECTUREouviewOFSEG7IS

PROCESS(in_data)

CASEin_dataIS

WHEN“0000”=>

out_data<

=”1111110”;

WHEN“0001”=>

=”0110000”;

WHEN“0010”=>

=”1101101”;

WHEN“0011”=>

=”1111001”;

WHEN“0100”=>

=”0110011”;

WHEN“0101”=>

=”1011011”;

WHEN“0110”=>

=”1011111”;

WHEN“0111”=>

=”1110000”;

WHEN“1000”=>

=”1111111”;

WHEN“1001”=>

=”1111011”;

WHENothers=>

=”0110001”;

ENDCASE;

ENDouview;

ENTITYcounter_segIS

PORT(clk:

out_seg:

ENDcounter_seg;

ARCHITECTUREstructureOFcounter_segIS

COMPONENTcounter10IS

q:

ENDCOMPONENT;

COMPONENTSEG7IS

PORT(in_data:

out_data:

SIGNALout_q:

STD_LOGIC_VECTOR(3DOWNTO0);

u0:

counter10PORTMAP(clk,out_q);

u1:

SEG7PORTMAP(out_q,out_seg);

ENDstructure;

1、用VHDL完成底层电路的设计

1)用VHDL设计十进制计数器并保存默认符号(*.SYM);

2)用VHDL设计七段译码器并保存默认符号;

2、用图形输入法连接前面设计得到的两个默认符号,并添加输入输出端口等符号,完成顶层电路的设计(在实验报告中给出设计出的电路图);

1、设计的电路是否实现了要求的功能。

2、层次化设计的方法。

3、其它。

实验五七段译码器的设计

掌握CASE语句的功能和应用方法,进一步熟悉VHDL的程序设计方法及FPGA的编程方法。

1、设计一个对1位BCD码译码的七段译码器,并完成设计输入、编译、仿真、硬件测试等过程;

2、修改设计,使得当译码器输入非法BCD码时显示器显示“E”;

3、修改设计,实现1位十六进制代码到七段码的译码电路。

1位BCD码由4位二进制代码构成,有效的代码范围为0000-1001。

七段码是用于控制七段LED数码显示器的代码,包含7(8)位二进制代码。

十进制字符、BCD码、七段码的对应关系如下表所示:

表6-1BCD码对应的七段码表

十进制字符

BCD码

七段码(a-g)

0000

1111110

1

0001

0110000

2

0010

1101101

3

0011

1111001

4

0100

0110011

5

0101

1011011

6

0110

1011111

7

0111

1110000

8

1000

1111111

9

1001

1111011

七段译码器就是将输入的BCD码翻译成对应的七段码的电路,为纯组合电路。

由于输入输出之间有明确的对应关系,所以可以采用CASE语句设计。

使用CASE语句时要注意语句中的条件表达式的值必须列举穷尽,但不能重复,如果无法穷举表达式的值,则要用OTHERS来表达。

CASE语句为顺序语句,要包含在进程中。

本实验可参考如下程序:

ENTITYviewIS

INSTD_LOGIC_VECTOR(3TO0);

OUTSTD_LOGIC;

ENDview_1;

ARCHITECTUREouviewOFviewIS

PROCESS

ENDhst;

在进行硬件测试时,可以利用实验箱中的拨动开关提供BCD码输入,利用8位数码管中的任何1位观察显示结果。

8位数码管为共阴极类型,连线时只要将电路的a-g输出端连接到数码管的对应的接线端,再将数码管的位选端SEL0-SEL2接固定的电平即可。

2、启动Qaurtus,打开文本编辑器输入设计并存盘。

1、所设计的电路是否实现了要求的功能;

2、CASE语句的功能和使用方法;

实验六

1、下面程序是n输入与门的VHDL描述,试补充完整。

__________ieee;

use_____________________.all;

entityandnis

________(n:

integer:

=N);

--类属参数声明(注:

仿真时N应该为一个具体的整数值)

port(a:

instd_logic_vector(______downto0);

c:

outstd_logic);

end;

________________behavof________is--结构体声明

process(____)

_____________int:

std_logic;

--变量声明

begin

int:

=_____;

--变量赋初值

forIina'

length–1downto0loop--循环判断(注:

a'

length表示取端口a的长度)

ifa(i)='

0'

then

int:

='

;

endif;

endloop;

c<

=________;

--输出判断结果

endprocess;

endbehav;

2、设计一数据选择器MUX,其系统模块图和功能表如下图所示。

试描述该数据选择器MUX的结构体。

 a)用if语句、b)case语句语句编程。

Libraryieee;

Useieee.std_logic_1164.all;

Entitymymuxis

Port(sel:

instd_logic_vector(1downto0);

--选择信号输入

Ain,Bin:

--数据输入

Cout:

outstd_logic_vector(1downto0));

Endmymux;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1