我想建立一个由4个寄存器组成的寄存器库,每个寄存器具有2位的读写功能.我曾使用混合式建筑.在这里,我上传我的硬件图像,根据架构和模拟波形.
Deco - 2*4解码器 并行并行2位寄存器,具有读写能力(正边缘触发) ConnectedBus -输出端的硬件,用于在读取断言时将所选寄存器的输出转移到输出端口。



但我的问题是,在读取2-3个时钟脉冲之后,我得到的值与用register.....But编写的值不同,我的程序编译成功了,并且我做了同样的事情,下面的硬件describes............what可能是错误?
PIPO代码:
lup1: 对于0到N-1生成的 c(a) <=投标和clk; Tix: TriState端口图(ip(A),bid,i(a)); Dlx: DLat端口图(I(A),c(a),o(a)); 毒理: TriState端口图(o(A),(非bid),op(a)); 端生成lup1;ip和op端我使用了三状态缓冲器,ip缓冲器有控制位in (双向),op缓冲器有控制位(不出价),因此一次只有一个缓冲器会打开,而在DFF中,我使用了(in和clk)作为DFF的时钟。
发布于 2013-03-28 18:12:17
在我看来,你的信号没有一个和你的时钟同步。这很可能会导致“奇怪的行为”,因为信号相互之间的漂移。这样代码的行为是不可预测的。您应该选择同步设计,并生成与同一时钟相关的所有信号。
https://stackoverflow.com/questions/15684943
复制相似问题