interige 发表于 2010-6-26 02:15:18

帮忙看看这段代码哪里错了

本帖最后由 fpgaw 于 2010-7-6 05:53 编辑

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT32 IS
PORT
(
CLK:IN STD_LOGIC;
SH,RS,ROG:OUT STD_LOGIC; --Signals of CCDULSE:to PULSE1 and PULSE2 through a WIRE gat and a NOT gat;
PULSE,PULSE2:BUFFER STD_LOGIC
);
END CNT32;
ARCHITECTURE A OF CNT32 IS
SIGNAL Q: INTEGER RANGE 0 TO 29;
SIGNAL NUM: INTEGER RANGE 0 TO 63899;
BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
CASE Q IS
WHEN 16|17 =>
RS<='1';
SH<='0';
Q<=Q 1;
WHEN 20|21=>
SH<='1';
RS<='0';
Q<=Q 1;
WHEN 29 =>
RS<='1';
SH<='1';
PULSE<=NOT PULSE;
Q<=0;
WHEN OTHERS =>
RS<='1';
SH<='1';
Q<=Q 1;
END CASE;
END IF;
END PROCESS;
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='0' THEN
IF NUM=63899 THEN NUM<=0;
ELSE
IF (NUM>1)AND(NUM<25) THEN
ROG<='1';
ELSE
ROG<='0';
END IF;
NUM<=NUM 1;
END IF;
END IF;
END PROCESS;
PULSE2<= NOT PULSE;

END A;

我用的是MAX+plus II 10.0 BASELINE,它显示红色那3处错误,我不知道为什么错,请教下大家。

longt 发表于 2010-6-26 02:29:10

不知道楼主Q1,NUM1表示什么意思

UFO 发表于 2010-6-26 03:07:41

你先把组合逻辑和时序逻辑分开再说

encounter 发表于 2010-6-26 05:04:17

对呀,你的Q1和NUM1凭空出现的吧。。。。。。。什么意思??好像没定义吧。<br>
我用ISE运行检错发现是23行27行和36行的Q&lt;=Q 1;有错,还有就是50行的NUM&lt;=NUM 1;有错。。。。。。<br>
楼主再检查一下吧。呵呵<br>
附件看一下吧。。。。。。。<br>
<br>
我也是新手,提的意见也不一定对。见谅哦

Sunlife 发表于 2015-6-17 09:58:20

对呀,你的Q1和NUM1凭空出现的吧。。。。。。。什么意思??好像没定义吧。<br>
我用ISE运行检错发现是23行27行和36行的Q&lt;=Q 1;有错,还有就是50行的NUM&lt;=NUM 1;有错。。。。。。<br>
楼主再检查一下吧。呵呵<br>
附件看一下吧。。。。。。。<br>
<br>
我也是新手,提的意见也不一定对。见谅哦
页: [1]
查看完整版本: 帮忙看看这段代码哪里错了