程序如下:编译没错,但仿真时输出的计数值顺序是:0-1-3-2-7-6-4-5-F-E-C-D-B-9-A-0 什么原因?计数值不连续? LIBRARY ieee; USE ieee.STD_LOGIC_1164.ALL; USE ieee.STD_LOGIC_UNSIGNED.ALL; ENTITY scan20051 IS PORT( CLK, reset : IN STD_LOGIC; ST : OUT STD_LOGIC); END scan20051; ARCHITECTURE BEHAVE OF scan20051 IS SIGNAL CNT_END :STD_LOGIC ; SIGNAL CNT_ADD_SRAM :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
PROCESS(CLK,RESET) BEGIN IF RESET='1' THEN CNT_ADD_SRAM<="0000"; ELSIF CLK'EVENT AND CLK='1' THEN IF CNT_ADD_SRAM="1111"THEN CNT_ADD_SRAM<="0000"; CNT_END<='1'; ELSE CNT_ADD_SRAM<=CNT_ADD_SRAM+1; CNT_END<='0'; END IF; END IF; -- END IF; END PROCESS; ST<=CNT_END; --------------- END BEHAVE;作者: bob007 时间: 2005-11-28 15:52