feat(top): new (de)scrambler, crc16
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
`timescale 1ns / 1ns
|
||||
module tb_scrambler ();
|
||||
|
||||
|
||||
reg clk = 0;
|
||||
always #1 clk <= ~clk;
|
||||
reg [3:0] cnt_startup = 0;
|
||||
reg rst;
|
||||
|
||||
always @(posedge clk) begin
|
||||
if (cnt_startup < 4'hF) begin
|
||||
cnt_startup <= cnt_startup + 1;
|
||||
end
|
||||
rst <= cnt_startup <= 4'hC;
|
||||
end
|
||||
|
||||
|
||||
reg [31:0] s_axis_tdata;
|
||||
reg s_axis_tvalid;
|
||||
wire s_axis_tready;
|
||||
reg s_axis_tlast;
|
||||
wire [31:0] m_axis_tdata;
|
||||
wire m_axis_tvalid;
|
||||
// wire m_axis_tvalid;
|
||||
wire m_axis_tlast;
|
||||
reg [31:0] cnt = 0;
|
||||
|
||||
always @(posedge clk) begin
|
||||
s_axis_tvalid <= (cnt_startup == 4'hF && cnt < 32);
|
||||
if (rst) begin
|
||||
s_axis_tdata <= 0;
|
||||
end
|
||||
else if (s_axis_tready && cnt < 32) begin
|
||||
s_axis_tdata <= cnt;
|
||||
cnt <= cnt + 1;
|
||||
end
|
||||
end
|
||||
|
||||
scrambler u_scrambler (
|
||||
.clk (clk),
|
||||
.rst (rst),
|
||||
.s_axis_tdata (s_axis_tdata),
|
||||
.s_axis_tvalid(s_axis_tvalid),
|
||||
.s_axis_tready(s_axis_tready),
|
||||
.s_axis_tlast (s_axis_tlast),
|
||||
.m_axis_tdata (m_axis_tdata),
|
||||
.m_axis_tvalid(m_axis_tvalid),
|
||||
.m_axis_tready(1),
|
||||
.m_axis_tlast (m_axis_tlast)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user