1、OUT STD_LOGIC_VECTOR (5 DOWNTO 0) -输出cat(数码管选通控制信号)端 );END sweep; ARCHITECTURE sweep_arch OF sweep IS SIGNAL sweep_arc:STD_LOGIC_VECTOR (5 DOWNTO 0); -声明内部信号(选通控制信号) SIGNAL b:STD_LOGIC_VECTOR (6 DOWNTO 0); -声明内部信号(相同段信号)BEGIN PROCESS(sweep_arc) BEGIN IF (clkevent and clk=1) THEN IF clr=0 THEN -状态清零
2、sweep_arc =011111 ; b 111110111101111011110111101111 WHEN OTHERS = END CASE; CASE sweep_arc IS -相同段信号101101101100111111001110110101100001111110 END IF; sweep=sweep_arc; a5 THEN n=0; ELSE n=n+1; flag20 THEN number CASE number IS WHEN 0= -状态0,输出012345 CASE n IS WHEN 0=sweep2 WHEN 2= WHEN 3= WHEN 4= WH
3、EN 5= WHEN OTHERS=111111 END CASE; WHEN 1= -状态1,输出123450 WHEN 2= -状态2,输出234501 WHEN 3= -状态3,输出345012 WHEN 4= -状态4,输出450123 WHEN 5= -状态5,输出501234 WHEN OTHERS= END CASE;END arc_sweep2;仿真时将循环次数改为1方便观察波形,共6种状态2、(2)结果:01234512345X2345XX345XXX45XXXX5XXXXXXXXXXXXXXXX0XXXX01XXX012XX0123X01234012345ENTITY sw
4、eep3 IS sweep3:END sweep3;ARCHITECTURE arc_sweep3 OF sweep3 ISINTEGER RANGE 0 TO 12; -状态声明(12种状态,13种状态值) IF clk THEN 11 THENsweep3 -状态6,输出XXXXXX WHEN 7= -状态7,输出XXXXX0 WHEN 8= -状态8,输出XXXX01 WHEN 9= -状态9,输出XXX012 WHEN 10= -状态10,输出XX0123 WHEN 11= -状态11,输出X01234 -END IF;END arc_sweep3;仿真时将循环次数改为1方便观察波形,共12种状态