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

 
 
> 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 17 2015, 15:54
Сообщение #2


Знающий
****

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



Цитата
Для reset установлен false path.

Это зачем?
Цитата
к сожалению ничего не получилось.

Что-то конкретно не работает или вас просто испугали ворнинги?
Цитата
Сделал несколько фифо под 200 и ILA.

Удалось данные распараллелить в два раза? Фифо можно собрать на распределенной памяти, для распарарллеливания нужна самая минимальная глубина.
Цитата
После запуска Report Timing Summary показывает наличие ошибок в Intra-Clock Paths->clk_wiz_0->Setup

Скорее всего нужно прописать констрейнты.


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


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

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



Цитата(dm.pogrebnoy @ Mar 17 2015, 19:54) *
Это зачем?

Что-то конкретно не работает или вас просто испугали ворнинги?

Удалось данные распараллелить в два раза? Фифо можно собрать на распределенной памяти, для распарарллеливания нужна самая минимальная глубина.

Скорее всего нужно прописать констрейнты.

1. Для reset установлен false path. у фифо был reset и ошибки "setup" для ILA . я сделал чтобы этот путь распостранения не учитывался.
2. 3. испугали ворнинги. хотелось бы быть уверенным что ila с фифо работает правильно. Сейчас просто считает счетчик под оба фронта 400МГц и я его хочу смотреть.

Код
//---------------------------
clk_wiz_0 core_clk_400
   (
   // Clock in ports
    .clk_in1_p(sys_clk_p),    // input clk_in1_p
    .clk_in1_n(sys_clk_n),    // input clk_in1_n
    // Clock out ports
    .clk_out1(clk_400MHz),     // output clk_out1
    .clk_out2(clk_out2),     // output clk_out2
    .clk_out3(clk_out3),     // output clk_out3
    // Status and control signals
    .reset(reset),// input reset
    .locked(locked_1));      // output locked
//---------------------------
clk_wiz_1 core_clk_200
   (
   // Clock in ports
    .clk_in1(clk_400MHz),      
    // Clock out ports
    .clk_out1(clk_200),    
    .clk_out2(clk_200_90),    
    .clk_out3(clk_200_180),    
    .clk_out4(clk_200_270),    
    .clk_out5(clk_400),    
    .clk_out6(clk_400_90),    
    .clk_out7(clk_400_180),    
    // Status and control signals
    .reset(reset),// input reset
    .locked(locked_2));  

...
begin
            if ( ( clk_400_90 == 0 ) & ( clk_200_90 == 0) ) nom <=  2'b00;
            else nom <= nom + 1'b1;
            if ( data_AB < 16'hffff)                          
                data_AB <= data_AB + 1'b1;
              else  
                data_AB <= 16'h0;              
            case ( nom )
            2'b00: begin
                    data_AB_1 <= data_AB;
                   end
            2'b01: begin
                     data_AB_2 <= data_AB;          
                   end
            2'b10: begin
                     data_AB_3 <= data_AB;          
                   end  
            2'b11: begin
                    data_AB_4 <= data_AB;          
                   end                    
            endcase          
        end
...
//-------------таких 4 под wr_clk = clk_200_xxx  ---------------
    fifo_data fifo_data_2(
        .wr_clk(clk_200),
        .rd_clk(clk_200),
        .d_in(data_AB_2),
        .led(GPIO_LED_1),
        .reset(reset)
        );
...

между data_AB_2 и clk_200 период 400МГц , а выдается ошибка timing. А в ILA частота 200МГц и там тоже ошибка timing - setup. Причем ошибки есть даже тогда, когда остается один из 4-х каналов, при этом вход счетчика остается под оба фронта 400.
пробовал и так
Код
always @( posedge clk_200 )
    begin
                    
              data_AB_1 <= data_AB;
        
    end    
//----------------------------
    always @( posedge clk_200_90 )
        begin
                    
                  data_AB_2 <= data_AB;
            
        end

...

а будет- входные данные (32р LVDS) под оба фронта 400МГц и с которыми нужно разбираться. Поэтому и хотелось быть уверенным в правильности работы.
4.на входную частоту sys_clk_p и clk_400MHz для clk_wiz_1 core_clk_200 прописано. Что еще нужно?
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   1) Использовать 1 MMCM вместо двух. Проверить Cloc...   Mar 18 2015, 15:51
- - serg_k1   Цитата(dm.pogrebnoy @ Mar 18 2015, 19:51)...   Mar 19 2015, 15:59
- - dm.pogrebnoy   Для решения вашей задачи не требуется частот с раз...   Mar 19 2015, 19:19
- - serg_k1   Цитата(dm.pogrebnoy @ Mar 19 2015, 23:19)...   Mar 20 2015, 11:20
- - serg_k1   есть еще одна проблема. Принимаю данные счетчика н...   Mar 23 2015, 09:17
- - dm.pogrebnoy   Цитата(serg_k1 @ Mar 23 2015, 12:17) есть...   Mar 23 2015, 11:31
- - serg_k1   Цитата(dm.pogrebnoy @ Mar 23 2015, 15:31)...   Mar 23 2015, 13:34
- - dm.pogrebnoy   Цитата(serg_k1 @ Mar 23 2015, 16:34) да, ...   Mar 23 2015, 16:53
- - 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 Текстовая версия Сейчас: 21st August 2025 - 20:23
Рейтинг@Mail.ru


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