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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Алтера: описание внешнего такта, TimeQuest, Как корректно описать такт в SDC?
des00
сообщение Jan 24 2010, 07:47
Сообщение #16


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

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



Цитата(des333 @ Jan 24 2010, 01:41) *
Возможно разработчики имели в виду, что TQ не будет учитывать никакие задержки связанные с источником этого клока.

а вот это надо спросить уже у Stewart Little %)

ЗЫ. Блог подправил и описал сию фичу отдельной строкой %)


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 24 2010, 08:17
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des333 @ Jan 24 2010, 10:41) *
Возможно разработчики имели в виду, что TQ не будет учитывать никакие задержки связанные с источником этого клока.


Разработчики имели в виду, что не будет учитываться задержка от source (указанного ы ключике -source) до таргета, указанного без всяких ключиков в конце команды. Т.е. будет, но она равна нулю, так как ее он сам посчитать не может. Но не никакие - ручная set_clock_latency - будет. Оффсеты и фазы от генерейтед-клока - будут.


ЗЫ. des00 - а почему у вас там все называется TQ для чайников? Когда в реальности это скорее SDC для чайников, с примерами на TQ.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 24 2010, 10:05
Сообщение #18


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

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



Цитата(SM @ Jan 24 2010, 02:17) *
Разработчики имели в виду, что не будет учитываться задержка от source (указанного ы ключике -source) до таргета, указанного без всяких ключиков в конце команды. Т.е. будет, но она равна нулю, так как ее он сам посчитать не может. Но не никакие - ручная set_clock_latency - будет. Оффсеты и фазы от генерейтед-клока - будут.

хмм, т.е. TQ в этой ситуации, когда выкидывает задержку клока clk200MHz из анализа, прав?

Цитата
ЗЫ. des00 - а почему у вас там все называется TQ для чайников? Когда в реальности это скорее SDC для чайников, с примерами на TQ.

потому что всё выросло из вопроса "как пользоваться TQ?" %)


--------------------
Go to the top of the page
 
+Quote Post
des333
сообщение Jan 24 2010, 15:20
Сообщение #19


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(SM @ Jan 24 2010, 11:17) *
Разработчики имели в виду, что не будет учитываться задержка от source (указанного ы ключике -source) до таргета, указанного без всяких ключиков в конце команды. Т.е. будет, но она равна нулю, так как ее он сам посчитать не может. Но не никакие - ручная set_clock_latency - будет. Оффсеты и фазы от генерейтед-клока - будут.



Тогда не понятно, почему добавление lcell'ов при отсутсвии ручной set_clock_latency не влияет на результат, при наличии же

ручной set_clock_latency=0 влияет?

В чем разница автоматического приравнивание к нулю, так как TQ сам ее посчитать не смог и ручного приравнивания к нулю? 


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 24 2010, 18:15
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des333 @ Jan 24 2010, 18:20) *
В чем разница автоматического приравнивание к нулю, так как TQ сам ее посчитать не смог и ручного приравнивания к нулю? 


Ну я разницы-то не заметил, в моем примере он четко берет фронт выходного клока out_clk с учетом всех его задержек и еще и offset-а. Эти задержки еще второй create_generated_clock рассчитал. Или может не туда смотрел?
Go to the top of the page
 
+Quote Post
des333
сообщение Jan 24 2010, 20:19
Сообщение #21


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(SM @ Jan 24 2010, 21:15) *
Ну я разницы-то не заметил, в моем примере он четко берет фронт выходного клока out_clk с учетом всех его задержек и еще и offset-а. Эти задержки еще второй create_generated_clock рассчитал. Или может не туда смотрел?


Добавив в ваш код триггер, тактируемый мастер клоком, и несколько lcell, я получил следующее:


Код
`define SEVEN_LCELL

module count (    
  input master_clk,
  output out_clk,
  input ret_clk,
  input d,
  output reg o
);

logic d1;
logic t1, t2, t3, t4, t5 , t6, t7;

`ifdef SEVEN_LCELL

  lcell lcell1 (master_clk, t1);
  lcell lcell2 (t1, t2);
  lcell lcell3 (t2, t3);
  lcell lcell4 (t3, t4);
  lcell lcell5 (t4, t5);
  lcell lcell6 (t5, t6);
  lcell lcell7 (t6, t7);

`else

  lcell lcell1 (master_clk, t1);
  lcell lcell2 (t1, t7);

`endif



assign out_clk = !t7;

always @(posedge ret_clk)
d1 <= d;

always @(posedge master_clk)
o <= d1;

endmodule


При этом .sdc файл остался неизменным:

Код
create_clock -name mclk -period "100 MHz" master_clk
create_generated_clock -name gclk -source master_clk -invert out_clk
create_generated_clock -name rclk -source out_clk -divide_by 2 -offset 1 ret_clk
set_clock_uncertainty -to [get_clocks rclk] 1


На команду:

Цитата
report_timing -from_clock { rclk } -to_clock { mclk } -setup -npaths 1 -detail path_only -panel_name {Report Timing}


мы получаем следующее результаты.


При 2-х lcell:

Цитата
Worst case slack is 2.802


При 7-ми lcell:

Цитата
Worst case slack is 2.802




Если же добавить в .sdc файл строку:

Цитата
set_clock_latency -source 0 [get_clocks {rclk}]


то результаты будут следующие:



При 2-х lcell:

Цитата
Worst case slack is -2.211


При 7-ми lcell:

Цитата
Worst case slack is -4.194



Вопрос:

почему при добавлении вышеуказанной строки появляется разница в задержке при разном количестве lcell, а при отсутствии этой строки количество lcell не задержку никак не влияет?

Сообщение отредактировал des333 - Jan 24 2010, 20:20


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 25 2010, 22:55
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des333 @ Jan 24 2010, 23:19) *
Вопрос:

почему при добавлении вышеуказанной строки появляется разница в задержке при разном количестве lcell, а при отсутствии этой строки количество lcell не задержку никак не влияет?


ХЗ. Глюк наверное. По идее-то разницы никакой, вручную лэтенси ноль влепить, или автоматом... Родоначальник SDC - синопсис - этим не страдает.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 26 2010, 04:41
Сообщение #23


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

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



Цитата(SM @ Jan 25 2010, 16:55) *
ХЗ. Глюк наверное.

я так и предположил, Stewart Little пока тоже молчит по этому вопросу %)


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

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

 


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


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