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

 
 
> Алтера: описание внешнего такта, TimeQuest, Как корректно описать такт в SDC?
solidreg
сообщение Jan 23 2010, 13:10
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 24-10-05
Пользователь №: 10 056



Нужна помощ с описанием внешнего такта в SDC языке для TimeQuest (Altera)
У меня PLL генерирует 200MHz и 50MHz такты. Этот 200MHz идёт сразу на внешний чип, каторый делит этот такт на два, и через кокое то время (скажем, 3nS) посупает опять на FPGA. И потом этот сигнал пользуется как такт в внутренних цепях.
Нарисовал картинку чтоб было бы ясно.


Написал так:
Код
create_generated_clock -source <..PLL> -name MHz50
create_clock -period 10.000 -name MHz100 [get_ports {Clk2}]

Но как правильно описать эту задержку (фазу)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des333
сообщение Jan 24 2010, 07:22
Сообщение #2


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

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



Если добавить строчку:
Код
set_clock_latency -source 0 [get_clocks {clk100MHz}]


то задержка lcell начнет учитываться.


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 24 2010, 07:35
Сообщение #3


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

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



Цитата(des333 @ Jan 24 2010, 01:22) *
Если добавить строчку:
Код
set_clock_latency -source 0 [get_clocks {clk100MHz}]


то задержка lcell начнет учитываться.

Точно, занятно. Значит таймквест, утвержая
Цитата
Warning: No paths exist between clock target "iclk100MHz" of clock "clk100MHz" and its clock source. Assuming zero source clock latency.
нагло врет в текстовой форме %)


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


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

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



Цитата(des00 @ Jan 24 2010, 10:35) *
Точно, занятно. Значит таймквест, утвержая
нагло врет в текстовой форме %)

smile.gif

Возможно разработчики имели в виду, что TQ не будет учитывать никакие задержки связанные с источником этого клока.


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


Гуру
******

Группа: Свой
Сообщений: 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
des333
сообщение Jan 24 2010, 15:20
Сообщение #6


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

Группа: Свой
Сообщений: 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
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #8


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

Группа: Свой
Сообщений: 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

Сообщений в этой теме
- solidreg   Алтера: описание внешнего такта, TimeQuest   Jan 23 2010, 13:10
- - des333   Я не специалист по TQ, но, на мой взгляд, Вам след...   Jan 23 2010, 13:22
|- - solidreg   Цитата(des333 @ Jan 23 2010, 16:22) Я не ...   Jan 23 2010, 13:47
- - des00   Цитата(des333 @ Jan 23 2010, 07:22) Я не ...   Jan 23 2010, 15:34
|- - solidreg   Цитата(des00 @ Jan 23 2010, 19:34) Еще мн...   Jan 23 2010, 15:47
||- - des00   ЦитатаЗадержка там фиксированна, окола 3-5nS. Она ...   Jan 23 2010, 15:53
|- - des333   Цитата(des00 @ Jan 23 2010, 18:34) create...   Jan 23 2010, 16:56
|- - des00   Цитата(des333 @ Jan 23 2010, 10:56) Так в...   Jan 23 2010, 17:40
|- - des333   Цитата(des00 @ Jan 23 2010, 20:40) 200 вы...   Jan 23 2010, 18:49
|- - SM   Цитата(des00 @ Jan 23 2010, 20:40) 200 вы...   Jan 23 2010, 19:11
|- - solidreg   Цитата(SM @ Jan 23 2010, 23:11) SDC: Кодc...   Jan 23 2010, 19:38
- - des00   Цитата(des333 @ Jan 23 2010, 12:49) А так...   Jan 24 2010, 05:29
- - des00   Цитата(des333 @ Jan 24 2010, 01:41) Возмо...   Jan 24 2010, 07:47
- - des00   Цитата(SM @ Jan 24 2010, 02:17) Разработч...   Jan 24 2010, 10:05
- - SM   Цитата(des333 @ Jan 24 2010, 23:19) Вопро...   Jan 25 2010, 22:55
- - des00   Цитата(SM @ Jan 25 2010, 16:55) ХЗ. Глюк ...   Jan 26 2010, 04:41


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

 


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


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