0
CHIP Shift8 {
     IN x;
     OUT out[8];

     PARTS:
     DFF(x=x, out=d1);
     DFF(x=d1, out=d2);
     DFF(x=d2, out=d3);
     DFF(x=d3, out=d4);
     DFF(x=d4, out=d5);
     DFF(x=d5, out=d6);
     DFF(x=d6, out=d7);
     DFF(x=d7, out=d8);

     Bit(x=d1,  out=out[0]);
     Bit(x=d2,  out=out[1]);
     Bit(x=d3,  out=out[2]);
     Bit(x=d4,  out=out[3]);
     Bit(x=d5,  out=out[4]);
     Bit(x=d6,  out=out[5]);
     Bit(x=d7,  out=out[6]);
     Bit(x=d8,  out=out[7]);

}

out[8]当我测试我的代码时,似乎永远不会改变。但是,d1-d8 确实会根据需要进行更改。

4

1 回答 1

0

通常的 Nand2Tetris Bit 实现有两个输入,新值和加载信号,如果为真,则将新值加载到 Bit;否则该位保持其当前值。

于 2021-02-25T01:02:26.067 回答