我无法将 .hdl 文件加载到 HardwareSimulator 中。到目前为止,我已经实现了 FullAdder.hdl 和 Add16.hdl。
我收到的错误消息是
line 22, zab has no source pin
这是 Add16 的相关代码:
CHIP Add16 {
IN x[16], y[16];
OUT out[16];
PARTS:
HalfAdder(x=x[0],y=y[0],sum=out[0],carry=c);
FullAdder(x=x[1],y=y[1],c=c,sum=out[1],carry=d);
FullAdder(x=x[2],y=y[2],c=d,sum=out[2],carry=e);
FullAdder(x=x[3],y=y[3],c=e,sum=out[3],carry=f);
FullAdder(x=x[4],y=y[4],c=f,sum=out[4],carry=g);
FullAdder(x=x[5],y=y[5],c=g,sum=out[5],carry=h);
FullAdder(x=x[6],y=y[6],c=h,sum=out[6],carry=i);
FullAdder(x=x[7],y=y[7],c=i,sum=out[7],carry=j);
FullAdder(x=x[8],y=y[8],c=j,sum=out[8],carry=k);
FullAdder(x=x[9],y=y[9],c=k,sum=out[9],carry=l);
FullAdder(x=x[10],y=y[10],c=l,sum=out[10],carry=m);
FullAdder(x=x[11],y=y[11],c=m,sum=out[11],carry=n);
FullAdder(x=x[12],y=y[12],c=n,sum=out[12],carry=o);
FullAdder(x=x[13],y=y[13],c=o,sum=out[13],carry=p);
FullAdder(x=x[14],y=y[14],c=p,sum=out[14],carry=q);
FullAdder(x=x[15],y=y[15],c=q,sum=out[15],carry=drop);
}
我正在努力寻找错误,因为我很确定我在过去以完全相同的方式实现了这个芯片并且它工作正常。
至于全加器,它是相同的错误消息,但对于第 16 行。
我还将为此部分提供相关代码:
CHIP FullAdder {
IN x, y, z; // 1-bit inputs
OUT sum, // Right bit of x + y + z
carry; // Left bit of x + y + z
PARTS:
HalfAdder(x=x,y=y,sum=xy,carry=zxy);
HalfAdder(x=z,y=xy,sum=sum,carry=s);
Or(x=zab,y=s,out=carry);
}
关于第 16 行的错误,我无法理解。那是在 FullAdder 中的终止括号之后。
我浏览了互联网,据我所知,我的实现是完全正确的。任何精通计算机处理器领域的人有什么建议吗?这对于遇到相同/类似问题的任何其他人肯定有用。
谢谢
编辑:根据这个链接逻辑门,我的实现看起来或多或少完全相同。会不会是我的 HardwareSim 有问题?尽管我对此表示怀疑,因为我过去曾使用过它,并且是我的大学向我推荐的。