|
Отладка проектов |
|
|
|
Feb 6 2011, 23:12
|
Участник

Группа: Свой
Сообщений: 58
Регистрация: 23-03-05
Из: Москва
Пользователь №: 3 625

|
C каким ПЛИСом работаете? Схема синхронная?
Обычно в средах проектирования после компиляции выдается отчет с "частотными" характеристиками полученной прошивки. Еще можно указывать, что синтезировать прошивку надо с учетом ограничений (см. Timing-Driven Synthesis). Еще можно анализатору задавать характеристики быстродействия и после компиляции будут выводится сообщения одовлетворены они или нет. Я не встречал, что если анализ прошел успешно, то в железе не работает (разве только когда используются preliminary библиотеки).
|
|
|
|
|
Feb 7 2011, 16:38
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(D-Luxe @ Feb 7 2011, 11:29)  Схемы синхронные, работаю с Virtex4FX. Вообще проект занимает половину кристалла. К нему дописываю дополнительный компонент, моделирую его в Aldec'e, потом вставляю в EDK. Такая методика вобщем. Где в aldec'е можно задать ограничение на частоту? Именно про EDK не скажу (работаю с голым ISE), но методика, в общем, одна и та же. Есть *.ucf файл, он содержит User Constraint'ы (различные ограничения, наложенные на проект, в т.ч. и на частоту для clock'ов). Данные в этом файле можно править как руками, так и рядом программ: Constarint Editor (преимущественно для временных ограничений), PACE/Plan Ahead (для ограничений на размещение, например расположение ножек) и пр. Описание User Constraint’ов находятся в файле cgd.pdf. Вам необходимо задать частоту всех входных clock'ов ПЛИС. Если Вы получаете при помощи DLL/PLL дочерние clock'и, то ISE сама рассчитает их параметры из заданных входных частот через параметры DLL/PLL. При Place&Route ISE старается выполнить все ограничения, если что-то не может быть выполнено возникают соответствующие предупреждения. Временной отчёт (*.twx) обычно просматривается при помощи Timing Analiser. Также, в файле xst.pdf можно найти описание synthesis constarint'ов, используемых при синтезе языкового описания.
|
|
|
|
|
Feb 7 2011, 17:44
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642

|
Цитата(Boris_TS @ Feb 7 2011, 19:38)  Именно про EDK не скажу (работаю с голым ISE), но методика, в общем, одна и та же. Есть *.ucf файл, он содержит User Constraint'ы (различные ограничения, наложенные на проект, в т.ч. и на частоту для clock'ов). Данные в этом файле можно править как руками, так и рядом программ: Constarint Editor (преимущественно для временных ограничений), PACE/Plan Ahead (для ограничений на размещение, например расположение ножек) и пр. Описание User Constraint’ов находятся в файле cgd.pdf.
Вам необходимо задать частоту всех входных clock'ов ПЛИС. Если Вы получаете при помощи DLL/PLL дочерние clock'и, то ISE сама рассчитает их параметры из заданных входных частот через параметры DLL/PLL.
При Place&Route ISE старается выполнить все ограничения, если что-то не может быть выполнено возникают соответствующие предупреждения. Временной отчёт (*.twx) обычно просматривается при помощи Timing Analiser.
Также, в файле xst.pdf можно найти описание synthesis constarint'ов, используемых при синтезе языкового описания. То есть констрейны надо писать только на входные частоты? Например у мя в ПЛИС входят 5 частот: 2 для тактирования MGT блока, 2 для тактирования EMAC'а и 5 частота подается на clock generator. А на дочерние от clock generator'а не надо писать?
--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти. (с) Уилл Роджерс
|
|
|
|
|
Feb 7 2011, 21:38
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828

|
а Вы клоки на специальные входы ПЛИС задаете или куда придется???
|
|
|
|
|
Feb 8 2011, 10:12
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642

|
Цитата(DW0 @ Feb 8 2011, 00:38)  а Вы клоки на специальные входы ПЛИС задаете или куда придется??? Частоты жестко поданы на спец входы. Не я же плату проектировал.
--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти. (с) Уилл Роджерс
|
|
|
|
|
Feb 8 2011, 11:22
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(D-Luxe @ Feb 7 2011, 20:44)  То есть констрейны надо писать только на входные частоты? Да, именно частоты (или периоды) необходимо задать только у входных clock'ов (лучше назначать на связь, относящуюся к положительной половинке входной ножки). И стараться ни в коем случае не задавать их на внутренние линии. Цитата(D-Luxe @ Feb 7 2011, 20:44)  Например у мя в ПЛИС входят 5 частот: 2 для тактирования MGT блока, 2 для тактирования EMAC'а и 5 частота подается на clock generator. А на дочерние от clock generator'а не надо писать? Да в этом случае Вам необходимо описать 5 разных constraint для входных частот (я так понял clock generator - это нечто (PLL/DLL и пр.) внутри ПЛИС). Однако, коли частот пять, то должны появиться и cross clock domain переходы - вот для этих переходов понадобится еще наложить некоторое количество дополнительных constraint - по одному на каждый переход на каждое направление перехода.
|
|
|
|
|
Feb 8 2011, 16:35
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(D-Luxe @ Feb 8 2011, 17:45)  То есть нужно 2 констрейна на каждый cross clock domain переход? Максимум - 2, но ведь не всегда надо переходить в обе стороны, иногда используются и односторонние переходы - всё зависит от конкретной схемотехники. Цитата(D-Luxe @ Feb 8 2011, 17:45)  Вообще, как я понимаю после задания констрейнов, timing analyzer будет выдавать ошибку если проект не проходит по частоте? Среда сама может какнить соптимизировать проект чтобы проект прошел по частоте или он тупо выкинет ошибку? Если быть более точным, то timing analyzer в ISE c 9.1 по 11.5 (в остальных не помню) выдаёт только warning: some constraints are not met. При компиляции среда как-то раскладывает элементы и пытается это развести, затем оценивает, с какими constraints проблемы и старается итерационно эти проблемы устранить. В параметрах генерации Post-P&R Static Timing Report есть поле Report Unconstrained Paths, впишите туда 250 - и увидите 250 путей не имеющих constraint'ов. Так Вы увидите, на что именно Вы забыли наложить ограничения; далеко не на всё, что там указано, имеет смысл накладывать ограничения... но ознакомиться с этим списком просто необходимо.
|
|
|
|
|
Feb 23 2011, 13:56
|

Местный
  
Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069

|
Цитата(D-Luxe @ Feb 23 2011, 15:40)  Еще вопрос. Что такое Chipscope и в каких случаях им надо пользоваться? Его придумали чтобы не надо было Цитата выводить контрольные точки схемы на логический анализатор Как пользоваться - см. оригинальную документацию или гугл. На русском есть немного здесь.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|