资源描述
一程序代码及其仿真:1 cnt60 子模块代码:library ieee;ENTITY V_cnt60 ISPORT ( clk :IN std_logic; Q0,Q1,Q2,Q3,Q4,Q5,Q6,QC :OUT std_logic);END V_cnt60;ARCHITECTURE func OF V_cnt60 ISSIGNAL count1 :std_logic_vector(3 downto 0);SIGNAL count2 :std_logic_vector(3 downto 0);SIGNAL carryin:std_logic;BEGINQ0 = count1(0);Q1 = count1(1);Q2 = count1(2);Q3 = count1(3);Q4 = count2(0);Q5 = count2(1);Q6 = count2(2);QC = carryin;process(clk)BEGINif (clkevent AND clk=1) thencarryin=0;if(count1=1001)thencount1=0000;count2=count2+1;elsecount1=count1+1;END if;if(count2=0101AND count1=1001)thencount2=0000;count1=0000;carryin=1;END if;END if;END process;END func;cnt60 仿真波形:2 cnt24 子模块代码:library ieee;ENTITY V_cnt24 ISPORT ( clk:IN std_logic;Q0,Q1,Q2,Q3,Q4,Q5:OUT std_logic);END V_cnt24;ARCHITECTURE func_cnt24 OF V_cnt24 ISSIGNAL count1 :std_logic_vector(3 downto 0);SIGNAL count2 :std_logic_vector(3 downto 0);SIGNAL carryin:std_logic;BEGINQ0 = count1(0);Q1 = count1(1);Q2 = count1(2);Q3 = count1(3);Q4 = count2(0);Q5 = count2(1);process(clk)BEGINif (clkevent and clk=1) thenif(count1=1001)thencount1=0000;count2=count2+1;elsecount1=count1+1;END if;if(count2=0010 AND count1=0011)thencount2=0000;count1=0000;END if;END if;END process;END func_cnt24;cnt24 仿真波形:3 cnt1000 字模块代码 :library ieee;entity V_cnt1000 isport( clk:in std_logic;cnt1000 :out std_logic;clk_c:out std_logic);end V_cnt1000;architecture bhv of V_cnt1000 issignal tmp:std_logic_vector(9 downto 0);signal amp:std_logic_vector(8 downto 0);beginprocess(clk)beginif (clkevent and clk=1) thenif (tmp=1023)then tmp=0000000000;else tmp=tmp+1;end if;if (tmp511) then cnt1000=0;else cnt1000=1;end if;end if;end process;process(clk)beginif (clkevent and clk=1) thenif (amp=511)then amp=000000000;else amp=amp+1;end if;if (amp255) then clk_c=0;else clk_c=1;end if;end if;end process;end bhv;cnt1000 仿真波形:4 clk_c 子模块代码:library IEEE;ENTITY V_clk_c ISPORT(clk,CLK_C,M1,S1,SS,MM,HH,CTRLCLKS,CLKM,CLKHEND V_clk_c;: INSTD_LOGIC;: OUT STD_LOGIC);ARCHITECTURE func OF V_clk_c ISBEGINprocessbeginCLKS=(CTRL AND CLK) OR(NOT CTRL) AND HH AND MM AND (NOT SS) AND CLK_C);CLKM=(CTRL AND S1) OR(NOT CTRL) AND HH AND (NOT MM) AND SS AND CLK_C);CLKH LED1=1;LED2=0;LED3=0;LED4=0;LED5=0;LED6=0;code(0)=LED1Q_0;code(1)=LED1Q_1;code(2)=LED1Q_2;code(3) LED1=0;LED2=1;LED3=0;LED4=0;LED5=0;LED6=0;code(0)=LED2Q_0;code(1)=LED2Q_1;code(2)=LED2Q_2;code(3) LED1=0;LED2=0;LED3=1;LED4=0;LED5=0;LED6=0;code(0)=LED3Q_0;code(1)=LED3Q_1;code(2)=LED3Q_2;code(3)LED1=0;LED2=0;LED3=0;LED4=1;LED5=0;LED6=0;code(0)=LED4Q_0;code(1)=LED4Q_1;code(2)=LED4Q_2;code(3)LED1=0;LED2=0;LED3=0;LED4=0;LED5=1;LED6=0;code(0)=LED5Q_0;code(1)=LED5Q_1;code(2)=LED5Q_2;code(3) LED1=0;LED2=0;LED3=0;LED4=0;LED5=0;LED6=1;code(0)=LED6Q_0;code(1)=LED6Q_1;code(2)=LED6Q_2;code(3) NULL;ENDCASE;END process;process(code)BEGINCASEcodeISWHEN 0000=SE_A=1;SE_B=1;SE_C=1;SE_D=1;SE_E=1;SE_F=1;SE_GSE_A=0;SE_B=1;SE_C=1;SE_D=0;SE_E=0;SE_F=0;SE_GSE_A=1;SE_B=1;SE_C=0;SE_D=1;SE_E=1;SE_F=0;SE_GSE_A=1;SE_B=1;SE_C=1;SE_D=1;SE_E=0;SE_F=0;SE_GSE_A=0;SE_B=1;SE_C=1;SE_D=0;SE_E=0;SE_F=1;SE_GSE_A=1;SE_B=0;SE_C=1;SE_D=1;SE_E=0;SE_F=1;SE_GSE_A=1;SE_B=0;SE_C=1;SE_D=1;SE_E=1;SE_F=1;SE_GSE_A=1;SE_B=1;SE_C=1;SE_D=0;SE_E=0;SE_F=0;SE_GSE_A=1;SE_B=1;SE_C=1;SE_D=1;SE_E=1;SE_F=1;SE_GSE_A=1;SE_B=1;SE_C=1;SE_D=1;SE_E=0;SE_F=1;SE_GSE_A=1;SE_B=1;SE_C=1;SE_D=0;SE_E=1;SE_F=1;SE_GSE_A=0;SE_B=0;SE_C=1;SE_D=1;SE_E=1;SE_F=1;SE_GSE_A=1;SE_B=0;SE_C=0;SE_D=1;SE_E=1;SE_F=1;SE_GSE_A=0;SE_B=1;SE_C=1;SE_D=1;SE_E=1;SE_F=0;SE_GSE_A=1;SE_B=0;SE_C=0;SE_D=1;SE_E=1;SE_F=1;SE_GSE_A=1;SE_B=0;SE_C=0;SE_D=0;SE_E=1;SE_F=1;SE_GSE_A=0;SE_B=0;SE_C=0;SE_D=0;SE_E=0;SE_F=0;SE_G=0;ENDCASE;END process;process(clk)BEGINif(clkevent and clk=1) thenctrl=ctrl+1;if(ctrl=101)thenctrl=000;ENDif;END if;END process;END func;display 仿真波形:6 de4_7 子模块代码:library ieee;ENTITY V_de4_7 ISPORT (a,b,c,d: in std_logic;se_a,se_b,se_c,se_d,se_e,se_f,se_g : out std_logic); END V_de4_7;ARCHITECTURE actde4_7 OF V_de4_7 ISsignal segment : std_logic_vector(6 downto 0 );signal input: std_logic_vector(3 downto 0 );beginse_a=segment(0);se_b=segment(1);se_c=segment(2);se_d=segment(3);se_e=segment(4);se_f=segment(5);se_g=segment(6);input(0)=d;input(1)=c;input(2)=b;input(3) segment segment segment segment segment segment segment segment segment segment segment segment segment segment segment segment segment=0000000;end case;end process;end actde4_7;de4_7 仿真波形:7. mul8_1 子模块代码:LIBRARY IEEE;ENTITY V_mul8_1 ISPORT( ST: IN STD_LOGIC;A: IN STD_LOGIC_VECTOR(2 DOWNTO 0);D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);Q: OUT STD_LOGIC);END V_mul8_1;ARCHITECTURE HBV OF V_mul8_1 ISSIGNAL Q1: STD_LOGIC;BEGINPROCESS(a)BEGINIF ST=1 THEN Q1 Q1 Q1 Q1 Q1 Q1 Q1 Q1 Q1 NULL;END CASE;END IF;END PROCESS;Q= Q1;END HBV;mul8_1 仿真波形:二总体资源占用率: 50%
展开阅读全文