|
Алтера: описание внешнего такта, 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, 18:49
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(des00 @ Jan 23 2010, 20:40)  200 выходит, делится на внешнем устройстве и 100 заходит в плис. Вот эти 100 с помощью генерайтед клоков описать нельзя %) Хм... А так разве нельзя? Код module count(
input clk50_i, output clk50_o, input clk100_i, output clk100_o );
assign clk50_o = clk50_i; assign clk100_o = clk100_i;
endmodule Код create_clock -period 20.000 -name clk50i [get_ports {clk50_i}] create_generated_clock -name clk50o -source [get_ports {clk50_i}] -divide_by 1 -multiply_by 1 [get_ports {clk50_o}]
create_generated_clock -name clk100i -source [get_ports {clk50_o}] -divide_by 2 -multiply_by 1 [get_ports {clk100_i}] create_generated_clock -name clk100o -source [get_ports {clk100_i}] -divide_by 1 -multiply_by 1 [get_ports {clk100_o}] Квартус ругается: Цитата Warning: No paths exist between clock target "clk100_i" of clock "clk100i" and its clock source. Assuming zero source clock latency. Смотрим справку: Цитата ACTION:Check the value of the -source option to specify a valid clock source in the combinational fan-in of the generated clock target. If the generated clock is assigned to an input port to model a feedback clock, then the -source should be an output port with a clock assigned to it. If no paths are expected between the clock source and clock target (e.g., to model a feedback clock), use the set_clock_latency SDC command to specify any source latency. Добавляем в .sdc строку: Код set_clock_latency -source 3 [get_clocks {clk100i}] И все в порядке.
Сообщение отредактировал des333 - Jan 23 2010, 18:49
--------------------
|
|
|
|
Сообщений в этой теме
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   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 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
|
|
|