如何使用HDL?中的数组(表示总线)?
例如,我有以下代码:
/**
* 16-bit bitwise And:
* for i = 0..15: out[i] = (a[i] and b[i])
*/
CHIP And16 {
IN a[16], b[16];
OUT out[16];
PARTS:
// Put your code here:
}假设我已经实现了And,我如何实现它?
我宁愿没有以下内容:
And(a=a[0],b=b[0],out=out[0]);
And(a=a[1],b=b[1],out=out[1]);
...
And(a=a[14],b=b[14],out=out[14]);
And(a=a[15],b=b[15],out=out[15]);发布于 2017-01-20 11:56:49
在HDL中没有数组。在nand2tetris同伴书第1.3节,他说
由于我们已经知道如何实现这些门的基本版本,所以它们的n元版本的实现仅仅是构造n个基本门的数组,让每个门在其位上单独操作。这个实现任务是相当枯燥的,但是当这些多位门被使用在更复杂的芯片中时,它将承担起它的重量,正如后面章节所描述的那样。
因此,除了用Python编写一个琐碎的脚本以避免所有的输入之外,您没有遗漏任何东西。
https://stackoverflow.com/questions/41255404
复制相似问题