——24进制计数器(数码管显示)用VHDl编写——楼主用实验板验证过满足计数0~23顶层文件led_24libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityled_24isport(clk,clr,ena:instd_logic;cq10_out,cq2_out:outstd_logic_vector(3downto0));endled_24;architecturebehavofled_24iscomponentled24port(clk,clr,ena:instd_logic;cnt10,cnt2:outstd_logic_vector(3downto0));endcomponent;componentdecoder_10port(cq10_1:INSTD_LOGIC_VECTOR(3DOWNTO0);cq10_out:OUTSTD_LOGIC_VECTOR(6DOWNTO0));endcomponent;componentdecoder_2PORT(cq2_1:INSTD_LOGIC_VECTOR(3DOWNTO0);cq2_out:OUTSTD_LOGIC_VECTOR(6DOWNTO0));endcomponent;signalnet1,net2:std_logic_vector(3downto0);beginu1:led24portmap(clk=clk,clr=clr,ena=ena,cnt10=net1,cnt2=net2);u2:decoder_10portmap(cq10_1=net1,cq10_out=cq10_out);u3:decoder_2portmap(cq2_1=net2,cq2_out=cq2_out);ENDarchitecturebehav;——例化元器件U1:——24进制计数器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityled24isport(clk,clr,ena:instd_logic;cnt10,cnt2:outstd_logic_vector(3downto0));endled24;architecturebehavofled24isbeginprocess(clk,clr,ena)variablecq2:std_logic_vector(3downto0);variablecq10:std_logic_vector(3downto0);beginifclr='1'thencq2:=0000;cq10:=0000;elsifclk'eventandclk='0'thenifena='1'thenifcq10=1001thencq10:=0000;cq2:=cq2+'1';elsecq10:=cq10+'1';endif;ifcq2=0010andcq10=0100thencq2:=0000;cq10:=0000;endif;endif;endif;cnt2=cq2;cnt10=cq10;endprocess;endarchitecturebehav;——例化元器件u2——个位数译码电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder_10ISPORT(cq10_1:INSTD_LOGIC_VECTOR(3DOWNTO0);cq10_out:OUTSTD_LOGIC_VECTOR(6DOWNTO0));END;ARCHITECTUREONEOFdecoder_10ISBEGINPROCESS(cq10_1)BEGINCASEcq10_1ISWHEN0000=cq10_out=1000000;WHEN0001=cq10_out=1111001;WHEN0010=cq10_out=0100100;WHEN0011=cq10_out=0110000;WHEN0100=cq10_out=0011001;WHEN0101=cq10_out=0010010;WHEN0110=cq10_out=0000010;WHEN0111=cq10_out=1111000;WHEN1000=cq10_out=0000000;WHEN1001=cq10_out=0010000;WHENOTHERS=cq10_out=1111111;ENDCASE;ENDPROCESS;ENDarchitectureONE;——例化元器件u3十位数译码电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder_2ISPORT(cq2_1:INSTD_LOGIC_VECTOR(3DOWNTO0);cq2_out:OUTSTD_LOGIC_VECTOR(6DOWNTO0));END;ARCHITECTUREtwoOFdecoder_2ISBEGINPROCESS(cq2_1)BEGINCASEcq2_1ISWHEN0000=cq2_out=1000000;WHEN0001=cq2_out=1111001;WHEN0010=cq2_out=0100100;WHENOTHERS=cq2_out=1111111;ENDCASE;ENDPROCESS;ENDarchitecturetwo;RTL图计数器波形译码之后波形——这里有完整的工程E:\program\QUAprogram\not~delete\led_24_terminal.rar