实验报告数据选择器设计12传感网金涛1228403019一.实验目的1.熟悉硬件描述语言软件的使用2.熟悉译码器的工作原理和逻辑功能3.掌握译码器及七段显示译码器的设计方法二.实验原理译码器是数字系统中常用的组合逻辑电路。译码器的逻辑功能是将每个输入的二进制代码译成对应的输出高、低电平信号或者另外一个代码。译码是编码的反操作。常用的译码电路有二进制译码器、二—十进制译码器和显示译码器。三.实验内容1.设计一个3线—8线译码器。程序代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder3_8ISPORT(a0,a1,a2,g1,g2a,g2b:INSTD_LOGIC;Y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDdecoder3_8;ARCHITECTURErtlofdecoder3_8isSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);BEGININdata=a2&a1&a0;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2b='0'ANDg2a='0')THENCASEINDATAISWHEN000=Y=11111110;WHEN001=Y=11111101;WHEN010=Y=11111001;WHEN011=Y=11110111;WHEN100=Y=11101111;WHEN101=Y=11011111;WHEN110=Y=10111111;WHEN111=Y=01111111;WHENOTHERS=NULL;ENDCASE;ELSEY=11111111;ENDIF;ENDPROCESS;ENDrtl;仿真波形仿真波形分析g1g2ag2b为控制输入端,a2a1a0为数据输入端,y0y1y2y3y4y5y6y7为数据输出端。仅当g1=1,g2a+g2b=0时电路工作,其余输出均为高电平。当a2=0,a1=0,a0=0时,y0=0其余为1;当a2=0,a1=0,a0=1时,y1=0其余为1;当a2=0,a1=1,a0=0时,y2=0其余为1;当a2=0,a1=1,a0=1时,y3=0其余为1;当a2=1,a1=0,a0=0时,y4=0其余为1;当a2=1,a1=0,a0=1时,y5=0其余为1;当a2=1,a1=1,a0=0时,y6=0其余为1;当a2=1,a1=1,a0=1时,y7=0其余为1;实体框图2.设计一个七段显示译码器程序代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdecled1ISPORT(AIN:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDDECLED1;ARCHITECTUREBEHAVOFDECLED1ISBEGINPROCESS(AIN)BEGINCASEAINISWHEN0000=DOUT=0111111;WHEN0001=DOUT=0000110;WHEN0010=DOUT=1011011;WHEN0011=DOUT=1001111;WHEN0100=DOUT=1100110;WHEN0101=DOUT=1101101;WHEN0110=DOUT=1111101;WHEN0111=DOUT=0000111;WHEN1000=DOUT=1111111;WHEN1001=DOUT=1101111;WHEN1010=DOUT=1110111;WHEN1011=DOUT=1111100;WHEN1100=DOUT=0111001;WHEN1101=DOUT=1011110;WHEN1110=DOUT=1111001;WHEN1111=DOUT=1110001;WHENOTHERS=DOUT=0000000;ENDCASE;ENDPROCESS;ENDBEHAV;仿真波形仿真波形分析A3a2a1a0为数据输入端,abcdefg为数据输出端。Abcdefg中高电平的为显示a2a1a0组成的二进制数的十进制值,其余为低电平。实体框图