Перейти к содержанию
    

Гуру, подскажите, как правильно сделать:

есть одиночный импульс синхронный 100МГц, он должен породить одиночный импульс на 50МГц.

Весь проект нет смысла переводить на повышенную частоту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гуру, подскажите, как правильно сделать:

есть одиночный импульс синхронный 100МГц, он должен породить одиночный импульс на 50МГц.

Весь проект нет смысла переводить на повышенную частоту.

На рисунке 8 в статье разгадка

А это базовый синхронизатор оттуда.

library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity syn is
 port(
	 clk : in STD_LOGIC;
	 in_level : in STD_LOGIC;
	 reset : in STD_LOGIC;
	 imp : out STD_LOGIC
     );
end syn;
architecture syn_body of syn is
signal qqq : STD_LOGIC;
signal ddd : STD_LOGIC;
begin
tg: process (clk)
begin
if clk'event and clk = '1' then
	if  reset='1' then	
	qqq <= '0';
	ddd <= '0';
	else
	qqq <= ddd;
	ddd <= in_level;
end if;
end if;
end process;
imp <= ddd xor qqq;
end syn_body;

На входе in_level любая смена уровня порождает импульс привязанный к другой частоте.

На элементе xor (для этого in_level ) сделаете смену уровня на обратный по вновь поступающему импульсу....

В конце рабочего дня бдительность потерял. Тут просто Т-триггер(делитель)! Усталость... Извините!

2009_02_102.pdf

Изменено пользователем Мур

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 AlphaMil

поищите по форуму - тут SM выкладывал как раз такой дизайн который вам нужен - там 3(4?) тригера и 1 лут вроде в минимальной комплектации..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 AndrewS6 и всем остальным спасибо очень интересное решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 AlphaMil

поищите по форуму - тут SM выкладывал как раз такой дизайн который вам нужен - там 3(4?) тригера и 1 лут вроде в минимальной комплектации..

"Мой" вариант с таким же ресурсом! ...Если глянуть внимательно....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Мур

Если взглянуть внимательнее ваш HDL модуль вообще один клок имеет :biggrin:

 

А если мне не изменяет маразм то минимальная комплектация модуля от SM: 1 тригер на clkA, 3 тригера на clkB и 1 лут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Мур

Если взглянуть внимательнее ваш HDL модуль вообще один клок имеет :biggrin:

 

А если мне не изменяет маразм то минимальная комплектация модуля от SM: 1 тригер на clkA, 3 тригера на clkB и 1 лут

Вы не внимательны. HDL фрагмент только выходная часть базового синхронизатора. Вход(Т-триггер) на другой частоте. Его тут нет. А что его тут писать,-один триггер на входе?

Ещё раз - Рис 8.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Мур

посмотрел статейку и рисунок - слямзено с EDN, July 24, 2003.

Но суть в другом - не будет эта реализация работать для произвольных клоковых доменов. Там есчё handshake логику нужно добавлять ;) чтоб честно работало...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Мур

посмотрел статейку и рисунок - слямзено с EDN, July 24, 2003.

Но суть в другом - не будет эта реализация работать для произвольных клоковых доменов. Там есчё handshake логику нужно добавлять ;) чтоб честно работало...

Имхо, для произвольных доменов будет. Там единственное условие, что частота запускающих импульсов в первом домене должна быть не больше, чем тактовая в принимающем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот вот.. B)

Ну, с хендшейком в этом случае оно тоже может не работать. Либо из двух импульсов на входе получится один на выходе, либо придется Ack тянуть в генератор.

А дальше зависит от исходной задачи. Можно там задержать генерацию импульса или нет )

Изменено пользователем Ethereal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Ethereal

я собственно это к чему, случался дизайн в которых клоковый домен А мог работать как на большей так и на меньшей скорости чем домен Б (задавалось конфигом). В таких случаях лучше иметь универсальную схему, которая будет передавать 1clk импульс из А в Б, а не исходить из того, что у кого то тактовая меньше а у кого то больше..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Ethereal

я собственно это к чему, бывали дизайны в которых клоковый домен А мог работать как на большей так и на меньшей скорости чем домен Б (задавалось конфигом). В таких случаях лучше иметь универсальную схему, которая будет передавать 1clk импульс из А в Б.

Если это про тактовые, то дизайн работает при clkA<clbB, при clkA>clkB, при clkA=clkB. 1 1clk импульс передается в любую сторону.

Изменено пользователем Ethereal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таких случаях лучше иметь универсальную схему

 

Так у Тицца и Шенка еще 20 лет назад нарисовано.

И входного клока не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...