Error: Can't elaborate user hierarchy "lock:inst16"

[复制链接]
 楼主| YJH眼睛 发表于 2012-3-8 20:17 | 显示全部楼层 |阅读模式
请教高手,Quartus II中编译出错显示Error: Can't elaborate user hierarchy "lock:inst16"
 楼主| YJH眼睛 发表于 2012-3-8 20:38 | 显示全部楼层
上程序了,下面这段是我自己写的一段锁存器程序,编译时没有出错,然后把它放到原理图上编译就出现了上面的问题,请大家看看有什么问题。。
module lock(syclk,test,in1,in2,in3,in4,in5,in6,in7,in8,out1,out2,out3,out4,out5,out6,out7,out8);
        input syclk,test,in1,in2,in3,in4,in5,in6,in7,in8;
        output reg out1,out2,out3,out4,out5,out6,out7,out8;
       
        reg [31:0] cnt;
        reg register1,register2,register3,register4,register5,register6,register7,register8;
       
        always @(posedge syclk or negedge test)
                begin
                        if(~test)
                                register1<=in1;
                                register2<=in2;
                                register3<=in3;
                                register4<=in4;
                                register5<=in5;
                                register6<=in6;
                                register7<=in7;
                                register8<=in8;
                                //delay function
                                begin                                       
                                        if(cnt!=0)
                                                cnt<=cnt-1'b1;
                                                else
                                                cnt<=32'b1001_1000_1001_0110_1000_0000;//delay about 200ms
                                end
                   if(test)
                        begin
                                out1<=register1;
                                out2<=register2;
                                out3<=register3;
                                out4<=register4;
                                out5<=register5;
                                out6<=register6;
                                out7<=register7;
                                out8<=register8;
                        end
                end
endmodule
GoldSunMonkey 发表于 2012-3-8 21:32 | 显示全部楼层
您文件名和模块名是不是不一致啊?
 楼主| YJH眼睛 发表于 2012-3-9 07:53 | 显示全部楼层
3# GoldSunMonkey
文件名和模块名是一样的,我做的那个项目是以前做好了的,后面我再编写了这个锁存器,添加到那个工程项目里,会不会是我没设置好?
GoldSunMonkey 发表于 2012-3-9 10:35 | 显示全部楼层
那我不知道了。我对Q的不熟悉。不好意思。
问下,您是不是有数据位宽不一致的情况?
 楼主| YJH眼睛 发表于 2012-3-9 12:54 | 显示全部楼层
5# GoldSunMonkey
谢谢哈。问题我刚刚解决了,应该是引脚重复使用问题,在always @(posedge syclk or negedge test)中去掉or negedge test就可以了。:)
GoldSunMonkey 发表于 2012-3-9 13:22 | 显示全部楼层
:)不错
结帖把分数给俺吧。
俺虽然没有给出正确的,但是俺一直在帮您分析~
草原狼10 发表于 2013-8-16 10:48 | 显示全部楼层
YJH眼睛 发表于 2012-3-9 12:54
5# GoldSunMonkey  
谢谢哈。问题我刚刚解决了,应该是引脚重复使用问题,在always @(posedge syclk or ne ...

学习啦!!!谢谢
草原狼10 发表于 2013-8-16 10:48 | 显示全部楼层
刚刚也遇到这么的一个问题,感谢感谢!
dongfangin2012 发表于 2014-9-29 20:19 | 显示全部楼层
我最近也碰到了这个问题,我把所有模块中的同步复位,改成异步复位后,再编译就出现了这个问题,
always @(posedge clk)
        if(!reset || CH_stop)
如果把敏感量列表里的 or negedge reset 去掉后就没有这个情况,跟楼主大神的问题差不多,问题就出在这个异步复位信号上,但楼主大神所说的引脚重复使用,怎么理解!望楼主大神不吝赐教,共同学习,一起进步!谢谢~~~~
Q_Amazon 发表于 2014-11-18 11:09 | 显示全部楼层
dongfangin2012 发表于 2014-9-29 20:19
我最近也碰到了这个问题,我把所有模块中的同步复位,改成异步复位后,再编译就出现了这个问题,
always @( ...

the same as u . If u know the problem please help me . thanks a lot ...
johndrf 发表于 2014-12-17 13:22 | 显示全部楼层
学习了,非常感谢!
xj0126 发表于 2015-10-19 16:25 | 显示全部楼层
应该说是一个进程中不能有两个相同的时钟驱动
Miton 发表于 2016-11-7 19:27 | 显示全部楼层
学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

264

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部