module MmcmWrapper #( parameter SpiNum = 7 ) ( input Clk_i, input Rst_i, output [SpiNum-1:0] SpiCLk_o ); //================================================================================ // REG/WIRE //================================================================================ wire clkfb_bufgout; wire clkfb_bufgin; wire clk0_bufgin; wire clk1_bufgin; wire clk2_bufgin; wire clk3_bufgin; wire clk4_bufgin; wire clk5_bufgin; wire clk6_bufgin; //================================================================================ // ASSIGNMENTS //================================================================================ //================================================================================ // LOCALPARAMS //================================================================================ //================================================================================ // CODING //================================================================================ MMCME2_ADV #( .BANDWIDTH ("OPTIMIZED"), .DIVCLK_DIVIDE (1), .CLKFBOUT_MULT_F (10), .CLKFBOUT_PHASE (0.0), .CLKFBOUT_USE_FINE_PS("FALSE"), // .CLKIN1_PERIOD (10.000), .CLKIN1_PERIOD (8.130081300813), .CLKIN2_PERIOD (10.000), .CLKOUT0_DIVIDE_F (12.3), .CLKOUT0_DUTY_CYCLE (0.5), .CLKOUT0_PHASE (0.0), .CLKOUT0_USE_FINE_PS ("FALSE"), .CLKOUT1_DIVIDE (12.3), .CLKOUT1_DUTY_CYCLE (0.5), .CLKOUT1_PHASE (0.0), .CLKOUT1_USE_FINE_PS ("FALSE"), .CLKOUT2_DIVIDE (12.3), .CLKOUT2_DUTY_CYCLE (0.5), .CLKOUT2_PHASE (0.0), .CLKOUT2_USE_FINE_PS ("FALSE"), .CLKOUT3_DIVIDE (12.3), .CLKOUT3_DUTY_CYCLE (0.5), .CLKOUT3_PHASE (0.0), .CLKOUT3_USE_FINE_PS ("FALSE"), .CLKOUT4_DIVIDE (12.3), .CLKOUT4_DUTY_CYCLE (0.5), .CLKOUT4_PHASE (0.0), .CLKOUT4_USE_FINE_PS ("FALSE"), .CLKOUT4_CASCADE ("FALSE"), .CLKOUT5_DIVIDE (12.3), .CLKOUT5_DUTY_CYCLE (0.5), .CLKOUT5_PHASE (0.0), .CLKOUT5_USE_FINE_PS ("FALSE"), .CLKOUT6_DIVIDE (12.3), .CLKOUT6_DUTY_CYCLE (0.5), .CLKOUT6_PHASE (0.0), .CLKOUT6_USE_FINE_PS ("FALSE"), .COMPENSATION ("ZHOLD"), .STARTUP_WAIT ("FALSE") ) mmcme2_test_inst ( .CLKFBOUT (clkfb_bufgin), .CLKFBOUTB (), .CLKFBSTOPPED (), .CLKINSTOPPED (), .CLKOUT0 (clk0_bufgin), .CLKOUT0B (), .CLKOUT1 (clk1_bufgin), .CLKOUT1B (), .CLKOUT2 (clk2_bufgin), .CLKOUT2B (), .CLKOUT3 (clk3_bufgin), .CLKOUT3B (), .CLKOUT4 (clk4_bufgin), .CLKOUT5 (clk5_bufgin), .CLKOUT6 (clk6_bufgin), .DO (dout), .DRDY (drdy), .DADDR (daddr), .DCLK (dclk), .DEN (den), .DI (di), .DWE (dwe), .LOCKED (LOCKED), .CLKFBIN (clkfb_bufgout), .CLKIN1 (Clk_i), .CLKIN2 (), .CLKINSEL (1'b1), .PSDONE (), .PSCLK (1'b0), .PSEN (1'b0), .PSINCDEC (1'b0), .PWRDWN (1'b0), .RST (Rst_i) ); BUFG BUFG_FB (.O (clkfb_bufgout), .I (clkfb_bufgin)); BUFG BUFG_CLK0 (.O (SpiCLk_o[0]), .I (clk0_bufgin)); BUFG BUFG_CLK1 (.O (SpiCLk_o[1]), .I (clk0_bufgin)); BUFG BUFG_CLK2 (.O (SpiCLk_o[2]), .I (clk0_bufgin)); BUFG BUFG_CLK3 (.O (SpiCLk_o[3]), .I (clk0_bufgin)); BUFG BUFG_CLK4 (.O (SpiCLk_o[4]), .I (clk0_bufgin)); BUFG BUFG_CLK5 (.O (SpiCLk_o[5]), .I (clk0_bufgin)); BUFG BUFG_CLK6 (.O (SpiCLk_o[6]), .I (clk0_bufgin)); endmodule