我布这个数字的逻辑图作为一个 答案另一个计算器的问题.它描述了一个逻辑系统,它将编码在电气电子工程师学会或VHDL并最终实现在FPGA。

alt文本http://img145.imageshack.us/img145/5125/bitshifterlogicdiagramkn7.jpg

编号的盒图中的代表比特在一个领域。每个领域都有 K 位,位于 电流面罩 将提供通过计算机系统中(使用锁登记或当量)。各位 将读回到同样的计算机系统。

该解决方案,我贴的工作,只要至少有一个位置 面罩 领域,并且有一个确切的位置 电流 位的领域。这个想法是, 点领域将成为 电流 点领域之后,该计算机系统具有执行某些任务(调度操作,在原有的问题)。

因此,我的问题是这个:你会如何修改这一系统,以便正确地处理特殊情况下 电流 点领域是所有零(没有位置)? 因为它的立场,如果各位 电流 是零,输出也将为零,不论什么各位 面罩 被设置为。

理想的情况下,如果 电流 都是零,最低的设定位 面罩 应该被设置在 .该系统还应该仍然可扩展到任何数量的位(K)没有必要添加呈指数更多的逻辑门。本着原来的问题是要拿出一个解决方案,将直接实施的任何数量的位。

参见: 这个计算器的问题

有帮助吗?

解决方案

对于我来说,我会告诉FPGA的用户,他们必须设置为1,在进入一个位。

但是,如果这不是你的首选解决方案,这有什么错的预输送所有的电流输入的想法最初成一个大NOR门(所以只有当所有的投入都是假的输出是真实的)。所有电流线也继续通过其与门不同的是电流[1]逻辑或运算与我们的NOR门的输出进入它的AND之前门

这样一来,电流[1]将是真正进入AND门,如果所有电流是假的。

请记住,我理解布尔代数,但我从来没有工作过的原始硬件 - 我猜你需要所有的输入信号缓冲到与门,以确保正确的时机,但我怀疑你会知道该比我更好。

下图是留在在壳体SO固定它的代码/预块 - 最新更新SO似乎已经酿起来(使他们成比例,而不是固定宽度,字体)。无论如何,eJames'曲线图是更好。

这是我的图,略比你少优雅: - ):

               +-------------------+
               |                   |
               |     +----         |
Current[1]-----+------\   \        |
                       |NOR|o--+   |
Current[2-k]---+------/   /    |   |
               |     +----     |   |
               |              +\   /+
               |              | \_/ |
             +---+            |  OR |
              \ /Buffer        \   /
               +                ---
               |                 |
             +---+             +---+
             |2-k|             | 1 |    <- These signals feed 
             +---+             +---+       into your AND gates.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top