_sda 0 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба Коллеги, забодался уже искать причину. Дорабатываю старый проект в Квартусе, не могу изменить описание клока. set Clk10 "10mhz" create_clock -name {gclk10} -period $Clk10 [get_ports {gclk10}] Раньше этот клок назывался Clk50 и имел частоту 50 МГц. После компиляции в отчётах вижу: Этот клок питает PLL с умножением в 10 раз, в итоге весь проект рушится по слэкам. В файле sdc этот клок больше нигде не упоминается, очистка баз проекта не помогает. Почему запоминается старое значение частоты? Что ещё можно почистить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 23 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба А в настройках IP Core PLL входную частоту поправили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба В 30.06.2022 в 11:35, blackfin сказал: А в настройках IP Core PLL входную частоту поправили? Да, конечно, 10 МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 3 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба Не может быть причиной синтаксис set Clk10 "10mhz" может его Квартус не понимает? В ворнингах ничего не находится об этом ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 23 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба On 6/30/2022 at 12:10 PM, _sda said: Да, конечно, 10 МГц. Можно попробовать удалить IP Core PLL из проекта (не меняя самого кода проекта), и создать новую PLL с чистого листа, с тем же именем и с теми же параметрами.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба В 30.06.2022 в 12:21, Yuri124 сказал: Не может быть причиной синтаксис set Clk10 "10mhz" может его Квартус не понимает? В ворнингах ничего не находится об этом ? Такая строчка прекрасно позволяет это проверить. post_message "***gclk10 = $Clk10***" В 30.06.2022 в 12:24, blackfin сказал: Можно попробовать удалить IP Core PLL из проекта (не меняя самого кода проекта), и создать новую PLL с чистого листа, с тем же именем и теми же параметрами.. Да, этого я не делал. Спасибо, проверю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 23 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба On 6/30/2022 at 12:34 PM, _sda said: Такая строчка прекрасно позволяет это проверить. Всё же, не очень хорошая идея использовать не описанный в стандартах синтаксис. :) Пример такого синтаксиса действительно приведен в handbook на Quartus за 2010 год, но в современных версиях Quartus'а уже даже нет упоминания о таком формате команды: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 3 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба On 6/30/2022 at 11:15 AM, _sda said: 10mhz лично я понимаю , что это 10 миллиГерц. А МегаГерцы задавал бы MHz... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба В 30.06.2022 в 14:21, Yuri124 сказал: лично я понимаю , что это 10 миллиГерц. А МегаГерцы задавал бы MHz... Ладно, вот другой клок из этого же sdc set clkddr "275mhz" create_clock -name clk_ddr -period $clkddr -waveform [list $tPeriod14 $tPeriod34] [get_ports clk_ddr] А это выдержка из репорта Правильно воспринимаются единицы измерения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 3 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба On 6/30/2022 at 3:30 PM, _sda said: вот другой клок из этого же sdc спасибо, понял, что эта программа правильно понимает задуманное разработчиком. Я на всякий случай на это внимание обратил - некоторым программам важно задавать с точностью до буквы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба В 30.06.2022 в 13:56, blackfin сказал: Всё же, не очень хорошая идея использовать не описанный в стандартах синтаксис. :) Согласен, но ведь работает, а от добра добра не ищут. Благодаря вашему совету я вспомнил что в применяемой в этом проекте ip core DDR3 тоже используется PLL и кормится она от того же клока (50 МГц => 10 МГц). После изменения корки и её перекомпиляции заметил что в файле описания этой PLL не изменилось значение опоры // Clock settings parameter REF_CLK_FREQ = "50.0 MHz"; хотя в самой корке всё нормально Похоже ноги растут отсюда. Очень не хочется пересобирать с нуля эту корку, долго возился пока всё заработало. Рихтовать сам верилоговский файл? Можно ввести свои ошибки. Как быть? Кажется нашёл где изменить. Теперь два часа компиляции и всё должно стать на свои места. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 30 июня, 2022 Опубликовано 30 июня, 2022 · Жалоба Всё стало на свои места. Всем спасибо, особенно blackfin! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 23 июля, 2022 Опубликовано 23 июля, 2022 · Жалоба В 30.06.2022 в 12:34, _sda сказал: post_message "***gclk10 = $Clk10***" Это TCL? Его запускать из TCL-консоли или с пре или пост скрипте? В 30.06.2022 в 18:00, _sda сказал: Всё стало на свои места. Расскажите, пожалуйста, как именно решилось? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба 1).Я пишу это прямо в файле sdc для контроля 2).Уже несколько раз наступал на эти грабли. Нужно помнить что указанное значение частоты опорного клока для PLL имеет приоритет над указанным значением в sdc. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться