gateware

A collection of little open source FPGA hobby projects
git clone http://frotz.net/git/gateware.git
Log | Files | Refs | README

mmcm_100m_25m.sv (1849B)


      1 `default_nettype none
      2 `timescale 1ps/1ps
      3 
      4 module mmcm_100m_25m (
      5 	output wire clk25m_o,
      6   	input wire clk100m_i
      7 	);
      8 
      9 wire clk100m_ibufg;
     10 wire clk25m_bufg;
     11 
     12 IBUF clkin1_ibufg(
     13 	.O(clk100m_ibufg),
     14 	.I(clk100m_i)
     15 	);
     16 
     17 	/*
     18 wire clkfbout;
     19 wire clkfbin;
     20 
     21 MMCME2_ADV #(.BANDWIDTH("OPTIMIZED"),
     22 	.CLKOUT4_CASCADE("FALSE"),
     23 	.COMPENSATION("FOO"),
     24 	.STARTUP_WAIT("FALSE"),
     25 	.DIVCLK_DIVIDE(1),
     26 	.CLKFBOUT_MULT_F(9.125),
     27 	.CLKFBOUT_PHASE(0.000),
     28 	.CLKFBOUT_USE_FINE_PS("FALSE"),
     29 	.CLKOUT0_DIVIDE_F(36.500),
     30 	.CLKOUT0_PHASE(0.000),
     31 	.CLKOUT0_DUTY_CYCLE(0.500),
     32 	.CLKOUT0_USE_FINE_PS("FALSE"),
     33 	.CLKIN1_PERIOD(10.000)
     34 	) mmcm_adv (
     35 	.CLKFBOUT(clkfbout),
     36 	.CLKOUT0(clk25m_bufg),
     37 	.CLKFBOUTB(),
     38 	.CLKOUT0B(),
     39 	.CLKOUT1(),
     40 	.CLKOUT1B(),
     41 	.CLKOUT2(),
     42 	.CLKOUT2B(),
     43 	.CLKOUT3(),
     44 	.CLKOUT3B(),
     45 	.CLKOUT4(),
     46 	.CLKOUT5(),
     47 	.CLKOUT6(),
     48 	.CLKFBIN(clkfbin),
     49 	.CLKIN1(clk100m_ibufg),
     50 	.CLKIN2(1'b0),
     51 	.CLKINSEL(1'b1),
     52 	.DADDR(7'h0),
     53 	.DCLK(1'b0),
     54 	.DEN(1'b0),
     55 	.DI(16'h0),
     56 	.DO(),
     57 	.DRDY(),
     58 	.DWE(1'b0),
     59 	.PSCLK(1'b0),
     60 	.PSEN(1'b0),
     61 	.PSINCDEC(1'b0),
     62 	.PSDONE(),
     63 	.LOCKED(),
     64 	.CLKINSTOPPED(),
     65 	.CLKFBSTOPPED(),
     66 	.PWRDWN(1'b0),
     67 	.RST(1'b0)
     68 	);
     69 BUFG clkfb_buf(
     70 	.O(clkfbin),
     71 	.I(clkfbout)
     72 	);
     73 
     74 	*/
     75 
     76 wire feedback;
     77 
     78 PLLE2_ADV #(
     79 	.BANDWIDTH("OPTIMIZED"),
     80 	.COMPENSATION("INTERNAL"),
     81 	.STARTUP_WAIT("FALSE"),
     82 	.DIVCLK_DIVIDE(4),
     83 	.CLKFBOUT_MULT(33),
     84 	.CLKFBOUT_PHASE(0.000),
     85 	.CLKOUT0_DIVIDE(33),
     86 	.CLKOUT0_PHASE(0.000),
     87 	.CLKOUT0_DUTY_CYCLE(0.500),
     88 	.CLKIN1_PERIOD(10.000)
     89 	) plle2_adv_inst (
     90 	.CLKFBOUT(feedback),
     91 	.CLKOUT0(clk25m_bufg),
     92 	.CLKOUT1(),
     93 	.CLKOUT2(),
     94 	.CLKOUT3(),
     95 	.CLKOUT4(),
     96 	.CLKOUT5(),
     97 	.CLKFBIN(feedback),
     98 	.CLKIN1(clk100m_ibufg),
     99 	.CLKIN2(1'b0),
    100 	.CLKINSEL(1'b1),
    101 	.DADDR(7'h0),
    102 	.DCLK(1'b0),
    103 	.DEN(1'b0),
    104 	.DI(16'h0),
    105 	.DO(),
    106 	.DRDY(),
    107 	.DWE(1'b0),
    108 	.LOCKED(),
    109 	.PWRDWN(1'b0),
    110 	.RST(1'b0));
    111 
    112 BUFG clkout1_buf(
    113 	.O(clk25m_o),
    114 	.I(clk25m_bufg)
    115 	);
    116 
    117 endmodule