Skip to content

Problem 10: PLL

Viktor Prutyanov edited this page May 5, 2019 · 1 revision

ФАПЧ

Это задание посвящено использованию блоков ФАПЧ (фазовой автоподстройки частоты) в ПЛИС для умножения частоты.

Подготовка

Выберите какой-нибудь работающий проект, в котором имеет смысл увеличивать тактовую частоту, например выполненное задание 09_cpu_v3.

Задание

Чтобы добавить блок ФАПЧ, можно выбрать его из списка готовых блоков (IP Catalog) в Altera Quartus. Выберите опцию Library > Basic Functions > Clocks; PLLs and Resets > PLL > ALTPLL. После выбора названия файла (например, my_pll) параметров ФАПЧ откроется окно настроек.

  • На странице General/Modules выставьте частоту базового тактового сигнала
  • На странице Inputs/Lock отключите все порты, чтобы остались только вход inclk0 и выход c0
  • На странице Output Clocks можно выбрать множитель (например, 3) и делитель (например, 2), чтобы получить выходной тактовый сигнал (например, 75 МГц при базовой частоте 50 МГц)
  • В конце выберите опции Verilog HDL black-box file my_pll_bb.v и Instantiation template file my_pll_inst.v

В файле шаблона my_pll_inst.v можно увидеть, как создавать экземпляр сгенерированного модуля:

my_pll	my_pll_inst (
	.inclk0 ( inclk0_sig ),
	.c0 ( c0_sig )
	);

Теперь нужно создать экземпляр этого модуля и подать на inclk0 базовый тактовый сигнал, тогда на c0 будет таковый сигнал с более высокой (x1.5) частотой. Его можно использовать как любой другой тактовый сигнал. Например, подсоединить к ядру soft-микропроцессора и, таким образом, ускорить его работу в полтора раза.

Более подробно про возможности PLL в Altera Cyclone IV можно прочитать в руководстве.