|
Nios II и временные ограничения, Задание временных констрейнов для Nios II |
|
|
|
May 29 2015, 07:07
|
Местный
  
Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451

|
Здравствуйте. Есть ядро написанное на VHDL (не моё), хочу прикрутить его к Nios II по шине авалон. Среди файлов из которого состоит ядро имеется файл .sdc с временными ограничениями. Надо соответственно этот файл как то так подцепить к проекту, что бы трассировщик правильно для данной частоты развёл не только Nios но и данное ядро. Процессорную систему создаю в SOPC Builder, среди генерируемых им файлов, есть файл cpu.sdc, его содержание: Код set cpu cpu:* set cpu_oci cpu_nios2_oci:the_cpu_nios2_oci set cpu_oci_break cpu_nios2_oci_break:the_cpu_nios2_oci_break set cpu_ocimem cpu_nios2_ocimem:the_cpu_nios2_ocimem set cpu_oci_debug cpu_nios2_oci_debug:the_cpu_nios2_oci_debug set cpu_wrapper cpu_jtag_debug_module_wrapper:the_cpu_jtag_debug_module_wrapper set cpu_jtag_tck cpu_jtag_debug_module_tck:the_cpu_jtag_debug_module_tck set cpu_jtag_sysclk cpu_jtag_debug_module_sysclk:the_cpu_jtag_debug_module_sysclk set cpu_oci_path [format "%s|%s" $cpu $cpu_oci] set cpu_oci_break_path [format "%s|%s" $cpu_oci_path $cpu_oci_break] set cpu_ocimem_path [format "%s|%s" $cpu_oci_path $cpu_ocimem] set cpu_oci_debug_path [format "%s|%s" $cpu_oci_path $cpu_oci_debug] set cpu_jtag_tck_path [format "%s|%s|%s" $cpu_oci_path $cpu_wrapper $cpu_jtag_tck] set cpu_jtag_sysclk_path [format "%s|%s|%s" $cpu_oci_path $cpu_wrapper $cpu_jtag_sysclk] set cpu_jtag_sr [format "%s|*sr" $cpu_jtag_tck_path]
#************************************************************** # Set False Paths #**************************************************************
set_false_path -from [get_keepers *$cpu_oci_break_path|break_readreg*] -to [get_keepers *$cpu_jtag_sr*] set_false_path -from [get_keepers *$cpu_oci_debug_path|*resetlatch] -to [get_keepers *$cpu_jtag_sr[33]] set_false_path -from [get_keepers *$cpu_oci_debug_path|monitor_ready] -to [get_keepers *$cpu_jtag_sr[0]] set_false_path -from [get_keepers *$cpu_oci_debug_path|monitor_error] -to [get_keepers *$cpu_jtag_sr[34]] set_false_path -from [get_keepers *$cpu_ocimem_path|*MonDReg*] -to [get_keepers *$cpu_jtag_sr*] set_false_path -from *$cpu_jtag_sr* -to *$cpu_jtag_sysclk_path|*jdo* set_false_path -from sld_hub:*|irf_reg* -to *$cpu_jtag_sysclk_path|ir* set_false_path -from sld_hub:*|sld_shadow_jsm:shadow_jsm|state[1] -to *$cpu_oci_debug_path|monitor_go До этого не обращал внимания, но... где здесь указание на то, какая частота сигнала используется, куда вписать нестабильность частоты (квартус выдаёт критические ворненги относительно того, что нестабильность не задана). Возможно необходимо создавать отдельный .sdc файл. Как я понял, Qsys сама генерит подпбный файл, а как быть с SOPC Builder?
Сообщение отредактировал Грендайзер - May 29 2015, 07:09
|
|
|
|
|
 |
Ответов
|
Jun 4 2015, 09:47
|
Местный
  
Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451

|
Цитата Рабочая частота Ниоса определяется частотой клока, которым он тактируется, если она не определена в sdc, то берётся из параметров PLL, а если и PLL нет, то уже никак. Так в том то и дело, что частота не определена. В этой ситуации TQ должен предположить, что раз частота не задана, значит разводить надо под частоту 1ГГц, однако развести под такую частоту ниос у него врят ли получится (максимальная его рабочая частота по заявлениям альтеровцев 100МГц) => должен выскочить ворнинг о том, что временные ограничения не соблюдаются... Однако его нет...
|
|
|
|
|
Jun 4 2015, 10:14
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(Грендайзер @ Jun 4 2015, 12:47)  Так в том то и дело, что частота не определена. В этой ситуации TQ должен предположить, что раз частота не задана, значит разводить надо под частоту 1ГГц, однако развести под такую частоту ниос у него врят ли получится (максимальная его рабочая частота по заявлениям альтеровцев 100МГц) => должен выскочить ворнинг о том, что временные ограничения не соблюдаются... Однако его нет... Если частота не задана, то анализ путей относительно соответствующего клока вообще не производится, и будет предупреждение, что не задана частота.
|
|
|
|
Сообщений в этой теме
Грендайзер Nios II и временные ограничения May 29 2015, 07:07 vadimuzzz Цитата(Грендайзер @ May 29 2015, 13:07) В... May 30 2015, 02:56 Грендайзер По запросу Read SC File TQ выдал мне вот такую таб... Jun 1 2015, 06:45 vadimuzzz Цитата(Грендайзер @ Jun 1 2015, 12:45) По... Jun 2 2015, 00:02 Грендайзер Цитатаприоритет имеет ограничение, прочитанное поз... Jun 2 2015, 07:46 vadimuzzz Цитата(Грендайзер @ Jun 2 2015, 13:46) Хо... Jun 2 2015, 11:39 Timmy Цитата(Грендайзер @ Jun 2 2015, 10:46) О ... Jun 4 2015, 07:48 Грендайзер ЦитатаЭто на вашу ответственность клоки ограничить... Jun 3 2015, 05:41 vadimuzzz проект можете выложить? или отчет TQ после компиля... Jun 4 2015, 03:59 Грендайзер В смысле "проект"? Я просто собрал систе... Jun 4 2015, 07:29 vadimuzzz Цитата(Грендайзер @ Jun 4 2015, 13:29) Зд... Jun 5 2015, 00:53 Грендайзер Я в каком то мануале видел (да и vadimuzzz подтвер... Jun 4 2015, 10:28 Timmy Цитата(Грендайзер @ Jun 4 2015, 13:28) Я ... Jun 4 2015, 10:40 Грендайзер Timmy, обсолютно согласен! Вот и ходелось бы п... Jun 4 2015, 11:45 Грендайзер Ну да, я догадывался, что это JTAG'овский, хот... Jun 8 2015, 04:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|