реклама на сайте
подробности

 
 
6 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Синхронизатор, Две тактовые, единичные импульсы
AlphaMil
сообщение Apr 7 2011, 13:19
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588



Гуру, подскажите, как правильно сделать:
есть одиночный импульс синхронный 100МГц, он должен породить одиночный импульс на 50МГц.
Весь проект нет смысла переводить на повышенную частоту.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 7 2011, 13:33
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(AlphaMil @ Apr 7 2011, 17:19) *
Гуру, подскажите, как правильно сделать:
есть одиночный импульс синхронный 100МГц, он должен породить одиночный импульс на 50МГц.
Весь проект нет смысла переводить на повышенную частоту.

На рисунке 8 в статье разгадка
А это базовый синхронизатор оттуда.
CODE

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 ) сделаете смену уровня на обратный по вновь поступающему импульсу....
В конце рабочего дня бдительность потерял. Тут просто Т-триггер(делитель)! Усталость... Извините!

Сообщение отредактировал Мур - Apr 7 2011, 16:23
Прикрепленные файлы
Прикрепленный файл  2009_02_102.pdf ( 248.04 килобайт ) Кол-во скачиваний: 1524
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 7 2011, 14:25
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 AlphaMil
поищите по форуму - тут SM выкладывал как раз такой дизайн который вам нужен - там 3(4?) тригера и 1 лут вроде в минимальной комплектации..
Go to the top of the page
 
+Quote Post
AndrewS6
сообщение Apr 7 2011, 14:35
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 9-10-05
Из: С.-Петербург
Пользователь №: 9 418



http://www.fpga4fun.com/CrossClockDomain2.html
Go to the top of the page
 
+Quote Post
AlphaMil
сообщение Apr 7 2011, 14:41
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588



2 AndrewS6 и всем остальным спасибо очень интересное решение.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 7 2011, 16:25
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Kuzmi4 @ Apr 7 2011, 18:25) *
2 AlphaMil
поищите по форуму - тут SM выкладывал как раз такой дизайн который вам нужен - там 3(4?) тригера и 1 лут вроде в минимальной комплектации..

"Мой" вариант с таким же ресурсом! ...Если глянуть внимательно....
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 7 2011, 17:02
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Мур
Если взглянуть внимательнее ваш HDL модуль вообще один клок имеет biggrin.gif

А если мне не изменяет маразм то минимальная комплектация модуля от SM: 1 тригер на clkA, 3 тригера на clkB и 1 лут
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 7 2011, 17:36
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Kuzmi4 @ Apr 7 2011, 21:02) *
2 Мур
Если взглянуть внимательнее ваш HDL модуль вообще один клок имеет biggrin.gif

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

Вы не внимательны. HDL фрагмент только выходная часть базового синхронизатора. Вход(Т-триггер) на другой частоте. Его тут нет. А что его тут писать,-один триггер на входе?
Ещё раз - Рис 8.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 9 2011, 10:44
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Мур
посмотрел статейку и рисунок - слямзено с EDN, July 24, 2003.
Но суть в другом - не будет эта реализация работать для произвольных клоковых доменов. Там есчё handshake логику нужно добавлять wink.gif чтоб честно работало...
Go to the top of the page
 
+Quote Post
Ethereal
сообщение Apr 9 2011, 11:23
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Цитата(Kuzmi4 @ Apr 9 2011, 14:44) *
2 Мур
посмотрел статейку и рисунок - слямзено с EDN, July 24, 2003.
Но суть в другом - не будет эта реализация работать для произвольных клоковых доменов. Там есчё handshake логику нужно добавлять wink.gif чтоб честно работало...

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


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 9 2011, 11:32
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(Ethereal @ Apr 9 2011, 14:23) *
....единственное условие....

Вот вот.. cool.gif
Go to the top of the page
 
+Quote Post
Ethereal
сообщение Apr 9 2011, 11:39
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Цитата(Kuzmi4 @ Apr 9 2011, 15:32) *
Вот вот.. cool.gif

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

Сообщение отредактировал Ethereal - Apr 9 2011, 11:40


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 9 2011, 11:50
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Ethereal
я собственно это к чему, случался дизайн в которых клоковый домен А мог работать как на большей так и на меньшей скорости чем домен Б (задавалось конфигом). В таких случаях лучше иметь универсальную схему, которая будет передавать 1clk импульс из А в Б, а не исходить из того, что у кого то тактовая меньше а у кого то больше..
Go to the top of the page
 
+Quote Post
Ethereal
сообщение Apr 9 2011, 12:44
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354



Цитата(Kuzmi4 @ Apr 9 2011, 15:50) *
2 Ethereal
я собственно это к чему, бывали дизайны в которых клоковый домен А мог работать как на большей так и на меньшей скорости чем домен Б (задавалось конфигом). В таких случаях лучше иметь универсальную схему, которая будет передавать 1clk импульс из А в Б.

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

Сообщение отредактировал Ethereal - Apr 9 2011, 13:04


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 9 2011, 13:13
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Kuzmi4 @ Apr 9 2011, 14:50) *
В таких случаях лучше иметь универсальную схему


Так у Тицца и Шенка еще 20 лет назад нарисовано.
И входного клока не надо.
Go to the top of the page
 
+Quote Post

6 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd July 2025 - 18:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016