您的当前位置:首页正文

实验二 用VHDL设计138译码器

2024-05-09 来源:易榕旅网
实验三 用VHDL设计138译码器

一、实验目的:

熟悉QuartusⅡ 9.0的基本操作,掌握文本输入方法,了解CPLD\\FPGA设计过程。

二、实验内容:

1、用VHDL设计138译码器,并进行输入、编译、综合、适配、仿真,并将其设置成一个硬件符号入库,最后下载;

2、将设计的138译码器和实验开发板连线,其中138译码器的输入接到实验开发板的拨码开关,输出端接8个LED灯,通过输入变化观察LED输出情况。

三、实验参考程序:

3线8线译码器的源程序 library ieee;

use ieee.std_logic_1164.all; entity decoder3_8 is

port (a,b,c,g1,g2a,g2b: in std_logic;

y:out std_logic_vector(7 downto 0)); end;

architecture rtl of decoder3_8 is signal dz:std_logic_vector(2 downto 0); begin

dz<=c&b&a;

process(dz,g1,g2a,g2b) begin

if(g1='1' and g2a='0' and g2b='0') then case dz is

when \"000\"=>y<=\"11111110\"; when \"001\"=>y<=\"11111101\"; when \"010\"=>y<=\"11111011\"; when \"011\"=>y<=\"11110111\"; when \"100\"=>y<=\"11101111\"; when \"101\"=>y<=\"11011111\"; when \"110\"=>y<=\"10111111\"; when \"111\"=>y<=\"01111111\"; when others=>null; end case; else

y<=\"11111111\"; end if;

end process;

end;

设计3-8译码器的关键;74138的逻辑功能表如下:

INPUT Select C B A × × × × × × 0 0 0 Enable G1  ̄G 2A  ̄G 2B × 1 1 0 × × 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0  ̄Y ̄7  ̄Y ̄6  ̄ ̄Y ̄5  ̄ ̄Y ̄4  ̄Y ̄3  ̄Y ̄2  ̄Y ̄1  ̄Y ̄0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 OUTPUT 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 注:使能端G1是高电平有效;

使能端G2是低电平有效,G2 = G2A AND G2B。

四、思考题:

1、上述程序描述的138译码器与中小规模集成电路74LS138功能是否相同?

2、能否用原理图输入法设计138译码器(组合电路和LPM设计)?若能,请画出原理图,可进行输入、编译、综合、适配、仿真,并将其设置成一个硬件符号入库。

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真等步骤及波形图、硬件测试和详细实验过程;思考题及心得体会。

因篇幅问题不能全部显示,请点此查看更多更全内容