data/full_repos/permissive/192276289/source/SI5345_SPI/spi_sys_clock_gen.v
1: b"%Error: data/full_repos/permissive/192276289/source/SI5345_SPI/spi_sys_clock_gen.v:41: Cannot find file containing module: 'MMCME2_BASE'\n    MMCME2_BASE #(\n    ^~~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/192276289/source/SI5345_SPI,data/full_repos/permissive/192276289/MMCME2_BASE\n             data/full_repos/permissive/192276289/source/SI5345_SPI,data/full_repos/permissive/192276289/MMCME2_BASE.v\n             data/full_repos/permissive/192276289/source/SI5345_SPI,data/full_repos/permissive/192276289/MMCME2_BASE.sv\n             MMCME2_BASE\n             MMCME2_BASE.v\n             MMCME2_BASE.sv\n             obj_dir/MMCME2_BASE\n             obj_dir/MMCME2_BASE.v\n             obj_dir/MMCME2_BASE.sv\n%Error: data/full_repos/permissive/192276289/source/SI5345_SPI/spi_sys_clock_gen.v:105: Cannot find file containing module: 'BUFG'\n    BUFG BUFG_40M (\n    ^~~~\n%Error: Exiting due to 2 error(s)\n"
module spi_sys_clock_gen(
    input osc_clk_i,
    input fpga_rst_n_i,
    output clk_40m_o,
    output reset_n_o,
    output clock_good_o

    );




    wire clock_fb;
    wire mmcm_40m;




    MMCME2_BASE #(
        .BANDWIDTH("OPTIMIZED"),
        .CLKFBOUT_MULT_F(40.0),
        .CLKFBOUT_PHASE(0.0),
        .CLKIN1_PERIOD(25.000),

        .CLKOUT1_DIVIDE(1),
        .CLKOUT2_DIVIDE(1),
        .CLKOUT3_DIVIDE(1),
        .CLKOUT4_DIVIDE(1),
        .CLKOUT5_DIVIDE(1),
        .CLKOUT6_DIVIDE(1),
        .CLKOUT0_DIVIDE_F(20),

        .CLKOUT0_DUTY_CYCLE(0.5),
        .CLKOUT1_DUTY_CYCLE(0.5),
        .CLKOUT2_DUTY_CYCLE(0.5),
        .CLKOUT3_DUTY_CYCLE(0.5),
        .CLKOUT4_DUTY_CYCLE(0.5),
        .CLKOUT5_DUTY_CYCLE(0.5),
        .CLKOUT6_DUTY_CYCLE(0.5),

        .CLKOUT0_PHASE(0.0),
        .CLKOUT1_PHASE(0.0),
        .CLKOUT2_PHASE(0.0),
        .CLKOUT3_PHASE(0.0),
        .CLKOUT4_PHASE(0.0),
        .CLKOUT5_PHASE(0.0),
        .CLKOUT6_PHASE(0.0),
        .CLKOUT4_CASCADE("FALSE"),
        .DIVCLK_DIVIDE(2),
        .REF_JITTER1(0.0),
        .STARTUP_WAIT("FALSE")
    )
    MMCME2_BASE_locl_clk (

        .CLKOUT0(mmcm_40m),
        .CLKOUT0B(),
        .CLKOUT1(),
        .CLKOUT1B(),
        .CLKOUT2(),
        .CLKOUT2B(),
        .CLKOUT3(),
        .CLKOUT3B(),
        .CLKOUT4(),
        .CLKOUT5(),
        .CLKOUT6(),

        .CLKFBOUT(clock_fb),
        .CLKFBOUTB(),

        .LOCKED(clock_good_o),

        .CLKIN1(osc_clk_i),

        .PWRDWN(1'b0),
        .RST(~fpga_rst_n_i),

        .CLKFBIN(clock_fb)
        );

    
    assign reset_n_o = clock_good_o;

    BUFG BUFG_40M (
        .O(clk_40m_o),
        .I(mmcm_40m)
        );
endmodule
module spi_sys_clock_gen(
    input osc_clk_i,
    input fpga_rst_n_i,
    output clk_40m_o,
    output reset_n_o,
    output clock_good_o

    );





    wire clock_fb;
    wire mmcm_40m;




    MMCME2_BASE #(
        .BANDWIDTH("OPTIMIZED"),
        .CLKFBOUT_MULT_F(40.0),
        .CLKFBOUT_PHASE(0.0),
        .CLKIN1_PERIOD(25.000),

        .CLKOUT1_DIVIDE(1),
        .CLKOUT2_DIVIDE(1),
        .CLKOUT3_DIVIDE(1),
        .CLKOUT4_DIVIDE(1),
        .CLKOUT5_DIVIDE(1),
        .CLKOUT6_DIVIDE(1),
        .CLKOUT0_DIVIDE_F(20),

        .CLKOUT0_DUTY_CYCLE(0.5),
        .CLKOUT1_DUTY_CYCLE(0.5),
        .CLKOUT2_DUTY_CYCLE(0.5),
        .CLKOUT3_DUTY_CYCLE(0.5),
        .CLKOUT4_DUTY_CYCLE(0.5),
        .CLKOUT5_DUTY_CYCLE(0.5),
        .CLKOUT6_DUTY_CYCLE(0.5),

        .CLKOUT0_PHASE(0.0),
        .CLKOUT1_PHASE(0.0),
        .CLKOUT2_PHASE(0.0),
        .CLKOUT3_PHASE(0.0),
        .CLKOUT4_PHASE(0.0),
        .CLKOUT5_PHASE(0.0),
        .CLKOUT6_PHASE(0.0),
        .CLKOUT4_CASCADE("FALSE"),
        .DIVCLK_DIVIDE(2),
        .REF_JITTER1(0.0),
        .STARTUP_WAIT("FALSE")
    )
    MMCME2_BASE_locl_clk (

        .CLKOUT0(mmcm_40m),
        .CLKOUT0B(),
        .CLKOUT1(),
        .CLKOUT1B(),
        .CLKOUT2(),
        .CLKOUT2B(),
        .CLKOUT3(),
        .CLKOUT3B(),
        .CLKOUT4(),
        .CLKOUT5(),
        .CLKOUT6(),

        .CLKFBOUT(clock_fb),
        .CLKFBOUTB(),

        .LOCKED(clock_good_o),

        .CLKIN1(osc_clk_i),

        .PWRDWN(1'b0),
        .RST(~fpga_rst_n_i),

        .CLKFBIN(clock_fb)
        );

    
    assign reset_n_o = clock_good_o;

    BUFG BUFG_40M (
        .O(clk_40m_o),
        .I(mmcm_40m)
        );
endmodule