参考我先前的问题在这里 ,我一直在使用三态与普通公交车上班。 我似乎仍然有一些执行问题。
三态使用这种类型的代码:
分配IO [宽度-1:0] =(重新)RD_OUT [宽度-1:0]:{{宽度1'bz}};
合成和翻译进展顺利。 无警告或错误我没想到(我是有些期待,因为这仅仅是一个试运行和大多数组件没有做任何事情,并会因此被悬空)。 但是,当我真正尝试实现它,所有的公共汽车(有三个)输出1111111111111111,或-1,换算我的二进制到BCD转换器。 我检查它是否真的通过指示控制矩阵,如果总线上接收指令停止的情况下是-1,它没有停止。
我接收对所述三态警告被转换为逻辑是:
XST:2040 - 单元Neptune_I:16多源信号是由逻辑替换(上拉是)
XST:2042 - 单元ALU:16个内部三态由逻辑替换(上拉是):
等等。 Neptune_I是顶级的模块,我相信它指的是多源信号的总线。
我有一个疑问拉肯定是这个问题的根源。 它是简单地拉动了一切,从而导致无法-1所有的时间? 但是,这没有任何意义对我来说,因为当三态被激活,信号应该由任何实体它应该通过控制控制。
我想花时间,以取代逻辑,而不是三态的代码,但我不知道该如何继续。
任何帮助,将不胜感激。