[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
-- Нужно написать код, который, имея тактовый вход
-- и шину (3 бита) задания количества импульсов,
-- на выходе выдавал каждый раз импульс после прохождения
-- на входе заданного кол-ва импульсов.
include "lpm_counter";
parameters (NUMBER = 7); -- задает количество импульсов
constant width = ceil(LOG2(NUMBER));
subdesign pulse_cnt
(
clk :input; -- тактовый
num[width-1..0] :input; -- шина задания количества импульсов
pulse :output;-- выходной импульс
)
variable
pulse :dffe;
pulse_cnt :lpm_counter with (lpm_width = width);
begin
pulse_cnt.clock = clk;
pulse_cnt.sload = pulse_cnt.cout;-- работает на версии >=10.0
pulse_cnt.data[] = !num[];
pulse = pulse_cnt.cout; -- работает на версии >=10.0
pulse.clk = clk;
end;
E-mail: info@telesys.ru