Skip to content

Commit 46819af

Browse files
committed
Explicitly buffer clocks.
Vivado was inserting a BUFG for clk_1x output but not for clk_5x. This create an issue for oserdes, which expects clocks to use the same buffers.
1 parent b78082b commit 46819af

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

rtl/display_clocks.v

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ module display_clocks #(
2323
);
2424

2525
wire clk_fb; // internal clock feedback
26+
wire clk_1x_pre;
27+
wire clk_5x_pre;
2628

2729
MMCME2_BASE #(
2830
.BANDWIDTH("OPTIMIZED"), // Jitter programming (OPTIMIZED, HIGH, LOW)
@@ -61,9 +63,9 @@ module display_clocks #(
6163
MMCME2_BASE_inst (
6264
/* verilator lint_off PINCONNECTEMPTY */
6365
// Clock Outputs: 1-bit (each) output: User configurable clock outputs
64-
.CLKOUT0(o_clk_5x), // 1-bit output: CLKOUT0
66+
.CLKOUT0(clk_5x_pre), // 1-bit output: CLKOUT0
6567
.CLKOUT0B(), // 1-bit output: Inverted CLKOUT0
66-
.CLKOUT1(o_clk_1x), // 1-bit output: CLKOUT1
68+
.CLKOUT1(clk_1x_pre), // 1-bit output: CLKOUT1
6769
.CLKOUT1B(), // 1-bit output: Inverted CLKOUT1
6870
.CLKOUT2(), // 1-bit output: CLKOUT2
6971
.CLKOUT2B(), // 1-bit output: Inverted CLKOUT2
@@ -87,4 +89,8 @@ module display_clocks #(
8789
.CLKFBIN(clk_fb) // 1-bit input: Feedback clock
8890
);
8991

92+
// explicitly buffer output clocks
93+
BUFG bufg_clk_pix(.I(clk_1x_pre), .O(o_clk_1x));
94+
BUFG bufg_clk_pix_5x(.I(clk_5x_pre), .O(o_clk_5x));
95+
9096
endmodule

0 commit comments

Comments
 (0)