axi_tdl 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dcdd989e2689e971fc985667c17515a0aeb471fab48e714711090b47163bdd1
4
- data.tar.gz: c1aca96af70b0186764d985bc2b4f12bc5227c8a2ed46c9b309a05b3d6028a0e
3
+ metadata.gz: 9882619ceed9e5f4f9f938e9a7fe5df14f23ab5c4bf477e95e4e0b95f5089d71
4
+ data.tar.gz: 42251130e7992348d2a5a46485e6c477e1aebf6e23b0ae17fc2c85853385e046
5
5
  SHA512:
6
- metadata.gz: 24e9e8b96ea593632f9ea630711f6ce8f08dec4da1ef97b3866ec11f7853e4398dfa716529ef8be952e6cc27154514245877293b7a168e7b7e4d73f045e306f9
7
- data.tar.gz: 427854dbe9daa78df1ffbea9491da18d6456e261812b7b0bdc2dd131b28f7c4cf379baa6a34957704a3dcfb8fb8b7ff68a7cba6b9378fdd92bc24cfb230df940
6
+ metadata.gz: fb193b722dd553b3e8b831fc9defa2205e44e985182d9b35dde6a5b54be296b97cdd02b52f870c65cbd9aab9b23a12e7e26b853235c6671ece805071a3516201
7
+ data.tar.gz: 1b8ebba865c374baa1c3e8f07c207910e55cacfddd40dcc15637f409c168791dcc07b0c85f7530a9bd11e4feb252127196b64e6ab30ca70db0d6ba8e00d552fe
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: xxxx.xx.xx
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -56,7 +56,7 @@ logic stream_en;
56
56
  axi_stream_inf #(.DSIZE(axis_in.DSIZE),.FreqM(axis_in.FreqM),.USIZE(1)) split_out (.aclk(axis_in.aclk),.aresetn(axis_in.aresetn),.aclken(1'b1)) ;
57
57
  axi_stream_inf #(.DSIZE(axis_in.DSIZE),.FreqM(axis_in.FreqM),.USIZE(1)) long_fifo_axis_out (.aclk(axi_wr.axi_aclk),.aresetn(axi_wr.axi_aresetn),.aclken(1'b1)) ;
58
58
  axi_stream_inf #(.DSIZE(axi_wr.IDSIZE + axi_wr.ASIZE + axi_wr.LSIZE),.FreqM(1.0),.USIZE(1)) id_add_len_in (.aclk(axi_wr.axi_aclk),.aresetn(axi_wr.axi_aresetn),.aclken(1'b1)) ;
59
- axi_inf #(.DSIZE(axi_wr.DSIZE),.IDSIZE(axi_wr.IDSIZE),.ASIZE(axi_wr.ASIZE),.LSIZE(axi_wr.LSIZE),.MODE(axi_wr.MODE),.ADDR_STEP(axi_wr.ADDR_STEP),.FreqM(axi_wr.FreqM)) axi_wr_vcs_cp_R1138 (.axi_aclk(axi_wr.axi_aclk),.axi_aresetn(axi_wr.axi_aresetn)) ;
59
+ axi_inf #(.DSIZE(axi_wr.DSIZE),.IDSIZE(axi_wr.IDSIZE),.ASIZE(axi_wr.ASIZE),.LSIZE(axi_wr.LSIZE),.MODE(axi_wr.MODE),.ADDR_STEP(axi_wr.ADDR_STEP),.FreqM(axi_wr.FreqM)) axi_wr_vcs_cp_R1624 (.axi_aclk(axi_wr.axi_aclk),.axi_aresetn(axi_wr.axi_aresetn)) ;
60
60
  axi_stream_inf #(.DSIZE(axis_in.DSIZE),.FreqM(axis_in.FreqM),.USIZE(1)) pipe_axis (.aclk(axi_wr.axi_aclk),.aresetn(axi_wr.axi_aresetn),.aclken(1'b1)) ;
61
61
  //==========================================================================
62
62
  //-------- instance --------------------------------------------------------
@@ -94,13 +94,13 @@ independent_clock_fifo #(
94
94
  axi4_wr_auxiliary_gen_without_resp axi4_wr_auxiliary_gen_without_resp_inst(
95
95
  /* output */.stream_en (stream_en ),
96
96
  /* axi_stream_inf.slaver */.id_add_len_in (id_add_len_in ),
97
- /* axi_inf.master_wr_aux_no_resp */.axi_wr_aux (axi_wr_vcs_cp_R1138 )
97
+ /* axi_inf.master_wr_aux_no_resp */.axi_wr_aux (axi_wr_vcs_cp_R1624 )
98
98
  );
99
99
  vcs_axi4_comptable #(
100
100
  .ORIGIN ("master_wr_aux_no_resp" ),
101
101
  .TO ("master_wr" )
102
- )vcs_axi4_comptable_axi_wr_aux_R1044_axi_wr_inst(
103
- /* input */.origin (axi_wr_vcs_cp_R1138 ),
102
+ )vcs_axi4_comptable_axi_wr_aux_R675_axi_wr_inst(
103
+ /* input */.origin (axi_wr_vcs_cp_R1624 ),
104
104
  /* output */.to (axi_wr )
105
105
  );
106
106
  axis_valve_with_pipe #(
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: 2021-04-16 17:26:51 +0800
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -31,8 +31,8 @@ TdlBuild.data_inf_partition(__dir__) do
31
31
  logic - 'tail_len'
32
32
  logic - 'one_long_stream'
33
33
  logic - 'fifo_wr'
34
- debugLogic - 'fifo_full'
35
- debugLogic - 'fifo_empty'
34
+ logic - 'fifo_full'
35
+ logic - 'fifo_empty'
36
36
 
37
37
  always_comb do
38
38
  CASE ps.C do
@@ -267,8 +267,12 @@ TdlBuild.data_inf_partition(__dir__) do
267
267
  end
268
268
 
269
269
  ### Track
270
- debugLogic[10] - 'st5_cnt'
271
- debugLogic - 'track_st5'
270
+ # debugLogic[10] - 'st5_cnt'
271
+ # debugLogic - 'track_st5'
272
+
273
+ logic[10] - 'st5_cnt'
274
+ logic - 'track_st5'
275
+
272
276
  always_ff(posedge.clock,negedge.rst_n) do
273
277
  IF ~rst_n do
274
278
  st5_cnt <= 0.A
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- creaded: XXXX.XX.XX
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -29,14 +29,14 @@ logic rst_n;
29
29
  logic tail_len;
30
30
  logic one_long_stream;
31
31
  logic fifo_wr;
32
+ logic fifo_full;
33
+ logic fifo_empty;
32
34
  logic [IDSIZE+4-1:0] curr_id ;
33
35
  logic [LSIZE-1:0] curr_length ;
34
36
  logic [(data_in.DSIZE - IDSIZE)-LSIZE-1:0] curr_addr ;
35
37
  logic [LSIZE-1:0] wr_length ;
36
- (* MARK_DEBUG="true" *)(* dont_touch="true" *)logic fifo_full;
37
- (* MARK_DEBUG="true" *)(* dont_touch="true" *)logic fifo_empty;
38
- (* MARK_DEBUG="true" *)(* dont_touch="true" *)logic [9:0] st5_cnt ;
39
- (* MARK_DEBUG="true" *)(* dont_touch="true" *)logic track_st5;
38
+ logic [10-1:0] st5_cnt ;
39
+ logic track_st5;
40
40
 
41
41
  //==========================================================================
42
42
  //-------- instance --------------------------------------------------------
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: XXXX.XX.XX
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -56,7 +56,7 @@ logic stream_en;
56
56
  axi_stream_inf #(.DSIZE(axis_in.DSIZE),.FreqM(axis_in.FreqM),.USIZE(1)) split_out (.aclk(axis_in.aclk),.aresetn(axis_in.aresetn),.aclken(1'b1)) ;
57
57
  axi_stream_inf #(.DSIZE(axis_in.DSIZE),.FreqM(axis_in.FreqM),.USIZE(1)) fifo_axis (.aclk(axi_wr.axi_aclk),.aresetn(axi_wr.axi_aresetn),.aclken(1'b1)) ;
58
58
  axi_stream_inf #(.DSIZE(axi_wr.IDSIZE + axi_wr.ASIZE + axi_wr.LSIZE),.FreqM(1.0),.USIZE(1)) id_add_len_in (.aclk(axi_wr.axi_aclk),.aresetn(axi_wr.axi_aresetn),.aclken(1'b1)) ;
59
- axi_inf #(.DSIZE(axi_wr.DSIZE),.IDSIZE(axi_wr.IDSIZE),.ASIZE(axi_wr.ASIZE),.LSIZE(axi_wr.LSIZE),.MODE(axi_wr.MODE),.ADDR_STEP(axi_wr.ADDR_STEP),.FreqM(axi_wr.FreqM)) axi_wr_vcs_cp_R555 (.axi_aclk(axi_wr.axi_aclk),.axi_aresetn(axi_wr.axi_aresetn)) ;
59
+ axi_inf #(.DSIZE(axi_wr.DSIZE),.IDSIZE(axi_wr.IDSIZE),.ASIZE(axi_wr.ASIZE),.LSIZE(axi_wr.LSIZE),.MODE(axi_wr.MODE),.ADDR_STEP(axi_wr.ADDR_STEP),.FreqM(axi_wr.FreqM)) axi_wr_vcs_cp_R1219 (.axi_aclk(axi_wr.axi_aclk),.axi_aresetn(axi_wr.axi_aresetn)) ;
60
60
  axi_stream_inf #(.DSIZE(axis_in.DSIZE),.FreqM(axis_in.FreqM),.USIZE(1)) pipe_axis (.aclk(axi_wr.axi_aclk),.aresetn(axi_wr.axi_aresetn),.aclken(1'b1)) ;
61
61
  //==========================================================================
62
62
  //-------- instance --------------------------------------------------------
@@ -91,16 +91,16 @@ independent_clock_fifo #(
91
91
  /* output */.full (fifo_full )
92
92
  );
93
93
  axi4_wr_auxiliary_gen_without_resp axi4_wr_auxiliary_gen_without_resp_inst(
94
- /* output */.stream_en (stream_en ),
95
- /* axi_stream_inf.slaver */.id_add_len_in (id_add_len_in ),
96
- /* axi_inf.master_wr_aux_no_resp */.axi_wr_aux (axi_wr_vcs_cp_R555 )
94
+ /* output */.stream_en (stream_en ),
95
+ /* axi_stream_inf.slaver */.id_add_len_in (id_add_len_in ),
96
+ /* axi_inf.master_wr_aux_no_resp */.axi_wr_aux (axi_wr_vcs_cp_R1219 )
97
97
  );
98
98
  vcs_axi4_comptable #(
99
99
  .ORIGIN ("master_wr_aux_no_resp" ),
100
100
  .TO ("master_wr" )
101
- )vcs_axi4_comptable_axi_wr_aux_R478_axi_wr_inst(
102
- /* input */.origin (axi_wr_vcs_cp_R555 ),
103
- /* output */.to (axi_wr )
101
+ )vcs_axi4_comptable_axi_wr_aux_R827_axi_wr_inst(
102
+ /* input */.origin (axi_wr_vcs_cp_R1219 ),
103
+ /* output */.to (axi_wr )
104
104
  );
105
105
  axis_valve_with_pipe #(
106
106
  .MODE ("OUT" )
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: 2021-04-16 17:01:05 +0800
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -55,22 +55,22 @@ axis_direct axis_direct_end_inf_inst0 (
55
55
  );
56
56
  //-------- CLOCKs Total 3 ----------------------
57
57
  //--->> CheckClock <<----------------
58
- logic cc_done_7,cc_same_7;
59
- integer cc_afreq_7,cc_bfreq_7;
60
- ClockSameDomain CheckPClock_inst_7(
58
+ logic cc_done_6,cc_same_6;
59
+ integer cc_afreq_6,cc_bfreq_6;
60
+ ClockSameDomain CheckPClock_inst_6(
61
61
  /* input */ .aclk (origin_inf.aclk ),
62
62
  /* input */ .bclk (first_inf.aclk ),
63
- /* output logic */ .done (cc_done_7),
64
- /* output logic */ .same (cc_same_7),
65
- /* output integer */ .aFreqK (cc_afreq_7),
66
- /* output integer */ .bFreqK (cc_bfreq_7)
63
+ /* output logic */ .done (cc_done_6),
64
+ /* output logic */ .same (cc_same_6),
65
+ /* output integer */ .aFreqK (cc_afreq_6),
66
+ /* output integer */ .bFreqK (cc_bfreq_6)
67
67
  );
68
68
 
69
69
  initial begin
70
- wait(cc_done_7);
71
- assert(cc_same_7)
70
+ wait(cc_done_6);
71
+ assert(cc_same_6)
72
72
  else begin
73
- $error("--- Error : `axi_stream_split_channel` clock is not same, origin_inf.aclk< %0f M> != first_inf.aclk<%0f M>",1000000.0/cc_afreq_7, 1000000.0/cc_bfreq_7);
73
+ $error("--- Error : `axi_stream_split_channel` clock is not same, origin_inf.aclk< %0f M> != first_inf.aclk<%0f M>",1000000.0/cc_afreq_6, 1000000.0/cc_bfreq_6);
74
74
  repeat(10)begin
75
75
  @(posedge origin_inf.aclk);
76
76
  end
@@ -80,22 +80,22 @@ end
80
80
  //---<< CheckClock >>----------------
81
81
 
82
82
  //--->> CheckClock <<----------------
83
- logic cc_done_8,cc_same_8;
84
- integer cc_afreq_8,cc_bfreq_8;
85
- ClockSameDomain CheckPClock_inst_8(
83
+ logic cc_done_7,cc_same_7;
84
+ integer cc_afreq_7,cc_bfreq_7;
85
+ ClockSameDomain CheckPClock_inst_7(
86
86
  /* input */ .aclk (origin_inf.aclk ),
87
87
  /* input */ .bclk (end_inf.aclk ),
88
- /* output logic */ .done (cc_done_8),
89
- /* output logic */ .same (cc_same_8),
90
- /* output integer */ .aFreqK (cc_afreq_8),
91
- /* output integer */ .bFreqK (cc_bfreq_8)
88
+ /* output logic */ .done (cc_done_7),
89
+ /* output logic */ .same (cc_same_7),
90
+ /* output integer */ .aFreqK (cc_afreq_7),
91
+ /* output integer */ .bFreqK (cc_bfreq_7)
92
92
  );
93
93
 
94
94
  initial begin
95
- wait(cc_done_8);
96
- assert(cc_same_8)
95
+ wait(cc_done_7);
96
+ assert(cc_same_7)
97
97
  else begin
98
- $error("--- Error : `axi_stream_split_channel` clock is not same, origin_inf.aclk< %0f M> != end_inf.aclk<%0f M>",1000000.0/cc_afreq_8, 1000000.0/cc_bfreq_8);
98
+ $error("--- Error : `axi_stream_split_channel` clock is not same, origin_inf.aclk< %0f M> != end_inf.aclk<%0f M>",1000000.0/cc_afreq_7, 1000000.0/cc_bfreq_7);
99
99
  repeat(10)begin
100
100
  @(posedge origin_inf.aclk);
101
101
  end
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERC.0.0
8
- created: XXXX.XX.XX
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -45,7 +45,7 @@ axi_stream_inf #(.DSIZE(origin_inf.DSIZE),.FreqM(origin_inf.FreqM),.USIZE(1)) or
45
45
  axi_stream_inf #(.DSIZE(origin_inf.DSIZE),.FreqM(origin_inf.FreqM),.USIZE(1)) origin_inf_cut_mix (.aclk(origin_inf.aclk),.aresetn(origin_inf.aresetn),.aclken(1'b1)) ;
46
46
  axi_stream_inf #(.DSIZE(origin_inf.DSIZE),.FreqM(origin_inf.FreqM),.USIZE(1)) origin_inf_ss_E0 (.aclk(origin_inf.aclk),.aresetn(origin_inf.aresetn),.aclken(1'b1)) ;
47
47
  axi_stream_inf #(.DSIZE(origin_inf.DSIZE),.FreqM(origin_inf.FreqM),.USIZE(1)) origin_inf_ss_E0_CH (.aclk(origin_inf.aclk),.aresetn(origin_inf.aresetn),.aclken(1'b1)) ;
48
- axi_stream_inf #(.DSIZE(out_inf.DSIZE),.FreqM(out_inf.FreqM),.USIZE(1)) out_inf_branchR655 (.aclk(out_inf.aclk),.aresetn(out_inf.aresetn),.aclken(1'b1)) ;
48
+ axi_stream_inf #(.DSIZE(out_inf.DSIZE),.FreqM(out_inf.FreqM),.USIZE(1)) out_inf_branchR325 (.aclk(out_inf.aclk),.aresetn(out_inf.aresetn),.aclken(1'b1)) ;
49
49
  //==========================================================================
50
50
  //-------- instance --------------------------------------------------------
51
51
  axis_pipe_sync_seam #(
@@ -122,7 +122,7 @@ axis_connect_pipe_right_shift_verb #(
122
122
  axis_head_cut_verb last_cut_inst(
123
123
  /* input */.length (16'd1 ),
124
124
  /* axi_stream_inf.slaver */.axis_in (origin_inf_ss_E0_CH ),
125
- /* axi_stream_inf.master */.axis_out (out_inf_branchR655 )
125
+ /* axi_stream_inf.master */.axis_out (out_inf_branchR325 )
126
126
  );
127
127
  //==========================================================================
128
128
  //-------- expression ------------------------------------------------------
@@ -136,7 +136,7 @@ axis_direct axis_direct_out_inf_inst0 (
136
136
  );
137
137
 
138
138
  axis_direct axis_direct_out_inf_inst1 (
139
- /* axi_stream_inf.slaver*/ .slaver (out_inf_branchR655),
139
+ /* axi_stream_inf.slaver*/ .slaver (out_inf_branchR325),
140
140
  /* axi_stream_inf.master*/ .master (sub_out_inf[1])
141
141
  );
142
142
 
@@ -21,6 +21,8 @@ module axi_stream_packet_long_fifo #(
21
21
  axi_stream_inf.master axis_out
22
22
  );
23
23
 
24
+ assign axis_out.axis_tuser = '0;
25
+
24
26
  //--->> NATIVE FIFO IP <<------------------------------
25
27
  // (* dont_touch = "true" *)
26
28
  logic data_fifo_full;
@@ -26,6 +26,8 @@ module parse_big_field_table_verb #(
26
26
  axi_stream_inf.mirror cm_mirror
27
27
  );
28
28
 
29
+ localparam VSIZE = $clog2(FIELD_LEN);
30
+
29
31
  import SystemPkg::*;
30
32
 
31
33
  initial begin
@@ -78,13 +80,13 @@ always_ff@(posedge clock,negedge rst_n)begin
78
80
  else begin
79
81
  if(parse_stream.axis_tvalid && parse_stream.axis_tready && parse_stream.axis_tlast)
80
82
  region_valid <= 1'b1;
81
- else if(parse_stream.axis_tvalid && parse_stream.axis_tready && parse_stream.axis_tcnt == (FIELD_LEN-1'b1))
83
+ else if(parse_stream.axis_tvalid && parse_stream.axis_tready && parse_stream.axis_tcnt[VSIZE:0] == (FIELD_LEN-1'b1))
82
84
  region_valid <= 1'b0;
83
85
  else region_valid <= region_valid;
84
86
  end
85
87
  end
86
88
 
87
- localparam VSIZE = $clog2(FIELD_LEN);
89
+
88
90
  logic[DSIZE-1:0] value_array [0:FIELD_LEN-1];
89
91
 
90
92
  always_ff@(posedge clock,negedge rst_n)begin
@@ -107,7 +109,7 @@ always_ff@(posedge clock,negedge rst_n)begin
107
109
  if(out_valid)
108
110
  out_valid <= 1'b0;
109
111
  else out_valid <= 1'b1;
110
- else if(parse_stream.axis_tvalid && parse_stream.axis_tready && parse_stream.axis_tcnt == (FIELD_LEN-1'b1))
112
+ else if(parse_stream.axis_tvalid && parse_stream.axis_tready && parse_stream.axis_tcnt[VSIZE:0] == (FIELD_LEN-1'b1))
111
113
  out_valid <= 1'b1;
112
114
  else if(region_valid)
113
115
  out_valid <= 1'b0;
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: XXXX.XX.XX
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: 2021-04-16 17:01:05 +0800
8
+ creaded:
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -48,22 +48,22 @@ for(genvar KK0=0;KK0 < LAT;KK0++)begin
48
48
  endgenerate
49
49
  //-------- CLOCKs Total 2 ----------------------
50
50
  //--->> CheckClock <<----------------
51
- logic cc_done_9,cc_same_9;
52
- integer cc_afreq_9,cc_bfreq_9;
53
- ClockSameDomain CheckPClock_inst_9(
51
+ logic cc_done_8,cc_same_8;
52
+ integer cc_afreq_8,cc_bfreq_8;
53
+ ClockSameDomain CheckPClock_inst_8(
54
54
  /* input */ .aclk (in_inf.clock ),
55
55
  /* input */ .bclk (out_inf.clock ),
56
- /* output logic */ .done (cc_done_9),
57
- /* output logic */ .same (cc_same_9),
58
- /* output integer */ .aFreqK (cc_afreq_9),
59
- /* output integer */ .bFreqK (cc_bfreq_9)
56
+ /* output logic */ .done (cc_done_8),
57
+ /* output logic */ .same (cc_same_8),
58
+ /* output integer */ .aFreqK (cc_afreq_8),
59
+ /* output integer */ .bFreqK (cc_bfreq_8)
60
60
  );
61
61
 
62
62
  initial begin
63
- wait(cc_done_9);
64
- assert(cc_same_9)
63
+ wait(cc_done_8);
64
+ assert(cc_same_8)
65
65
  else begin
66
- $error("--- Error : `data_c_pipe_sync_seam` clock is not same, in_inf.clock< %0f M> != out_inf.clock<%0f M>",1000000.0/cc_afreq_9, 1000000.0/cc_bfreq_9);
66
+ $error("--- Error : `data_c_pipe_sync_seam` clock is not same, in_inf.clock< %0f M> != out_inf.clock<%0f M>",1000000.0/cc_afreq_8, 1000000.0/cc_bfreq_8);
67
67
  repeat(10)begin
68
68
  @(posedge in_inf.clock);
69
69
  end
data/lib/axi_tdl.rb CHANGED
@@ -4,7 +4,7 @@ require "tdl/tdl.rb"
4
4
  module AxiTdl
5
5
  AXI_PATH = File.expand_path(File.join(__dir__,"axi"))
6
6
  TDL_PATH = File.expand_path(File.join(__dir__,"tdl"))
7
- PUBLIC_ATOM_PATH = File.expand_path(File.join(__dir__,"tdl"))
7
+ PUBLIC_ATOM_PATH = File.expand_path(File.join(__dir__,"public_atom_module"))
8
8
  end
9
9
 
10
10
 
@@ -37,7 +37,7 @@ TopModule.contain_hdl("CheckPClock.sv","edge_generator.v","ClockSameDomain.sv","
37
37
  ### 这里引入可能不合适
38
38
  TopModule.contain_hdl('axis_full_to_data_c.sv','data_c_pipe_inf.sv','data_c_to_axis_full.sv')
39
39
  TopModule.contain_hdl('axi_stream_interconnect_M2S_A1.sv', 'data_c_pipe_intc_M2S_best_last.sv',"data_pipe_interconnect_S2M_verb.sv","data_valve.sv")
40
- TopModule.contain_hdl('axis_direct_A1.sv',"axis_direct.sv")
40
+ TopModule.contain_hdl('axis_direct_A1.sv',"axis_direct.sv", 'axi4_direct_A1.sv')
41
41
  TopModule.contain_hdl 'axi_stream_interconnect_M2S.sv','data_pipe_interconnect_M2S_verb.sv'
42
42
  # TopModule.contain_hdl('simple_data_pipe.sv')
43
43
  TopModule.contain_hdl('long_fifo_verb.sv',"long_fifo_4bit.sv","long_fifo_4bit_SL8192.sv","long_fifo_4bit_8192.sv","wide_fifo.sv","wide_fifo_7series.sv")
@@ -1,3 +1,3 @@
1
1
  module AxiTdl
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
@@ -2,13 +2,12 @@
2
2
 
3
3
  class AutoGenSdl
4
4
  attr_accessor :bad
5
- def initialize(filename="",out_file_path=@@auto_path,info=true)
5
+ def initialize(filename="",out_file_path=@@auto_path,encoding='utf-8')
6
6
  @expand_path = File.expand_path(filename)
7
7
  sf = File.open(filename,"r")
8
- fstr = sf.read.force_encoding("utf-8")
8
+ fstr = sf.read.force_encoding(encoding)
9
9
  sf.close
10
10
  @bad = true
11
-
12
11
  # return if exist_origin_sdl(filename,@expand_path)
13
12
  # fstr.gsub!(/\/\/\s*\(\*\s*show\s*=\s*"false"\s*\*\)/,"(* show = \"false\" *)")
14
13
  # SDL ignore `show`
@@ -1,5 +1,5 @@
1
1
  $__contain_hdl__ = []
2
- def __require_hdl__(hdl_path,current_sdlm=nil)
2
+ def __require_hdl__(hdl_path,current_sdlm=nil,encoding='utf-8')
3
3
  basename = File.basename(hdl_path,".*")
4
4
  unless SdlModule.exist_module? basename
5
5
  ## 检测是不是全路径, 或当前路径查得到
@@ -12,7 +12,7 @@ def __require_hdl__(hdl_path,current_sdlm=nil)
12
12
  raise TdlError.new("Cant find <#{hdl_path}> in tdl paths !!!")
13
13
  end
14
14
 
15
- AutoGenSdl.new(rel,File.join(__dir__,"tmp")).auto_rb
15
+ AutoGenSdl.new(rel,File.join(__dir__,"tmp"),encoding=encoding).auto_rb
16
16
 
17
17
  ## 如果是 在非 sdlmodule 内引用需要添加contain_hdl
18
18
  # if !(current_sdlm.is_a?(SdlModule))
@@ -65,6 +65,6 @@ def find_first_hdl_path(basename)
65
65
  return nil
66
66
  end
67
67
 
68
- def require_hdl(hdl_path)
69
- __require_hdl__(hdl_path,nil)
68
+ def require_hdl(hdl_path,encoding='utf-8')
69
+ __require_hdl__(hdl_path,nil,encoding)
70
70
  end
@@ -89,7 +89,7 @@ module ClassHDL
89
89
  str.push op.instance(:always_ff).gsub(/^./){ |m| " #{m}"}
90
90
  else
91
91
  unless op.slaver
92
- rel_str = ClassHDL.compact_op_ch(op.instance(:always_ff))
92
+ rel_str = ClassHDL.compact_op_ch(op.instance(:always_ff,belong_to_module))
93
93
  str.push " #{rel_str};"
94
94
  end
95
95
  end
@@ -70,7 +70,7 @@ module ClassHDL
70
70
  def ELSIF(cond,&block)
71
71
  if ClassHDL::AssignDefOpertor.curr_assign_block.is_a? HDLAssignGenerateBlock
72
72
  if cond.respond_to?(:instance)
73
- head_str = "else if(#{cond.instance(:cond)})begin\n"
73
+ head_str = "else if(#{cond.instance(:cond,@belong_to_module)})begin\n"
74
74
  else
75
75
  head_str = "else if(#{cond})begin\n"
76
76
  end
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: 2021-05-04 20:03:48 +0800
8
+ created: 2021-05-30 12:21:35 +0800
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -19,7 +19,7 @@ module test_module_var #(
19
19
 
20
20
  //==========================================================================
21
21
  //-------- define ----------------------------------------------------------
22
- localparam ASIZE = 20;
22
+ localparam ASIZE = 20 ;
23
23
  axi_stream_inf #(.DSIZE(8),.FreqM(100),.USIZE(1)) tmp_axis_inf (.aclk(clock),.aresetn(rst_n),.aclken(1'b1)) ;
24
24
  axi_stream_inf #(.DSIZE(8),.FreqM(100),.USIZE(1)) tmp_axis0_inf (.aclk(clock),.aresetn(rst_n),.aclken(1'b1)) ;
25
25
  axi_inf #(.DSIZE(32),.IDSIZE(2),.ASIZE(8),.LSIZE(9),.MODE("BOTH"),.ADDR_STEP(4294967295),.FreqM(100)) tmp_axi4_inf (.axi_aclk(clock),.axi_aresetn(rst_n)) ;
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: 2021-05-04 20:03:48 +0800
8
+ created: 2021-05-30 12:21:54 +0800
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
@@ -12,128 +12,8 @@ gui_set_time_units 1ps
12
12
  ## gui_sg_addsignal -group "$_wave_session_group" { {Sim:tb_Mammo_TCP_sim.g1_test_mac_1g_inst.test_fpga_version_inst.ctrl_udp_rd_version} {Sim:tb_Mammo_TCP_sim.rtl_top.fpga_version_verb.to_ctrl_tap_in_inf} {Sim:tb_Mammo_TCP_sim.rtl_top.fpga_version_verb.ctrl_tap_inf} {Sim:tb_Mammo_TCP_sim.g1_test_mac_1g_inst.tcp_udp_proto_workshop_1G_inst.genblk1[0].tcp_data_stack_top_inst.client_port} }
13
13
  ## ==== [add_signal] ===== ##
14
14
 
15
- ## -------------- sub_md0_logic -------------------------
16
- set _wave_session_group_sub_md0_logic sub_md0_logic
17
- # set _wave_session_group_sub_md0_logic [gui_sg_generate_new_name -seed sub_md0_logic]
18
- if {[gui_sg_is_group -name "$_wave_session_group_sub_md0_logic"]} {
19
- set _wave_session_group_sub_md0_logic [gui_sg_generate_new_name]
20
- }
21
- set Group2_sub_md0_logic "$_wave_session_group_sub_md0_logic"
22
-
23
- ## 添加信号到 group
24
- gui_sg_addsignal -group "$_wave_session_group_sub_md0_logic" { {Sim:tb_exp_test_unit.rtl_top.sub_md0_inst.cnt} }
25
- ## ============== sub_md0_logic =========================
26
-
27
-
28
- ## -------------- sub_md0_interface -------------------------
29
- set _wave_session_group_sub_md0_interface sub_md0_interface
30
- # set _wave_session_group_sub_md0_interface [gui_sg_generate_new_name -seed sub_md0_interface]
31
- if {[gui_sg_is_group -name "$_wave_session_group_sub_md0_interface"]} {
32
- set _wave_session_group_sub_md0_interface [gui_sg_generate_new_name]
33
- }
34
- set Group2_sub_md0_interface "$_wave_session_group_sub_md0_interface"
35
-
36
- ## 添加信号到 group
37
- gui_sg_addsignal -group "$_wave_session_group_sub_md0_interface" { {Sim:tb_exp_test_unit.rtl_top.sub_md0_inst.axis_in} }
38
- ## ============== sub_md0_interface =========================
39
-
40
-
41
- ## -------------- sub_md0_default -------------------------
42
- set _wave_session_group_sub_md0_default sub_md0_default
43
- # set _wave_session_group_sub_md0_default [gui_sg_generate_new_name -seed sub_md0_default]
44
- if {[gui_sg_is_group -name "$_wave_session_group_sub_md0_default"]} {
45
- set _wave_session_group_sub_md0_default [gui_sg_generate_new_name]
46
- }
47
- set Group2_sub_md0_default "$_wave_session_group_sub_md0_default"
48
-
49
- ## 添加信号到 group
50
- gui_sg_addsignal -group "$_wave_session_group_sub_md0_default" { }
51
- ## ============== sub_md0_default =========================
52
-
53
-
54
- ## -------------- sub_md0_default.inter_tf -------------------------
55
- ## set _wave_session_group_sub_md0_default_inter_tf Group1
56
- ## set _wave_session_group_sub_md0_default_inter_tf [gui_sg_generate_new_name -seed inter_tf -parent $_wave_session_group_sub_md0_default ]
57
15
 
58
- set _wave_session_group_sub_md0_default_inter_tf $_wave_session_group_sub_md0_default|
59
- append _wave_session_group_sub_md0_default_inter_tf inter_tf
60
- set sub_md0_default|inter_tf "$_wave_session_group_sub_md0_default_inter_tf"
61
-
62
- # set Group2_sub_md0_default_inter_tf "$_wave_session_group_sub_md0_default_inter_tf"
63
-
64
- ## 添加信号到 group
65
- gui_sg_addsignal -group "$_wave_session_group_sub_md0_default_inter_tf" { {Sim:tb_exp_test_unit.rtl_top.sub_md0_inst.inter_tf} }
66
- ## ============== sub_md0_default.inter_tf =========================
67
-
68
-
69
- ## -------------- sub_md1_default -------------------------
70
- set _wave_session_group_sub_md1_default sub_md1_default
71
- # set _wave_session_group_sub_md1_default [gui_sg_generate_new_name -seed sub_md1_default]
72
- if {[gui_sg_is_group -name "$_wave_session_group_sub_md1_default"]} {
73
- set _wave_session_group_sub_md1_default [gui_sg_generate_new_name]
74
- }
75
- set Group2_sub_md1_default "$_wave_session_group_sub_md1_default"
76
-
77
- ## 添加信号到 group
78
- gui_sg_addsignal -group "$_wave_session_group_sub_md1_default" { {Sim:tb_exp_test_unit.rtl_top.sub_md1_inst.cnt} {Sim:tb_exp_test_unit.rtl_top.sub_md1_inst.axis_out} {Sim:tb_exp_test_unit.rtl_top.sub_md1_inst.enable} }
79
- ## ============== sub_md1_default =========================
80
-
81
-
82
- ## -------------- sub_md1_inner -------------------------
83
- set _wave_session_group_sub_md1_inner sub_md1_inner
84
- # set _wave_session_group_sub_md1_inner [gui_sg_generate_new_name -seed sub_md1_inner]
85
- if {[gui_sg_is_group -name "$_wave_session_group_sub_md1_inner"]} {
86
- set _wave_session_group_sub_md1_inner [gui_sg_generate_new_name]
87
- }
88
- set Group2_sub_md1_inner "$_wave_session_group_sub_md1_inner"
89
-
90
- ## 添加信号到 group
91
- gui_sg_addsignal -group "$_wave_session_group_sub_md1_inner" { }
92
- ## ============== sub_md1_inner =========================
93
-
94
16
 
95
- ## -------------- sub_md1_inner.inter_tf -------------------------
96
- ## set _wave_session_group_sub_md1_inner_inter_tf Group1
97
- ## set _wave_session_group_sub_md1_inner_inter_tf [gui_sg_generate_new_name -seed inter_tf -parent $_wave_session_group_sub_md1_inner ]
98
-
99
- set _wave_session_group_sub_md1_inner_inter_tf $_wave_session_group_sub_md1_inner|
100
- append _wave_session_group_sub_md1_inner_inter_tf inter_tf
101
- set sub_md1_inner|inter_tf "$_wave_session_group_sub_md1_inner_inter_tf"
102
-
103
- # set Group2_sub_md1_inner_inter_tf "$_wave_session_group_sub_md1_inner_inter_tf"
104
-
105
- ## 添加信号到 group
106
- gui_sg_addsignal -group "$_wave_session_group_sub_md1_inner_inter_tf" { {Sim:tb_exp_test_unit.rtl_top.sub_md1_inst.inter_tf} }
107
- ## ============== sub_md1_inner.inter_tf =========================
108
-
109
-
110
- ## -------------- exp_test_unit_default -------------------------
111
- set _wave_session_group_exp_test_unit_default exp_test_unit_default
112
- # set _wave_session_group_exp_test_unit_default [gui_sg_generate_new_name -seed exp_test_unit_default]
113
- if {[gui_sg_is_group -name "$_wave_session_group_exp_test_unit_default"]} {
114
- set _wave_session_group_exp_test_unit_default [gui_sg_generate_new_name]
115
- }
116
- set Group2_exp_test_unit_default "$_wave_session_group_exp_test_unit_default"
117
-
118
- ## 添加信号到 group
119
- gui_sg_addsignal -group "$_wave_session_group_exp_test_unit_default" { }
120
- ## ============== exp_test_unit_default =========================
121
-
122
-
123
- ## -------------- exp_test_unit_default.axis_data_inf -------------------------
124
- ## set _wave_session_group_exp_test_unit_default_axis_data_inf Group1
125
- ## set _wave_session_group_exp_test_unit_default_axis_data_inf [gui_sg_generate_new_name -seed axis_data_inf -parent $_wave_session_group_exp_test_unit_default ]
126
-
127
- set _wave_session_group_exp_test_unit_default_axis_data_inf $_wave_session_group_exp_test_unit_default|
128
- append _wave_session_group_exp_test_unit_default_axis_data_inf axis_data_inf
129
- set exp_test_unit_default|axis_data_inf "$_wave_session_group_exp_test_unit_default_axis_data_inf"
130
-
131
- # set Group2_exp_test_unit_default_axis_data_inf "$_wave_session_group_exp_test_unit_default_axis_data_inf"
132
-
133
- ## 添加信号到 group
134
- gui_sg_addsignal -group "$_wave_session_group_exp_test_unit_default_axis_data_inf" { {Sim:tb_exp_test_unit.rtl_top.axis_data_inf} }
135
- ## ============== exp_test_unit_default.axis_data_inf =========================
136
-
137
17
 
138
18
  ## 创建波形窗口
139
19
  if {![info exists useOldWindow]} {
@@ -162,33 +42,9 @@ gui_wv_zoom_timerange -id ${Wave.3} 0 1000000000
162
42
  ## gui_list_add_group -id ${Wave.3} -after ${Group2} [list ${Group2|tx_inf}]
163
43
  ## gui_list_expand -id ${Wave.3} tb_Mammo_TCP_sim.rtl_top.fpga_version_verb.ctrl_tap_inf
164
44
  ## === [add_signal_wave] === ##
165
- ## -------------- Group2_sub_md0_logic -------------------------
166
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${Group2_sub_md0_logic}]
167
- ## ============== Group2_sub_md0_logic =========================
168
- ## -------------- Group2_sub_md0_interface -------------------------
169
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${Group2_sub_md0_interface}]
170
- ## ============== Group2_sub_md0_interface =========================
171
- ## -------------- Group2_sub_md0_default -------------------------
172
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${Group2_sub_md0_default}]
173
- ## ============== Group2_sub_md0_default =========================
174
- ## -------------- sub_md0_default|inter_tf -------------------------
175
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${sub_md0_default|inter_tf}]
176
- ## ============== sub_md0_default|inter_tf =========================
177
- ## -------------- Group2_sub_md1_default -------------------------
178
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${Group2_sub_md1_default}]
179
- ## ============== Group2_sub_md1_default =========================
180
- ## -------------- Group2_sub_md1_inner -------------------------
181
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${Group2_sub_md1_inner}]
182
- ## ============== Group2_sub_md1_inner =========================
183
- ## -------------- sub_md1_inner|inter_tf -------------------------
184
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${sub_md1_inner|inter_tf}]
185
- ## ============== sub_md1_inner|inter_tf =========================
186
- ## -------------- Group2_exp_test_unit_default -------------------------
187
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${Group2_exp_test_unit_default}]
188
- ## ============== Group2_exp_test_unit_default =========================
189
- ## -------------- exp_test_unit_default|axis_data_inf -------------------------
190
- gui_list_add_group -id ${Wave.3} -after {New Group} [list ${exp_test_unit_default|axis_data_inf}]
191
- ## ============== exp_test_unit_default|axis_data_inf =========================
45
+
46
+
47
+
192
48
 
193
49
  gui_seek_criteria -id ${Wave.3} {Any Edge}
194
50
 
@@ -205,12 +61,9 @@ gui_list_set_filter -id ${Wave.3} -list { {Buffer 1} {Input 1} {Others 1} {Linka
205
61
  gui_list_set_filter -id ${Wave.3} -text {*}
206
62
  ##gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2} -position in
207
63
  ## === [add_bar] === ##
208
- gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2_sub_md0_logic} -position in
209
- gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2_sub_md0_interface} -position in
210
- gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2_sub_md0_default} -position in
211
- gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2_sub_md1_default} -position in
212
- gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2_sub_md1_inner} -position in
213
- gui_list_set_insertion_bar -id ${Wave.3} -group ${Group2_exp_test_unit_default} -position in
64
+
65
+
66
+
214
67
 
215
68
  gui_marker_move -id ${Wave.3} {C1} 560248001
216
69
  gui_view_scroll -id ${Wave.3} -vertical -set 35
@@ -1,9 +1,28 @@
1
-
1
+ /**********************************************
2
+ _______________________________________
3
+ ___________ Cook Darwin __________
4
+ _______________________________________
5
+ descript:
6
+ author : Cook.Darwin
7
+ Version: VERA.0.0
8
+ created: 2021-05-30 12:21:54 +0800
9
+ madified:
10
+ ***********************************************/
2
11
  `timescale 1ns/1ps
3
- module test_top();
4
- initial begin
5
- #(1us);
6
- $warning("Check TopModule.sim,please!!!");
7
- $stop;
8
- end
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
+
9
28
  endmodule
@@ -1,28 +1,9 @@
1
- /**********************************************
2
- _______________________________________
3
- ___________ Cook Darwin __________
4
- _______________________________________
5
- descript:
6
- author : Cook.Darwin
7
- Version: VERA.0.0
8
- created: 2021-05-04 20:03:49 +0800
9
- madified:
10
- ***********************************************/
11
- `timescale 1ns/1ps
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
1
 
2
+ `timescale 1ns/1ps
3
+ module test_top_sim();
4
+ initial begin
5
+ #(1us);
6
+ $warning("Check TopModule.sim,please!!!");
7
+ $stop;
8
+ end
28
9
  endmodule
@@ -5,7 +5,7 @@ _______________________________________
5
5
  descript:
6
6
  author : Cook.Darwin
7
7
  Version: VERA.0.0
8
- created: 2021-05-04 20:03:49 +0800
8
+ created: 2021-05-30 12:21:54 +0800
9
9
  madified:
10
10
  ***********************************************/
11
11
  `timescale 1ns/1ps
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.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cook.Darwin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-04 00:00:00.000000000 Z
11
+ date: 2021-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake