Skip to content

Commit 79de919

Browse files
committed
library: jesd204: jesd204_tx: Fixed pipeline for 8b10b
Signed-off-by: Bogdan Luncan <bogdan.luncan@analog.com>
1 parent d85cc20 commit 79de919

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

library/jesd204/jesd204_tx/jesd204_tx.v

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ module jesd204_tx #(
9999
localparam DW = DATA_PATH_WIDTH * 8 * NUM_LANES;
100100
localparam CW = DATA_PATH_WIDTH * NUM_LANES;
101101
localparam HW = 2 * NUM_LANES;
102-
localparam INPUT_PIPELINE_WIDTH = (LINK_MODE[0] == 1) ? (1+(NUM_LANES*(1+(DATA_PATH_WIDTH*19)))) : (4+(64*NUM_LANES));
102+
localparam INPUT_PIPELINE_WIDTH = (LINK_MODE[0] == 1) ? (1+(NUM_LANES*(1+(DATA_PATH_WIDTH*21)))) : (4+(64*NUM_LANES));
103103

104104
wire [DW-1:0] tx_data_r;
105105
wire tx_ready_r;
@@ -338,27 +338,20 @@ wire tx_ready_r;
338338

339339
if (LINK_MODE[0] == 1) begin : mode_8b10b
340340

341-
reg [DATA_PATH_WIDTH-1:0] tx_eof_fm_d3;
342-
reg [DATA_PATH_WIDTH-1:0] tx_eomf_fm_d3;
343341
wire [NUM_LANES-1:0] lane_cgs_enable;
344342
wire [DW-1:0] ilas_data;
345343
wire [DATA_PATH_WIDTH*NUM_LANES-1:0] ilas_charisk;
346344

347-
wire [DATA_PATH_WIDTH-1:0] tx_eof_fm_d3_r;
348-
wire [DATA_PATH_WIDTH-1:0] tx_eomf_fm_d3_r;
345+
wire [DATA_PATH_WIDTH-1:0] tx_eof_fm_d2_r;
346+
wire [DATA_PATH_WIDTH-1:0] tx_eomf_fm_d2_r;
349347
wire [NUM_LANES-1:0] lane_cgs_enable_r;
350348
wire [DW-1:0] ilas_data_r;
351349
wire [DATA_PATH_WIDTH*NUM_LANES-1:0] ilas_charisk_r;
352350

353351
wire cfg_generate_eomf = 1'b1;
354352

355-
assign input_pipeline_in = {tx_ready, gearbox_data, ilas_charisk, ilas_data, lane_cgs_enable, tx_eomf_fm_d3, tx_eof_fm_d3};
356-
assign {tx_ready_r, tx_data_r, ilas_charisk_r, ilas_data_r, lane_cgs_enable_r, tx_eomf_fm_d3_r, tx_eof_fm_d3_r} = input_pipeline_out;
357-
358-
always @(posedge clk) begin
359-
tx_eof_fm_d3 <= tx_eof_fm_d2;
360-
tx_eomf_fm_d3 <= tx_eomf_fm_d2;
361-
end
353+
assign input_pipeline_in = {link_tx_ready, gearbox_data, ilas_charisk, ilas_data, lane_cgs_enable, tx_eomf_fm_d2, tx_eof_fm_d2};
354+
assign {tx_ready_r, tx_data_r, ilas_charisk_r, ilas_data_r, lane_cgs_enable_r, tx_eomf_fm_d2_r, tx_eof_fm_d2_r} = input_pipeline_out;
362355

363356
jesd204_tx_ctrl #(
364357
.NUM_LANES(NUM_LANES),
@@ -413,8 +406,8 @@ wire tx_ready_r;
413406
) i_lane (
414407
.clk(clk),
415408

416-
.eof(tx_eof_fm_d3_r),
417-
.eomf(tx_eomf_fm_d3_r),
409+
.eof(tx_eof_fm_d2_r),
410+
.eomf(tx_eomf_fm_d2_r),
418411

419412
.cgs_enable(lane_cgs_enable_r[i]),
420413

0 commit comments

Comments
 (0)