1
0
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:
Alex Forencich 2014-11-14 17:48:59 -08:00
commit acb7241f4b
15 changed files with 68 additions and 64 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -27,7 +27,7 @@ THE SOFTWARE.
`timescale 1ns / 1ps
/*
* AXI4-Stream asynchronous FIFO
* AXI4-Stream asynchronous frame FIFO
*/
module axis_async_frame_fifo #
(

View File

@ -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 #
(

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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 %}

View File

@ -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;

View File

@ -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 %}

View File

@ -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;