假设我有一个深度为32且宽度为8位的FIFO。在所有32个位置都有一个有效位A.如果所有位置的该位为1,则表示满条件,如果为0则为空状态。我是要求是,如果一个位置的A位为0,并且该位A的所有位置都是1.当达到第30个位置时,它应该生成Almost_full条件。
请帮帮我。
先谢谢。
答案 0 :(得分:0)
所以你有一个32位向量,你想只检查其中一个位是0.如果速度不是很大,我会使用for循环来做这个。
如果速度是一个问题,我将在5次迭代中完成。您可以通过除法和检查方法来完成此操作。并行检查两个16位字。然后将其分成两个8位并检查它们。并且取决于零点将特定的8位除以4位并检查等等。
如果在任何一点上两个部分都有零,那么你可以退出检查并得出结论:almost_full = 0;