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

 
 
> Синхронный ввод данных в ПЛИС
Ethereal
сообщение Jul 22 2009, 13:32
Сообщение #1


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

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



Здравствуйте.
Может ли кто-нибудь подсказать какой-либо конкретный пример констрейнов для входных данных от синхронного источника для стратиксов.
"Source-syncronous <...>" читал, использую данные оттуда, но в связи со слабым знанием технического английского при возникновении иных странностей в работе системы начинают грызть определенные сомнения относительно правильности понимания мной написанного.
То есть, допустим имеется параллельный АЦП на 100 МГц с центрированным тактовым выходом.
Сигналы заводятся на согласующий FIFO внутри ПЛИС.

Я правильно понимаю, что для описания констрейнов на вход необходимо (и достаточно)
1) Указать базовый виртуальный клок на 100 МГц;
2) Указать наследованный клок на 100 МГц с 180 градусным сдвигом и привязать его ко входу сигнала готовности АЦП;
3) Задать th, tsu данных АЦП относительно наследованного клока;
4) Запретить анализ путей из домена АЦП в глобальный домен и обратно;
5) Сделать сигнал готовности данных АЦП глобальным (по совету Design Assistant).

Какие th и tsu нужно указать для такого случая? Я указываю, со скидкой на tco АЦП, трассировку платы и создание примерно наносекундного запаса, th=3.5 и tsu=3.5.


--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
murmel1
сообщение Jul 24 2009, 19:36
Сообщение #2


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

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



Просто не встречался еще с такими проектами, где и launch clock и latch clock (по вашей терминологии) заводятся на ПЛИС. В констрейнах нужно указывать только те клоки, которые попадут в ПЛИС.

Считать tsu и th надо по tco вашего АЦП. Грубо говоря:
если период тактовой равен T,
tsu должно быть < T - tcomax
th должно быть < tcomin

Align не играет никакой роли, рассчитывается точно также, только исходные данные (tco) меняются. Применять PLL может и не потребоваться. Синтезатор легко крутит задержки на входных регистрах +- ~10 нс (в 90% случаев).

Разберитесь со знаком th. В квартусах th иметт обратный знак от tsu.
То есть отсчитываются они в таких направлениях:
<---------------|---------------->
tsu фронт тактовой th
положительное значение tsu - до фронта, положительное значение th - после фронта

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

Цитата(axalay @ Jul 24 2009, 17:32) *
Я бы завел клок через BUFG, а входы данных защелкивал бы используя триггеры в IO и с констрейнами не парился бы. При необходимости можно и клок подвигать ПЛЛом. Это не та частота для стратикса, чтобы констрейны писать. Это конечно только мое мнение smile.gif

Ошибаетесь. Величина частоты здесь не играет роли, можно и на низких частотах попасть впросак. Нужно посчитать и установить констрейны. При ручном переборе можно выбрать положение "на грани", когда схема "кажется" работает, но при нагреве/изменении напряжении питания начнет сбоить.
Да и сборка "толстого" проекта (а для стратикса он таким и будет) слишком много времени занимает.

Можно определить правильность захвата данных в регистре с помощью 2-лучевого осциллографа. Но эта методика на целую статью тянет.

Сообщение отредактировал murmel1 - Jul 24 2009, 19:43
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 11:57
Рейтинг@Mail.ru


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