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
与您描述相符的芯片称为解复用器。该课程的项目01中内置的DMux8Way
几乎相同:
/**
* 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] in
到DMux8Way
必须始终为1(在HDL中为true),因为您需要切换1的位置。
2)而不是8个单输出a..h,您必须连接它们以使单个8位输出out [8]符合芯片的要求
如果您需要从更多基本部件中创建芯片,这是一个完全不同的故事,但是仍然应该给您一个很好的主意,即在设计中应该做什么和要寻找什么。当我将这个问题视为“作业帮助”时,无论它是实际的作业,我都不给您复制粘贴解决方案,但这应该可以帮助您保持正确的方向。如果您需要进一步的帮助,则始终可以用更具体的问题来编辑您的问题,或者如果主题与原始问题有很大不同,可以询问新的问题。
[您可以使用逻辑门来执行此操作,例如,111
将是bit[0]
和bit[1]
,然后与bit[2]
一起叠加
请不要窃任何作品,否则我将穆勒放在您身上。