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

 
 
> Как правильно передать информацию из одного клокового домена в другой?, То есть не неправильно
Koluchiy
сообщение Sep 8 2010, 13:43
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Здравствуйте, господа.

Простенький вопрос.

Есть два клоковых домена, частоты никак между собой не связаны, но известно, что F1 примерно = 1.1*F2 .

Из домена F2 надо передать в домен F1 несколько сигналов (2..8), каждый из которых представляет из себя одиночный импульс (длительность импульса = 1 такту F2).
Известно, что длительность паузы между импульсами в одном сигнале очень большая (несколько тысяч тактов F2).
В разных сигналах импульсы могут приходить с задержкой в не меньше, чем 4 такта F2.

В домене F1 надо получить те же импульсы, но синхронизированные по F1.
Задержка между приходом импульса в домене F2 и уходом импульса, синхронизированного в F1 в несколько тактов - допустима.

Собственно, как такую вот вещь можно сделать максимально правильно - т.е. с использованием небольших ресурсов и с гарантией от метастабильности?

Xilinx, Virtex-5...

Всем заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Sep 9 2010, 11:46
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



удалил плохой код, написал новый. Оцените.
Код
module  CC(input bit clkrc, dattr, output bit datrc);
  bit ff1, ff2;
  always @(posedge dattr, posedge datrc)
    if(datrc) ff1 = 0;
    else ff1 = 1;
  always @(posedge clkrc)
  begin
    ff2 <= ff1;
    datrc <= ff2 & ff1;
  end
endmodule
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:41
Рейтинг@Mail.ru


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