vhdl语言编写计数器但仿真时输出的计数值不连续,请教高手帮助
- UID
- 15809
- 性别
- 男
|
vhdl语言编写计数器但仿真时输出的计数值不连续,请教高手帮助
程序如下:编译没错,但仿真时输出的计数值顺序是: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; |
|
|
|
|
|
- UID
- 124893
- 性别
- 男
|
|
|
|
|
|
- UID
- 166789
- 性别
- 男
|
那是因为传输延时,造成在多位同时改变时插入非法数据,比如01-->10,中间会出现11,但比其他正常数据相比误码很短暂! |
|
|
|
|
|
- UID
- 530774
- 性别
- 男
|
|
|
|
|
|
- UID
- 150296
- 性别
- 男
|
|
|
|
|
|
- UID
- 798858
- 性别
- 男
|
你的输出结果好象是格雷码!!!
lil370 发表于 2009-6-20 00:49 胡说八道 |
|
|
|
|
|