西安电子科技大学EDA实验报告

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

EDA大作业及实验报告

实验一:QUARTUS Ⅱ软件使用及组合电路设计仿真

实验目的:

学习QUARTUS Ⅱ软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容;

实验内容:

1.四选一多路选择器的设计

首先利用QuartusⅡ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。

步骤:

(1)建立工作库文件夹和编辑设计文件;

(2)创建工程;

(3)编译前设置;

(4)全程编译;

(5)时序仿真;

(6)应用RTL电路图观测器(可选择)

实验程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux41 IS

PORT(

S10:IN STD_LOGIC_VECTOR(1 DOWNTO 0);

A,B,C,D:IN STD_LOGIC;

Q:OUT STD_LOGIC

);

END ENTITY mux41;

ARCHITECTURE bhv OF mux41 IS

BEGIN

PROCESS(A,B,C,D,S10)

BEGIN

IF S10="00" THEN

Q<=A;

ELSIF S10="01" THEN

Q<=B;

ELSIF S10="10" THEN

Q<=C;

ELSE

Q<=D;

END IF;

END PROCESS;

END bhv;

波形仿真如图:

其中,分别设置A,B,C,D四个输入都为10.0ns的方波,其占空比分别为25%,50%,75%,90%以作为四种输入的区分,使能端s10以此输入00(即[0]),01(即[1]),10(即[2]),11(即[3]),可以观察到输出端Q依次输出分别为A,B,C,D。试验成功。

其RTL电路图为:

2.七段译码器程序设计仿真

2.1 原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。本项实验很容易实现这一目的。例1作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如实验图1数码管的7个段,高位在左,低位在右。例如当LED7S输出为"0010010" 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,实验中的数码管为共阳极的,接有低电平的段发亮,于是数码管显示“5”。

实验图1 数码管及其电路

2.2 实验内容:参考后面的七段译码器程序,在QUARTUS II上对以下程序进行编辑、编译、综

合、适配、仿真,给出其所有信号的时序仿真波形。

试验程序如下:

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ;

ENTITY DecL7S IS

PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;

LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;

END ;

ARCHITECTURE one OF DecL7S IS

BEGIN

PROCESS( A )

BEGIN

CASE A(3 DOWNTO 0) IS

WHEN "0000" => LED7S <= "1000000" ; -- X“80”->0

WHEN "0001" => LED7S <= "1111001" ; -- X“79”->1

WHEN "0010" => LED7S <= "0100100" ; -- X“24”->2

WHEN "0011" => LED7S <= "0110000" ; -- X“30”->3

WHEN "0100" => LED7S <= "0011001" ; -- X“19”->4

WHEN "0101" => LED7S <= "0010010" ; -- X“12”->5

WHEN "0110" => LED7S <= "0000010" ; -- X“02”->6

WHEN "0111" => LED7S <= "1111000" ; -- X“78”->7

WHEN "1000" => LED7S <= "0000000" ; -- X“00”->8

WHEN "1001" => LED7S <= "0010000" ; -- X“10”->9

WHEN "1010" => LED7S <= "0001000" ; -- X“08”->A

WHEN "1011" => LED7S <= "0000011" ; -- X“03”->B

WHEN "1100" => LED7S <= "1000110" ; -- X“46”->C

WHEN "1101" => LED7S <= "0100001" ; -- X“21”->D

WHEN "1110" => LED7S <= "0000110" ; -- X“06”->E

WHEN "1111" => LED7S <= "0001110" ; -- X“0E”->F

WHEN OTHERS => NULL ;

END CASE ;

END PROCESS ;

END ;

波形仿真如图:

如图,当输入端A依次输入0-15的四位二进制码时,输出端依次输出(0-9及A-F)的数码管所对应的七位二进制数,例如,当输入0000时,输出端输出1000000(即字符@的ASCII 码),显示在数码段上即‘0’。

相关文档
最新文档