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

 
 
> vivado 2014.1 , ILA ,ошибки
serg_k1
сообщение Mar 11 2015, 14:50
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Здравствуйте, столкнулся с проблемой «The design failed to meet the timing requirements.»
vivado 2014.1 плата Artix , при подключении ILA под частоту 400МГц. Нужна именно она. При 200МГц все нормально.
Сейчас сделал простой проект , где есть только входная частота 200, clk_wiz_0 делает 400МГц , 2 регистра по 14 разрядов , которые наблюдаются и светодиод- моргает ~1Гц.
Так вот после Implementation получаются ошибки.
Log
CRITICAL WARNING: [Timing 38-282] The design failed to meet the timing requirements.
При этом появляются предупреждения . Не понятно откуда и что с ними делать.
• Post-Place Phys Opt Design ( 34 warnings) одинаковые
[Constraints 18-838] Failed to create SRL placer macro for cell u_ila_0/inst/ila_core_inst/u_ila_cap_ctrl/u_cap_addrgen/u_cap_window_counter/u_wcnt_hcmp/allx_typeA_match_detection.cs_allx_typeA_inst/DUT/I_WHOLE_SLICE.G_SLICE_IDX[1].U_ALL_SRL_SLICE/u_srlA/S1. Bel does not match with the valid locations at which this inst can be placed.
• Route Design (27 warnings ) одинаковые
[Constraints 18-838] Failed to create SRL placer macro for cell u_ila_0/inst/ila_core_inst/u_ila_cap_ctrl/u_cap_addrgen/u_cap_window_counter/u_wcnt_hcmp/allx_typeA_match_detection.cs_allx_typeA_inst/DUT/I_WHOLE_SLICE.G_SLICE_IDX[1].U_ALL_SRL_SLICE/u_srlA/S1. Bel does not match with the valid locations at which this inst can be placed.

После запуска Report Timing Summary показывает наличие ошибок в Intra-Clock Paths->clk_wiz_0->Setup
Для reset установлен false path. Пробовал уменьшить размеры dbg_hub и u_ila_0 до предела. Не помогает.
Как победить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dm.pogrebnoy
сообщение Mar 18 2015, 15:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



1) Использовать 1 MMCM вместо двух. Проверить Clock Interaction после разводки.
2) Это что? Так не надо делать.
Код
if ( ( clk_400_90 == 0 ) & ( clk_200_90 == 0) ) nom <=  2'b00;
            else nom <= nom + 1'b1;

3)
Цитата
между data_AB_2 и clk_200 период 400МГц ,

не совсем понятно что это значит.
4)
Цитата
а будет- входные данные (32р LVDS) под оба фронта 400МГц

Принимайте этот поток при помощи DDR триггеров в IOB, дальше на ФИФО с разной разрядностью шин по входу и выходу, получив таким образом понижение частоты и распараллеливание потока данных
Код
     fifo_data fifo_data_2(        
        .wr_clk(clk_400),
        .rd_clk(clk_200),
        .wdata(wdata) // 64 бита
        .rdata(rdata)   // 128 бит
);

5) На 4п. см мой 1. Если есть проблемы в Clock Interaction Report - устранить.


--------------------
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Mar 19 2015, 15:59
Сообщение #3


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(dm.pogrebnoy @ Mar 18 2015, 19:51) *
1) Использовать 1 MMCM вместо двух. Проверить Clock Interaction после разводки.
4) Принимайте этот поток при помощи DDR триггеров в IOB, дальше на ФИФО с разной разрядностью шин по входу и выходу, получив таким образом понижение частоты и распараллеливание потока данных
Если есть проблемы в Clock Interaction Report - устранить.

Спасибо, по моему сейчас так и сделал. Принимаю(пока счетчик под оба фронта) на IDDR. Выход Q1 и Q2 на fifo_data_1(под clk_400) и _2(под clk_400_180). выходы фифо(х2) под 200 на ila. Но есть проблемы в Clock Interaction Report. причем не только clk_400- clk_400_180, но и clk_400- clk_400. А разве Clock Interaction Report показывает не только взаимодействие clk подсетей, но и внутри?
ошибки
fifo_data_2 clk_400 falling- clk_400_180 rising,(*)
fifo_data_1 clk_400 rising- clk_400 rising,
fifo_data_2 clk_400_180 rising- clk_400_180 rising,
мне не понятно где есть такое (*) пересечение .
и как это устранять?

(*) может потому что IDDR- там же один clk
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Mar 19 2015, 19:19
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Для решения вашей задачи не требуется частот с разными фазами. Только 200 и 400. Без всяких _90 _180 _270.

А потому уже можно думать:
Цитата
мне не понятно где есть такое (*) пересечение .
и как это устранять?


--------------------
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Mar 20 2015, 11:20
Сообщение #5


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(dm.pogrebnoy @ Mar 19 2015, 23:19) *
Для решения вашей задачи не требуется частот с разными фазами. Только 200 и 400. Без всяких _90 _180 _270.

А потому уже можно думать:

Да , я так и сделал. Но ошибки Clock Interaction остались . 39 штук для ila clk_200 rising- clk_200 rising. И что с ними делать? Report Timing Summary выдал 7 ошибок setup в Intra-Clock Paths . Я попробовал переместить компоненты в окне Device, и снова сделать Report , но цифры ошибок только выросли. Да и не все можно переместить.
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Mar 23 2015, 09:17
Сообщение #6


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



есть еще одна проблема. Принимаю данные счетчика на IDDR. так вот эти связи не разводятся.
Report DRC показывает
RTSTAT #1 Critical Warning 16 net(s) are unrouted. The problem net(s) are dat_AB/data_out[0], dat_AB/data_out[1], dat_AB/data_out[2], dat_AB/data_out[3], dat_AB/data_out[4], dat_AB/data_out[5], dat_AB/data_out[6], dat_AB/data_out[7], dat_AB/data_out[8], dat_AB/data_out[9], dat_AB/data_out[10], dat_AB/data_out[11], dat_AB/data_out[12], dat_AB/data_out[13], dat_AB/data_out[14] (the first 15 of 16 listed).

Сообщение отредактировал serg_k1 - Mar 23 2015, 09:18
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Mar 23 2015, 11:31
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Цитата(serg_k1 @ Mar 23 2015, 12:17) *
есть еще одна проблема. Принимаю данные счетчика на IDDR. так вот эти связи не разводятся.
Report DRC показывает
RTSTAT #1 Critical Warning 16 net(s) are unrouted. The problem net(s) are dat_AB/data_out[0], dat_AB/data_out[1], dat_AB/data_out[2], dat_AB/data_out[3], dat_AB/data_out[4], dat_AB/data_out[5], dat_AB/data_out[6], dat_AB/data_out[7], dat_AB/data_out[8], dat_AB/data_out[9], dat_AB/data_out[10], dat_AB/data_out[11], dat_AB/data_out[12], dat_AB/data_out[13], dat_AB/data_out[14] (the first 15 of 16 listed).


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


--------------------
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Mar 23 2015, 13:34
Сообщение #8


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(dm.pogrebnoy @ Mar 23 2015, 15:31) *
Вы подали внутренний счетчик на IDDR? Так делать нельзя, на IDDR могут заводиться сигналы только с входных буферов.

да, это я понял. но мне нужно его тоже смотреть одновременно с внешними сигналами. Значит для него нужно делать что-то вроде того, что я делал сначала?
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Mar 23 2015, 16:53
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Цитата(serg_k1 @ Mar 23 2015, 16:34) *
да, это я понял. но мне нужно его тоже смотреть одновременно с внешними сигналами. Значит для него нужно делать что-то вроде того, что я делал сначала?

Сделайте 4 счетчика с шагом 4.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- serg_k1   vivado 2014.1 , ILA ,ошибки   Mar 11 2015, 14:50
- - des00   Цитата(serg_k1 @ Mar 11 2015, 21:50) Как ...   Mar 11 2015, 15:12
|- - serg_k1   Цитата(des00 @ Mar 11 2015, 19:12) сделат...   Mar 12 2015, 06:13
|- - serg_k1   к сожалению ничего не получилось. Сделал несколько...   Mar 17 2015, 14:39
- - VladimirB   Цитата(serg_k1 @ Mar 11 2015, 17:50) Здра...   Mar 11 2015, 19:38
- - dm.pogrebnoy   ЦитатаДля reset установлен false path. Это зачем? ...   Mar 17 2015, 15:54
|- - serg_k1   Цитата(dm.pogrebnoy @ Mar 17 2015, 19:54)...   Mar 18 2015, 14:06
- - serg_k1   Цитата(dm.pogrebnoy @ Mar 23 2015, 20:53)...   Mar 24 2015, 13:08


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

 


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


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