[an error occurred while processing this directive]
|
ИМС - EPM3032A. Компилирую и получаю сообщение о том, что нельзя тактировать объявленные мной счетчики от каких попало пинов, а только от глобальных. Так что на одной ИМС реально управлять лишь двумя двигателями. А может, можно что-то придумать, ведь куча ресурсов ПЛИС свободны ? Вот мой код (2 двигателя):
SUBDESIGN Optima_motors
(
clk_1, clk_2, clear : INPUT;
motor_1 [3..0], motor_2 [3..0] : OUTPUT;
)
variable counter_1 [1..0] : dff;
counter_2 [1..0] : dff;
BEGIN
counter_1 [].clk = clk_1;
counter_1 [].clrn = clear;
counter_1 [].prn = vcc;
counter_1 [].d = counter_1 [].q + 1;
counter_2 [].clk = clk_2;
counter_2 [].clrn = clear;
counter_2 [].prn = vcc;
counter_2 [].d = counter_2 [].q + 1;
case counter_1 [] is
when 0 => motor_1 [] = b"0001";
when 1 => motor_1 [] = b"0010";
when 2 => motor_1 [] = b"0100";
when 3 => motor_1 [] = b"1000";
end case;
case counter_2 [] is
when 0 => motor_2 [] = b"0001";
when 1 => motor_2 [] = b"0010";
when 2 => motor_2 [] = b"0100";
when 3 => motor_2 [] = b"1000";
end case;
END;
E-mail: info@telesys.ru