搜索
bottom↓
回复: 3

乐曲演奏,notetabs文件有错,error10821,去掉第二个Counter<=Counter+1 就编译成

[复制链接]

出0入0汤圆

发表于 2011-3-15 16:50:37 | 显示全部楼层 |阅读模式
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY NoteTabs IS
PORT ( clk : IN STD_LOGIC;
songa : in std_logic;
songb : in std_logic;
songc : in std_logic;
Circle : in std_logic;
ToneIndex : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );
END;


ARCHITECTURE one OF NoteTabs IS

COMPONENT MUSICFORTH --音符数据ROM
PORT(address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
clock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));
END COMPONENT;

SIGNAL Counter : STD_LOGIC_VECTOR (7 DOWNTO 0);--INTEGER RANGE 512 DOWNTO 0;

BEGIN

CNT8 : PROCESS(clk, songa,songb,songc,Circle,Counter)
--VARIABLE Counter : STD_LOGIC_VECTOR (7 DOWNTO 0);--INTEGER RANGE 512 DOWNTO 0;
BEGIN

IF Circle='0' then    (显示这部分出错 )
     IF (songa='1') and (songb='0') and (songc='0') then--FOR Counter IN 0 TO 138 LOOP
           IF (Counter>=138) THEN Counter <= "00000000";
               ELSIF (clk'EVENT AND clk = '1') THEN
                  Counter <= Counter+1;
           END IF;-- END IF;

     ELSIF (songa='0') and (songb='1') and (songc='0') then
           IF   (Counter<=144) or (Counter>=209) then Counter <= "10010000";
               ELSIF (clk'EVENT AND clk = '1') THEN
                  --Counter <= Counter+1;
           END IF;-- END IF;

     ELSIF (songa='0') and (songb='0') and (songc='1') then A
           IF (Counter<=216)  then Counter<= "11011000";
               ELSIF (clk'EVENT AND clk = '1') THEN
                  Counter <=  Counter+1;
           END IF;-- END IF;
     ELSE  NULL;--ELSE Counter<= "00000000";--NULL;
     END IF;

ELSIF Circle='1' then
     IF Counter>=423 then Counter<= "00000000";
         ELSIF (clk'EVENT AND clk = '1') THEN
            Counter <= Counter+1;
     END IF;
--END IF;--
ELSE NULL;
END IF;

END PROCESS;


u1 : MUSICFORTH PORT MAP(address=>Counter, q=>ToneIndex, clock=>clk);
END;







Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[0]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[1]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[2]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[3]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[4]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[5]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[6]" because its behavior does not match any supported register model
Error (10821): HDL error at NoteTabs.vhd(33): can't infer register for "Counter[7]" because its behavior does not match any supported register model
Error (10822): HDL error at NoteTabs.vhd(35): couldn't implement registers for assignments on this clock edge
Error (10822): HDL error at NoteTabs.vhd(47): couldn't implement registers for assignments on this clock edge
Error: Can't elaborate user hierarchy "NoteTabs:u1"
Error: Quartus II Analysis & Synthesis was unsuccessful. 11 errors, 0 warnings
Error: Quartus II Full Compilation was unsuccessful. 11 errors, 0 warnings



课程设计要求播放三首歌,去掉Counter<=Counter+1 就编译成功,rom是512字节,不连续地放了三首歌,共占四百多字节,不知道是不是与rom有关,因为听说std_logic_vector  只能累加到255.又可能是if then 条件设置有错,不知道怎么改 很疑惑。请各位指教。


另外  用的是quartus2 的7.2软件  用了个cra_ck破_解了一下   发现不可以使用任何devices   请各位指教

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-3-16 10:37:07 | 显示全部楼层
典型的C语言编程思路,你写的太混乱了,你要好好看看编码规范了。

出0入0汤圆

 楼主| 发表于 2011-3-16 13:03:12 | 显示全部楼层
回复【1楼】semonpic
-----------------------------------------------------------------------
这样都混乱?  分层挺明了的啊

出0入0汤圆

 楼主| 发表于 2011-3-16 13:47:33 | 显示全部楼层
回复【1楼】semonpic
-----------------------------------------------------------------------你自己没认真看就不要说别人写的混乱
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 15:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表