[an error occurred while processing this directive] [an error occurred while processing this directive]
Пример с использованием LPM. По-моему намного понятнее.
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Victor Yurchenko 24 декабря 2001 г. 19:46
В ответ на: Ещё ламмерский вопросик по AHDL (+) отправлено Dimitry 24 декабря 2001 г. 08:51

-- Нужно написать код, который, имея тактовый вход
-- и шину (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: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru