我使用的半加法器代码如下:
clc;
close all;
A = logical([0 0 1 1]);
B = logical([0 1 0 1]);
for k = 1:4
S(k) = ~A(k)&B(k)|(A(k)&~B(k));
C(k) = A(k)&B(k) ;
if (S(k)~=xor(A(k),B(k))) || (C(k)~=and(A(k),B(k)))
disp('ERROR')
end
end
disp('The truth table of half adder is:')
disp('A B S C')
table = [A; B; S; C];
fprintf ('%i %i %i %i\n', table)
以上是设计,下面的代码是testbench函数:
function [s,c]=fist(A,B)
A = logical([0 1]);
B = logical([0 1]);
y = int8(A);
z = int8(B);
disp('The truth table of half adder is:')
disp('A B S C')
for k = 1:2
for l = 1:2
sum = xor(y(k),z(l));
carry = and(y(k),z(l));
fprintf('\n');
fprintf('%i %i %i %i',y(k),z(l),sum,carry)
if (sum~=xor(y(k),z(l)) || (carry~=and(y(k),z(l))))
disp('ERRoR')
end
end
现在我正在尝试使用HDL编码器生成VHDL代码,我在工作流顾问中得到的错误是:
“无法从测试平台推断出所有输入类型。”
MATLAB HDL编码器中出现错误的位置?