mirror of
https://github.com/corundum/corundum.git
synced 2025-01-16 08:12:53 +08:00
merged changes in axis
This commit is contained in:
commit
acb7241f4b
@ -103,7 +103,7 @@ width and depth. Supports power of two depths only.
|
||||
Basic frame-based synchronous FIFO with parametrizable data width and depth.
|
||||
Supports power of two depths only.
|
||||
|
||||
### axis_fifo_64 module
|
||||
### axis_frame_fifo_64 module
|
||||
|
||||
Basic frame-based synchronous FIFO with tkeep signal and parametrizable data
|
||||
width and depth. Supports power of two depths only.
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
"""axis_mux
|
||||
"""axis_arb_mux
|
||||
|
||||
Generates an arbitrated AXI Stream mux with the specified number of ports
|
||||
|
||||
Usage: axis_crosspoint [OPTION]...
|
||||
Usage: axis_arb_mux [OPTION]...
|
||||
-?, --help display this help and exit
|
||||
-p, --ports specify number of ports
|
||||
-n, --name specify module name
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
"""axis_mux
|
||||
"""axis_arb_mux_64
|
||||
|
||||
Generates an arbitrated AXI Stream mux with the specified number of ports
|
||||
|
||||
Usage: axis_crosspoint [OPTION]...
|
||||
Usage: axis_arb_mux_64 [OPTION]...
|
||||
-?, --help display this help and exit
|
||||
-p, --ports specify number of ports
|
||||
-n, --name specify module name
|
||||
|
@ -27,7 +27,7 @@ THE SOFTWARE.
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
/*
|
||||
* AXI4-Stream asynchronous FIFO
|
||||
* AXI4-Stream asynchronous frame FIFO
|
||||
*/
|
||||
module axis_async_frame_fifo #
|
||||
(
|
||||
|
@ -27,7 +27,7 @@ THE SOFTWARE.
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
/*
|
||||
* AXI4-Stream asynchronous FIFO (64 bit datapath)
|
||||
* AXI4-Stream asynchronous frame FIFO (64 bit datapath)
|
||||
*/
|
||||
module axis_async_frame_fifo_64 #
|
||||
(
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
"""axis_crosspoint_64_64
|
||||
"""axis_crosspoint_64
|
||||
|
||||
Generates an AXI Stream crosspoint switch with the specified number of ports
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
"""axis_mux
|
||||
"""axis_demux
|
||||
|
||||
Generates an AXI Stream demux with the specified number of ports
|
||||
|
||||
Usage: axis_crosspoint [OPTION]...
|
||||
Usage: axis_demux [OPTION]...
|
||||
-?, --help display this help and exit
|
||||
-p, --ports specify number of ports
|
||||
-n, --name specify module name
|
||||
@ -132,7 +132,12 @@ module {{name}} #
|
||||
input wire [{{w-1}}:0] select
|
||||
);
|
||||
|
||||
// // internal datapath
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg output_axis_tvalid_int;
|
||||
reg output_axis_tready_int = 0;
|
||||
@ -140,10 +145,6 @@ reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
assign input_axis_tready = input_axis_tready_reg;
|
||||
|
||||
// mux for output control signals
|
||||
|
@ -79,7 +79,12 @@ module axis_demux_4 #
|
||||
input wire [1:0] select
|
||||
);
|
||||
|
||||
// // internal datapath
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg output_axis_tvalid_int;
|
||||
reg output_axis_tready_int = 0;
|
||||
@ -87,10 +92,6 @@ reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
assign input_axis_tready = input_axis_tready_reg;
|
||||
|
||||
// mux for output control signals
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
"""axis_mux
|
||||
"""axis_demux_64
|
||||
|
||||
Generates an AXI Stream demux with the specified number of ports
|
||||
|
||||
Usage: axis_crosspoint [OPTION]...
|
||||
Usage: axis_demux_64 [OPTION]...
|
||||
-?, --help display this help and exit
|
||||
-p, --ports specify number of ports
|
||||
-n, --name specify module name
|
||||
@ -135,7 +135,12 @@ module {{name}} #
|
||||
input wire [{{w-1}}:0] select
|
||||
);
|
||||
|
||||
// // internal datapath
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg [KEEP_WIDTH-1:0] output_axis_tkeep_int;
|
||||
reg output_axis_tvalid_int;
|
||||
@ -144,10 +149,6 @@ reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
assign input_axis_tready = input_axis_tready_reg;
|
||||
|
||||
// mux for output control signals
|
||||
|
@ -85,7 +85,12 @@ module axis_demux_64_4 #
|
||||
input wire [1:0] select
|
||||
);
|
||||
|
||||
// // internal datapath
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg [KEEP_WIDTH-1:0] output_axis_tkeep_int;
|
||||
reg output_axis_tvalid_int;
|
||||
@ -94,10 +99,6 @@ reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_axis_tready_reg = 0, input_axis_tready_next;
|
||||
assign input_axis_tready = input_axis_tready_reg;
|
||||
|
||||
// mux for output control signals
|
||||
|
@ -47,7 +47,7 @@ def main(argv=None):
|
||||
ports = int(a)
|
||||
if o in ('-n', '--name'):
|
||||
name = a
|
||||
if o in ('-o', '--outputs'):
|
||||
if o in ('-o', '--output'):
|
||||
out_name = a
|
||||
|
||||
if name is None:
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
Generates an AXI Stream mux with the specified number of ports
|
||||
|
||||
Usage: axis_crosspoint [OPTION]...
|
||||
Usage: axis_mux [OPTION]...
|
||||
-?, --help display this help and exit
|
||||
-p, --ports specify number of ports
|
||||
-n, --name specify module name
|
||||
@ -132,6 +132,12 @@ module {{name}} #
|
||||
input wire [{{w-1}}:0] select
|
||||
);
|
||||
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
{% for p in ports %}
|
||||
reg input_{{p}}_axis_tready_reg = 0, input_{{p}}_axis_tready_next;
|
||||
{%- endfor %}
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg output_axis_tvalid_int;
|
||||
@ -139,12 +145,6 @@ reg output_axis_tready_int = 0;
|
||||
reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
{% for p in ports %}
|
||||
reg input_{{p}}_axis_tready_reg = 0, input_{{p}}_axis_tready_next;
|
||||
{%- endfor %}
|
||||
{% for p in ports %}
|
||||
assign input_{{p}}_axis_tready = input_{{p}}_axis_tready_reg;
|
||||
{%- endfor %}
|
||||
|
@ -79,14 +79,6 @@ module axis_mux_4 #
|
||||
input wire [1:0] select
|
||||
);
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg output_axis_tvalid_int;
|
||||
reg output_axis_tready_int = 0;
|
||||
reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
@ -95,6 +87,14 @@ reg input_1_axis_tready_reg = 0, input_1_axis_tready_next;
|
||||
reg input_2_axis_tready_reg = 0, input_2_axis_tready_next;
|
||||
reg input_3_axis_tready_reg = 0, input_3_axis_tready_next;
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg output_axis_tvalid_int;
|
||||
reg output_axis_tready_int = 0;
|
||||
reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
assign input_0_axis_tready = input_0_axis_tready_reg;
|
||||
assign input_1_axis_tready = input_1_axis_tready_reg;
|
||||
assign input_2_axis_tready = input_2_axis_tready_reg;
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
"""axis_mux
|
||||
"""axis_mux_64
|
||||
|
||||
Generates an AXI Stream mux with the specified number of ports
|
||||
|
||||
Usage: axis_crosspoint [OPTION]...
|
||||
Usage: axis_mux_64 [OPTION]...
|
||||
-?, --help display this help and exit
|
||||
-p, --ports specify number of ports
|
||||
-n, --name specify module name
|
||||
@ -135,6 +135,12 @@ module {{name}} #
|
||||
input wire [{{w-1}}:0] select
|
||||
);
|
||||
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
{% for p in ports %}
|
||||
reg input_{{p}}_axis_tready_reg = 0, input_{{p}}_axis_tready_next;
|
||||
{%- endfor %}
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg [KEEP_WIDTH-1:0] output_axis_tkeep_int;
|
||||
@ -143,12 +149,6 @@ reg output_axis_tready_int = 0;
|
||||
reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [{{w-1}}:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
{% for p in ports %}
|
||||
reg input_{{p}}_axis_tready_reg = 0, input_{{p}}_axis_tready_next;
|
||||
{%- endfor %}
|
||||
{% for p in ports %}
|
||||
assign input_{{p}}_axis_tready = input_{{p}}_axis_tready_reg;
|
||||
{%- endfor %}
|
||||
|
@ -85,6 +85,14 @@ module axis_mux_64_4 #
|
||||
input wire [1:0] select
|
||||
);
|
||||
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_0_axis_tready_reg = 0, input_0_axis_tready_next;
|
||||
reg input_1_axis_tready_reg = 0, input_1_axis_tready_next;
|
||||
reg input_2_axis_tready_reg = 0, input_2_axis_tready_next;
|
||||
reg input_3_axis_tready_reg = 0, input_3_axis_tready_next;
|
||||
|
||||
// internal datapath
|
||||
reg [DATA_WIDTH-1:0] output_axis_tdata_int;
|
||||
reg [KEEP_WIDTH-1:0] output_axis_tkeep_int;
|
||||
@ -94,14 +102,6 @@ reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early;
|
||||
|
||||
reg [1:0] select_reg = 0, select_next;
|
||||
reg frame_reg = 0, frame_next;
|
||||
|
||||
reg input_0_axis_tready_reg = 0, input_0_axis_tready_next;
|
||||
reg input_1_axis_tready_reg = 0, input_1_axis_tready_next;
|
||||
reg input_2_axis_tready_reg = 0, input_2_axis_tready_next;
|
||||
reg input_3_axis_tready_reg = 0, input_3_axis_tready_next;
|
||||
|
||||
assign input_0_axis_tready = input_0_axis_tready_reg;
|
||||
assign input_1_axis_tready = input_1_axis_tready_reg;
|
||||
assign input_2_axis_tready = input_2_axis_tready_reg;
|
||||
|
Loading…
x
Reference in New Issue
Block a user