Перейти к содержанию
    

Моделирование PLL для Cyclone

Здравствуйте все!

Пробую моделировать работу IP-ядра PLL (PLL Intel FPGA IP) в Questa Sim.

Работаю в Quartus 18.1, ПЛИС Cyclone V. Библиотеки Quartus откомпилированы и добавлены в Questa Sim. Файл vhd называется mypll.vhd. Questa Sim пишет предупреждение, что некий файл mypll_0002" is not bound. Моделирование не получается. В файле mypll.vhd есть ссылка на файл mypll_0002. Он есть, но сгенерирован на Verilog. При попытке добавить его в проект вылетает целая куча ошибок.

Ещё странное. Раньше для редактирования своей реализации мегафункции я открывал из Quartus файл с расширением vhd, который сгенерировал мегавизард. После этого мегавизард сам запускался уже с той мегафункцией, и я мог править отдельные параметры. Теперь тот файл vhd открывается в Quartus как текстовый. Править отдельные параметры не получается, приходится запускать мегавизард с нуля и всё вбивать заново.

Сразу скажу, что в прошлом году у меня это получалось. Даже как-то моделировался начальный запуск PLL. Теперь не работают и прошлогодние проекты. Откат на Quartus 18.0 не помог.

Подскажите, пожалуйста, как вернуть старое поведение?

Заранее признателен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 minutes ago, DSIoffe said:

Пробую моделировать работу IP-ядра PLL (PLL Intel FPGA IP) в Questa Sim.

...

В файле mypll.vhd есть ссылка на файл mypll_0002. Он есть, но сгенерирован на Verilog. При попытке добавить его в проект вылетает целая куча ошибок.

Корка PLL - гора библиотечных файликов, так что мб, что-то не так с библиотеками квартуса (не та версия, не все сгенерировались, сгенерировались с ошибкой)? И нужно разобираться с той кучей ошибок, что появляются при добавлении в проект mypl_0002. Может, там есть какие-то подсказки, куда копать?

Вообще, ИМХО, тащить полную корку PLL в симулятор - дело неблагодарное. Все нужные сигналы с PLL легко описываются конструкциями языка (захват, сами частоты и т.д.). Хотя, возможно, просто не сталкивался с задачами, которые требуют этого.

25 minutes ago, DSIoffe said:

Ещё странное. Раньше для редактирования своей реализации мегафункции я открывал из Quartus файл с расширением vhd, который сгенерировал мегавизард. После этого мегавизард сам запускался уже с той мегафункцией, и я мог править отдельные параметры. Теперь тот файл vhd открывается в Quartus как текстовый. Править отдельные параметры не получается, приходится запускать мегавизард с нуля и всё вбивать заново.

Было такое, когда руками таскал с места на место файлы ip корки. Вылечилось пересозданием корки. А редактирование запускаю тыкая на Project Navigator -> IP components -> нужная корка. Правда, для этого нужно хранить в проекте ВСЕ файлы, созданные мегавизардом.

31 minutes ago, DSIoffe said:

Сразу скажу, что в прошлом году у меня это получалось. Даже как-то моделировался начальный запуск PLL.

Клево, у меня за несколько подходов не получилось - глянул бы с удовольствием)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, nice_vladi сказал:

И нужно разобираться с той кучей ошибок, что появляются при добавлении в проект mypl_0002.

Спасибо.

Оно попросило altera_pll. Я нашёл altera_pll.v в потрохах Quartus, добавил его в проект, тогда сказали, что некая конструкция оттуда допустима только в SystemVerilog, на этом всё кончилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, DSIoffe said:

Оно попросило altera_pll. Я нашёл altera_pll.v в потрохах Quartus, добавил его в проект, тогда сказали, что некая конструкция оттуда допустима только в SystemVerilog, на этом всё кончилось. 

что-то мне подсказывает, что у вас не скомпилированы и не подключены корректно библиотеки Altera. А полуичлось, потому что когда то, вы использовали настроенный симулятор, а потом снесли библиотеки или сменили софт)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, des00 сказал:

что-то мне подсказывает, что у вас не скомпилированы и не подключены корректно библиотеки Altera. А полуичлось, потому что когда то, вы использовали настроенный симулятор, а потом снесли библиотеки или сменили софт)

Я их компилировал вот так: Tools -> Launch Simulation Library Compiler , указал где лежит Questa Sim и куда складывать результат. А в проекте Questa Sim добавлял полученные библиотеки через File - New Library в режиме a map to an existing library, как на картинке. А как надо?

lib.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 minutes ago, DSIoffe said:

Я их компилировал вот так: Tools -> Launch Simulation Library Compiler , указал где лежит Questa Sim и куда складывать результат. А в проекте Questa Sim добавлял полученные библиотеки через File - New Library в режиме a map to an existing library, как на картинке. А как надо?

lib.gif

Да вроде верно, если еще в списке библиотек есть, то тем более. Надо читать логи, которые выдает симулятор и смотреть, что ему не хватает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, DSIoffe сказал:

Я их компилировал вот так: Tools -> Launch Simulation Library Compiler , указал где лежит Questa Sim и куда складывать результат. А в проекте Questa Sim добавлял полученные библиотеки через File - New Library в режиме a map to an existing library, как на картинке. А как надо?

А исходники библиотек компилировались только vhdl'ные, или и vhdl'ные и verilog'овские?

А по поводу добавления скомпилированных библиотек в квесту - можно в корневом modelsim.ini их прописать раз и навсегда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, StewartLittle сказал:

А исходники библиотек компилировались только vhdl'ные, или и vhdl'ные и verilog'овские?

А по поводу добавления скомпилированных библиотек в квесту - можно в корневом modelsim.ini их прописать раз и навсегда.

И те, и другие.

Я прописал скомпилированные библиотеки в корневой modelsim.ini, вот этот: C:\questasim64_10.4c\modelsim.ini. Не сам придумал, а скопировал из того modelsim.ini, которого родил Quartus при компиляции библиотек. А они всё равно не появились на закладке Library в Questa Sim. Почему такое может быть? Если их списать в файл проекта, тогда они на закладке Library появятся.

Но на результат это не влияет.

20 часов назад, des00 сказал:

Надо читать логи, которые выдает симулятор и смотреть, что ему не хватает. 

В текущем проекте только те жалобы, про которые я написал. А старые проекты вообще запускаются молча, сплошное # Errors: 0, Warnings: 0, но нет выходных сигналов PLL и всего, что от них зависит.

И ещё: почему перестали нормально редактироваться реализации IP-ядер?

Изменено пользователем DSIoffe
Забыл важное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, DSIoffe сказал:

Я прописал скомпилированные библиотеки в корневой modelsim.ini, вот этот: C:\questasim64_10.4c\modelsim.ini.

Отредактированный modelsim.ini в студию!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, DSIoffe сказал:

Не туда прописали. Прописывать нужно было вот в эту секцию:

[Library]
std = $MODEL_TECH/../std
ieee = $MODEL_TECH/../ieee
vital2000 = $MODEL_TECH/../vital2000

Вставьте строчки со всеми альтеровскими библиотеками с путями к ним перед строчкой std и не забудьте изменения в файле сохранить :)

И я  еще порекомендовал бы атрибут "read only" на этот modelsim.ini вернуть, от греха.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, StewartLittle сказал:

Не туда прописали. Прописывать нужно было вот в эту секцию:

Вроде до [DefineOptionset] всё продолжается секция [Library] ?

Вставил эти строки перед std. Не влияет :( Атрибут "read only" вернул. Добавляются только те библиотеки, которые вписаны в mpf.

UPD: если запустить Questa Sim, не загружая в неё проект, то все библиотеки отображаются на закладке Library, в том числе и те, которые я вписал в корневой ini. Но если после этого загрузить mpf, в котором этих вписанных нет, то последние исчезают с закладки library. Если этот проект закрыть, то опять показаны все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, DSIoffe said:

И ещё: почему перестали нормально редактироваться реализации IP-ядер?

Откройте файл *.lst в папке IP-ядра и добавьте строку с названием.

примерно так:

<ALIAS>Custom PHY Intel FPGA IP v18.1</ALIAS>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

думаю лучше всего, сделайте простой проект с PLL. выложите сюда для проверки. а то, так можно долго угадывать 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 часов назад, des00 сказал:

думаю лучше всего, сделайте простой проект с PLL. выложите сюда для проверки. а то, так можно долго угадывать

Прикладываю. Спасибо.

pll.zip

19 часов назад, iglaz3 сказал:

Откройте файл *.lst в папке IP-ядра и добавьте строку с названием.

примерно так:

<ALIAS>Custom PHY Intel FPGA IP v18.1</ALIAS>

Сделал. Вставил эту строку последней, перед закрывающим тегом </INFO>. Не помогло :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...