| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- 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 clk0_bufgout;
- wire clk1_bufgin;
- wire clk1_bufgout;
- wire clk2_bufgin;
- wire clk2_bufgout;
- wire clk3_bufgin;
- wire clk3_bufgout;
- wire clk4_bufgin;
- wire clk4_bufgout;
- wire clk5_bufgin;
- wire clk5_bufgout;
- wire clk6_bufgin;
- wire clk6_bufgout;
- //================================================================================
- // 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 (15.25),
- .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
|