资源描述:
《十六进制编码器代码000》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、十六进制编码器代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYhexISPORT(x,y:INSTD_LOGIC_VECTOR(3DOWNTO0);s:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDhex;ARCHITECTUREstruOFhexISBEGINPROCESS(x,y)VARIABLE1xy:STD_LOGIC_VECTOR(7DOWNTO0);BEGINxy:=x&y;CASExyISWHENB"11101110"=>S<=B"0000";WHE
2、NB"11101101"=>S<=B"0001";WHENB"11101011"=>S<=B"0010";WHENB"11100111"=>S<=B"0011";WHENB"11011110"=>S<=B"0100";WHENB"11011101"=>S<=B"0101";WHENB"11011011"=>S<=B"0110";WHENB"11010111"=>S<=B"0111";WHENB"10111110"=>S<=B"1000";WHENB"10111101"=>S<=B"1001";WHENB"10111011"=>S<=B"
3、1010";WHENB"10110111"=>S<=B"1011";WHENB"01111110"=>S<=B"1100";WHENB"01111101"=>S<=B"1101";WHENB"01111011"=>S<=B"1110";WHENB"01110111"=>S<=B"1111";WHENOTHERS=>S<=B"0000";ENDCASE;ENDPROCESS;ENDstru;编码器:SEL[7..0]DATA[255..0]OUTMUXSEL[7..0]DATA[255..0]OUTMUXSEL[7..0]DATA[255
4、..0]OUTMUXSEL[7..0]DATA[255..0]OUTMUXMux1256'h0000000068800000000000000000000068800000000000000000000000000000--Mux2256'h0000088008800000088000000000000008800000000000000000000000000000--Mux3256'h0000208020800000208000000000000020800000000000000000000000000000--x[3..0]y[
5、3..0]s[3..0]Mux0256'h0000000000000000688000000000000068800000000000000000000000000000--7段译码器代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYtransISPORT(bcd:INSTD_LOGIC_VECTOR(3DOWNTO0);a,b,c,d,e,f,g:OUTSTD_LOGIC);ENDtrans;ARCHITECTUREoneOFtransISSIGNALdout:STD_LOGIC_VE
6、CTOR(6DOWNTO0);BEGINWITHbcdSELECTdout<="0111111"WHEN"0000","0000110"WHEN"0001","1011011"WHEN"0010","1001111"WHEN"0011","1100110"WHEN"0100","1101101"WHEN"0101","1111101"WHEN"0110","0000111"WHEN"0111","1111111"WHEN"1000","1101111"WHEN"1001","1101111"WHENOTHERS;g<=dout(6);f
7、<=dout(5);e<=dout(4);d<=dout(3);c<=dout(2);b<=dout(1);a<=dout(0);ENDone;数据选择器代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYchoiceISPORT(s1,s2:INSTD_LOGIC;a,b,c,d:INSTD_LOGIC;z:OUTSTD_LOGIC);ENDchoice;ARCHITECTUREoneOFchoiceISSIGNALs:STD_LOGIC_VECTOR(1DOWNTO0);BEGINs<
8、=s1&s2;PROCESS(s1,s2,a,b,c,d)BEGINCASEsISWHEN"00"=>z<=a;WHENOTHERS=>z<='X';WHEN"01"=>z<=b;ENDCASE;WHEN"