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

 
 
> Timing constraints not met, EDK 10.1 SP3, Virtex2Pro XC2VP30
BlackOps
сообщение Sep 20 2010, 07:03
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



У меня DCM_0 стандартно созданный в проекте EDK автоматически. А в одном из своих модулей я использую другой DCM чтобы получить два разных клока. Тот который я сам добавил находится внутри сгенерированной оболочки со своими BUFG итд. В чем же может быть причина того что у меня такая проблема с таймингом?

Вот репорт из лога:
Код
------------------------------------------------------------------------------------------------------
  Constraint                                |  Check  | Worst Case |  Best Case | Timing |   Timing  
                                            |         |    Slack   | Achievable | Errors |    Score  
------------------------------------------------------------------------------------------------------
* TS_dcm_0_dcm_0_CLK0_BUF = PERIOD TIMEGRP  | SETUP   |    -3.709ns|    58.168ns|      28|       88648
  "dcm_0_dcm_0_CLK0_BUF" TS_sys_clk_pin     | HOLD    |     0.123ns|            |       0|           0
       HIGH 50%                             |         |            |            |        |            
------------------------------------------------------------------------------------------------------
* TS_vga_ctrl_0_vga_ctrl_0_dcm_0_clkfx_buf  | SETUP   |    -3.203ns|    79.460ns|      26|       70224
  = PERIOD TIMEGRP         "vga_ctrl_0_vga_ | HOLD    |     0.558ns|            |       0|           0
  ctrl_0_dcm_0_clkfx_buf" TS_dcm_0_dcm_0_CL |         |            |            |        |            
  K0_BUF / 0.65         HIGH 50%            |         |            |            |        |



Я вот сейчас подумал, может ето из-за того что я использовал выход клока из основного ДЦМ как вход в другой который я добавил сам? Основной модуль выдает 100Мгц, и етот клок я веду в другой который из него делает 65МГц.. ?

Сообщение отредактировал BlackOps - Sep 20 2010, 07:27


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 16)
des00
сообщение Sep 20 2010, 07:37
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(BlackOps @ Sep 20 2010, 02:03) *
В чем же может быть причина того что у меня такая проблема с таймингом?

какое отношение имеет ДСМ к строчкам со слаками, без указания крайних точек слаков ? Лечить времянку с помощью телепатии еще не научились.


--------------------
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Sep 20 2010, 14:49
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



Цитата(des00 @ Sep 20 2010, 12:37) *
какое отношение имеет ДСМ к строчкам со слаками, без указания крайних точек слаков ? Лечить времянку с помощью телепатии еще не научились.


Извините, могли бы Вы указать что именно имели ввиду? И где в случае с ЕДК получить ету инфу? Или Вы имели ввиду подробное описание пинов моих модулей?
Я сейчас открыл тайминг репорт синтеза тоже, и вот что сейчас заметил:
Код
IBUFG
dcm_0/Using_Virtex.DCM_INST:CLK0+vga_ctrl_0/dcm_0/dcm_inst:CLKFX    
BUFG(*)(vga_ctrl_0/vga_ctrl_0/data_realignment_engine/reg0_in_0)  
BUFG(*)(vga_ctrl_0/vga_ctrl_0/data_realignment_engine/reg1_in_0)
BUFG
NONE(*)(vga_ctrl_0/vga_ctrl_0/vga_block/v_current_FSM_FFd3)
BUFG
NONE(chipscope_icon_0/chipscope_icon_0/i_chipscope_icon_0/U0/U_ICON/U_iDATA_CMD)
NONE(bp_0/bp_0/dataread_module/ifft_block/blk00000003/blk00000006)  

(*) These 3 clock signal(s) are generated by combinatorial logic,
and XST is not able to identify which are the primary clock signals.
Please use the CLOCK_SIGNAL constraint to specify the clock signal(s) generated by combinatorial logic.
INFO:Xst:2169 - HDL ADVISOR - Some clock signals were not automatically buffered by XST with BUFG/BUFR resources.
Please use the buffer_type constraint in order to insert these buffers to the clock signals to help prevent skew problems.


Еще вот что: NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.

Смотрю сейчас файлы в папке ЕДК проекта, так где же этот trace report хранится в случае с ЕДК?

А вообще пытаюсь сейчас найти хороший мануал по таймингу для Хилинкс, но нахожу только короткие статейки где показывают как это графически сделать под ISE. Не могли бы дать линк где у них хранится мануал с подробным описанием?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 20 2010, 16:14
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(BlackOps @ Sep 20 2010, 08:49) *
Извините, могли бы Вы указать что именно имели ввиду?

у вас в отчетах приведены слаки по сетапу и холду, они связаны с разнице реальных и требуемых путей между источниками и приемниками сигналов, работающих от определенных частот. Разговор имеет смысл вести только в том случае, если вы укажете источники/приемники и покажете расклад на пути сигнала между ними.
Цитата
И где в случае с ЕДК получить ету инфу?

Нигде, времянка появляется на этапе разводки плис, т.е. используется после EDK
Цитата
Я сейчас открыл тайминг репорт синтеза тоже, и вот что сейчас заметил:...

асинхры понаделали, нюню
Цитата
Не могли бы дать линк где у них хранится мануал с подробным описанием?

работаю с альтерой, не ко мне вопрос %) Но вообще задание времянок в хилых, до тех пор пока не сделают поддержку SDC как то не айс.


--------------------
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 20 2010, 17:08
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 BlackOps
а полный лог или критический пас выложить можно ? Потому что не понятно собсно где именно завалилась времянка..
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Sep 20 2010, 18:22
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



В Place & Route есть инструментик что-то натипа "посмотреть проблемы с времянками".
Если его запустить, он список проблем и выдаст.
Дальше смотрите, чего переделать, чтобы всё могло работать шустрее...
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Sep 20 2010, 20:18
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



Всем спaсибо за советы.

Кузми4:

Прикрепляю два файла с логами. Еще прикрепляю простую диаграмму того что из себя моя система представляыет. Вобщем это контроллер, внутри которого есть логика которая на 100МГц и на 65МГц работает. 100Мгц я получаю от внешнего ДЦМ который генерируется ЕДК по умолчанию. Затем, внутри контроллера я инстанциирую второй ДЦМ, который использует выходной клок первого как вход, и на выходе дает 65мгц.

Что интерестно, все работает в реале так как надо... и данные получаю правильные итд итп. Но просто хотелось бы конечно убрать эти ошибки и разобраться в чем же дело. И еще раз повторю это все в ЕДК, а не ИСЕ.
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  system.log.txt ( 692.42 килобайт ) Кол-во скачиваний: 1367
Прикрепленный файл  system_xst.srp.txt ( 107.51 килобайт ) Кол-во скачиваний: 468
 


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 20 2010, 22:03
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 BlackOps
оба репорта бесполезны, нужно смотреть в "Design Summary-Static Timing" ( это будет *.twr в директории проекта, только обёрнутый красиво laughing.gif )
вот там как раз написано кто именно нагадил, что то типа такого
Цитата
Slack: 41.524ns (requirement - (data path - clock path skew + uncertainty))
Source: core/fp_count[7] (FF)
Destination: core/o_tbus_fp_j0ref (FF)
Requirement: 51.440ns
Data Path Delay: 9.916ns (Levels of Logic = 2)
Clock Path Skew: 0.000ns
Source Clock: s_temux_sbi_clk_bufg rising at 0.000ns
Destination Clock: s_temux_sbi_clk_bufg rising at 51.440ns
Clock Uncertainty: 0.000ns

Только у вас отрицательны слак будет
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Sep 20 2010, 22:15
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121




Нашел эти файлы, сейчас сам тоже просмотрю. Вот они, прикрепил. Спасибо опять за совет!
Прикрепленные файлы
Прикрепленный файл  system.twr.txt ( 28.29 килобайт ) Кол-во скачиваний: 130
Прикрепленный файл  smartpreview.twr.txt ( 7.62 килобайт ) Кол-во скачиваний: 90
 


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 20 2010, 22:50
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 BlackOps:
Навскидку видно что у вас похоже на клоковый вход чипскопового слайса заведена комбинаторика - тут мега криминала конечно нет, но естественно что орёт..
Далее, вас не смущает такое заявление :
Цитата
Slack: -3.203ns (requirement - (data path - clock path skew + uncertainty))
Source: vga_ctrl_0/vga_ctrl_0/data_realignment_engine/reg0/q_44 (FF)
Destination: vga_ctrl_0/vga_ctrl_0/blue_registration/q_4 (FF)
Requirement: 0.769ns
Data Path Delay: 3.972ns (Levels of Logic = 2)
Clock Path Skew: 0.000ns
Source Clock: plb_bram_if_cntlr_1_port_BRAM_Clk rising at 30.000ns
Destination Clock: vga_ctrl_0/vga_ctrl_0/clk65 rising at 30.769ns
Clock Uncertainty: 0.000ns

нужное выделил laughing.gif
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Sep 21 2010, 00:13
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121




Ну reg0 это один из регистров который я использую на частоте 100мгц. у меня там еще два таких, reg1 и reg2... и их использую аналогично, т.е. они записываются на частоте 100мгц. тогда ппочему не выдается сообщение о рег1 и рег2?

а blue_register это один из регистров который я использую перед тем как послать сигнал из чипа наружу. у меня остальные тоже так работают. опять же..странно почему тогда на остальные регистры работающие в таком же режиме он не ругается?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 21 2010, 02:25
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Kuzmi4 @ Sep 20 2010, 16:50) *
нужное выделил laughing.gif

а я немного добавил выделения нужного
Цитата
Slack: -3.203ns (requirement - (data path - clock path skew + uncertainty))
Source: vga_ctrl_0/vga_ctrl_0/data_realignment_engine/reg0/q_44 (FF)
Destination: vga_ctrl_0/vga_ctrl_0/blue_registration/q_4 (FF)
Requirement: 0.769ns
Data Path Delay: 3.972ns (Levels of Logic = 2)
Clock Path Skew: 0.000ns
Source Clock: plb_bram_if_cntlr_1_port_BRAM_Clk rising at 30.000ns
Destination Clock: vga_ctrl_0/vga_ctrl_0/clk65 rising at 30.769ns

Clock Uncertainty: 0.000ns


вот откуда ноги растут


--------------------
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Sep 21 2010, 04:31
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



Да...но.. не понимаю. Этот БРАМ блок у меня стоит сам по себе отдельно от моего модуля, он 128К БРАМ где хранится программа которая ППС405 процессором исполняется. И етот блок к моему модулю не имеет отношения. В моем модуле я тоже инстанциировал БРАМ, но тот и читается и записывается на 100Мгц и к указанному блоку отношения не имеет.

Так.. странно, в чем же дело? Или я чтото не так понимаю?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 21 2010, 05:11
Сообщение #14


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(BlackOps @ Sep 20 2010, 23:31) *
Да...но.. не понимаю.

дык написано же регистр vga_ctrl_0/vga_ctrl_0/data_realignment_engine/reg0/q_44 (FF) работает на частоте plb_bram_if_cntlr_1_port_BRAM_Clk rising at 30.000ns с него передаются данные на регистр
vga_ctrl_0/vga_ctrl_0/blue_registration/q_4 (FF) работающий на частоте vga_ctrl_0/vga_ctrl_0/clk65 rising at 30.769ns. Частоты хоть и синхронные, но не кратные. Поэтому при временном анализе и берется наихудший случай (передача между регистрами каждый такт). А если у вас есть какая либо логика, которая определяет моменты передачи данных, то временной анализатор он про нее не знает до тех пор, пока вы ему об этом не сообщите.


--------------------
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Sep 21 2010, 05:49
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



ок пересмотрю. Только одно странно, у меня в таком виде рег0, рег1, рег2.. А он ругается тока на рег0 и рег1.. Чтоже тогда он аналогично по рег2 не выдает ошибки.. странно.


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 21 2010, 06:40
Сообщение #16


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(BlackOps @ Sep 21 2010, 00:49) *
ок пересмотрю. Только одно странно, у меня в таком виде рег0, рег1, рег2.. А он ругается тока на рег0 и рег1.. Чтоже тогда он аналогично по рег2 не выдает ошибки.. странно.

используя телепатию, исходы из названия, предполагаю что reg1/reg2 находятся в одном тактовом домене, потому и ошибки нет %)


--------------------
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 21 2010, 14:23
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(des00 @ Sep 21 2010, 04:25) *
а я немного добавил выделения нужного
...
вот откуда ноги растут

Вот всё вам нужно разжевать biggrin.gif и в рот положить
Go to the top of the page
 
+Quote Post

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

 


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


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