axi_tdl 0.2.0 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/gem-push.yml +46 -28
- data/.github/workflows/ruby.yml +1 -1
- data/.gitignore +2 -1
- data/.travis.yml +1 -0
- data/axi_tdl.gemspec +1 -1
- data/lib/axi/AXI4/axi4_long_to_axi4_wide_B1.sv +5 -3
- data/lib/axi/AXI4/interconnect/axi4_mix_interconnect_M2S.sv +4 -2
- data/lib/axi/AXI4/interconnect/axi4_rd_mix_interconnect_M2S_A2.sv +4 -2
- data/lib/axi/AXI4/long_axis_to_axi4_wr.rb +1 -0
- data/lib/axi/AXI4/odata_pool_axi4_A4.sv +173 -0
- data/lib/axi/AXI4/packet_fifo/axi4_packet_fifo_B1.sv +66 -0
- data/lib/axi/AXI4/packet_fifo/axi4_rd_packet_fifo_A1.sv +260 -0
- data/lib/axi/AXI4/packet_fifo/axi4_wr_packet_fifo_A1.sv +192 -0
- data/lib/axi/AXI4/packet_partition/axi4_partition_rd_verb.rb +4 -2
- data/lib/axi/AXI4/wide_axis_to_axi4_wr.sv +1 -1
- data/lib/axi/AXI_stream/axi_stream_split_channel.sv +21 -21
- data/lib/axi/AXI_stream/axi_streams_combin.sv +2 -1
- data/lib/axi/AXI_stream/axi_streams_combin_A1.sv +2 -1
- data/lib/axi/AXI_stream/axi_streams_scaler.sv +2 -1
- data/lib/axi/AXI_stream/axi_streams_scaler_A1.sv +2 -1
- data/lib/axi/AXI_stream/axis_combin_with_fifo.sv +2 -1
- data/lib/axi/AXI_stream/axis_head_cut_verc.rb +2 -0
- data/lib/axi/AXI_stream/gen_big_field_table.sv +3 -2
- data/lib/axi/AXI_stream/gen_origin_axis_A3.sv +163 -0
- data/lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_B1F.sv +129 -0
- data/lib/axi/AXI_stream/parse_big_field_table_main.sv +101 -0
- data/lib/axi/AXI_stream/parse_big_field_table_mirror.sv +94 -0
- data/lib/axi/axi4_to_xilinx_ddr_native/axi4_to_native_for_ddr_ip_C2.sv +75 -0
- data/lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo_A2.sv +206 -0
- data/lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo_B1.sv +297 -0
- data/lib/axi/axi4_to_xilinx_ddr_native/model_ddr_ip_app.sv +2 -2
- data/lib/axi/common/common_ram_wrapper.sv +1 -1
- data/lib/axi/data_interface/data_inf_c/data_c_pipe_sync_seam.sv +11 -11
- data/lib/axi/data_interface/data_inf_c/data_c_scaler.sv +2 -1
- data/lib/axi/data_interface/data_inf_c/data_c_scaler_A1.sv +2 -1
- data/lib/axi/data_interface/data_streams_combin.sv +2 -1
- data/lib/axi/data_interface/data_streams_combin_A1.sv +2 -1
- data/lib/axi/data_interface/data_streams_scaler.sv +2 -1
- data/lib/axi_tdl/version.rb +1 -1
- data/lib/tdl/axi4/axi4_interconnect_verb.rb +5 -1
- data/lib/tdl/examples/2_hdl_class/tmp/test_module_var.sv +2 -2
- data/lib/tdl/examples/2_hdl_class/tmp/test_vcs_string.sv +1 -1
- data/lib/tdl/examples/8_top_module/test_top.sv +7 -26
- data/lib/tdl/examples/8_top_module/test_top_sim.sv +26 -7
- data/lib/tdl/examples/9_itegration/test_tttop.sv +7 -38
- data/lib/tdl/examples/9_itegration/test_tttop_sim.sv +38 -7
- data/lib/tdl/rebuild_ele/ele_base.rb +14 -0
- metadata +14 -3
@@ -1,28 +1,9 @@
|
|
1
|
-
/**********************************************
|
2
|
-
_______________________________________
|
3
|
-
___________ Cook Darwin __________
|
4
|
-
_______________________________________
|
5
|
-
descript:
|
6
|
-
author : Cook.Darwin
|
7
|
-
Version: VERA.0.0
|
8
|
-
created: 2022-07-10 11:21:37 +0800
|
9
|
-
madified:
|
10
|
-
***********************************************/
|
11
|
-
`timescale 1ns/1ps
|
12
|
-
|
13
|
-
module test_top (
|
14
|
-
input sys_clock,
|
15
|
-
output logic[3:0] odata
|
16
|
-
);
|
17
|
-
|
18
|
-
//==========================================================================
|
19
|
-
//-------- define ----------------------------------------------------------
|
20
|
-
|
21
|
-
|
22
|
-
//==========================================================================
|
23
|
-
//-------- instance --------------------------------------------------------
|
24
|
-
|
25
|
-
//==========================================================================
|
26
|
-
//-------- expression ------------------------------------------------------
|
27
1
|
|
2
|
+
`timescale 1ns/1ps
|
3
|
+
module test_top();
|
4
|
+
initial begin
|
5
|
+
#(1us);
|
6
|
+
$warning("Check TopModule.sim,please!!!");
|
7
|
+
$stop;
|
8
|
+
end
|
28
9
|
endmodule
|
@@ -1,9 +1,28 @@
|
|
1
|
-
|
1
|
+
/**********************************************
|
2
|
+
_______________________________________
|
3
|
+
___________ Cook Darwin __________
|
4
|
+
_______________________________________
|
5
|
+
descript:
|
6
|
+
author : Cook.Darwin
|
7
|
+
Version: VERA.0.0
|
8
|
+
created: 2023-08-16 21:22:32 +0800
|
9
|
+
madified:
|
10
|
+
***********************************************/
|
2
11
|
`timescale 1ns/1ps
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
12
|
+
|
13
|
+
module test_top_sim (
|
14
|
+
input sys_clock,
|
15
|
+
output logic[3:0] odata
|
16
|
+
);
|
17
|
+
|
18
|
+
//==========================================================================
|
19
|
+
//-------- define ----------------------------------------------------------
|
20
|
+
|
21
|
+
|
22
|
+
//==========================================================================
|
23
|
+
//-------- instance --------------------------------------------------------
|
24
|
+
|
25
|
+
//==========================================================================
|
26
|
+
//-------- expression ------------------------------------------------------
|
27
|
+
|
9
28
|
endmodule
|
@@ -1,40 +1,9 @@
|
|
1
|
-
/**********************************************
|
2
|
-
_______________________________________
|
3
|
-
___________ Cook Darwin __________
|
4
|
-
_______________________________________
|
5
|
-
descript:
|
6
|
-
author : Cook.Darwin
|
7
|
-
Version: VERA.0.0
|
8
|
-
created: 2022-07-10 11:21:57 +0800
|
9
|
-
madified:
|
10
|
-
***********************************************/
|
11
|
-
`timescale 1ns/1ps
|
12
|
-
|
13
|
-
module test_tttop (
|
14
|
-
input global_sys_clk
|
15
|
-
);
|
16
|
-
|
17
|
-
//==========================================================================
|
18
|
-
//-------- define ----------------------------------------------------------
|
19
|
-
logic clock_100M;
|
20
|
-
logic rstn_100M;
|
21
|
-
axi_stream_inf #(.DSIZE(16),.FreqM(100),.USIZE(1)) x_origin_inf (.aclk(clock_100M),.aresetn(rstn_100M),.aclken(1'b1)) ;
|
22
|
-
//==========================================================================
|
23
|
-
//-------- instance --------------------------------------------------------
|
24
|
-
simple_clock simple_clock_inst(
|
25
|
-
/* input clock */.sys_clk (global_sys_clk ),
|
26
|
-
/* output clock */.clock (clock_100M ),
|
27
|
-
/* output reset */.rst_n (rstn_100M )
|
28
|
-
);
|
29
|
-
a_test_md a_test_md_inst(
|
30
|
-
/* input clock */.clock (clock_100M ),
|
31
|
-
/* input reset */.rst (~rstn_100M ),
|
32
|
-
/* axi_stream_inf.master */.origin_inf (x_origin_inf )
|
33
|
-
);
|
34
|
-
//==========================================================================
|
35
|
-
//-------- expression ------------------------------------------------------
|
36
|
-
assign x_origin_inf.axis_tvalid = 1'b0;
|
37
|
-
assign x_origin_inf.axis_tdata = '0;
|
38
|
-
assign x_origin_inf.axis_tlast = 1'b0;
|
39
1
|
|
2
|
+
`timescale 1ns/1ps
|
3
|
+
module test_tttop();
|
4
|
+
initial begin
|
5
|
+
#(1us);
|
6
|
+
$warning("Check TopModule.sim,please!!!");
|
7
|
+
$stop;
|
8
|
+
end
|
40
9
|
endmodule
|
@@ -1,9 +1,40 @@
|
|
1
|
-
|
1
|
+
/**********************************************
|
2
|
+
_______________________________________
|
3
|
+
___________ Cook Darwin __________
|
4
|
+
_______________________________________
|
5
|
+
descript:
|
6
|
+
author : Cook.Darwin
|
7
|
+
Version: VERA.0.0
|
8
|
+
created: 2023-08-16 21:22:16 +0800
|
9
|
+
madified:
|
10
|
+
***********************************************/
|
2
11
|
`timescale 1ns/1ps
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
12
|
+
|
13
|
+
module test_tttop_sim (
|
14
|
+
input global_sys_clk
|
15
|
+
);
|
16
|
+
|
17
|
+
//==========================================================================
|
18
|
+
//-------- define ----------------------------------------------------------
|
19
|
+
logic clock_100M;
|
20
|
+
logic rstn_100M;
|
21
|
+
axi_stream_inf #(.DSIZE(16),.FreqM(100),.USIZE(1)) x_origin_inf (.aclk(clock_100M),.aresetn(rstn_100M),.aclken(1'b1)) ;
|
22
|
+
//==========================================================================
|
23
|
+
//-------- instance --------------------------------------------------------
|
24
|
+
simple_clock simple_clock_inst(
|
25
|
+
/* input clock */.sys_clk (global_sys_clk ),
|
26
|
+
/* output clock */.clock (clock_100M ),
|
27
|
+
/* output reset */.rst_n (rstn_100M )
|
28
|
+
);
|
29
|
+
a_test_md a_test_md_inst(
|
30
|
+
/* input clock */.clock (clock_100M ),
|
31
|
+
/* input reset */.rst (~rstn_100M ),
|
32
|
+
/* axi_stream_inf.master */.origin_inf (x_origin_inf )
|
33
|
+
);
|
34
|
+
//==========================================================================
|
35
|
+
//-------- expression ------------------------------------------------------
|
36
|
+
assign x_origin_inf.axis_tvalid = 1'b0;
|
37
|
+
assign x_origin_inf.axis_tdata = '0;
|
38
|
+
assign x_origin_inf.axis_tlast = 1'b0;
|
39
|
+
|
9
40
|
endmodule
|
@@ -668,6 +668,20 @@ module TdlSpace
|
|
668
668
|
end
|
669
669
|
end
|
670
670
|
|
671
|
+
## Monkey 布丁,
|
672
|
+
def force_name_copy(nstr)
|
673
|
+
|
674
|
+
if nstr.to_s.eql?(inst_name.to_s)
|
675
|
+
@copy_id ||= 0
|
676
|
+
str = "#{nstr.to_s}_copy_#{@copy_id}"
|
677
|
+
@copy_id += 1
|
678
|
+
str
|
679
|
+
else
|
680
|
+
nstr.to_s
|
681
|
+
end
|
682
|
+
|
683
|
+
end
|
684
|
+
|
671
685
|
def use_which_freq_when_copy(argv_clock,argv_origin)
|
672
686
|
if argv_clock == @clock && @clock
|
673
687
|
if @clock.respond_to? :freqM
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: axi_tdl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cook.Darwin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -131,10 +131,14 @@ files:
|
|
131
131
|
- lib/axi/AXI4/odata_pool_axi4_A1.sv
|
132
132
|
- lib/axi/AXI4/odata_pool_axi4_A2.sv
|
133
133
|
- lib/axi/AXI4/odata_pool_axi4_A3.sv
|
134
|
+
- lib/axi/AXI4/odata_pool_axi4_A4.sv
|
134
135
|
- lib/axi/AXI4/packet_fifo/axi4_packet_fifo.sv
|
136
|
+
- lib/axi/AXI4/packet_fifo/axi4_packet_fifo_B1.sv
|
135
137
|
- lib/axi/AXI4/packet_fifo/axi4_packet_fifo_verb.sv
|
136
138
|
- lib/axi/AXI4/packet_fifo/axi4_rd_packet_fifo.sv
|
139
|
+
- lib/axi/AXI4/packet_fifo/axi4_rd_packet_fifo_A1.sv
|
137
140
|
- lib/axi/AXI4/packet_fifo/axi4_wr_packet_fifo.sv
|
141
|
+
- lib/axi/AXI4/packet_fifo/axi4_wr_packet_fifo_A1.sv
|
138
142
|
- lib/axi/AXI4/packet_merge/axi4_merge.sv
|
139
143
|
- lib/axi/AXI4/packet_merge/axi4_merge_rd.sv
|
140
144
|
- lib/axi/AXI4/packet_merge/axi4_merge_wr.sv
|
@@ -306,12 +310,14 @@ files:
|
|
306
310
|
- lib/axi/AXI_stream/gen_origin_axis.sv
|
307
311
|
- lib/axi/AXI_stream/gen_origin_axis_A1.sv
|
308
312
|
- lib/axi/AXI_stream/gen_origin_axis_A2.sv
|
313
|
+
- lib/axi/AXI_stream/gen_origin_axis_A3.sv
|
309
314
|
- lib/axi/AXI_stream/gen_simple_axis.sv
|
310
315
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_long_fifo.sv
|
311
316
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_long_fifo_verb.sv
|
312
317
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo.sv
|
313
318
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_B1.sv
|
314
319
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_B1E.sv
|
320
|
+
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_B1F.sv
|
315
321
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_verb.sv
|
316
322
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_with_info.sv
|
317
323
|
- lib/axi/AXI_stream/packet_fifo/axi_stream_packet_long_fifo.sv
|
@@ -321,6 +327,8 @@ files:
|
|
321
327
|
- lib/axi/AXI_stream/parse_big_field_table.sv
|
322
328
|
- lib/axi/AXI_stream/parse_big_field_table_A1.sv
|
323
329
|
- lib/axi/AXI_stream/parse_big_field_table_A2.sv
|
330
|
+
- lib/axi/AXI_stream/parse_big_field_table_main.sv
|
331
|
+
- lib/axi/AXI_stream/parse_big_field_table_mirror.sv
|
324
332
|
- lib/axi/AXI_stream/parse_big_field_table_verb.sv
|
325
333
|
- lib/axi/AXI_stream/parse_common_frame_table.sv
|
326
334
|
- lib/axi/AXI_stream/parse_common_frame_table_A1.sv
|
@@ -351,6 +359,7 @@ files:
|
|
351
359
|
- lib/axi/SIM/tb_wide_axis_to_axi4_wr.sv
|
352
360
|
- lib/axi/axi4_to_xilinx_ddr_native/axi4_to_native_for_ddr_ip.sv
|
353
361
|
- lib/axi/axi4_to_xilinx_ddr_native/axi4_to_native_for_ddr_ip_C1.sv
|
362
|
+
- lib/axi/axi4_to_xilinx_ddr_native/axi4_to_native_for_ddr_ip_C2.sv
|
354
363
|
- lib/axi/axi4_to_xilinx_ddr_native/axi4_to_native_for_ddr_ip_verb.sv
|
355
364
|
- lib/axi/axi4_to_xilinx_ddr_native/axi4_to_native_for_ddr_ip_verc.sv
|
356
365
|
- lib/axi/axi4_to_xilinx_ddr_native/ddr3_ip_native_to_axi4.sv
|
@@ -358,6 +367,8 @@ files:
|
|
358
367
|
- lib/axi/axi4_to_xilinx_ddr_native/ddr_axi4_to_axis.sv
|
359
368
|
- lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo.sv
|
360
369
|
- lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo_A1.sv
|
370
|
+
- lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo_A2.sv
|
371
|
+
- lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo_B1.sv
|
361
372
|
- lib/axi/axi4_to_xilinx_ddr_native/ddr_native_fifo_verb.sv
|
362
373
|
- lib/axi/axi4_to_xilinx_ddr_native/model_ddr_ip_app.sv
|
363
374
|
- lib/axi/axi4_to_xilinx_ddr_native/tb_ddr3_ip_wrapper_sim.sv
|
@@ -1340,7 +1351,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1340
1351
|
requirements:
|
1341
1352
|
- - ">="
|
1342
1353
|
- !ruby/object:Gem::Version
|
1343
|
-
version: 2.
|
1354
|
+
version: 2.6.0
|
1344
1355
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1345
1356
|
requirements:
|
1346
1357
|
- - ">="
|