Skip to content

Instantly share code, notes, and snippets.

@HackerFoo
Last active December 10, 2019 22:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HackerFoo/7562aa7b78cdb7b14000be00f859a520 to your computer and use it in GitHub Desktop.
Save HackerFoo/7562aa7b78cdb7b14000be00f859a520 to your computer and use it in GitHub Desktop.
N -> 2N bit stream converter
module converter (
input clk,
input nrst,
input [N-1:0] in,
input in_valid,
output in_ready,
output [2*N-1:0] out,
output out_valid,
input out_ready
);
parameter N = 8;
reg [N-1:0] data;
reg data_valid;
assign out = {data, in};
assign out_valid = data_valid & in_valid;
assign in_ready = out_ready | !data_valid;
always @(posedge clk) begin
if(!nrst) begin
data_valid <= 1'b0;
end
else if(in_valid) begin
data <= in;
data_valid <= !data_valid;
end
end
endmodule
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment