打印

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

[复制链接]
19844|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
YJH眼睛|  楼主 | 2012-3-8 20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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
文件名和模块名是一样的,我做的那个项目是以前做好了的,后面我再编写了这个锁存器,添加到那个工程项目里,会不会是我没设置好?

使用特权

评论回复
5
GoldSunMonkey| | 2012-3-9 10:35 | 只看该作者
那我不知道了。我对Q的不熟悉。不好意思。
问下,您是不是有数据位宽不一致的情况?

使用特权

评论回复
6
YJH眼睛|  楼主 | 2012-3-9 12:54 | 只看该作者
5# GoldSunMonkey
谢谢哈。问题我刚刚解决了,应该是引脚重复使用问题,在always @(posedge syclk or negedge test)中去掉or negedge test就可以了。:)

使用特权

评论回复
7
GoldSunMonkey| | 2012-3-9 13:22 | 只看该作者
:)不错
结帖把分数给俺吧。
俺虽然没有给出正确的,但是俺一直在帮您分析~

使用特权

评论回复
8
草原狼10| | 2013-8-16 10:48 | 只看该作者
YJH眼睛 发表于 2012-3-9 12:54
5# GoldSunMonkey  
谢谢哈。问题我刚刚解决了,应该是引脚重复使用问题,在always @(posedge syclk or ne ...

学习啦!!!谢谢

使用特权

评论回复
9
草原狼10| | 2013-8-16 10:48 | 只看该作者
刚刚也遇到这么的一个问题,感谢感谢!

使用特权

评论回复
10
dongfangin2012| | 2014-9-29 20:19 | 只看该作者
我最近也碰到了这个问题,我把所有模块中的同步复位,改成异步复位后,再编译就出现了这个问题,
always @(posedge clk)
        if(!reset || CH_stop)
如果把敏感量列表里的 or negedge reset 去掉后就没有这个情况,跟楼主大神的问题差不多,问题就出在这个异步复位信号上,但楼主大神所说的引脚重复使用,怎么理解!望楼主大神不吝赐教,共同学习,一起进步!谢谢~~~~

使用特权

评论回复
11
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 ...

使用特权

评论回复
12
johndrf| | 2014-12-17 13:22 | 只看该作者
学习了,非常感谢!

使用特权

评论回复
13
xj0126| | 2015-10-19 16:25 | 只看该作者
应该说是一个进程中不能有两个相同的时钟驱动

使用特权

评论回复
14
Miton| | 2016-11-7 19:27 | 只看该作者
学习了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

264

帖子

0

粉丝