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

 
 
 
Reply to this topicStart new topic
> Ботва с констрейнами, Как побороть?
alexPec
сообщение Nov 27 2010, 15:20
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день. Продолжаю осваивать констрейны и прошу в очередной раз помочь на этом нелегком деле.
Суть простая: есть АЦП, отсчеты с которого валятся с частотой 5,21 МГц, и есть ниос проц., тактируемый 80мгц. В сопце test3c40 есть fifo1 с двумя клоками (на входе и на выходе). На вход фифо1 подаются данные АЦП и клок данных 5,21МГц (на рисунке это и есть Launch clock, в сопце – clk_1), выход фифо1 подключен к SGDMA, и выход фифо1 и SGDMA тактируются как и проц. 80 МГц (на картинке это как раз Latch clock, в сопце – pll_0_c1).
А вот вопрос: как такое (на картинке таймквеста) получается ? Фифо1 – вроде двухклоковое. Где это внутри у него launch clock и latch clock не развязаны? Понятно, что если клоки не кратные, то обязательно рано или поздно появиться ситуация, когда фронты этих клоков встанут так, что данные либо не успеют, либо не задержатся сколько надо. Судя по таймквесту, это где-то внутри сопца.
И что с этим счастьем делать ? Забить и обконстрейнить (как?) или путное что сообразить (что?)

Спасибо.

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 27 2010, 15:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



забейте как false path между клоками, раз они фифами развязаны
Go to the top of the page
 
+Quote Post
alexPec
сообщение Nov 27 2010, 15:51
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(vadimuzzz @ Nov 27 2010, 18:33) *
забейте как false path между клоками, раз они фифами развязаны

А последствий не будет? У меня в этом же сопце есть LCD по такой же схеме, через дма, фифо двухклоковое, правда там вход фифо 80 мгц, выход - 5 мгц. Там не ругается. А таймквест-то говорит про какой-то domain_synch_module, не может он внутри эти клоки завязать как-то, кроме фифо? laughing.gif
Хотя с другой стороны сейчас реально все работает...

Сообщение отредактировал alexPec - Nov 27 2010, 15:53
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 28 2010, 02:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(alexPec @ Nov 27 2010, 21:51) *
Там не ругается. А таймквест-то говорит про какой-то domain_synch_module, не может он внутри эти клоки завязать как-то, кроме фифо? laughing.gif

так клоки-то не таймквест завязывает, а вы сами smile.gif. таймквест просто по умолчанию все подряд анализирует. в мегафункцию 2-клокового FIFO встроен синхронизатор, на одной из страничек визарда есть его настройки. если вы его (синхронизатор) не отключили (есть и такая опция), то смело вырезайте из анализа таймвеста "ненужные" пути.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Nov 29 2010, 12:05
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(vadimuzzz @ Nov 28 2010, 05:09) *
так клоки-то не таймквест завязывает, а вы сами smile.gif. таймквест просто по умолчанию все подряд анализирует. в мегафункцию 2-клокового FIFO встроен синхронизатор, на одной из страничек визарда есть его настройки. если вы его (синхронизатор) не отключили (есть и такая опция), то смело вырезайте из анализа таймвеста "ненужные" пути.


Спасибо! Про синхронизатор-то я и не знал...

C позволения, такие вопросы появились:

1. Где синхронизатор отключить (настройки фифо моего на кртинке)? По ходу он мне нафиг не нужен.
2. Если он все таки не отключается - игнорить то наверно нельзя эти пути, ведь если этот синхронизатор стоит, и таймквест говорит "не будет работать!" я думаю он все-таки не будет работать, исли не кратные клоки на него завязаны. Что в этом случа обычно делают ?
3. Заметил беду, как поправить: при старте канала стримминг ДМА (он стартует часто), первый отсчет АЦП - бывает байты перепутаны местами. Трансфер 16-ти разрядный, но наверно не местами перепутаны, а второй байт первого отсчета - первый байт второго отсчета, т.е. из разных отсчетов байты. EOP, SOP SGDMA- со стороны АЦП на землю посажены, valid- на VCC. Повторюсь, только первый отсчет за весь трансфер в 120 Кб, ито не всегда, 50/50.

Спасибо!
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 30 2010, 01:20
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



1. то, что на картинке - не совсем мегавизард, это авалоновская обертка к нему. многих параметров мегафункции тут нет,
они передаются неявно. в коде, наверное, можно узнать про значения остальных параметров (поискать dc_fifo).
2. по умолчанию синхронизатор включен и именно поэтому можно смело выбрасывать эти пути из анализа - это
забота синхронизатора, а не ваша.
3. трудно сказать что-то определенное, тестить надо (хотя бы в сигналтапе). хотя, думается, зря вы без sop/eop делаете.
Go to the top of the page
 
+Quote Post

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

 


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


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