Skip to content

Commit

Permalink
add int_tready_reg to axis_interpolator
Browse files Browse the repository at this point in the history
  • Loading branch information
pavel-demin committed Dec 3, 2016
1 parent 92a14df commit 66d4780
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions cores/axis_interpolator_v1_0/axis_interpolator.v
Expand Up @@ -27,19 +27,22 @@ module axis_interpolator #
reg [AXIS_TDATA_WIDTH-1:0] int_tdata_reg, int_tdata_next;
reg [CNTR_WIDTH-1:0] int_cntr_reg, int_cntr_next;
reg int_tvalid_reg, int_tvalid_next;
reg int_tready_reg, int_tready_next;

always @(posedge aclk)
begin
if(~aresetn)
begin
int_tdata_reg <= {(AXIS_TDATA_WIDTH){1'b0}};
int_tvalid_reg <= 1'b0;
int_tready_reg <= 1'b0;
int_cntr_reg <= {(CNTR_WIDTH){1'b0}};
end
else
begin
int_tdata_reg <= int_tdata_next;
int_tvalid_reg <= int_tvalid_next;
int_tready_reg <= int_tready_next;
int_cntr_reg <= int_cntr_next;
end
end
Expand All @@ -48,12 +51,14 @@ module axis_interpolator #
begin
int_tdata_next = int_tdata_reg;
int_tvalid_next = int_tvalid_reg;
int_tready_next = int_tready_reg;
int_cntr_next = int_cntr_reg;

if(s_axis_tvalid & ~int_tvalid_reg)
begin
int_tdata_next = s_axis_tdata;
int_tvalid_next = 1'b1;
int_tready_next = 1'b1;
end

if(m_axis_tready & int_tvalid_reg)
Expand All @@ -64,13 +69,20 @@ module axis_interpolator #
end
else
begin
int_tvalid_next = 1'b0;
int_cntr_next = {(CNTR_WIDTH){1'b0}};
int_tdata_next = s_axis_tdata;
int_tvalid_next = s_axis_tvalid;
int_tready_next = s_axis_tvalid;
end
end

if(s_axis_tvalid & int_tready_reg)
begin
int_tready_next = 1'b0;
end
end

assign s_axis_tready = ~int_tvalid_reg;
assign s_axis_tready = int_tready_reg;
assign m_axis_tdata = int_tdata_reg;
assign m_axis_tvalid = int_tvalid_reg;

Expand Down

0 comments on commit 66d4780

Please sign in to comment.