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

Передача сигнала из синхронной 66MHz в синхронную схему 50MHz

Подск пож: необходимо передать 2 сигнала (hsync, vsync) по 1бит с выхода D триггеров (clk_in=66MHz), на вход триггеров 50MHz.

 

Длительность имп на частоте 50MHz может быть неск тактов (не критично).

 

В схеме 50Mhz будет производиться взаимный анализ сигналов.

 

if(vsync) 
else
   if(hsync)
       else

 

Если увеличить длительность пульсов vsync, hsync на частоте 66MHz, все- равно это приводит к иногда (1/100) нестабилльности работы схемы (Chipscope)

 

Спасибо.

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


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

Ищите: в форуме тема перехода временного домена раскрыта чуть более, чем полностью. Кратко, надо поставить синхронизаторы и длительность импульса на 66 сделать минимум наверное 3 такта.

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


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

Ищите: в форуме тема перехода временного домена раскрыта чуть более, чем полностью. Кратко, надо поставить синхронизаторы и длительность импульса на 66 сделать минимум наверное 3 такта.

 

Не очень ищется.

 

http://www.google.ru/search?hl=ru&neww...mp;aq=f&oq=

 

Может ссылочку подбросите?

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


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

Ищите: в форуме ...

ключевое слово метастабильность

например:

Констрейнты при переходе из одного клокового домена в другой.

метастабильность

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


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

Подск пож: необходимо передать 2 сигнала (hsync, vsync) по 1бит с выхода D триггеров (clk_in=66MHz), на вход триггеров 50MHz.

 

Длительность имп на частоте 50MHz может быть неск тактов (не критично).

 

В схеме 50Mhz будет производиться взаимный анализ сигналов.

 

if(vsync) 
else
   if(hsync)
       else

 

Если увеличить длительность пульсов vsync, hsync на частоте 66MHz, все- равно это приводит к иногда (1/100) нестабилльности работы схемы (Chipscope)

 

Спасибо.

 

Попробуйте это

 

--  Provides a one-shot pulse from a non-clock input, with reset
--**Insert the following between the 'architecture' and
---'begin' keywords**
signal Q1, Q2, Q3 : std_logic;

--**Insert the following after the 'begin' keyword**
process(<clock>)
begin
   if (<clock>'event and <clock> = '1') then
      if (<reset> = '1') then
         Q1 <= '0';
         Q2 <= '0';
         Q3 <= '0'; 
      else
         Q1 <= D_IN;
         Q2 <= Q1;
         Q3 <= Q2;
      end if;
   end if;
end process;

Q_OUT <= Q1 and Q2 and (not Q3);

код на VHDL

Дополнительно скажу: сделайте строб готовности данных - этот строб пропускаете через схему (см код на VHDL), т.о. производите синхронизацию и забираете свои данные уже на другой тактовой частоте

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


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

тут все замечательно расписано:

http://en.wikipedia.org/wiki/Clock_domain_crossing

там есть ссылочки на 2 статьи, очень полезные.

 

если тяжко читать по английски, то есть цикл статей вот этого господина http://iosifk.narod.ru/hdl_coding/verilog.htm , глава номер 11. В электронном виде нет, можно либо диск заказть у него, либо взять нужный номер журнала "компоненты и технологии" и почитать там

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


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

Подск пож: необходимо передать 2 сигнала (hsync, vsync) по 1бит с выхода D триггеров (clk_in=66MHz), на вход триггеров 50MHz.

 

В схеме 50Mhz будет производиться взаимный анализ сигналов.

 

Если увеличить длительность пульсов vsync, hsync на частоте 66MHz, все- равно это приводит к иногда (1/100) нестабилльности работы схемы (Chipscope)

 

я бы не решал эту задачу через з...цу, а провел бы взаимный анализ на частоте 66МГц, а результат его передал в домен 50МГц. Это будет проще и надежнее :)

 

ЗЫ. Если взаимный анализ включает в себя замер временных интервалов, то тем более заниматься этим после нарезки сигнала на 50МГц (с ошибкой по положению фронта) ИМХО глупо.

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


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

я бы не решал эту задачу через з...цу, а провел бы взаимный анализ на частоте 66МГц, а результат его передал в домен 50МГц. Это будет проще и надежнее :)

 

ЗЫ. Если взаимный анализ включает в себя замер временных интервалов, то тем более заниматься этим после нарезки сигнала на 50МГц (с ошибкой по положению фронта) ИМХО глупо.

 

Спасибо.

 

Как я понял:

- для передачи одиночного сигнала через временной домен, на приемной стороне необходимо ставить 2 последовательных D триггера (на передающей 66MHz стороне длина имп- не менне 3 такта clk 50MHz?).

- для передачи слов данных - использовать FIFO ise_core_generator, которое использует код грея для счетчиков wr_fifo_adr/rd_fifo_adr адресов.

- сравнением кодов грея wr_fifo_adr/rd_fifo_adr, ip_core вычислет флаг fifo_empty.

 

Это так?

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


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

Как я понял:

- для передачи одиночного сигнала через временной домен, на приемной стороне необходимо ставить 2 последовательных D триггера (на передающей 66MHz стороне длина имп- не менне 3 такта clk 50MHz?).

- для передачи слов данных - использовать FIFO ise_core_generator, которое использует код грея для счетчиков wr_fifo_adr/rd_fifo_adr адресов.

- сравнением кодов грея wr_fifo_adr/rd_fifo_adr, ip_core вычислет флаг fifo_empty.

 

Это так?

 

вариантов много, все зависит от того что и куда передаем, оптимальное решение для одного слова пятилетку будет отличаться от пакета данных, для строба будет отличаться от постоянного уровня. Есть конечно универсальные решения, но они не всегда оптимальны. В общем как и везде в фпга выбираем компромис :)

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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