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

Проблема неопределенного фазового сдвига

Системная частота f = 50Мгц. В ПЛИС семейства Stratix поступают данные от АЦП с этой же частотой f, но ясно, что с каким-то фазовым сдвигом. АЦП предоставляет специальные стробы, по которым эти данные можно защёлкивать в регистрах ПЛИС.

 

Вопрос: а чем тактировать схему дальнейшей обработки этих данных?

 

Этими же стробами? А как быть если в системе несколько АЦП и несколько стробов? Или всё-таки есть какой-то универсальный (т.е. для неопределенного фазового сдвига) способ приведения к единой системной частоте?

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


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

Системная частота f = 50Мгц. В ПЛИС семейства Stratix поступают данные от АЦП с этой же частотой f, но ясно, что с каким-то фазовым сдвигом. АЦП предоставляет специальные стробы, по которым эти данные можно защёлкивать в регистрах ПЛИС.

 

Вопрос: а чем тактировать схему дальнейшей обработки этих данных?

 

Этими же стробами? А как быть если в системе несколько АЦП и несколько стробов? Или всё-таки есть какой-то универсальный (т.е. для неопределенного фазового сдвига) способ приведения к единой системной частоте?

Можно во входные регистры защелкнуть частотой с АЦП, а дальше все тактировать системной частотой.

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


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

Спасибо за ответ, но а если фазовый сдвиг будет кратен периоду, не начнутся ли здесь гонки?

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


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

Стандартная схема синхронизации из 2-х последовательно вкл. триггеров, по моему оба могут находиться в эвв.

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


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

<Спасибо за ответ, но а если фазовый сдвиг будет кратен периоду, не начнутся ли здесь гонки? >

Еще как начнутся, а вместе с ними и ваши запарки ;)

 

<Стандартная схема синхронизации из 2-х последовательно вкл. триггеров, по моему оба могут находиться в эвв.>

Хочется добавить. Я не смог заставить ModelSim праильно моделировать такие цепи. Поясню тем кто не вкурсе, у каждой модели есть параметр (вроде setup) ограничивающий минимальное время установления сигнала перед приходом тактового импульса. Когда пишу тестбенч, стараюсь как можно более "ужасней" подавать сигналы посредством добавления в периоды "других" тактовых вставлять случайную задержку. Так вот, ест-но при этом происходит нарушение вышеописанного ограничения, далее ModelSim считает что на выходе первого регистра получается неопределенка и кердык :(.

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


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

Стандартная схема синхронизации из 2-х последовательно вкл. триггеров, по моему оба могут находиться в эвв.

Не уточните, плиз, что за стандартная схема? И что такое "эвв"?

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


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

AN42 - Metastability in altera devices.

Эвв - элемент ввода-вывода мсх, по моему у Stratix там аж 4 dff.

 

Я такое не моделировал(принимал как есть), но могу предположить, что для отработки данной ситуации лучше всего адаптировать(написать другую) библиотеку std_logic.

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


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

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

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


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

<Я такое не моделировал(принимал как есть), но могу предположить, что для отработки данной ситуации лучше всего адаптировать(написать другую) библиотеку std_logic. >

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

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


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

<Я такое не моделировал(принимал как есть), но могу предположить, что для отработки данной ситуации лучше всего адаптировать(написать другую) библиотеку std_logic. >

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

 

Чуть поправлюсь, написать данную модель так, что бы не появлялось 'X', и пр. дряни, так же можно попробовать использовать тип real(симмитировать фронты) и поставить виртуальный компаратор(dac) с гестерезисом, на выходе этой штуки всегда будет либо '1' либо '0'.

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


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

<и поставить виртуальный компаратор(dac) с гестерезисом, на выходе этой штуки всегда будет либо '1' либо '0'.>

 

<логика может неправильно моделироваться, моделька то одна использоваться будет. >

 

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

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


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

Mozhet, ja i ne prav - gluboko ne izuchal etot wopros. No ja w swoem proekte ispolzowal "dual port RAM" s edinstwennym adresom. Mozhete rassmatriwatj eto kak registr, w kotoryj "zapisj" i "chtenie" mogut proishoditj odnowremenno. Ispolzowalsja STRATIX EP1S20. Problem ne bylo kak pri simuljacii, tak i w zhizni (prawda, simulirowal ja w "rodnom" simuljatore Quartus'a

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


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

Для автоматической подмены можно:

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

2. написать программку которая их все посчитает и.т.д.

3. эта программка напишет конфигурацию(на vhdl эта замена пройдет на ура).

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


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

to Igor_S

Это конечно выход, если BRAM не жалко. Да и не всегда надо синхронизироваться с шиной, если сигналов всего пара, на каждый BRAM ставить жалко.

 

to vetal

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

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


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

To 3.14

 

Tak wedj po uslowiju zadachi - estj kak-by 2 kloka: odin (whodnoj) ot A/D, drugoj (wnutrennij, s proizwoljnym fazowym sdwigom) klok sistemy. Tak whodnoj klok igraet rolj kloka zapisi w DPRAM, a wnutrennij sistemnyj klok - klok chtenija.

A chto kasaetsja dpram, to odnoj jachejki RAM i neskolkih dff, kotorye ujdut na realizaciju "lpm_dpram" glubinoj w odnu jachejku (pardon, 2 jachejki - menjshe ne poluchitsja) - tjazhelo predstawitj, komu eto mozhet bytj zhalko...

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


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

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

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

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

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

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

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

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

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

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