我有一些奇怪的问题,我的设计中没有连接一些电线。
我正在尝试制作一个简单的寄存器文件(我正在使用 Xilinx ISE)。这个寄存器文件包含 32 个寄存器,每个都是 32 位大小。寄存器文件有两个用于读取选择的 MUX(2 个并行读取)和一个用于写入选择的解码器。当我尝试将来自每个寄存器的信号连接到 2 个 MUX 时,信号出现在仅连接到一个 MUX 的 RTL 中。例如,设信号reg2out
为 的输出reg2
。我连接reg2out
到 的引脚I1
,mux1
然后再次连接到的reg2out
引脚I1
。mux2
然后 RTL 显示第二个多路复用器连接正确,但第一个多路复用器显示没有输入,没有选择器,也没有连接到它的输出。下图显示了 RTL。
注意:ISE 在合成时会生成以下警告
“警告:Xst:1348 - 单元多路复用器已合并(输出接口具有三态)”
我不明白。
主模块源“RegisterFile.vhd”可以在这里找到。我尝试了十几种修改来纠正,包括添加新信号,将寄存器输出存储在 D-FF 中,以及将寄存器输出存储在过程变量中;并且问题仍然存在。该设计包含另外两个文件:“dec.vhd”和“mux.vhd”。我相信这些模块的设计是正确的。
我该如何纠正这个问题?它是 ISE 中的错误吗?