0

BitSelect芯片具有:3 位输入和 8 位输出。

CHIP BitSelect
{
    IN bit[3];
    OUT out[8];

    PARTS:
    // what parts to use?

}

如何实现下面真值表描述的行为?

in          out
000.      00000001
001.      00000010
010.      00000100
011.      00001000
100.      00010000
101.      00100000
110.      01000000
111.      10000000
4

2 回答 2

0

符合您描述的芯片称为解复用器
DMux8Way课程的内置项目01几乎相同:

/**
 * 8-way demultiplexor:
 * {a, b, c, d, e, f, g, h} = {in, 0, 0, 0, 0, 0, 0, 0} if sel == 000
 *                            {0, in, 0, 0, 0, 0, 0, 0} if sel == 001
 *                            etc.
 *                            {0, 0, 0, 0, 0, 0, 0, in} if sel == 111
 */

它有 2 个输入:

IN in, sel[3];

和 8 个输出:

 OUT a, b, c, d, e, f, g, h;

您现在必须对其进行一些调整,使其成为您唯一需要的部分:

1) intoDMux8Way必须始终为1(或在 HDL 中为 true),因为您需要切换1的位置。

2) 而不是 8 个单输出 a..h,您必须将它们连接起来以生成一个符合您芯片要求的 8 位输出 [8]

如果您需要从更基本的部分创建芯片,这是一个完全不同的故事,但仍然应该让您很好地了解要做什么以及在设计中寻找什么。
当我将此问题视为“作业帮助”时,无论它是否是实际作业,我都不会为您提供复制粘贴解决方案,但这应该可以帮助您继续朝着正确的方向前进。
如果您需要进一步的帮助,您始终可以使用更具体的问题来编辑您的问题,或者如果主题与原始问题有很大不同,则可以提出新问题。

于 2019-12-25T18:57:07.750 回答
-1

您可以使用逻辑门来做到这一点,例如,111将是bit[0]and bit[1],然后与bit[2]

请不要抄袭任何作品,否则我会把穆勒放在你身上。

于 2019-11-26T22:18:17.870 回答