首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]各位高手,小弟刚学VHDL,写了一个计数器程序,综合时报错,请教各位

[求助]各位高手,小弟刚学VHDL,写了一个计数器程序,综合时报错,请教各位

 


报错信息:Multiple non-tristate drivers for net count_int(7) in aa4


          Multiple non-tristate drivers for net count_int(6) in aa4


          ................


         八个输出端都不对


--8位UP/DOWN计数器
LIBRARY ieee;
USE ieee.Std_logic_1164.ALL;
USE ieee.Std_logic_unsigned.ALL;


ENTITY aa4 IS
        GENERIC(n : Positive := 8);
        PORT(s1,s2,en,reset: IN Std_logic;
             count : OUT Std_logic_vector((n-1) DOWNTO 0));
END aa4;


ARCHITECTURE v1 OF aa4 IS
        SIGNAL count_int : Std_logic_vector((n-1) DOWNTO 0);
       --   count_int <= (OTHERS => '0');
BEGIN
          count_int <= (OTHERS => '0');
        PROCESS
       
        BEGIN
                wait until (en='1');  --使能


                  if (reset='1') then 
                   count_int <= (OTHERS => '0');  --清零


                  elsif(s1'EVENT AND s1 = '1' and s2='1') then 
                   count_int<=count_int+1;  --s1上升沿且s2为高时加记数


                  elsif(s1'EVENT AND s1 = '0' and s2='1') then
                   count_int<=count_int-1;  --s1下降沿且s2为高时减记数


                ELSE
                        NULL;
                END IF;
        END PROCESS;
        count <= count_int;
END v1;

ok,ok,ok
stone133,help!!!
ok,ok,ok

PROCESS后面没有敏感信号表?

另:WAIT在max+plusII中不被支持,无法使用

[此贴子已经被stone133于2006-4-14 13:39:14编辑过]

美梦成真-->噩梦降临!
我是在ACTEL中综合的,先把敏感信号表加上try
ok,ok,ok

敏感信号表加上(en,reset,s1,s2)后编译提示:
Wait statement can not be used in a process which has a sensitivity list in E:\Libero\MyDesign\yiwei\wei\hdl\aa4.vhd line 20.就是PROCESS行
ok,ok,ok

process的敏感信号表和wait until不能同时使用,建议不要使用wait,因为很多软件不支持它;

处理方法:

1.去掉wait,用if代替这个判断

2.process的敏感信号表加入敏感信号

3.不要用双沿处理,这样直接用会出问题

[此贴子已经被stone133于2006-4-14 15:35:02编辑过]

美梦成真-->噩梦降临!
我发现问题了,上升沿和下降沿只能保留其中一种,两种同时出现,综合就通不过了,这是正常的吗?所有的综合工具都不支持吗?我要实现上述功能该怎么做?
ok,ok,ok
不一定,有的工具支持 ,但是不支持这样用,会产生很多问题;
如果要用双沿,可以把上升沿和下降沿都提取出来,用提取的这个信号的上升沿单沿触发
美梦成真-->噩梦降临!
返回列表