[an error occurred while processing this directive]
В практике
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
[an error occurred while processing this directive]

Отправлено Шурила 03 февраля 2001 г. 18:02
В ответ на: в теории отправлено дядя Федя aka yes 01 февраля 2001 г. 15:25

На AHDL

Вообще есть предложение создать банк типовых решений
Что скажет www.altera.ru ????

-- 3.02.2001
-- Покладов Александр
-- Делитель частоты
-- Выходная частота равна Fout = Fin * (cDiv / (2 ^ cRg))
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-- ! Fout не может быть больше Fin, т.е. cDiv < (2 ^ cRg)
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Constant cDiv = 6; -- коэффициент деления
Constant cRg = 3; -- количество разрядов в регистре фазы

SUBDESIGN Fr_div
(
Fin : INPUT;
Fout : OUTPUT;
)
VARIABLE
fv[cRg .. 0] :dff; -- Регистр сумматора
rgF :tff;
fin_X_2 :node; -- Удвоенная частота
BEGIN
fin_X_2 = Fin xor rgF; -- Умножение на 2 Fin
rgF.t = vcc;
rgF.clk = fin_X_2;

fv[].clk = fin_X_2; -- Сумматор фазы
fv[] = fv[] + cDiv;

Fout = fv[cRg]; -- Выход частоты
END;

Для получения большей возможной сетки частот следует увеличить количество разрядов в регистре фазы.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
E-mail: 

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

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

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


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

E-mail: info@telesys.ru