你会如何处理一个特殊的情况下在这个数字逻辑系统?
-
20-08-2019 - |
题
我布这个数字的逻辑图作为一个 答案 要 另一个计算器的问题.它描述了一个逻辑系统,它将编码在电气电子工程师学会或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.