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

 
 
> PLL от Cyclone 10 LP не моделируется в Modelsim, не выход в состояние locked
AVR
сообщение Aug 24 2018, 07:05
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Использую Quartus Prime 17.1.0 build 590 + Modelsim Intel FPGA starter edition 10.5b.
Есть пример с PLL, который легко запустить - просто файл sim.bat, только пути поправить:
Прикрепленный файл  test_pll.zip ( 7.06 килобайт ) Кол-во скачиваний: 12

Наблюдается странная проблема:
Прикрепленное изображение

Делаю резет как положено, на вход 200 МГц, что допустимо, тем более в симуляторе. Locked никогда не поднимается. Что я делаю не так?

Читал о всех возможных причинах неработоспособности PLL при моделировании - отсутствие сброса, инициализации, недостаточная точность модели, но у меня ведь 1ns/1ps и этого достаточно.
Самое интересное, что внутри компонента altlvds_rx встроенный в него PLL работает в модели, а ведь там то же самое altpll.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iosifk
сообщение Aug 24 2018, 07:21
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(AVR @ Aug 24 2018, 10:05) *
Locked никогда не поднимается. Что я делаю не так?
Читал о всех возможных причинах неработоспособности PLL при моделировании - отсутствие сброса, инициализации, недостаточная точность модели, но у меня ведь 1ns/1ps и этого достаточно.


Я думаю, что для altpll в ее описании где-то сидит задержка по срабатыванию захвата. Наверняка она зависит от разрядности счетчиков и от времени их заполнения входными импульсами...
Надо найти это место и сделать симуляцию больше по времени или солько для симуляции эту задержку покоцать.
Вот у Ксайлинкса есть примитив глобального сброса после загрузки. Он требуется для симуляции памяти, так как мне лень тупо ждать в RTL симуляции, я переношу его в рабочую папку и там убираю задержку...
Я не вижу, как вы в тесте ограничиваете время симуляции? Как Вы его задаете?

PS Но Вы же знаете коэфф деления счетчиков, так что можно даже не забираясь в описания pll, взять функцией и по коэфф. деления счетчиков, вычислить количество импульсов во входном и в выходном делителях и взять от них максимальное. К этому добавить запас и так задать время симуляции командами верилога.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AVR
сообщение Aug 24 2018, 07:37
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(iosifk @ Aug 24 2018, 10:21) *
Я думаю, что для altpll в ее описании где-то сидит задержка по срабатыванию захвата. Наверняка она зависит от разрядности счетчиков и от времени их заполнения входными импульсами...
Надо найти это место и сделать симуляцию больше по времени или солько для симуляции эту задержку покоцать.
Вот у Ксайлинкса есть примитив глобального сброса после загрузки. Он требуется для симуляции памяти, так как мне лень тупо ждать в RTL симуляции, я переношу его в рабочую папку и там убираю задержку...

100 мкс жду, 100 мкс сброс висит, далее 500 миллисекунд и ничего опять. Мне кажется это запредельно, в altlvds_rx это заводится за микросекунды.

Мне очевидно наличие бага. Слепо предположим - это баг. Что можно с этим сделать? Скомпилировать другую версию библиотек? Взять старую версию Modelsim? Нужно чтоб Cyclone 10 LP умела версия. Может Quartus Prime 18? Может версию для Linux?


--------------------
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 24 2018, 07:43
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(AVR @ Aug 24 2018, 10:37) *
100 мкс жду, 100 мкс сброс висит, далее 500 миллисекунд и ничего опять. Мне кажется это запредельно, в altlvds_rx это заводится за микросекунды.

Мне очевидно наличие бага. Слепо предположим - это баг. Что можно с этим сделать? Скомпилировать другую версию библиотек? Взять старую версию Modelsim? Нужно чтоб Cyclone 10 LP умела версия. Может Quartus Prime 18? Может версию для Linux?


Первое что надо делать - официально обратиться в техподдержку Альтеры. Второе - тоже самое написать на Альтеровский форум.
Просто, если это баг, то там статистика больше.
Потом на калькуляторе посчитать, как я написал в предыдущем посте про время симуляции. Наверняка в ПЛЛ задержка определяется счетчиками, и задается в параметрах. Поэтому время может и отличаться на порядки...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 09:50
Рейтинг@Mail.ru


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