Произошла ошибка в кодере MATLAB HDL
Код для наполовину сумматора, который я использовал, приведен ниже:
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
Теперь я пытаюсь сгенерировать код VHDL с использованием HDL-кодера, и я получаю сообщение об ошибке в помощнике рабочего процесса:
"Не удалось вывести все типы ввода из тестового стенда".
Где произошла ошибка в кодере MATLAB HDL?