blob: dac42d6df1c7fc479568927e24fbf2e2ee47f4db [file] [log] [blame] [edit]
`include "mmcme2_test.v"
`default_nettype none
// ============================================================================
module top
(
input wire clk,
input wire [7:0] sw,
output wire [7:0] led,
input wire jc1, // unused
output wire jc2,
input wire jc3, // unused
input wire jc4
);
// ============================================================================
// Reset generator
wire CLK;
BUFG bufg(.I(clk), .O(CLK));
reg [3:0] rst_sr;
initial rst_sr <= 4'hF;
always @(posedge CLK)
if (sw[0])
rst_sr <= 4'hF;
else
rst_sr <= rst_sr >> 1;
wire RST = rst_sr[0];
// ============================================================================
// The tester
mmcme2_test #
(
.FEEDBACK ("INTERNAL")
)
mmcme2_test
(
.CLK (clk),
.RST (RST),
.CLKFBOUT (),
.CLKFBIN (),
.I_PWRDWN (sw[1]),
.I_CLKINSEL (sw[2]),
.O_LOCKED (led[6]),
.O_CNT (led[5:0])
);
assign led [7] = |sw[7:3];
assign jc2 = jc4;
endmodule