EDA技术试验指导书newQuartus1.docx

上传人:b****5 文档编号:7281247 上传时间:2023-05-11 格式:DOCX 页数:41 大小:1.08MB
下载 相关 举报
EDA技术试验指导书newQuartus1.docx_第1页
第1页 / 共41页
EDA技术试验指导书newQuartus1.docx_第2页
第2页 / 共41页
EDA技术试验指导书newQuartus1.docx_第3页
第3页 / 共41页
EDA技术试验指导书newQuartus1.docx_第4页
第4页 / 共41页
EDA技术试验指导书newQuartus1.docx_第5页
第5页 / 共41页
EDA技术试验指导书newQuartus1.docx_第6页
第6页 / 共41页
EDA技术试验指导书newQuartus1.docx_第7页
第7页 / 共41页
EDA技术试验指导书newQuartus1.docx_第8页
第8页 / 共41页
EDA技术试验指导书newQuartus1.docx_第9页
第9页 / 共41页
EDA技术试验指导书newQuartus1.docx_第10页
第10页 / 共41页
EDA技术试验指导书newQuartus1.docx_第11页
第11页 / 共41页
EDA技术试验指导书newQuartus1.docx_第12页
第12页 / 共41页
EDA技术试验指导书newQuartus1.docx_第13页
第13页 / 共41页
EDA技术试验指导书newQuartus1.docx_第14页
第14页 / 共41页
EDA技术试验指导书newQuartus1.docx_第15页
第15页 / 共41页
EDA技术试验指导书newQuartus1.docx_第16页
第16页 / 共41页
EDA技术试验指导书newQuartus1.docx_第17页
第17页 / 共41页
EDA技术试验指导书newQuartus1.docx_第18页
第18页 / 共41页
EDA技术试验指导书newQuartus1.docx_第19页
第19页 / 共41页
EDA技术试验指导书newQuartus1.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA技术试验指导书newQuartus1.docx

《EDA技术试验指导书newQuartus1.docx》由会员分享,可在线阅读,更多相关《EDA技术试验指导书newQuartus1.docx(41页珍藏版)》请在冰点文库上搜索。

EDA技术试验指导书newQuartus1.docx

EDA技术试验指导书newQuartus1

 

EDA实验报告

 

班级:

08级通信工程三班

 

实验一利用原理图输入法设计4位全加器

一、实验目的:

熟悉如何在QuartusⅡ集成环境下利用原理图输入设计简单组合逻辑电路,掌握层次化的电路设计方法。

二、实验原理:

一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。

三、实验内容:

1.QuartusII软件的熟悉

熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本5.4节的内容,重点掌握层次化的设计方法。

2.设计1位全加器原理图

设计的原理图如下所示

3.利用层次化原理图方法设计4位全加器

(1)生成新的空白原理图,作为4位全加器设计输入

(2)利用已经生成的1位全加器作为电路单元,设计4位全加器的原理图,如下所示

4、设计一个超前进位4位全加器

以上设计的全加器是基于串行进位的结构,高位的进位输入必须等待低位的运算结果,造成较长的延时。

通过对进位位进行超前运算,可以缩短这部分的延时。

在已有1位全加器的基础上设计一个具有超前进位结构的4位全加器,原理图如下所示

 

仿真波形

5、完成设计流程

(1)在QuartusII环境下对以上设计电路按照教材5.1节的流程进行编译,排除错误,生成最终配置文件。

(2)对结果进行时序仿真,观察设计的正确性(注意观察时序仿真波形中引入的延时),如有错误应改正电路,并重新执行整个流程,直到得到正确的仿真结果。

四、思考题

1、你在原理图设计中使用的是哪一个库里面的元件,是否还有其他库可用,有什么不同?

请试着用另外一个库重复以上的设计内容。

2、试用QuartusII下的时序分析器(教材11.3.7~11.3.8)分析两种进位结构的4位全加器的时序,给出数据对比,说明两者之间的性能差异。

答:

1使用的是libraries里面的元件。

2超前进位加法器的性能比较好,速度比较快。

 

实验二简单组合电路的设计

一、实验目的:

熟悉QuartusⅡ境下以VHDL作为输入的设计全过程。

学习简单组合电路的设计、多层次电路设计、仿真和实际硬件电路测试的方法。

二、实验原理

VHDL硬件描述语言是一种可以从多个层次上对数字逻辑电路进行建模的国际标准(IEEE),本次实验是用VHDL设计一个简单的数字组合逻辑电路,并结合QuartusⅡ环境和实验电路进行硬件测试。

三、实验内容:

1)根据实验一中一位全加器的电路原理图,改用VHDL语言文本输入方法,设计一位全加器,要求采用结构化的描述方法。

设计完成后,利用QuartusⅡ集成环境进行时序分析、仿真,记录仿真波形和时序分析数据。

例如:

当ain=1,bin=0,cin=0,sum=1,count=0,结果正确

2)用VHDL语言设计一个四选一数据选择器电路。

要求先设计一个二选一数据选择器mux21,然后利用元件例化语句设计四选一数据选择器mux41,同样请给出时序分析数据和仿真结果。

a0a1=00.选d0;a0a1=10选d1;a0a1=01选d2;a0a1=11选d3;可以看到仿真正确.

3)硬件测试(选用器件EPF10K10Pin84)

管脚锁定:

四选一数据选择器a1PIO2330SW1a0PIO2435SW2

d3PIO2738SW5d2PIO2839SW6

d1PIO2947SW7d0PIO3042SW8

yout29LED12

四、思考题

如果不使用元件例化语句,而是直接设计四选一数据选择器mux41,应如何用VHDL进行描述?

答:

libraryieee;

useieee.std_logic_1164.all;

entitymux41is

port(a,b,c,d,s1,s0:

instd_logic;

y:

outstd_logic);

endentitymux41;

architectureoneofmux41is

signals1s0:

std_logic_vector(1downto0);

begin

s1s0<=s1&s0;

process(s1s0)

begin

cases1s0is

when"00"=>y<=a;

when"01"=>y<=b;

when"10"=>y<=c;

when"11"=>y<=d;

whenothers=>null;

endcase;

endprocess;

endarchitectureone;

仿真波形如下

实验三简单时序电路的设计

一、实验目的:

掌握QuartusⅡ环境下以VHDL作为输入的整个设计过程,学习简单时序电路的设计、仿真和硬件测试方法。

二、实验原理

时序逻辑电路是现代复杂数字电路的重要组成部分,往往占到整个设计的90%以上。

触发器是时序电路的基本单元,本实验中将涉及到边沿触发和电平触发两种电路结构,其中边沿触发是实际电路实现的主要方式。

三、实验内容

1)设计一个上升沿触发的D触发器

输入:

D

输出:

Q

触发时钟:

CLK

2)设计同步/异步清零D触发器

触发器有两种清零方式:

同步——当触发沿到来时,若清零信号有效,则实现清零;异步——任何时候清零信号一旦有效,触发器马上清零,而不论触发沿是否到来。

在以上设计的D触发器基础上,加入清零端rst,分别实现同步和异步清零方式。

3)设计一个高电平有效的锁存器

输入:

D

输出:

Q

触发:

E

电平触发的锁存器与沿触发的触发器不同之处在于当触发端处于有效电平时,输出等于输出,随输入变化;触发端无效时输出保持不变。

4)在QuartusⅡ环境下对以上设计的模块进行编译,记录时序分析数据和仿真波形,并在实验电路上进行硬件测试。

管脚锁定:

DPIO2330SW1

CLKCLK11频率源(35SW2)

QPIO1929LED12

5)请分析和比较1)和3)的仿真和实测结果,说明两者之间的异同点。

答:

相同点是:

两者均能在CLK高电平上升沿到达时输出等于输入,且在CLK处于低电平时输出保持低电平之前的一个高电平时的输出状态;

不同点是:

前者直到下一个CLK高电平到达前均保持相同输出,而后者在CLK保持高电平期间,若输入D发生变化,则输出Q也随之变化。

D触发器

仿真波形;

由图看出:

在上升沿触发时,才有Q=D,结果正确。

异步清零D触发器

仿真波形

由图看出:

当RST=1时,就将触发器置0了,结果正确。

同步清零D触发器

仿真波形:

由图看出:

当RST=1时,只有下一个上升沿到的时候才能将触发器置0,结果正确。

锁存器

仿真波形

由图看出:

当E=1时,输出q才随输入d变化。

结果正确。

四、思考题

在本次实验中你使用的VHDL描述方式是和实验二中一样的结构化描述还是行为级描述?

这两种方式描述的编译出来的仿真结果是否相同?

答;本次实验中采用的VHDL描述方式是行为级描述。

 

实验四异步清零和同步时钟使能的4位加法计数器

一、实验目的:

学习计数器的设计、仿真和实际硬件电路测试方法;进一步练习用VHDL语言设计数字逻辑电路。

二、实验原理

下面给出的是本试验中所要设计的计数器的结构框图,由4位带异步清零的加法计数器和一个4位锁存器组成。

其中,rst是异步清零信号,高电平有效;clk是计数时钟;ENA为计数器输出使能控制。

当ENA为‘1’时,加法计数器的计数值通过锁存器输出;当ENA为‘0’时锁存器输出为高阻态。

 

三、实验内容

1)用VHDL语言完成上述计数器的行为级设计。

可以采用分层描述的方式,分别设计计数器和输出锁存器模块,然后将两个模块组合成一个顶层模块。

注意输出锁存器输出高阻时的描述的方式。

2)用QuartusⅡ对上述设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。

仿真波形:

由图看出:

当ENA=1且RST=0时计数器开始计数,当ENA=0时停止计数。

若RST=1则计数器清零。

当计数器输出OUTY=1111时,进位信号COUT=1。

结果正确。

3)通过QuartusⅡ集成环境,将设计下载到实验电路上进行硬件测试。

引脚锁定:

clk:

clk11clk1rst:

PIO2435SW2

ena:

PIO2330SW1

计数输出outy(3)PIO1929LED12outy

(2)PIO2028LED11

outy

(1)PIO2127LED10outy(0)PIO2225LED9

coutPIO1223LED7

四、思考题

如果需要设计带并行预置初始值的计数器,用VHDL应如何描述?

答:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT4AIS

PORT(CLK:

INSTD_LOGIC;

RST:

INSTD_LOGIC;

ENA:

INSTD_LOGIC;

OUTY:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDCNT4A;

ARCHITECTUREbehavOFCNT4AIS

SIGNALCQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

P_REG:

PROCESS(CLK,RST,ENA)

BEGIN

IFRST='1'THENCQI<="0000";

ELSIFCLK'EVENTANDCLK='1'THEN

IFENA='1'THENCQI<=CQI+1;

ENDIF;

ENDIF;

OUTY<=CQI;

ENDPROCESSP_REG;

COUT<=CQI(0)ANDCQI

(1)ANDCQI

(2)ANDCQI(3);

ENDbehav;

 

实验五七段数码显示译码器设计

一、实验目的:

学习7段数码显示译码器的设计和利用VHDL语言进行层次化电路设计的方法。

二、实验原理:

七段数码管由8个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。

七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。

三、实验内容

1)用VHDL设计7段数码管显示译码电路,并在QuartusⅡ平台下对设计的译码器进行时序仿真,给出仿真的波形。

仿真波形

2)数码管显示电路设计

利用以上设计的译码器模块,设计一个可以在8个数码管上同时显示字符的电路。

快速轮流点亮8个数码管,这样就可以实现同时显示8个字符的效果(尽管实际上同一时间只有一个数码管被点亮)。

要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字符的编码;同时控制数码管的公共电极电平,轮流点亮数码管(可以使用上个实验设计的计数器,加实验板上的74ls138来实现,其中74ls138的译码输入端与FPGA的io相连,8个译码输出端分别与8个数码管的公共电极相连)。

3)用QuartusⅡ对2)中的设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。

时序分析

 

4)通过QuartusⅡ集成环境,将设计下载到实验电路上进行硬件测试。

管脚锁定:

clk:

clk11clk1

D(3):

PIO3030SW1D

(2):

PIO2435SW2

D

(1):

PIO2536SW3D(0):

PIO2637SW4

A(7):

81SEGdpA(6):

PIO611SEGg

A(5):

PIO510SEGfA(4):

PIO49SEGe

A(3):

PIO38SEGdA

(2):

PIO27SEGc

A

(1):

PIO16SEGbA(0):

PIO05SEGa

74ls138译码输入S

(2):

80S

(1):

79

S(0):

78

四、思考题

尝试将74ls138的功能也用VHDL来实现,将所有逻辑功能都集成到FPGA里面,请写出其VHDL描述。

回答问题:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitydecoder138is

port(Q0:

outstd_logic_vector(7downto0);

  Q1:

instd_logic_vector(2downto0);

  en:

instd_logic);

endentitydecoder38;

architecturec1ofdecoder138is

 begin

 process(Q1,en)

 variabletemp:

std_logic_vector(7downto0);

 begin

  ifen='1'thentemp:

="ZZZZZZZZ";

   else

    caseQ1is

     when"000"=>temp:

="00000001";

     when"001"=>temp:

="00000010";

     when"010"=>temp:

="00000100";

     when"011"=>temp:

="00001000";

     when"100"=>temp:

="00010000";

     when"101"=>temp:

="00100000";

     when"110"=>temp:

="01000000";

     when"111"=>temp:

="10000000";

    endcase;

  endif;

  Q0<=temp;

 endprocess;

endarchitecturec1;

 

实验六数控分频器的设计

一、实验目的:

学习数控分频器的设计和测试方法,熟练掌握利用VHDL语言进行数字逻辑电路设计的方法。

二、实验原理:

数控分频器的功能为在不同输入信号时,对时钟信号进行不同的分频,在输出端输出不同频率的信号。

该电路可以用具有并行预置功能的加法计数器实现,方法是对应不同的输入信号,预置数(初始计数值)设定不同的值,然后用计数器的溢出信号作为输出信号或输出信号的控制值。

电路输出波形图:

三、实验内容:

1)根据试验原理编制实现数控分频器的VHDL程序。

提示:

可以将计数器溢出信号输出给一个翻转触发器,溢出信号的边沿作为触发器的触发信号,触发器的输出就是分频器的输出(注意计数器初始计数值与输出频率之间的关系)。

2)用QuartusⅡ对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。

时序分析

3)通过QuartusⅡ集成环境,将设计下载到实验电路上进行硬件测试。

输入不同的clk信号和不同的输入控制信号,测试输出波形。

管脚锁定:

clkclk11

预置数D(3)PIO2330SW1

D

(2)PIO2435SW2

D

(1)Pio2536SW3

D(0)PIO2637SW4

分频输出FoutPIO1929LED12

四、思考题:

如果需要进行奇数分频(如3分频),能否够保持输出波形的占空比为50%?

如果不能,如何使占空比尽量接近50%;如果可以,应如何做?

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

entityDIV3is

  port(clk:

instd_logic;

        out1:

outstd_logic);

endDIV3;

architectureBehavofDIV3is

signaldivision2,division4:

std_logic:

='0';

signaltemp1,temp2:

integerrange0to10;

begin

p1:

process(clk)

  begin

   ifrising_edge(clk)then

    temp1<=temp1+1;

iftemp1=1then

     division2<='1';

    elsiftemp1=2then

       division2<='0';

temp1<=0;

    endif;

      endif;

endprocessp1;

p2:

process(clk)

  begin

  ifclk'eventandclk='0'then

    temp2<=temp2+1;

     iftemp2=1then

      division4<='1';

     elsiftemp2=2then

      division4<='0';

      temp2<=0;

    endif;

    endif;

   endprocessp2;

p3:

process(division2,division4)

begin

   out1<=division2ordivision4;

endprocessp3;

endBehav;

 

实验七4位十进制频率计的设计

一、实验目的:

设计一个4位十进制频率计,学习用VHDL语言进行较为复杂的数字系统设计。

二、实验原理:

根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的脉冲计数允许信号,1秒计数结束后,计数值(即所测信号频率)锁入锁存器,并为下一次测频作准备,即将计数器清零。

三、实验内容:

1)根据频率计的工作原理,将电路划分成控制器、计数器、锁存器和LED显示几个模块,顶层文件与模块电路均用VHDL硬件描述语言进行设计。

控制器——产生1秒脉宽的计数允许信号、锁存信号和计数器清零信号

计数器——对输入信号的脉冲数进行累计

锁存器——锁存测得的频率值

LED显示——将频率值显示在数码管上

顶层文件框图如下:

用元件例化语句写出频率计的顶层文件。

2)分别用VHDL语言设计各个模块

本实验中不少模块在之前的实验中已经有所涉及,只需要对以前的设计做部分修改即可用于这次实验。

提示:

十进制计数器输出的应是4位十进制数的BCD码,因此一共的输出是4×4bit

3)用QuartusⅡ对设计进行编译、综合、仿真,给出仿真波形和时序分析数据(不包括数码管显示部分)。

3)通过QuartusⅡ集成环境,将设计下载到实验电路上进行硬件测试。

管脚锁定:

Clkclk11

输入fx(频率任选)

数码管段输出A(7):

81SEGdp

A(6):

PIO611SEGgA(5):

PIO510SEGf

A(4):

PIO49SEGA(3):

PIO38SEGd

A

(2):

PIO27SEGcA

(1):

PIO16SEGb

A(0):

PIO05SEGa

74ls138输入S

(1):

79

S(0):

78

四、思考题:

本实验中的控制器部分可以用以前实验中的哪个电路来实现,其输出的rst和ena信号是否可以合并为一个信号?

答:

本实验中的控制部分可有实验四中的同步使能和异步清零部分转换而来。

rst和ena不能并成一个信号。

 

实验八交通灯逻辑控制电路设计

一、实验目的:

设计一个交通灯逻辑控制电路,学习用VHDL语言进行较为复杂的数字系统设计,体会原理图设计与VHDL描述、Bottom-up与Top-down设计方法之间的异同。

复习原理图的设计方法和流程。

二、实验原理:

请参考附录中的“数字电路课程设计”部分。

三、实验内容

1)用VHDL描述的方法完成“数字电路课程设计”中的电路设计。

用QuartusⅡ对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。

时序

仿真波形

2)在QuartusⅡ中将你在数字电路课程设计中设计好的原理图作为设计输入,进行编译、综合、仿真,给出仿真波形和时序分析数据。

 

3)通过QuartusⅡ集成环境,将以上两个设计下载到实验电路上进行硬件测试。

管脚锁定:

Clkclk11

数码管段输出A(7):

81SEGdp

A(6):

PIO611SEGgA(5):

PIO510SEGf

A(4):

PIO49SEGA(3):

PIO38SEGd

A

(2):

PIO27SEGcA

(1):

PIO16SEGb

A(0):

PIO05SEGa

74ls138输入S

(1):

79

S(0):

78

信号灯输出

东redPIO1929LED12greenPIO2028LED11

yellowPIO2127LED10

西redPIO2225LED9greenPIO1223LED7

yellowPIO1223LED7

四、思考题

在你本次实验的设计中,有用到上课讲到过的哪些优化手段吗?

如果没有,有什么地方是可以进一步优化的?

 

EDA实验箱部分资源引脚说明:

(GW48系列SOPC/EDA实验开发系统,选用器件Cyclone系列EP1C6Q240C8NPin240,选择模式5)

开关引脚

键1233

键2234

键3235

键4236

键5237

键6238

键7239

键8240

LED引脚

LED11

LED22

LED33

LED44

LED56

LED67

LED78

LED812

时钟引脚

CLOCK028

CLOCK2153

CLOCK5152

CLOCK929

 

(EDA-IV型实验箱选用器件FLEX10K系列EPF10K10Pin84)

开关引脚

SW1

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2