Мастер синхронизации MMCM - PullRequest
       78

Мастер синхронизации MMCM

0 голосов
/ 26 сентября 2019

Я использую IP-адрес мастера синхронизации для генерации трех разных часов, начиная с тактовых импульсов ввода.

Это настройка для IP:

ЧАСЫ ВВОДА:

Частота входного сигнала: 12 МГц

Джиттер входа: 0,010

Источник: вывод с одинарным тактовым импульсом

ВЫХОД ЧАСОВ:

clk_out1: 100 МГц

clk_out2: 300 МГц

clk_out3: 10 МГц

Для всех из них: фаза = 0, коэффициент заполнения = 50%

Если я взгляну на Настройки MMCM , безвключив «Разрешить режим переопределения», я получаю:

CLKFBOUT_MULT_F = 50.000

CLKFBOUT_PHASE = 0.000

CLKIN1_PERIOD = 83.333

CLKIN2_PERIOD = 10.0

DIVCLK_DIVIDE = 1

clk_out1: Divide = 6.000

clk_out2: Divide = 2

clk_out3: Divide = 60

Этосвязанный код :

pll_ip pll_ip_0(
  //input
    .rstn       (rstn),
    .clk_sys    (clk_sys), // 12MHz
  //output
    .clk_locked (clk_locked),
    .clk_100    (clk_100), //100MHz
    .clk_300    (clk_300), //300MHz
    .clk_10     (clk_10)   // 10MHZ
  );

Для ограничений :

set_property -dict { PACKAGE_PIN L17 IOSTANDARD LVCMOS33 } [get_ports { clk_sys }]; #IO_L12P_T1_MRCC_14 Sch=gclk
create_clock -add -name sys_clk_pin -period 83.33 -waveform {0 41.66} [get_ports {clk_sys}];

Если я запускаю симуляцию и проверяю форму сигнала на выходные часы, они не ожидаемые, вхвосты:

clk_sys: 12 195 121,95 Гц

clk_out1: 9 756 097,56 Гц

clk_out2: 29 268 863,78 Гц

clk_out3: 975 609,75 Гц * 1065помогите мне понять, что я делаю неправильно?Спасибо!

...