Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с PLL на Cyclone I
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Hoksmur
Доброго!
Осваиваю 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
dima32rus
Можете выложить проект?
Hoksmur
Цитата(dima32rus @ Jun 8 2016, 15:10) *
Можете выложить проект?

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

UPD: Выбор версии Quartus не случаен: эта последняя поддерживает Cyclone I.
dima32rus
У Вас в проекте отсутствует тестбенч. Вот здесь можно почитать, как его создавать и привязывать к проекту. Если все сделать правильно, ModelSim будет запускаться из Quartus'а.
Кроме того, в тестбенче нужно прописать поведение внешних сигналов. Конкретно в Вашем случае - задать входную тактовую частоту pll. Почитать об этом можно здесь. Правда, пример на Verilog'е, но при желании можно найти и на VHDL.
Hoksmur
Дмитрий, если я всё правильно понимаю, то задав 'Clock'-сигнал в Waveform с периодом 40 ns и подав константу на areset я делаю то же самое. Нет?
PS: Сделаю - результат выложу.
dima32rus
Цитата(Hoksmur @ Jun 8 2016, 11:53) *
Дмитрий, если я всё правильно понимаю, то задав 'Clock'-сигнал в Waveform с периодом 40 ns и подав константу на areset я делаю то же самое. Нет?
Не могу сказать, я всегда задавал сигналы вручную в тестбенче.
Hoksmur
Нажмите для просмотра прикрепленного файла

Ну, как-то так. Есть идеи, почему так происходит? и где толковый мануал есть по написанию тестбенчей на 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


И что из этого би-и-ип получается, когда сигналы задаются вручную.
Нажмите для просмотра прикрепленного файла
likeasm
тут http://www.testbench.in
Maverick
для старта:
Circuit Design and Simulation with VHDL
second edition
Volnei A. Pedroni
GREGOR_812
Посмотрите в RTL Viewer, как у вас подключился PLL. А ещё обратите внимание на активный уровень сброса, у альтеровских PLL это обычно лог. 1
А ещё прежде чем кидаться в гейт-левел симуляцию, попробуйте сначала ртл симуляцию провести)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.