descramble: Pass through scrambled_valid
Even when signal_status is low, we should still generate data. This keeps the PCS processes moving along. Signed-off-by: Sean Anderson <seanga2@gmail.com>
This commit is contained in:
parent
db30c5f8ba
commit
ece7d6c619
|
@ -13,6 +13,7 @@ module descramble (
|
||||||
output reg [1:0] descrambled, descrambled_valid
|
output reg [1:0] descrambled, descrambled_valid
|
||||||
);
|
);
|
||||||
|
|
||||||
|
initial descrambled_valid = 0;
|
||||||
reg relock, relock_next, locked_next;
|
reg relock, relock_next, locked_next;
|
||||||
initial relock = 0;
|
initial relock = 0;
|
||||||
reg [1:0] ldd, descrambled_next;
|
reg [1:0] ldd, descrambled_next;
|
||||||
|
@ -122,20 +123,19 @@ end
|
||||||
|
|
||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
descrambled <= descrambled_next;
|
descrambled <= descrambled_next;
|
||||||
|
descrambled_valid <= scrambled_valid;
|
||||||
if (signal_status) begin
|
if (signal_status) begin
|
||||||
lfsr <= lfsr_next;
|
lfsr <= lfsr_next;
|
||||||
idle_counter <= idle_counter_next;
|
idle_counter <= idle_counter_next;
|
||||||
relock <= relock_next;
|
relock <= relock_next;
|
||||||
unlock_counter <= unlock_counter_next;
|
unlock_counter <= unlock_counter_next;
|
||||||
locked <= locked_next;
|
locked <= locked_next;
|
||||||
descrambled_valid <= scrambled_valid;
|
|
||||||
end else begin
|
end else begin
|
||||||
lfsr <= 0;
|
lfsr <= 0;
|
||||||
idle_counter <= CONSECUTIVE_IDLES;
|
idle_counter <= CONSECUTIVE_IDLES;
|
||||||
relock <= 0;
|
relock <= 0;
|
||||||
unlock_counter <= 17'h1ffff;
|
unlock_counter <= 17'h1ffff;
|
||||||
locked <= 0;
|
locked <= 0;
|
||||||
descrambled_valid <= 0;
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue