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

 
 
> Помогите с PLL на Cyclone I
Hoksmur
сообщение Jun 8 2016, 07:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 20-09-08
Пользователь №: 40 343



Доброго!
Осваиваю FPGA, взял для внешнего FIFO Cyclone I. Для тактирования хочу взять частоту 100Мгц, как почти гарантированно работоспособную и в то же время минимизирующую задержки. Есть внешняя 25Мгц. MegaWizard "подарил" мне PLL с требуемой конфигурацией. Попытка запихать его в Modelsim-Altera потерпела неудачу. Делаю в Quartus: Start compilation, Start Analysis & Elaboration, Run EDA simulation tool - EDA Gate level simulation.

CODE
Warning: Parallel compilation is not licensed and has been disabled
Warning: Output port clk0 of PLL "alt_pll:LB0|altpll:altpll_component|pll" feeds an output pin via global clocks -- jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance
Warning: Parallel compilation is not licensed and has been disabled
Warning: Output port clk0 of PLL "alt_pll:LB0|altpll:altpll_component|pll" feeds an output pin via global clocks -- jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance
Warning: Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature.
Warning: The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'.
Warning: Parallel compilation is not licensed and has been disabled
Warning: Clock latency analysis for PLL offsets is supported for the current device family, but is not enabled
Warning: Expected ENABLE_CLOCK_LATENCY to be set to ON but is set to OFF
Warning: Device family does not support board-level Boundary-Scan Description Language file generation
Warning: Skipped module PowerPlay Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER


Modelsim пытаться-то пытается, но как-то неубедительно:
Цитата
run -all
# ** Warning: Input clock freq. is not within VCO range : Cyclone PLL may not lock.
# Time: 60 ps Iteration: 7 Instance: /pll_sim/\LB0|altpll_component|pll\

На втором периоде тактовой он уже знает, что частоту не захватить? по тексту ошибки полез результат посмотреть - так нет же, Nominal VCO frequency 800.0 MHz, в то же время в описании рабочий диапазон от 500 МГц до 1000 МГц).

Соответственно, выходной сигнал ровный, как пульс у покойника.
Подскажите новичку, куда копать?

Используется Quartus 11.0sp1 c Modelsim Altera Strtaer edition 6.6d

Сообщение отредактировал Hoksmur - Jun 8 2016, 08:03
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
dima32rus
сообщение Jun 8 2016, 08:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Можете выложить проект?
Go to the top of the page
 
+Quote Post
Hoksmur
сообщение Jun 8 2016, 08:15
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 20-09-08
Пользователь №: 40 343



Цитата(dima32rus @ Jun 8 2016, 15:10) *
Можете выложить проект?

Вот архив с голым PLL; всё лишнее убрал, когда начал бодаться с симуляцией.
Там рядом и bdf (схема) лежит, если что.

UPD: Выбор версии Quartus не случаен: эта последняя поддерживает Cyclone I.

Сообщение отредактировал Hoksmur - Jun 8 2016, 08:41
Прикрепленные файлы
Прикрепленный файл  pllsim.zip ( 44.86 килобайт ) Кол-во скачиваний: 7
 
Go to the top of the page
 
+Quote Post
dima32rus
сообщение Jun 8 2016, 08:47
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



У Вас в проекте отсутствует тестбенч. Вот здесь можно почитать, как его создавать и привязывать к проекту. Если все сделать правильно, ModelSim будет запускаться из Quartus'а.
Кроме того, в тестбенче нужно прописать поведение внешних сигналов. Конкретно в Вашем случае - задать входную тактовую частоту pll. Почитать об этом можно здесь. Правда, пример на Verilog'е, но при желании можно найти и на VHDL.
Go to the top of the page
 
+Quote Post
Hoksmur
сообщение Jun 8 2016, 08:53
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 20-09-08
Пользователь №: 40 343



Дмитрий, если я всё правильно понимаю, то задав 'Clock'-сигнал в Waveform с периодом 40 ns и подав константу на areset я делаю то же самое. Нет?
PS: Сделаю - результат выложу.
Go to the top of the page
 
+Quote Post
dima32rus
сообщение Jun 8 2016, 09:23
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Цитата(Hoksmur @ Jun 8 2016, 11:53) *
Дмитрий, если я всё правильно понимаю, то задав 'Clock'-сигнал в Waveform с периодом 40 ns и подав константу на areset я делаю то же самое. Нет?
Не могу сказать, я всегда задавал сигналы вручную в тестбенче.
Go to the top of the page
 
+Quote Post
Hoksmur
сообщение Jun 8 2016, 09:43
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 20-09-08
Пользователь №: 40 343



Прикрепленное изображение


Ну, как-то так. Есть идеи, почему так происходит? и где толковый мануал есть по написанию тестбенчей на VHDL? Или ещё и Verilog учить? wacko.gif
Вывод консольки:
Цитата
# vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclone -L rtl_work -L work -voptargs="+acc" pll_sim_vhd_tst
# vsim -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L cyclone -L rtl_work -L work -voptargs=\"+acc\" -t 1ps pll_sim_vhd_tst


И что из этого би-и-ип получается, когда сигналы задаются вручную.
Прикрепленное изображение


Сообщение отредактировал Hoksmur - Jun 8 2016, 10:51
Go to the top of the page
 
+Quote Post
likeasm
сообщение Jun 8 2016, 17:29
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 156
Регистрация: 15-04-10
Пользователь №: 56 673



тут http://www.testbench.in
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 9 2016, 08:16
Сообщение #9


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



для старта:
Circuit Design and Simulation with VHDL
second edition
Volnei A. Pedroni


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
GREGOR_812
сообщение Jun 14 2016, 15:15
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 26-04-14
Пользователь №: 81 523



Посмотрите в RTL Viewer, как у вас подключился PLL. А ещё обратите внимание на активный уровень сброса, у альтеровских PLL это обычно лог. 1
А ещё прежде чем кидаться в гейт-левел симуляцию, попробуйте сначала ртл симуляцию провести)

Сообщение отредактировал GREGOR_812 - Jun 14 2016, 15:17
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:40
Рейтинг@Mail.ru


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