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

 
 
> Общие вопросы
go2winner
сообщение Apr 27 2016, 10:48
Сообщение #1


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

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Доброго времени суток.
Я начал вторую итерацию своего обучения ПЛИС (XILINX). И появилось множество вопросов. Вот есть простая VHDL модель, отлаженная в симуляторе.

Какие шаги чтобы ее подконтрольно "залить" в ПЛИС нужно пройти? Просто обозначить контакты и прошить, это опять не то, как я понял.
С чего начинается (какие шаги) создание проекта с целью загрузить прошивку из готовой VHDL модели?

timing constraints как ими пользоваться? Есть ли литература /статьи (документацию начал читать). Как оценить проект по временным параметрам?
Как узнать время hold, setup в проекте? Как узнать возможны нарушения по временам и устранить их?

Как возможно устранить всякие возможные проблемы , которые могут всплыть?

Я пока пользуюсь ISE и ориентируюсь на xilinx spartan 6 серии .
_______________________________________________________
Проект создается через Planahead или ISE profect navigator?
Какую документацию необходимо изучить и держать под рукой включая на софт(документации много для себя пока держу несколько, связанных с DSP, IO.)
В общем хочется научиться так же на базовой уровне пользоваться ПО для ПЛИС, чтобы перед прошивкой быть в проекте уверенным и понимать на что он способен и какие ограничения имеет.

Приму любые толковые ссылки на статьи/литературу/обучалки/советы

PS. чтобы не засорять вторым топиком, еще один вопрос задам тут. Я столкнулся с такой ситуацией. Один и тоже проект на одно и том же кристалле в одной точке дает разные (две платы-два кристалла -одна и та же конфигурация) результаты. Т.к. проект не мой , но я как раз изучаю схожие вопросы, я хочу данный проект проверить на временные параметры. Как вот в таких ситуациях, когда используешь чужие проекты их сопровождаешь и устраняешь неисправности? (проект схемотехнический, в смысле не описан языком. ). И как оформлять свои проекты, чтобы их удобней и самому сопровождать и другим? Тк. кроме vhdl кода еще же нужно прикладывать какие-то данные (насйтроки среды и т.п.)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
go2winner
сообщение Apr 28 2016, 07:34
Сообщение #2


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

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Так ..
Т.к. мои проекты маленькие и простые с ними проблем пока нету. Я взял проект (не свой (писал выше об этом))
Включил timing constraints на тактовую частоту (хотя там несколько глоб сигналов...на каждый глобальный свой констрайн или минимально необходимо тактовый основной ограничить?)

Подождал пока соберется проект . и Полезли ошибки Static Timing. Как понять и как использовать эту информацию (я пока в общих чертах понимаю)?

Как определить на какой частоте тогда соберется проект? Какими путями возможно решения таких проблем ?

Как найти пути, которые подсвечиваются красным и исправить ситуацию?
вот к примеру,



Каков алгоритм действий в таких ситуациях?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Apr 28 2016, 08:49
Сообщение #3


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(go2winner @ Apr 28 2016, 10:34) *
Каков алгоритм действий в таких ситуациях?

Решайте проблемы по мере их поступления.
Конкретно меня смущает название источника клока - XLXN_9945 - что это? Зайдите в Tools->constraints editor и посмотрите, какие ограничения подчеркнуты красным (это то, что используется в качестве тактового сигнала, но реальные значения в ограничениях не прописаны). Вся логика должна быть синхронна, а это либо гэйтед клок (как уже писали), либо вообще какой-то сигнал, не имеющий к тактовому отношения. Теперь к клоку назначения - Inv_100 - классический переход сигнала от одного тактового домена в другой, т.е. Ваш сигнал зарождается на частоте XLXN_9945 и поступает в домен, работающей на частоте Inv_100. Вы вообще это планировали (если да, то каким образом реализован переход из одного тактового домена в другой)?
to Gorby
Цитата
При временнОй симуляции (моделировании) схема работает "как настоящая", со всеми аппаратными задержками и проч. УзнАете много нового.

За 10 лет практики в области именно fpga ни разу не видел разработчика, который бы занимался симуляцией на уровне выше функционального с пользой для дела (чиста для себя поиграться да, сам gate-моделированием занимался). Для работоспособности достаточно функционального моделирования, правильное описание всех ограничений и отсутствие временных ошибок на анализаторе.
ЗЫ go2winner Для понимания процесса прохода сигнала по критическому пути ниже того, что Вы привели должен быть отчет о прохождении сигнала (следующие строчки). Там будет подробная интересная информация. А так на куске отчета видно только, что сигнал идет от триггера до триггера.
Go to the top of the page
 
+Quote Post
go2winner
сообщение Apr 28 2016, 11:54
Сообщение #4


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

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Цитата(bogaev_roman @ Apr 28 2016, 08:49) *


Проект не мой, я сам вписал ограничение на глобальную тактовую частоту (там еще пару глобальных сигналов есть, но их пока не трогал)
Сначала о том , как получены вышепредставленые иллюстрации . Я взял проект (не свой, да еще и схемотехнический, но общую логику работы понимаю) внес в него ограничения (до этого их не было)
Код
NET "GEN_100MHz" TNM_NET = GEN_100MHz;
TIMESPEC TS_GEN_100MHz = PERIOD "GEN_100MHz" 100 MHz HIGH 50%;

и откомпилировал (как вы советовали выше)

Потом зашел в пункт Static Timing . Собственно там есть n-ое количество крестиков. Вот пытаюсь осознать, как сначало извлечь оттуда побольше информации , а потом, как ею воспользоваться для устранения минусов.

Код
Maximum Data Path at Slow Process Corner: XLXI_7012/Q0 to XLXI_1112/Q_0
     Location             Delay type         Delay(ns)  Physical Resource
                                                        Logical Resource(s)
     -------------------------------------------------  -------------------
     SLICE_X29Y6.CQ       Tcko                  0.430   NB0
                                                        XLXI_7012/Q0
     SLICE_X27Y6.C4       net (fanout=15)       0.780   NB0
     SLICE_X27Y6.C        Tilo                  0.259   XLXN_40258
                                                        XLXI_8788/Mmux_D11111
     SLICE_X27Y6.B6       net (fanout=4)        0.353   Sel_B11
     SLICE_X27Y6.B        Tilo                  0.259   XLXN_40258
                                                        XLXI_10176
     SLICE_X29Y5.C1       net (fanout=3)        0.741   Set_command
     SLICE_X29Y5.C        Tilo                  0.259   B3_Mux<2>
                                                        XLXI_5856
     SLICE_X31Y2.A3       net (fanout=8)        1.528   CE_AT
     SLICE_X31Y2.A        Tilo                  0.259   ARX_CH6<3>
                                                        XLXI_8115
     SLICE_X32Y2.CE       net (fanout=1)        0.347   XLXN_22878
     SLICE_X32Y2.CLK      Tceck                 0.314   ARX_CH5<3>
                                                        XLXI_1112/Q_0
     -------------------------------------------------  ---------------------------
     Total                                      5.529ns (1.780ns logic, 3.749ns route)
                                                        (32.2% logic, 67.8% route)



Огромное спасибо. я даже не заметил (точнее не знал о колонке с путями). На самом деле часть этого проекта неработоспособна (как раз временные задержки), поэтому я его использую. Как раз данный путь показывает неработоспособный кусок (из -за задержек.)....

Как это схемно выглядит...я рисунок приведу этого пути..... (коряво, но суть понятна)


ну и все в таком духе...теперь как интегрпетировать все результаты?
Код
Slack (setup path):     -11.755ns (requirement - (data path - clock path skew + uncertainty))

К примеру clock path skew и slack setup...почему значение отрицательное?

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

Сообщение отредактировал go2winner - Apr 28 2016, 12:08
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Apr 28 2016, 12:49
Сообщение #5


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(go2winner @ Apr 28 2016, 14:54) *
Получаются данные слишком поздно приходят?

Да, но проблема не в этом. Каким тактовым сигналом тактируется триггер XLXI_7012/Q0? Вы его не задали в ограничениях и анализатор не знает как это интерпретировать и развести. В результате получаете непонятно что. Проверьте, то о чем я уже писал. Просто такое ощущение, что у Вас несколько частот, несвязанных между собой (триггер источник работает на одной, приемный на другой)
Цитата
Tools->constraints editor и посмотрите, какие ограничения подчеркнуты красным (это то, что используется в качестве тактового сигнала, но реальные значения в ограничениях не прописаны)
Go to the top of the page
 
+Quote Post
go2winner
сообщение Apr 28 2016, 13:15
Сообщение #6


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

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Цитата(bogaev_roman @ Apr 28 2016, 12:49) *
Да, но проблема не в этом. Каким тактовым сигналом тактируется триггер XLXI_7012/Q0? Вы его не задали в ограничениях и анализатор не знает как это интерпретировать и развести. В результате получаете непонятно что. Проверьте, то о чем я уже писал. Просто такое ощущение, что у Вас несколько частот, несвязанных между собой (триггер источник работает на одной, приемный на другой)


Там по-правде несколько частот глобальных.....на всех нужно получается ввести ограничения (подобно Вашим примерам и тому как я первый задал), а после компилировать?
Там два тригерра , с одной и той же частотой, но разный фронт (инверсный тактовый сигнал)



Сигнал получается путем инверсии входной тактовой.....как быть? его нет в списке на ограничения? Они видны только в разделе Exception-> nets

Те. идет вход тактовой частоты......От нее идет сеть с названием Mhz_100....от этой сети на выходе получается еще одна сеть с другим названием и ивертированным значением.

Сообщение отредактировал go2winner - Apr 28 2016, 13:32
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- go2winner   Общие вопросы   Apr 27 2016, 10:48
- - bogaev_roman   Начните с простого - назначьте пины и определитесь...   Apr 27 2016, 11:31
|- - go2winner   Цитата(bogaev_roman @ Apr 27 2016, 11:31)...   Apr 27 2016, 12:11
|- - Maverick   Цитата(go2winner @ Apr 27 2016, 15:11) Ещ...   Apr 27 2016, 12:46
|- - bogaev_roman   Цитата(go2winner @ Apr 27 2016, 15:11) То...   Apr 27 2016, 12:55
|- - Jackov   Цитата(bogaev_roman @ Apr 27 2016, 15:55)...   Apr 27 2016, 15:05
|- - Bad0512   А вообще неплохо бы определиться нужен ли вам ресе...   Apr 28 2016, 05:18
|- - go2winner   Цитата(Bad0512 @ Apr 28 2016, 05:18) А во...   Apr 28 2016, 06:59
|- - Bad0512   Цитата(go2winner @ Apr 28 2016, 12:59) Ст...   Apr 28 2016, 07:14
|- - Bad0512   Цитата(go2winner @ Apr 28 2016, 13:34) Та...   Apr 28 2016, 08:10
||- - go2winner   Цитата(Bad0512 @ Apr 28 2016, 08:10) Судя...   Apr 28 2016, 08:27
||- - Bad0512   Цитата(go2winner @ Apr 28 2016, 14:27) Т....   Apr 28 2016, 09:04
|- - Gorby   Цитата(bogaev_roman @ Apr 28 2016, 10:49)...   Apr 28 2016, 09:45
||- - Bad0512   Цитата(Gorby @ Apr 28 2016, 15:45) А я во...   Apr 28 2016, 09:50
||- - andrew_b   Цитата(Gorby @ Apr 28 2016, 12:45) А я во...   Apr 28 2016, 11:56
|- - bogaev_roman   Цитата(go2winner @ Apr 28 2016, 16:15) Та...   Apr 28 2016, 13:56
|- - go2winner   Цитата(bogaev_roman @ Apr 28 2016, 13:56)...   Apr 28 2016, 14:23
|- - bogaev_roman   Цитата(go2winner @ Apr 28 2016, 17:23) То...   Apr 28 2016, 14:59
|- - Bad0512   Цитата(go2winner @ Apr 28 2016, 20:23) ка...   Apr 29 2016, 05:27
- - Gorby   Цитата(go2winner @ Apr 27 2016, 12:48) Я ...   Apr 28 2016, 07:36
- - go2winner   Цитата(Gorby @ Apr 28 2016, 07:36) Тут Вы...   Apr 28 2016, 08:02
- - Gorby   Цитата(go2winner @ Apr 28 2016, 10:02) Я ...   Apr 28 2016, 10:25
- - Bad0512   Цитата(Gorby @ Apr 28 2016, 16:25) То ест...   Apr 28 2016, 10:33
- - bogaev_roman   Цитата(Gorby @ Apr 28 2016, 13:25) То ест...   Apr 28 2016, 10:48


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

 


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


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