|
Алтера: описание внешнего такта, TimeQuest, Как корректно описать такт в SDC? |
|
|
|
Jan 23 2010, 13:10
|
Участник

Группа: Свой
Сообщений: 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}] Но как правильно описать эту задержку (фазу)?
|
|
|
|
|
 |
Ответов
|
Jan 23 2010, 15:34
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(des333 @ Jan 23 2010, 07:22)  Я не специалист по TQ, но, на мой взгляд, Вам следует описать MHz100 как generated_clock от MHz200 с указанием сдвига фазы. create_generated_clock не может использоваться без указания физического источника этого клока, т.е. в данном случае вариант отпадает. Цитата(solidreg @ Jan 23 2010, 07:10)  Но как правильно описать эту задержку (фазу)? Описывается стандартно через create_clock. У вас есть передача данных их домена 100МГц в домен 50МГц? Если нет, то задержка не важна. Если есть то это сложнее, я вижу единственную возможность это задать сдвиг по фазе между клоками с помошью ключа waveform. Но тут есть тонкий момент, у вашего делителя скоре всего нормируются максимальные и минимальные параметры задержки, и как вы будете учитывать их при анализе мне не совсем понятно. Может быть гуру объяснят. Еще мне не понятно, зачем делить клок на внешнем устройстве, если есть PLL. Или почему бы не сгенерировать 50МГц со 100МГц получаемых с внешнего делителя.
--------------------
|
|
|
|
|
Jan 23 2010, 19:11
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(des00 @ Jan 23 2010, 20:40)  200 выходит, делится на внешнем устройстве и 100 заходит в плис. Вот эти 100 с помощью генерайтед клоков описать нельзя %) Это Вас кто-то наобманул  верилог: Код module time_test (input master_clk, output out_clk, input ret_clk, input d, output reg o );
assign out_clk = !master_clk;
always @(posedge ret_clk) o <= d; 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 4 ret_clk set_clock_uncertainty -to [get_clocks rclk] 1 первый - описывает входной клок. Второй - описывает генерейтед клок на выходном пине с учетом всех задержек. Третий - описывает генерейтед клок, пришедший снаружи, сделанный из второго, деленный напополам и смещенный на 4 наны. ну и uncertainty на +-1 нану, так как там ведь 3..5, а не 4. А варнинг... Ну и что, что варнинг... Забить на него следует. Warning: No paths exist between clock target "ret_clk" of clock "rclk" and its clock source. Assuming zero source clock latency.И правильно говорит варнинг. Внутри путей нет, и считает latency за ноль, о чем на всякий пожарный и сообщает, мало ли, человек ошибся, случайно не ту ноду указал... Но мы-то знаем, что ту ноду, и что не ноль там, а 3..5, и это описали через -offset и через uncertainty. Можно и без оффсета, через дополнительный set_clock_latency. Ну и еще set_load не помешал бы, чтобы задать емкость нагрузки на выходной пин клока. Но я что-то не уверен в наличии такой команды в таймквесте
|
|
|
|
Сообщений в этой теме
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 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, 20:40) 200 вы... Jan 23 2010, 18:49    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 des333 Если добавить строчку:
Кодset_clock_latency -sourc... Jan 24 2010, 07:22 des00 Цитата(des333 @ Jan 24 2010, 01:22) Если ... Jan 24 2010, 07:35  des333 Цитата(des00 @ Jan 24 2010, 10:35) Точно,... Jan 24 2010, 07:41   des00 Цитата(des333 @ Jan 24 2010, 01:41) Возмо... Jan 24 2010, 07:47   SM Цитата(des333 @ Jan 24 2010, 10:41) Возмо... Jan 24 2010, 08:17    des00 Цитата(SM @ Jan 24 2010, 02:17) Разработч... Jan 24 2010, 10:05    des333 Цитата(SM @ Jan 24 2010, 11:17) Разработч... Jan 24 2010, 15:20     SM Цитата(des333 @ Jan 24 2010, 18:20) В чем... Jan 24 2010, 18:15      des333 Цитата(SM @ Jan 24 2010, 21:15) Ну я разн... Jan 24 2010, 20:19       SM Цитата(des333 @ Jan 24 2010, 23:19) Вопро... Jan 25 2010, 22:55        des00 Цитата(SM @ Jan 25 2010, 16:55) ХЗ. Глюк ... Jan 26 2010, 04:41
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|