SimpleVOut  1.0.0 Initial
A Simple FPGA Core for Creating VGA/DVI/HDMI/OpenLDI Signals
processing_system7_vip_v1_0_vl_rfs.sv
Go to the documentation of this file.
1 /*****************************************************************************
2  * File : processing_system7_vip_v1_0_10_arb_wr.v
3  *
4  * Date : 2012-11
5  *
6  * Description : Module that arbitrates between 2 write requests from 2 ports.
7  *
8  *****************************************************************************/
9  `timescale 1ns/1ps
10 
12  rstn,
13  sw_clk,
14  qos1,
15  qos2,
16  prt_dv1,
17  prt_dv2,
18  prt_data1,
19  prt_data2,
20  prt_addr1,
21  prt_addr2,
22  prt_bytes1,
23  prt_bytes2,
24  prt_strb1,
25  prt_strb2,
26  prt_ack1,
27  prt_ack2,
28  prt_qos,
29  prt_req,
30  prt_data,
31  prt_strb,
32  prt_addr,
33  prt_bytes,
34  prt_ack
35 
36 );
37 `include "processing_system7_vip_v1_0_10_local_params.v"
38 input rstn, sw_clk;
39 input [axi_qos_width-1:0] qos1,qos2;
40 input [max_burst_bits-1:0] prt_data1,prt_data2;
41 input [max_burst_bytes-1:0] prt_strb1,prt_strb2;
42 input [addr_width-1:0] prt_addr1,prt_addr2;
43 input [max_burst_bytes_width:0] prt_bytes1,prt_bytes2;
44 input prt_dv1, prt_dv2, prt_ack;
45 output reg prt_ack1,prt_ack2,prt_req;
46 output reg [max_burst_bits-1:0] prt_data;
47 output reg [max_burst_bytes-1:0] prt_strb;
48 output reg [addr_width-1:0] prt_addr;
49 output reg [max_burst_bytes_width:0] prt_bytes;
50 output reg [axi_qos_width-1:0] prt_qos;
51 
52 parameter wait_req = 2'b00, serv_req1 = 2'b01, serv_req2 = 2'b10,wait_ack_low = 2'b11;
53 reg [1:0] state,temp_state;
54 bit DEBUG_INFO = 1;
55 
56 always@(posedge sw_clk or negedge rstn)
57 begin
58 if(!rstn) begin
59  state = wait_req;
60  prt_req = 1'b0;
61  prt_ack1 = 1'b0;
62  prt_ack2 = 1'b0;
63  prt_qos = 0;
64 end else begin
65  case(state)
66  wait_req:begin
67  state = wait_req;
68  prt_ack1 = 1'b0;
69  prt_ack2 = 1'b0;
70  prt_req = 1'b0;
71  if(prt_dv1 && !prt_dv2) begin
72  state = serv_req1;
73  prt_req = 1;
74  #0 prt_data = prt_data1;
75  #0 prt_strb = prt_strb1;
76  if(DEBUG_INFO) begin
77  $display("%m : prt_strb %0h prt_strb1 %0h",prt_data,prt_data1);
78  $display("%m : prt_strb %0h prt_strb1 %0h",prt_strb,prt_strb1);
79  end
80  prt_addr = prt_addr1;
81  prt_bytes = prt_bytes1;
82  prt_qos = qos1;
83  end else if(!prt_dv1 && prt_dv2) begin
84  state = serv_req2;
85  prt_req = 1;
86  prt_qos = qos2;
87  #0 prt_data = prt_data2;
88  #0 prt_strb = prt_strb2;
89  if(DEBUG_INFO) begin
90  $display("%m : prt_data %0h prt_data2 %0h",prt_strb,prt_data2);
91  $display("%m : prt_strb %0h prt_strb2 %0h",prt_strb,prt_strb2);
92  end
93  prt_addr = prt_addr2;
94  prt_bytes = prt_bytes2;
95  end else if(prt_dv1 && prt_dv2) begin
96  if(qos1 > qos2) begin
97  prt_req = 1;
98  prt_qos = qos1;
99  #0 prt_data = prt_data1;
100  #0 prt_strb = prt_strb1;
101  if(DEBUG_INFO) begin
102  $display("%m : prt_strb %0h prt_strb1 %0h",prt_strb,prt_strb1);
103  end
104  prt_addr = prt_addr1;
105  prt_bytes = prt_bytes1;
106  state = serv_req1;
107  end else if(qos1 < qos2) begin
108  prt_req = 1;
109  prt_qos = qos2;
110  #0 prt_data = prt_data2;
111  #0 prt_strb = prt_strb2;
112  if(DEBUG_INFO) begin
113  $display("%m : prt_data %0h prt_data2 %0h",prt_strb,prt_data2);
114  $display("%m : prt_strb %0h prt_strb2 %0h",prt_strb,prt_strb2);
115  end
116  prt_addr = prt_addr2;
117  prt_bytes = prt_bytes2;
118  state = serv_req2;
119  end else begin
120  prt_req = 1;
121  prt_qos = qos1;
122  #0 prt_data = prt_data1;
123  #0 prt_strb = prt_strb1;
124  if(DEBUG_INFO) begin
125  $display("%m : prt_strb %0h prt_strb1 %0h",prt_strb,prt_strb1);
126  end
127  prt_addr = prt_addr1;
128  prt_bytes = prt_bytes1;
129  state = serv_req1;
130  end
131  end
132  end
133  serv_req1:begin
134  state = serv_req1;
135  prt_ack2 = 1'b0;
136  if(prt_ack) begin
137  prt_ack1 = 1'b1;
138  prt_req = 0;
139  if(prt_dv2) begin
140  prt_req = 1;
141  prt_qos = qos2;
142  #0 prt_data = prt_data2;
143  #0 prt_strb = prt_strb2;
144  if(DEBUG_INFO) begin
145  $display("%m : prt_data %0h prt_data2 %0h",prt_strb,prt_data2);
146  $display("%m : prt_strb %0h prt_strb2 %0h",prt_strb,prt_strb2);
147  end
148  prt_addr = prt_addr2;
149  prt_bytes = prt_bytes2;
150  state = serv_req2;
151  end else begin
152  // state = wait_req;
153  state = wait_ack_low;
154  end
155  end
156  end
157  serv_req2:begin
158  state = serv_req2;
159  prt_ack1 = 1'b0;
160  if(prt_ack) begin
161  prt_ack2 = 1'b1;
162  prt_req = 0;
163  if(prt_dv1) begin
164  prt_req = 1;
165  prt_qos = qos1;
166  #0 prt_data = prt_data1;
167  #0 prt_strb = prt_strb1;
168  if(DEBUG_INFO) begin
169  $display("%m : prt_strb %0h prt_strb1 %0h",prt_strb,prt_strb1);
170  end
171  prt_addr = prt_addr1;
172  prt_bytes = prt_bytes1;
173  state = serv_req1;
174  end else begin
175  state = wait_ack_low;
176  // state = wait_req;
177  end
178  end
179  end
180  wait_ack_low:begin
181  prt_ack1 = 1'b0;
182  prt_ack2 = 1'b0;
183  state = wait_ack_low;
184  if(!prt_ack)
185  state = wait_req;
186  end
187  endcase
188 end /// if else
189 end /// always
190 endmodule
191 
192 
193 /*****************************************************************************
194  * File : processing_system7_vip_v1_0_10_arb_rd.v
195  *
196  * Date : 2012-11
197  *
198  * Description : Module that arbitrates between 2 read requests from 2 ports.
199  *
200  *****************************************************************************/
201  `timescale 1ns/1ps
202 
204  rstn,
205  sw_clk,
206 
207  qos1,
208  qos2,
209 
210  prt_req1,
211  prt_req2,
212  prt_bytes1,
213  prt_bytes2,
214  prt_addr1,
215  prt_addr2,
216  prt_data1,
217  prt_data2,
218  prt_dv1,
219  prt_dv2,
220 
221  prt_req,
222  prt_qos,
223  prt_addr,
224  prt_bytes,
225  prt_data,
226  prt_dv
227 
228 );
229 `include "processing_system7_vip_v1_0_10_local_params.v"
230 input rstn, sw_clk;
231 input [axi_qos_width-1:0] qos1,qos2;
232 input prt_req1, prt_req2;
233 input [addr_width-1:0] prt_addr1, prt_addr2;
234 input [max_burst_bytes_width:0] prt_bytes1, prt_bytes2;
235 output reg prt_dv1, prt_dv2;
236 output reg [max_burst_bits-1:0] prt_data1,prt_data2;
237 
238 output reg prt_req;
239 output reg [axi_qos_width-1:0] prt_qos;
240 output reg [addr_width-1:0] prt_addr;
241 output reg [max_burst_bytes_width:0] prt_bytes;
242 input [max_burst_bits-1:0] prt_data;
243 input prt_dv;
244 
245 parameter wait_req = 2'b00, serv_req1 = 2'b01, serv_req2 = 2'b10,wait_dv_low = 2'b11;
246 reg [1:0] state;
247 bit DEBUG_INFO = 1;
248 
249 always@(posedge sw_clk or negedge rstn)
250 begin
251 if(!rstn) begin
252  state = wait_req;
253  prt_req = 1'b0;
254  prt_dv1 = 1'b0;
255  prt_dv2 = 1'b0;
256  prt_qos = 0;
257 end else begin
258  case(state)
259  wait_req:begin
260  state = wait_req;
261  prt_dv1 = 1'b0;
262  prt_dv2 = 1'b0;
263  prt_req = 0;
264  if(prt_req1 && !prt_req2) begin
265  state = serv_req1;
266  prt_req = 1;
267  prt_qos = qos1;
268  prt_addr = prt_addr1;
269  prt_bytes = prt_bytes1;
270  end else if(!prt_req1 && prt_req2) begin
271  state = serv_req2;
272  prt_req = 1;
273  prt_qos = qos2;
274  prt_addr = prt_addr2;
275  prt_bytes = prt_bytes2;
276  end else if(prt_req1 && prt_req2) begin
277  if(qos1 > qos2) begin
278  prt_req = 1;
279  prt_qos = qos1;
280  prt_addr = prt_addr1;
281  prt_bytes = prt_bytes1;
282  state = serv_req1;
283  end else if(qos1 < qos2) begin
284  prt_req = 1;
285  prt_addr = prt_addr2;
286  prt_qos = qos2;
287  prt_bytes = prt_bytes2;
288  state = serv_req2;
289  end else begin
290  prt_req = 1;
291  prt_qos = qos1;
292  prt_addr = prt_addr1;
293  prt_bytes = prt_bytes1;
294  state = serv_req1;
295  end
296  end
297  end
298  serv_req1:begin
299  state = serv_req1;
300  prt_dv2 = 1'b0;
301  if(prt_dv) begin
302  prt_dv1 = 1'b1;
303  prt_data1 = prt_data;
304  prt_req = 0;
305  if(prt_req2) begin
306  prt_req = 1;
307  prt_qos = qos2;
308  prt_addr = prt_addr2;
309  prt_bytes = prt_bytes2;
310  state = serv_req2;
311  end else begin
312  state = wait_dv_low;
313  //state = wait_req;
314  end
315  end
316  end
317  serv_req2:begin
318  state = serv_req2;
319  prt_dv1 = 1'b0;
320  if(prt_dv) begin
321  prt_dv2 = 1'b1;
322  prt_data2 = prt_data;
323  prt_req = 0;
324  if(prt_req1) begin
325  prt_req = 1;
326  prt_qos = qos1;
327  prt_addr = prt_addr1;
328  prt_bytes = prt_bytes1;
329  state = serv_req1;
330  end else begin
331  state = wait_dv_low;
332  //state = wait_req;
333  end
334  end
335  end
336 
337  wait_dv_low:begin
338  prt_dv1 = 1'b0;
339  prt_dv2 = 1'b0;
340  state = wait_dv_low;
341  if(!prt_dv)
342  state = wait_req;
343  end
344  endcase
345 end /// if else
346 end /// always
347 endmodule
348 
349 
350 /*****************************************************************************
351  * File : processing_system7_vip_v1_0_10_arb_wr_4.v
352  *
353  * Date : 2012-11
354  *
355  * Description : Module that arbitrates between 4 write requests from 4 ports.
356  *
357  *****************************************************************************/
358  `timescale 1ns/1ps
359 
360 module processing_system7_vip_v1_0_10_arb_wr_4(
361  rstn,
362  sw_clk,
363 
364  qos1,
365  qos2,
366  qos3,
367  qos4,
368 
369  prt_dv1,
370  prt_dv2,
371  prt_dv3,
372  prt_dv4,
373 
374  prt_data1,
375  prt_data2,
376  prt_data3,
377  prt_data4,
378 
379  prt_strb1,
380  prt_strb2,
381  prt_strb3,
382  prt_strb4,
383 
384  prt_addr1,
385  prt_addr2,
386  prt_addr3,
387  prt_addr4,
388 
389  prt_bytes1,
390  prt_bytes2,
391  prt_bytes3,
392  prt_bytes4,
393 
394 prt_ack1,
395  prt_ack2,
396  prt_ack3,
397  prt_ack4,
398 
399  prt_qos,
400  prt_req,
401  prt_data,
402  prt_strb,
403  prt_addr,
404  prt_bytes,
405  prt_ack
406 
407 );
408 `include "processing_system7_vip_v1_0_10_local_params.v"
409 input rstn, sw_clk;
410 input [axi_qos_width-1:0] qos1,qos2,qos3,qos4;
411 input [max_burst_bits-1:0] prt_data1,prt_data2,prt_data3,prt_data4;
412 input [addr_width-1:0] prt_addr1,prt_addr2,prt_addr3,prt_addr4;
413 input [max_burst_bytes_width:0] prt_bytes1,prt_bytes2,prt_bytes3,prt_bytes4;
414 input [max_burst_bytes-1:0] prt_strb1,prt_strb2,prt_strb3,prt_strb4;
415 input prt_dv1, prt_dv2,prt_dv3, prt_dv4, prt_ack;
416 output reg prt_ack1,prt_ack2,prt_ack3,prt_ack4,prt_req;
417 output reg [max_burst_bits-1:0] prt_data;
418 output reg [max_burst_bytes-1:0] prt_strb;
419 output reg [addr_width-1:0] prt_addr;
420 output reg [max_burst_bytes_width:0] prt_bytes;
421 output reg [axi_qos_width-1:0] prt_qos;
422 parameter wait_req = 3'b000, serv_req1 = 3'b001, serv_req2 = 3'b010, serv_req3 = 3'b011, serv_req4 = 4'b100,wait_ack_low = 3'b101;
423 reg [2:0] state;
424 reg DEBUG_INFO = 1;
425 
426 always@(posedge sw_clk or negedge rstn)
427 begin
428 if(!rstn) begin
429  state = wait_req;
430  prt_req = 1'b0;
431  prt_ack1 = 1'b0;
432  prt_ack2 = 1'b0;
433  prt_ack3 = 1'b0;
434  prt_ack4 = 1'b0;
435  prt_qos = 0;
436 end else begin
437  case(state)
438  wait_req:begin
439  state = wait_req;
440  prt_ack1 = 1'b0;
441  prt_ack2 = 1'b0;
442  prt_ack3 = 1'b0;
443  prt_ack4 = 1'b0;
444  prt_req = 0;
445  if(prt_dv1) begin
446  state = serv_req1;
447  prt_req = 1;
448  prt_qos = qos1;
449  #0 prt_data = prt_data1;
450  #0 prt_strb = prt_strb1;
451  if(DEBUG_INFO) begin
452  $display("%m : prt_data %0h prt_data1 %0h ",prt_data,prt_data1);
453  $display("%m : prt_strb %0h prt_strb1 %0h ",prt_strb,prt_strb1);
454  end
455  prt_addr = prt_addr1;
456  prt_bytes = prt_bytes1;
457  end else if(prt_dv2) begin
458  state = serv_req2;
459  prt_req = 1;
460  prt_qos = qos2;
461  #0 prt_data = prt_data2;
462  #0 prt_strb = prt_strb2;
463  if(DEBUG_INFO) begin
464  $display("%m : prt_data %0h prt_data2 %0h ",prt_data,prt_data2);
465  $display("%m : prt_strb %0h prt_strb2 %0h ",prt_strb,prt_strb2);
466  end
467  prt_addr = prt_addr2;
468  prt_bytes = prt_bytes2;
469  end else if(prt_dv3) begin
470  state = serv_req3;
471  prt_req = 1;
472  prt_qos = qos3;
473  #0 prt_data = prt_data3;
474  #0 prt_strb = prt_strb3;
475  if(DEBUG_INFO) begin
476  $display("%m : prt_data %0h prt_data3 %0h ",prt_data,prt_data3);
477  $display("%m : prt_strb %0h prt_strb3 %0h ",prt_strb,prt_strb3);
478  end
479  prt_addr = prt_addr3;
480  prt_bytes = prt_bytes3;
481  end else if(prt_dv4) begin
482  prt_req = 1;
483  prt_qos = qos4;
484  #0 prt_data = prt_data4;
485  #0 prt_strb = prt_strb4;
486  if(DEBUG_INFO) begin
487  $display("%m : prt_data %0h prt_data4 %0h ",prt_data,prt_data4);
488  $display("%m : prt_strb %0h prt_strb4 %0h ",prt_strb,prt_strb4);
489  end
490  prt_addr = prt_addr4;
491  prt_bytes = prt_bytes4;
492  state = serv_req4;
493  end
494  end
495  serv_req1:begin
496  state = serv_req1;
497  prt_ack2 = 1'b0;
498  prt_ack3 = 1'b0;
499  prt_ack4 = 1'b0;
500  if(prt_ack)begin
501  prt_ack1 = 1'b1;
502  //state = wait_req;
503  state = wait_ack_low;
504  prt_req = 0;
505  if(prt_dv2) begin
506  state = serv_req2;
507  prt_qos = qos2;
508  prt_req = 1;
509  #0 prt_data = prt_data2;
510  #0 prt_strb = prt_strb2;
511  if(DEBUG_INFO) begin
512  $display("%m : prt_data %0h prt_data2 %0h ",prt_data,prt_data2);
513  $display("%m : prt_strb %0h prt_strb2 %0h ",prt_strb,prt_strb2);
514  end
515  prt_addr = prt_addr2;
516  prt_bytes = prt_bytes2;
517  end else if(prt_dv3) begin
518  state = serv_req3;
519  prt_req = 1;
520  prt_qos = qos3;
521  #0 prt_data = prt_data3;
522  #0 prt_strb = prt_strb3;
523  if(DEBUG_INFO) begin
524  $display("%m : prt_data %0h prt_data3 %0h ",prt_data,prt_data3);
525  $display("%m : prt_strb %0h prt_strb3 %0h ",prt_strb,prt_strb3);
526  end
527  prt_addr = prt_addr3;
528  prt_bytes = prt_bytes3;
529  end else if(prt_dv4) begin
530  prt_req = 1;
531  prt_qos = qos4;
532  #0 prt_data = prt_data4;
533  #0 prt_strb = prt_strb4;
534  if(DEBUG_INFO) begin
535  $display("%m : prt_data %0h prt_data4 %0h ",prt_data,prt_data4);
536  $display("%m : prt_strb %0h prt_strb4 %0h ",prt_strb,prt_strb4);
537  end
538  prt_addr = prt_addr4;
539  prt_bytes = prt_bytes4;
540  state = serv_req4;
541  end
542  end
543  end
544  serv_req2:begin
545  state = serv_req2;
546  prt_ack1 = 1'b0;
547  prt_ack3 = 1'b0;
548  prt_ack4 = 1'b0;
549  if(prt_ack)begin
550  prt_ack2 = 1'b1;
551  //state = wait_req;
552  state = wait_ack_low;
553  prt_req = 0;
554  if(prt_dv3) begin
555  state = serv_req3;
556  prt_qos = qos3;
557  prt_req = 1;
558  #0 prt_data = prt_data3;
559  #0 prt_strb = prt_strb3;
560  if(DEBUG_INFO) begin
561  $display("%m : prt_data %0h prt_data3 %0h ",prt_data,prt_data3);
562  $display("%m : prt_strb %0h prt_strb3 %0h ",prt_strb,prt_strb3);
563  end
564  prt_addr = prt_addr3;
565  prt_bytes = prt_bytes3;
566  end else if(prt_dv4) begin
567  state = serv_req4;
568  prt_req = 1;
569  prt_qos = qos4;
570  #0 prt_data = prt_data4;
571  #0 prt_strb = prt_strb4;
572  if(DEBUG_INFO) begin
573  $display("%m : prt_data %0h prt_data4 %0h ",prt_data,prt_data4);
574  $display("%m : prt_strb %0h prt_strb4 %0h ",prt_strb,prt_strb4);
575  end
576  prt_addr = prt_addr4;
577  prt_bytes = prt_bytes4;
578  end else if(prt_dv1) begin
579  prt_req = 1;
580  prt_qos = qos1;
581  #0 prt_data = prt_data1;
582  #0 prt_strb = prt_strb1;
583  if(DEBUG_INFO) begin
584  $display("%m : prt_data %0h prt_data1 %0h ",prt_data,prt_data1);
585  $display("%m : prt_strb %0h prt_strb1 %0h ",prt_strb,prt_strb1);
586  end
587  prt_addr = prt_addr1;
588  prt_bytes = prt_bytes1;
589  state = serv_req1;
590  end
591  end
592  end
593  serv_req3:begin
594  state = serv_req3;
595  prt_ack1 = 1'b0;
596  prt_ack2 = 1'b0;
597  prt_ack4 = 1'b0;
598  if(prt_ack)begin
599  prt_ack3 = 1'b1;
600 // state = wait_req;
601  state = wait_ack_low;
602  prt_req = 0;
603  if(prt_dv4) begin
604  state = serv_req4;
605  prt_qos = qos4;
606  prt_req = 1;
607  #0 prt_data = prt_data4;
608  #0 prt_strb = prt_strb4;
609  if(DEBUG_INFO) begin
610  $display("%m : prt_data %0h prt_data4 %0h ",prt_data,prt_data4);
611  $display("%m : prt_strb %0h prt_strb4 %0h ",prt_strb,prt_strb4);
612  end
613  prt_addr = prt_addr4;
614  prt_bytes = prt_bytes4;
615  end else if(prt_dv1) begin
616  state = serv_req1;
617  prt_req = 1;
618  prt_qos = qos1;
619  #0 prt_data = prt_data1;
620  #0 prt_strb = prt_strb1;
621  if(DEBUG_INFO) begin
622  $display("%m : prt_data %0h prt_data1 %0h ",prt_data,prt_data1);
623  $display("%m : prt_strb %0h prt_strb1 %0h ",prt_strb,prt_strb1);
624  end
625  prt_addr = prt_addr1;
626  prt_bytes = prt_bytes1;
627  end else if(prt_dv2) begin
628  prt_req = 1;
629  prt_qos = qos2;
630  #0 prt_data = prt_data2;
631  #0 prt_strb = prt_strb2;
632  if(DEBUG_INFO) begin
633  $display("%m : prt_data %0h prt_data2 %0h ",prt_data,prt_data2);
634  $display("%m : prt_strb %0h prt_strb2 %0h ",prt_strb,prt_strb2);
635  end
636  prt_addr = prt_addr2;
637  prt_bytes = prt_bytes2;
638  state = serv_req2;
639  end
640  end
641  end
642  serv_req4:begin
643  state = serv_req4;
644  prt_ack1 = 1'b0;
645  prt_ack2 = 1'b0;
646  prt_ack3 = 1'b0;
647  if(prt_ack)begin
648  prt_ack4 = 1'b1;
649  //state = wait_req;
650  state = wait_ack_low;
651  prt_req = 0;
652  if(prt_dv1) begin
653  state = serv_req1;
654  prt_req = 1;
655  prt_qos = qos1;
656  #0 prt_data = prt_data1;
657  #0 prt_strb = prt_strb1;
658  if(DEBUG_INFO) begin
659  $display("%m : prt_data %0h prt_data1 %0h ",prt_data,prt_data1);
660  $display("%m : prt_strb %0h prt_strb1 %0h ",prt_strb,prt_strb1);
661  end
662  prt_addr = prt_addr1;
663  prt_bytes = prt_bytes1;
664  end else if(prt_dv2) begin
665  state = serv_req2;
666  prt_req = 1;
667  prt_qos = qos2;
668  #0 prt_data = prt_data2;
669  #0 prt_strb = prt_strb2;
670  if(DEBUG_INFO) begin
671  $display("%m : prt_data %0h prt_data2 %0h ",prt_data,prt_data2);
672  $display("%m : prt_strb %0h prt_strb2 %0h ",prt_strb,prt_strb2);
673  end
674  prt_addr = prt_addr2;
675  prt_bytes = prt_bytes2;
676  end else if(prt_dv3) begin
677  prt_req = 1;
678  prt_qos = qos3;
679  #0 prt_data = prt_data3;
680  #0 prt_strb = prt_strb3;
681  if(DEBUG_INFO) begin
682  $display("%m : prt_data %0h prt_data3 %0h ",prt_data,prt_data3);
683  $display("%m : prt_strb %0h prt_strb3 %0h ",prt_strb,prt_strb3);
684  end
685  prt_addr = prt_addr3;
686  prt_bytes = prt_bytes3;
687  state = serv_req3;
688  end
689  end
690  end
691  wait_ack_low:begin
692  state = wait_ack_low;
693  prt_ack1 = 1'b0;
694  prt_ack2 = 1'b0;
695  prt_ack3 = 1'b0;
696  prt_ack4 = 1'b0;
697  if(!prt_ack)
698  state = wait_req;
699  end
700  endcase
701 end /// if else
702 end /// always
703 endmodule
704 
705 
706 /*****************************************************************************
707  * File : processing_system7_vip_v1_0_10_arb_rd_4.v
708  *
709  * Date : 2012-11
710  *
711  * Description : Module that arbitrates between 4 read requests from 4 ports.
712  *
713  *****************************************************************************/
714  `timescale 1ns/1ps
715 
717  rstn,
718  sw_clk,
719 
720  qos1,
721  qos2,
722  qos3,
723  qos4,
724 
725  prt_req1,
726  prt_req2,
727  prt_req3,
728  prt_req4,
729 
730  prt_data1,
731  prt_data2,
732  prt_data3,
733  prt_data4,
734 
735  prt_addr1,
736  prt_addr2,
737  prt_addr3,
738  prt_addr4,
739 
740  prt_bytes1,
741  prt_bytes2,
742  prt_bytes3,
743  prt_bytes4,
744 
745  prt_dv1,
746  prt_dv2,
747  prt_dv3,
748  prt_dv4,
749 
750  prt_qos,
751  prt_req,
752  prt_data,
753  prt_addr,
754  prt_bytes,
755  prt_dv
756 
757 );
758 `include "processing_system7_vip_v1_0_10_local_params.v"
759 input rstn, sw_clk;
760 input [axi_qos_width-1:0] qos1,qos2,qos3,qos4;
761 input prt_req1, prt_req2,prt_req3, prt_req4, prt_dv;
762 output reg [max_burst_bits-1:0] prt_data1,prt_data2,prt_data3,prt_data4;
763 input [addr_width-1:0] prt_addr1,prt_addr2,prt_addr3,prt_addr4;
764 input [max_burst_bytes_width:0] prt_bytes1,prt_bytes2,prt_bytes3,prt_bytes4;
765 output reg prt_dv1,prt_dv2,prt_dv3,prt_dv4,prt_req;
766 input [max_burst_bits-1:0] prt_data;
767 output reg [addr_width-1:0] prt_addr;
768 output reg [max_burst_bytes_width:0] prt_bytes;
769 output reg [axi_qos_width-1:0] prt_qos;
770 
771 parameter wait_req = 3'b000, serv_req1 = 3'b001, serv_req2 = 3'b010, serv_req3 = 3'b011, serv_req4 = 3'b100, wait_dv_low=3'b101;
772 reg [2:0] state;
773 bit DEBUG_INFO = 1;
774 
775 always@(posedge sw_clk or negedge rstn)
776 begin
777 if(!rstn) begin
778  state = wait_req;
779  prt_req = 1'b0;
780  prt_dv1 = 1'b0;
781  prt_dv2 = 1'b0;
782  prt_dv3 = 1'b0;
783  prt_dv4 = 1'b0;
784  prt_qos = 0;
785 end else begin
786  case(state)
787  wait_req:begin
788  state = wait_req;
789  prt_dv1 = 1'b0;
790  prt_dv2 = 1'b0;
791  prt_dv3 = 1'b0;
792  prt_dv4 = 1'b0;
793  prt_req = 1'b0;
794  if(prt_req1) begin
795  state = serv_req1;
796  prt_req = 1;
797  prt_qos = qos1;
798  prt_addr = prt_addr1;
799  prt_bytes = prt_bytes1;
800  end else if(prt_req2) begin
801  state = serv_req2;
802  prt_req = 1;
803  prt_qos = qos2;
804  prt_addr = prt_addr2;
805  prt_bytes = prt_bytes2;
806  end else if(prt_req3) begin
807  state = serv_req3;
808  prt_req = 1;
809  prt_qos = qos3;
810  prt_addr = prt_addr3;
811  prt_bytes = prt_bytes3;
812  end else if(prt_req4) begin
813  prt_req = 1;
814  prt_addr = prt_addr4;
815  prt_qos = qos4;
816  prt_bytes = prt_bytes4;
817  state = serv_req4;
818  end
819  end
820  serv_req1:begin
821  state = serv_req1;
822  prt_dv2 = 1'b0;
823  prt_dv3 = 1'b0;
824  prt_dv4 = 1'b0;
825  if(prt_dv)begin
826  prt_dv1 = 1'b1;
827  prt_data1 = prt_data;
828  //state = wait_req;
829  state = wait_dv_low;
830  prt_req = 1'b0;
831  if(prt_req2) begin
832  state = serv_req2;
833  prt_qos = qos2;
834  prt_req = 1;
835  prt_addr = prt_addr2;
836  prt_bytes = prt_bytes2;
837  end else if(prt_req3) begin
838  state = serv_req3;
839  prt_qos = qos3;
840  prt_req = 1;
841  prt_addr = prt_addr3;
842  prt_bytes = prt_bytes3;
843  end else if(prt_req4) begin
844  prt_req = 1;
845  prt_qos = qos4;
846  prt_addr = prt_addr4;
847  prt_bytes = prt_bytes4;
848  state = serv_req4;
849  end
850  end
851  end
852  serv_req2:begin
853  state = serv_req2;
854  prt_dv1 = 1'b0;
855  prt_dv3 = 1'b0;
856  prt_dv4 = 1'b0;
857  if(prt_dv)begin
858  prt_dv2 = 1'b1;
859  prt_data2 = prt_data;
860  //state = wait_req;
861  state = wait_dv_low;
862  prt_req = 1'b0;
863  if(prt_req3) begin
864  state = serv_req3;
865  prt_req = 1;
866  prt_qos = qos3;
867  prt_addr = prt_addr3;
868  prt_bytes = prt_bytes3;
869  end else if(prt_req4) begin
870  state = serv_req4;
871  prt_req = 1;
872  prt_qos = qos4;
873  prt_addr = prt_addr4;
874  prt_bytes = prt_bytes4;
875  end else if(prt_req1) begin
876  prt_req = 1;
877  prt_addr = prt_addr1;
878  prt_qos = qos1;
879  prt_bytes = prt_bytes1;
880  state = serv_req1;
881  end
882  end
883  end
884  serv_req3:begin
885  state = serv_req3;
886  prt_dv1 = 1'b0;
887  prt_dv2 = 1'b0;
888  prt_dv4 = 1'b0;
889  if(prt_dv)begin
890  prt_dv3 = 1'b1;
891  prt_data3 = prt_data;
892  //state = wait_req;
893  state = wait_dv_low;
894  prt_req = 1'b0;
895  if(prt_req4) begin
896  state = serv_req4;
897  prt_qos = qos4;
898  prt_req = 1;
899  prt_addr = prt_addr4;
900  prt_bytes = prt_bytes4;
901  end else if(prt_req1) begin
902  state = serv_req1;
903  prt_req = 1;
904  prt_qos = qos1;
905  prt_addr = prt_addr1;
906  prt_bytes = prt_bytes1;
907  end else if(prt_req2) begin
908  prt_req = 1;
909  prt_qos = qos2;
910  prt_addr = prt_addr2;
911  prt_bytes = prt_bytes2;
912  state = serv_req2;
913  end
914  end
915  end
916  serv_req4:begin
917  state = serv_req4;
918  prt_dv1 = 1'b0;
919  prt_dv2 = 1'b0;
920  prt_dv3 = 1'b0;
921  if(prt_dv)begin
922  prt_dv4 = 1'b1;
923  prt_data4 = prt_data;
924  //state = wait_req;
925  state = wait_dv_low;
926  prt_req = 1'b0;
927  if(prt_req1) begin
928  state = serv_req1;
929  prt_qos = qos1;
930  prt_req = 1;
931  prt_addr = prt_addr1;
932  prt_bytes = prt_bytes1;
933  end else if(prt_req2) begin
934  state = serv_req2;
935  prt_req = 1;
936  prt_qos = qos2;
937  prt_addr = prt_addr2;
938  prt_bytes = prt_bytes2;
939  end else if(prt_req3) begin
940  prt_req = 1;
941  prt_addr = prt_addr3;
942  prt_qos = qos3;
943  prt_bytes = prt_bytes3;
944  state = serv_req3;
945  end
946  end
947  end
948  wait_dv_low:begin
949  state = wait_dv_low;
950  prt_dv1 = 1'b0;
951  prt_dv2 = 1'b0;
952  prt_dv3 = 1'b0;
953  prt_dv4 = 1'b0;
954  if(!prt_dv)
955  state = wait_req;
956  end
957  endcase
958 end /// if else
959 end /// always
960 endmodule
961 
962 
963 /*****************************************************************************
964  * File : processing_system7_vip_v1_0_10_arb_hp2_3.v
965  *
966  * Date : 2012-11
967  *
968  * Description : Module that arbitrates between RD/WR requests from 2 ports.
969  * Used for modelling the Top_Interconnect switch.
970  *****************************************************************************/
971  `timescale 1ns/1ps
972 
974  sw_clk,
975  rstn,
976  w_qos_hp2,
977  r_qos_hp2,
978  w_qos_hp3,
979  r_qos_hp3,
980 
981  wr_ack_ddr_hp2,
982  wr_data_hp2,
983  wr_strb_hp2,
984  wr_addr_hp2,
985  wr_bytes_hp2,
986  wr_dv_ddr_hp2,
987  rd_req_ddr_hp2,
988  rd_addr_hp2,
989  rd_bytes_hp2,
990  rd_data_ddr_hp2,
991  rd_dv_ddr_hp2,
992 
993  wr_ack_ddr_hp3,
994  wr_data_hp3,
995  wr_strb_hp3,
996  wr_addr_hp3,
997  wr_bytes_hp3,
998  wr_dv_ddr_hp3,
999  rd_req_ddr_hp3,
1000  rd_addr_hp3,
1001  rd_bytes_hp3,
1002  rd_data_ddr_hp3,
1003  rd_dv_ddr_hp3,
1004 
1005  ddr_wr_ack,
1006  ddr_wr_dv,
1007  ddr_rd_req,
1008  ddr_rd_dv,
1009  ddr_rd_qos,
1010  ddr_wr_qos,
1011 
1012  ddr_wr_addr,
1013  ddr_wr_data,
1014  ddr_wr_strb,
1015  ddr_wr_bytes,
1016  ddr_rd_addr,
1017  ddr_rd_data,
1018  ddr_rd_bytes
1019 
1020 );
1021 `include "processing_system7_vip_v1_0_10_local_params.v"
1022 input sw_clk;
1023 input rstn;
1024 input [axi_qos_width-1:0] w_qos_hp2;
1025 input [axi_qos_width-1:0] r_qos_hp2;
1026 input [axi_qos_width-1:0] w_qos_hp3;
1027 input [axi_qos_width-1:0] r_qos_hp3;
1028 input [axi_qos_width-1:0] ddr_rd_qos;
1029 input [axi_qos_width-1:0] ddr_wr_qos;
1030 
1031 output wr_ack_ddr_hp2;
1032 input [max_burst_bits-1:0] wr_data_hp2;
1033 input [max_burst_bytes-1:0] wr_strb_hp2;
1034 input [addr_width-1:0] wr_addr_hp2;
1035 input [max_burst_bytes_width:0] wr_bytes_hp2;
1036 output wr_dv_ddr_hp2;
1037 
1038 input rd_req_ddr_hp2;
1039 input [addr_width-1:0] rd_addr_hp2;
1040 input [max_burst_bytes_width:0] rd_bytes_hp2;
1041 output [max_burst_bits-1:0] rd_data_ddr_hp2;
1042 output rd_dv_ddr_hp2;
1043 
1044 output wr_ack_ddr_hp3;
1045 input [max_burst_bits-1:0] wr_data_hp3;
1046 input [max_burst_bytes-1:0] wr_strb_hp3;
1047 input [addr_width-1:0] wr_addr_hp3;
1048 input [max_burst_bytes_width:0] wr_bytes_hp3;
1049 output wr_dv_ddr_hp3;
1050 
1051 input rd_req_ddr_hp3;
1052 input [addr_width-1:0] rd_addr_hp3;
1053 input [max_burst_bytes_width:0] rd_bytes_hp3;
1054 output [max_burst_bits-1:0] rd_data_ddr_hp3;
1055 output rd_dv_ddr_hp3;
1056 
1057 input ddr_wr_ack;
1058 output ddr_wr_dv;
1059 output [addr_width-1:0]ddr_wr_addr;
1060 output [max_burst_bits-1:0]ddr_wr_data;
1061 output [max_burst_bytes-1:0]ddr_wr_strb;
1062 output [max_burst_bytes_width:0]ddr_wr_bytes;
1063 
1064 input ddr_rd_dv;
1065 input [max_burst_bits-1:0] ddr_rd_data;
1066 output ddr_rd_req;
1067 output [addr_width-1:0] ddr_rd_addr;
1068 output [max_burst_bytes_width:0] ddr_rd_bytes;
1069 
1070 
1071 
1072 
1074  .rstn(rstn),
1075  .sw_clk(sw_clk),
1076  .qos1(w_qos_hp2),
1077  .qos2(w_qos_hp3),
1078  .prt_dv1(wr_dv_ddr_hp2),
1079  .prt_dv2(wr_dv_ddr_hp3),
1080  .prt_data1(wr_data_hp2),
1081  .prt_data2(wr_data_hp3),
1082  .prt_strb1(wr_strb_hp2),
1083  .prt_strb2(wr_strb_hp3),
1084  .prt_addr1(wr_addr_hp2),
1085  .prt_addr2(wr_addr_hp3),
1086  .prt_bytes1(wr_bytes_hp2),
1087  .prt_bytes2(wr_bytes_hp3),
1088  .prt_ack1(wr_ack_ddr_hp2),
1089  .prt_ack2(wr_ack_ddr_hp3),
1090  .prt_req(ddr_wr_dv),
1091  .prt_qos(ddr_wr_qos),
1092  .prt_data(ddr_wr_data),
1093  .prt_strb(ddr_wr_strb),
1094  .prt_addr(ddr_wr_addr),
1095  .prt_bytes(ddr_wr_bytes),
1096  .prt_ack(ddr_wr_ack)
1097 );
1098 
1100  .rstn(rstn),
1101  .sw_clk(sw_clk),
1102  .qos1(r_qos_hp2),
1103  .qos2(r_qos_hp3),
1104  .prt_req1(rd_req_ddr_hp2),
1105  .prt_req2(rd_req_ddr_hp3),
1106  .prt_data1(rd_data_ddr_hp2),
1107  .prt_data2(rd_data_ddr_hp3),
1108  .prt_addr1(rd_addr_hp2),
1109  .prt_addr2(rd_addr_hp3),
1110  .prt_bytes1(rd_bytes_hp2),
1111  .prt_bytes2(rd_bytes_hp3),
1112  .prt_dv1(rd_dv_ddr_hp2),
1113  .prt_dv2(rd_dv_ddr_hp3),
1114  .prt_req(ddr_rd_req),
1115  .prt_qos(ddr_rd_qos),
1116  .prt_data(ddr_rd_data),
1117  .prt_addr(ddr_rd_addr),
1118  .prt_bytes(ddr_rd_bytes),
1119  .prt_dv(ddr_rd_dv)
1120 );
1121 
1122 endmodule
1123 
1124 
1125 /*****************************************************************************
1126  * File : processing_system7_vip_v1_0_10_arb_hp0_1.v
1127  *
1128  * Date : 2012-11
1129  *
1130  * Description : Module that arbitrates between RD/WR requests from 2 ports.
1131  * Used for modelling the Top_Interconnect switch.
1132  *****************************************************************************/
1133  `timescale 1ns/1ps
1134 
1136  sw_clk,
1137  rstn,
1138  w_qos_hp0,
1139  r_qos_hp0,
1140  w_qos_hp1,
1141  r_qos_hp1,
1142 
1143  wr_ack_ddr_hp0,
1144  wr_data_hp0,
1145  wr_strb_hp0,
1146  wr_addr_hp0,
1147  wr_bytes_hp0,
1148  wr_dv_ddr_hp0,
1149  rd_req_ddr_hp0,
1150  rd_addr_hp0,
1151  rd_bytes_hp0,
1152  rd_data_ddr_hp0,
1153  rd_dv_ddr_hp0,
1154 
1155  wr_ack_ddr_hp1,
1156  wr_data_hp1,
1157  wr_strb_hp1,
1158  wr_addr_hp1,
1159  wr_bytes_hp1,
1160  wr_dv_ddr_hp1,
1161  rd_req_ddr_hp1,
1162  rd_addr_hp1,
1163  rd_bytes_hp1,
1164  rd_data_ddr_hp1,
1165  rd_dv_ddr_hp1,
1166 
1167  ddr_wr_ack,
1168  ddr_wr_dv,
1169  ddr_rd_req,
1170  ddr_rd_dv,
1171  ddr_rd_qos,
1172  ddr_wr_qos,
1173 
1174  ddr_wr_addr,
1175  ddr_wr_data,
1176  ddr_wr_strb,
1177  ddr_wr_bytes,
1178  ddr_rd_addr,
1179  ddr_rd_data,
1180  ddr_rd_bytes
1181 
1182 );
1183 `include "processing_system7_vip_v1_0_10_local_params.v"
1184 input sw_clk;
1185 input rstn;
1186 input [axi_qos_width-1:0] w_qos_hp0;
1187 input [axi_qos_width-1:0] r_qos_hp0;
1188 input [axi_qos_width-1:0] w_qos_hp1;
1189 input [axi_qos_width-1:0] r_qos_hp1;
1190 input [axi_qos_width-1:0] ddr_rd_qos;
1191 input [axi_qos_width-1:0] ddr_wr_qos;
1192 
1193 output wr_ack_ddr_hp0;
1194 input [max_burst_bits-1:0] wr_data_hp0;
1195 input [max_burst_bytes-1:0] wr_strb_hp0;
1196 input [addr_width-1:0] wr_addr_hp0;
1197 input [max_burst_bytes_width:0] wr_bytes_hp0;
1198 output wr_dv_ddr_hp0;
1199 
1200 input rd_req_ddr_hp0;
1201 input [addr_width-1:0] rd_addr_hp0;
1202 input [max_burst_bytes_width:0] rd_bytes_hp0;
1203 output [max_burst_bits-1:0] rd_data_ddr_hp0;
1204 output rd_dv_ddr_hp0;
1205 
1206 output wr_ack_ddr_hp1;
1207 input [max_burst_bits-1:0] wr_data_hp1;
1208 input [max_burst_bytes-1:0] wr_strb_hp1;
1209 input [addr_width-1:0] wr_addr_hp1;
1210 input [max_burst_bytes_width:0] wr_bytes_hp1;
1211 output wr_dv_ddr_hp1;
1212 
1213 input rd_req_ddr_hp1;
1214 input [addr_width-1:0] rd_addr_hp1;
1215 input [max_burst_bytes_width:0] rd_bytes_hp1;
1216 output [max_burst_bits-1:0] rd_data_ddr_hp1;
1217 output rd_dv_ddr_hp1;
1218 
1219 input ddr_wr_ack;
1220 output ddr_wr_dv;
1221 output [addr_width-1:0]ddr_wr_addr;
1222 output [max_burst_bits-1:0]ddr_wr_data;
1223 output [max_burst_bytes-1:0]ddr_wr_strb;
1224 output [max_burst_bytes_width:0]ddr_wr_bytes;
1225 
1226 input ddr_rd_dv;
1227 input [max_burst_bits-1:0] ddr_rd_data;
1228 output ddr_rd_req;
1229 output [addr_width-1:0] ddr_rd_addr;
1230 output [max_burst_bytes_width:0] ddr_rd_bytes;
1231 
1232 
1233 
1234 
1236  .rstn(rstn),
1237  .sw_clk(sw_clk),
1238  .qos1(w_qos_hp0),
1239  .qos2(w_qos_hp1),
1240  .prt_dv1(wr_dv_ddr_hp0),
1241  .prt_dv2(wr_dv_ddr_hp1),
1242  .prt_data1(wr_data_hp0),
1243  .prt_data2(wr_data_hp1),
1244  .prt_strb1(wr_strb_hp0),
1245  .prt_strb2(wr_strb_hp1),
1246  .prt_addr1(wr_addr_hp0),
1247  .prt_addr2(wr_addr_hp1),
1248  .prt_bytes1(wr_bytes_hp0),
1249  .prt_bytes2(wr_bytes_hp1),
1250  .prt_ack1(wr_ack_ddr_hp0),
1251  .prt_ack2(wr_ack_ddr_hp1),
1252  .prt_req(ddr_wr_dv),
1253  .prt_qos(ddr_wr_qos),
1254  .prt_data(ddr_wr_data),
1255  .prt_strb(ddr_wr_strb),
1256  .prt_addr(ddr_wr_addr),
1257  .prt_bytes(ddr_wr_bytes),
1258  .prt_ack(ddr_wr_ack)
1259 );
1260 
1262  .rstn(rstn),
1263  .sw_clk(sw_clk),
1264  .qos1(r_qos_hp0),
1265  .qos2(r_qos_hp1),
1266  .prt_req1(rd_req_ddr_hp0),
1267  .prt_req2(rd_req_ddr_hp1),
1268  .prt_data1(rd_data_ddr_hp0),
1269  .prt_data2(rd_data_ddr_hp1),
1270  .prt_addr1(rd_addr_hp0),
1271  .prt_addr2(rd_addr_hp1),
1272  .prt_bytes1(rd_bytes_hp0),
1273  .prt_bytes2(rd_bytes_hp1),
1274  .prt_dv1(rd_dv_ddr_hp0),
1275  .prt_dv2(rd_dv_ddr_hp1),
1276  .prt_qos(ddr_rd_qos),
1277  .prt_req(ddr_rd_req),
1278  .prt_data(ddr_rd_data),
1279  .prt_addr(ddr_rd_addr),
1280  .prt_bytes(ddr_rd_bytes),
1281  .prt_dv(ddr_rd_dv)
1282 );
1283 
1284 endmodule
1285 
1286 
1287 /*****************************************************************************
1288  * File : processing_system7_vip_v1_0_10_ssw_hp.v
1289  *
1290  * Date : 2012-11
1291  *
1292  * Description : SSW switch Model
1293  *
1294  *****************************************************************************/
1295  `timescale 1ns/1ps
1296 
1298  sw_clk,
1299  rstn,
1300  w_qos_hp0,
1301  r_qos_hp0,
1302  w_qos_hp1,
1303  r_qos_hp1,
1304  w_qos_hp2,
1305  r_qos_hp2,
1306  w_qos_hp3,
1307  r_qos_hp3,
1308 
1309  wr_ack_ddr_hp0,
1310  wr_data_hp0,
1311  wr_strb_hp0,
1312  wr_addr_hp0,
1313  wr_bytes_hp0,
1314  wr_dv_ddr_hp0,
1315  rd_req_ddr_hp0,
1316  rd_addr_hp0,
1317  rd_bytes_hp0,
1318  rd_data_ddr_hp0,
1319  rd_dv_ddr_hp0,
1320 
1321  rd_data_ocm_hp0,
1322  wr_ack_ocm_hp0,
1323  wr_dv_ocm_hp0,
1324  rd_req_ocm_hp0,
1325  rd_dv_ocm_hp0,
1326 
1327  wr_ack_ddr_hp1,
1328  wr_data_hp1,
1329  wr_strb_hp1,
1330  wr_addr_hp1,
1331  wr_bytes_hp1,
1332  wr_dv_ddr_hp1,
1333  rd_req_ddr_hp1,
1334  rd_addr_hp1,
1335  rd_bytes_hp1,
1336  rd_data_ddr_hp1,
1337  rd_data_ocm_hp1,
1338  rd_dv_ddr_hp1,
1339 
1340  wr_ack_ocm_hp1,
1341  wr_dv_ocm_hp1,
1342  rd_req_ocm_hp1,
1343  rd_dv_ocm_hp1,
1344 
1345  wr_ack_ddr_hp2,
1346  wr_data_hp2,
1347  wr_strb_hp2,
1348  wr_addr_hp2,
1349  wr_bytes_hp2,
1350  wr_dv_ddr_hp2,
1351  rd_req_ddr_hp2,
1352  rd_addr_hp2,
1353  rd_bytes_hp2,
1354  rd_data_ddr_hp2,
1355  rd_data_ocm_hp2,
1356  rd_dv_ddr_hp2,
1357 
1358  wr_ack_ocm_hp2,
1359  wr_dv_ocm_hp2,
1360  rd_req_ocm_hp2,
1361  rd_dv_ocm_hp2,
1362 
1363  wr_ack_ddr_hp3,
1364  wr_data_hp3,
1365  wr_strb_hp3,
1366  wr_addr_hp3,
1367  wr_bytes_hp3,
1368  wr_dv_ddr_hp3,
1369  rd_req_ddr_hp3,
1370  rd_addr_hp3,
1371  rd_bytes_hp3,
1372  rd_data_ocm_hp3,
1373  rd_data_ddr_hp3,
1374  rd_dv_ddr_hp3,
1375 
1376  wr_ack_ocm_hp3,
1377  wr_dv_ocm_hp3,
1378  rd_req_ocm_hp3,
1379  rd_dv_ocm_hp3,
1380 
1381  ddr_wr_ack0,
1382  ddr_wr_dv0,
1383  ddr_rd_req0,
1384  ddr_rd_dv0,
1385  ddr_rd_qos0,
1386  ddr_wr_qos0,
1387 
1388  ddr_wr_addr0,
1389  ddr_wr_data0,
1390  ddr_wr_strb0,
1391  ddr_wr_bytes0,
1392  ddr_rd_addr0,
1393  ddr_rd_data0,
1394  ddr_rd_bytes0,
1395 
1396  ddr_wr_ack1,
1397  ddr_wr_dv1,
1398  ddr_rd_req1,
1399  ddr_rd_dv1,
1400  ddr_rd_qos1,
1401  ddr_wr_qos1,
1402  ddr_wr_addr1,
1403  ddr_wr_data1,
1404  ddr_wr_strb1,
1405  ddr_wr_bytes1,
1406  ddr_rd_addr1,
1407  ddr_rd_data1,
1408  ddr_rd_bytes1,
1409 
1410  ocm_wr_ack,
1411  ocm_wr_dv,
1412  ocm_rd_req,
1413  ocm_rd_dv,
1414 
1415  ocm_wr_qos,
1416  ocm_rd_qos,
1417  ocm_wr_addr,
1418  ocm_wr_data,
1419  ocm_wr_strb,
1420  ocm_wr_bytes,
1421  ocm_rd_addr,
1422  ocm_rd_data,
1423  ocm_rd_bytes
1424 
1425 
1426 
1427 );
1428 
1429 input sw_clk;
1430 input rstn;
1431 input [3:0] w_qos_hp0;
1432 input [3:0] r_qos_hp0;
1433 input [3:0] w_qos_hp1;
1434 input [3:0] r_qos_hp1;
1435 input [3:0] w_qos_hp2;
1436 input [3:0] r_qos_hp2;
1437 input [3:0] w_qos_hp3;
1438 input [3:0] r_qos_hp3;
1439 
1440 output [3:0] ddr_rd_qos0;
1441 output [3:0] ddr_wr_qos0;
1442 output [3:0] ddr_rd_qos1;
1443 output [3:0] ddr_wr_qos1;
1444 output [3:0] ocm_wr_qos;
1445 output [3:0] ocm_rd_qos;
1446 
1447 output wr_ack_ddr_hp0;
1448 input [1023:0] wr_data_hp0;
1449 input [127:0] wr_strb_hp0;
1450 input [31:0] wr_addr_hp0;
1451 input [7:0] wr_bytes_hp0;
1452 output wr_dv_ddr_hp0;
1453 
1454 input rd_req_ddr_hp0;
1455 input [31:0] rd_addr_hp0;
1456 input [7:0] rd_bytes_hp0;
1457 output [1023:0] rd_data_ddr_hp0;
1458 output rd_dv_ddr_hp0;
1459 
1460 output wr_ack_ddr_hp1;
1461 input [1023:0] wr_data_hp1;
1462 input [127:0] wr_strb_hp1;
1463 input [31:0] wr_addr_hp1;
1464 input [7:0] wr_bytes_hp1;
1465 output wr_dv_ddr_hp1;
1466 
1467 input rd_req_ddr_hp1;
1468 input [31:0] rd_addr_hp1;
1469 input [7:0] rd_bytes_hp1;
1470 output [1023:0] rd_data_ddr_hp1;
1471 output rd_dv_ddr_hp1;
1472 
1473 output wr_ack_ddr_hp2;
1474 input [1023:0] wr_data_hp2;
1475 input [127:0] wr_strb_hp2;
1476 input [31:0] wr_addr_hp2;
1477 input [7:0] wr_bytes_hp2;
1478 output wr_dv_ddr_hp2;
1479 
1480 input rd_req_ddr_hp2;
1481 input [31:0] rd_addr_hp2;
1482 input [7:0] rd_bytes_hp2;
1483 output [1023:0] rd_data_ddr_hp2;
1484 output rd_dv_ddr_hp2;
1485 
1486 output wr_ack_ddr_hp3;
1487 input [1023:0] wr_data_hp3;
1488 input [127:0] wr_strb_hp3;
1489 input [31:0] wr_addr_hp3;
1490 input [7:0] wr_bytes_hp3;
1491 output wr_dv_ddr_hp3;
1492 
1493 input rd_req_ddr_hp3;
1494 input [31:0] rd_addr_hp3;
1495 input [7:0] rd_bytes_hp3;
1496 output [1023:0] rd_data_ddr_hp3;
1497 output rd_dv_ddr_hp3;
1498 
1499 input ddr_wr_ack0;
1500 output ddr_wr_dv0;
1501 output [31:0]ddr_wr_addr0;
1502 output [1023:0]ddr_wr_data0;
1503 output [127:0]ddr_wr_strb0;
1504 output [7:0]ddr_wr_bytes0;
1505 
1506 input ddr_rd_dv0;
1507 input [1023:0] ddr_rd_data0;
1508 output ddr_rd_req0;
1509 output [31:0] ddr_rd_addr0;
1510 output [7:0] ddr_rd_bytes0;
1511 
1512 input ddr_wr_ack1;
1513 output ddr_wr_dv1;
1514 output [31:0]ddr_wr_addr1;
1515 output [1023:0]ddr_wr_data1;
1516 output [127:0]ddr_wr_strb1;
1517 output [7:0]ddr_wr_bytes1;
1518 
1519 input ddr_rd_dv1;
1520 input [1023:0] ddr_rd_data1;
1521 output ddr_rd_req1;
1522 output [31:0] ddr_rd_addr1;
1523 output [7:0] ddr_rd_bytes1;
1524 
1525 output wr_ack_ocm_hp0;
1526 input wr_dv_ocm_hp0;
1527 input rd_req_ocm_hp0;
1528 output rd_dv_ocm_hp0;
1529 output [1023:0] rd_data_ocm_hp0;
1530 
1531 output wr_ack_ocm_hp1;
1532 input wr_dv_ocm_hp1;
1533 input rd_req_ocm_hp1;
1534 output rd_dv_ocm_hp1;
1535 output [1023:0] rd_data_ocm_hp1;
1536 
1537 output wr_ack_ocm_hp2;
1538 input wr_dv_ocm_hp2;
1539 input rd_req_ocm_hp2;
1540 output rd_dv_ocm_hp2;
1541 output [1023:0] rd_data_ocm_hp2;
1542 
1543 output wr_ack_ocm_hp3;
1544 input wr_dv_ocm_hp3;
1545 input rd_req_ocm_hp3;
1546 output rd_dv_ocm_hp3;
1547 output [1023:0] rd_data_ocm_hp3;
1548 
1549 input ocm_wr_ack;
1550 output ocm_wr_dv;
1551 output [31:0]ocm_wr_addr;
1552 output [1023:0]ocm_wr_data;
1553 output [127:0]ocm_wr_strb;
1554 output [7:0]ocm_wr_bytes;
1555 
1556 input ocm_rd_dv;
1557 input [1023:0] ocm_rd_data;
1558 output ocm_rd_req;
1559 output [31:0] ocm_rd_addr;
1560 output [7:0] ocm_rd_bytes;
1561 
1562 /* FOR DDR */
1564  .sw_clk(sw_clk),
1565  .rstn(rstn),
1566  .w_qos_hp0(w_qos_hp0),
1567  .r_qos_hp0(r_qos_hp0),
1568  .w_qos_hp1(w_qos_hp1),
1569  .r_qos_hp1(r_qos_hp1),
1570 
1571  .wr_ack_ddr_hp0(wr_ack_ddr_hp0),
1572  .wr_data_hp0(wr_data_hp0),
1573  .wr_strb_hp0(wr_strb_hp0),
1574  .wr_addr_hp0(wr_addr_hp0),
1575  .wr_bytes_hp0(wr_bytes_hp0),
1576  .wr_dv_ddr_hp0(wr_dv_ddr_hp0),
1577  .rd_req_ddr_hp0(rd_req_ddr_hp0),
1578  .rd_addr_hp0(rd_addr_hp0),
1579  .rd_bytes_hp0(rd_bytes_hp0),
1580  .rd_data_ddr_hp0(rd_data_ddr_hp0),
1581  .rd_dv_ddr_hp0(rd_dv_ddr_hp0),
1582 
1583  .wr_ack_ddr_hp1(wr_ack_ddr_hp1),
1584  .wr_data_hp1(wr_data_hp1),
1585  .wr_strb_hp1(wr_strb_hp1),
1586  .wr_addr_hp1(wr_addr_hp1),
1587  .wr_bytes_hp1(wr_bytes_hp1),
1588  .wr_dv_ddr_hp1(wr_dv_ddr_hp1),
1589  .rd_req_ddr_hp1(rd_req_ddr_hp1),
1590  .rd_addr_hp1(rd_addr_hp1),
1591  .rd_bytes_hp1(rd_bytes_hp1),
1592  .rd_data_ddr_hp1(rd_data_ddr_hp1),
1593  .rd_dv_ddr_hp1(rd_dv_ddr_hp1),
1594 
1595  .ddr_wr_ack(ddr_wr_ack0),
1596  .ddr_wr_dv(ddr_wr_dv0),
1597  .ddr_rd_req(ddr_rd_req0),
1598  .ddr_rd_dv(ddr_rd_dv0),
1599  .ddr_rd_qos(ddr_rd_qos0),
1600  .ddr_wr_qos(ddr_wr_qos0),
1601  .ddr_wr_addr(ddr_wr_addr0),
1602  .ddr_wr_data(ddr_wr_data0),
1603  .ddr_wr_strb(ddr_wr_strb0),
1604  .ddr_wr_bytes(ddr_wr_bytes0),
1605  .ddr_rd_addr(ddr_rd_addr0),
1606  .ddr_rd_data(ddr_rd_data0),
1607  .ddr_rd_bytes(ddr_rd_bytes0)
1608 );
1609 
1610 /* FOR DDR */
1612  .sw_clk(sw_clk),
1613  .rstn(rstn),
1614  .w_qos_hp2(w_qos_hp2),
1615  .r_qos_hp2(r_qos_hp2),
1616  .w_qos_hp3(w_qos_hp3),
1617  .r_qos_hp3(r_qos_hp3),
1618 
1619  .wr_ack_ddr_hp2(wr_ack_ddr_hp2),
1620  .wr_data_hp2(wr_data_hp2),
1621  .wr_strb_hp2(wr_strb_hp2),
1622  .wr_addr_hp2(wr_addr_hp2),
1623  .wr_bytes_hp2(wr_bytes_hp2),
1624  .wr_dv_ddr_hp2(wr_dv_ddr_hp2),
1625  .rd_req_ddr_hp2(rd_req_ddr_hp2),
1626  .rd_addr_hp2(rd_addr_hp2),
1627  .rd_bytes_hp2(rd_bytes_hp2),
1628  .rd_data_ddr_hp2(rd_data_ddr_hp2),
1629  .rd_dv_ddr_hp2(rd_dv_ddr_hp2),
1630 
1631  .wr_ack_ddr_hp3(wr_ack_ddr_hp3),
1632  .wr_data_hp3(wr_data_hp3),
1633  .wr_strb_hp3(wr_strb_hp3),
1634  .wr_addr_hp3(wr_addr_hp3),
1635  .wr_bytes_hp3(wr_bytes_hp3),
1636  .wr_dv_ddr_hp3(wr_dv_ddr_hp3),
1637  .rd_req_ddr_hp3(rd_req_ddr_hp3),
1638  .rd_addr_hp3(rd_addr_hp3),
1639  .rd_bytes_hp3(rd_bytes_hp3),
1640  .rd_data_ddr_hp3(rd_data_ddr_hp3),
1641  .rd_dv_ddr_hp3(rd_dv_ddr_hp3),
1642 
1643  .ddr_wr_ack(ddr_wr_ack1),
1644  .ddr_wr_dv(ddr_wr_dv1),
1645  .ddr_rd_req(ddr_rd_req1),
1646  .ddr_rd_dv(ddr_rd_dv1),
1647  .ddr_rd_qos(ddr_rd_qos1),
1648  .ddr_wr_qos(ddr_wr_qos1),
1649 
1650  .ddr_wr_addr(ddr_wr_addr1),
1651  .ddr_wr_data(ddr_wr_data1),
1652  .ddr_wr_strb(ddr_wr_strb1),
1653  .ddr_wr_bytes(ddr_wr_bytes1),
1654  .ddr_rd_addr(ddr_rd_addr1),
1655  .ddr_rd_data(ddr_rd_data1),
1656  .ddr_rd_bytes(ddr_rd_bytes1)
1657 );
1658 
1659 
1660 /* FOR OCM_WR */
1662  .rstn(rstn),
1663  .sw_clk(sw_clk),
1664 
1665  .qos1(w_qos_hp0),
1666  .qos2(w_qos_hp1),
1667  .qos3(w_qos_hp2),
1668  .qos4(w_qos_hp3),
1669 
1670  .prt_dv1(wr_dv_ocm_hp0),
1671  .prt_dv2(wr_dv_ocm_hp1),
1672  .prt_dv3(wr_dv_ocm_hp2),
1673  .prt_dv4(wr_dv_ocm_hp3),
1674 
1675  .prt_data1(wr_data_hp0),
1676  .prt_data2(wr_data_hp1),
1677  .prt_data3(wr_data_hp2),
1678  .prt_data4(wr_data_hp3),
1679 
1680  .prt_strb1(wr_strb_hp0),
1681  .prt_strb2(wr_strb_hp1),
1682  .prt_strb3(wr_strb_hp2),
1683  .prt_strb4(wr_strb_hp3),
1684 
1685  .prt_addr1(wr_addr_hp0),
1686  .prt_addr2(wr_addr_hp1),
1687  .prt_addr3(wr_addr_hp2),
1688  .prt_addr4(wr_addr_hp3),
1689 
1690  .prt_bytes1(wr_bytes_hp0),
1691  .prt_bytes2(wr_bytes_hp1),
1692  .prt_bytes3(wr_bytes_hp2),
1693  .prt_bytes4(wr_bytes_hp3),
1694 
1695  .prt_ack1(wr_ack_ocm_hp0),
1696  .prt_ack2(wr_ack_ocm_hp1),
1697  .prt_ack3(wr_ack_ocm_hp2),
1698  .prt_ack4(wr_ack_ocm_hp3),
1699 
1700  .prt_qos(ocm_wr_qos),
1701  .prt_req(ocm_wr_dv),
1702  .prt_data(ocm_wr_data),
1703  .prt_strb(ocm_wr_strb),
1704  .prt_addr(ocm_wr_addr),
1705  .prt_bytes(ocm_wr_bytes),
1706  .prt_ack(ocm_wr_ack)
1707 
1708 );
1709 
1710 /* FOR OCM_RD */
1712  .rstn(rstn),
1713  .sw_clk(sw_clk),
1714 
1715  .qos1(r_qos_hp0),
1716  .qos2(r_qos_hp1),
1717  .qos3(r_qos_hp2),
1718  .qos4(r_qos_hp3),
1719 
1720  .prt_req1(rd_req_ocm_hp0),
1721  .prt_req2(rd_req_ocm_hp1),
1722  .prt_req3(rd_req_ocm_hp2),
1723  .prt_req4(rd_req_ocm_hp3),
1724 
1725  .prt_data1(rd_data_ocm_hp0),
1726  .prt_data2(rd_data_ocm_hp1),
1727  .prt_data3(rd_data_ocm_hp2),
1728  .prt_data4(rd_data_ocm_hp3),
1729 
1730  .prt_addr1(rd_addr_hp0),
1731  .prt_addr2(rd_addr_hp1),
1732  .prt_addr3(rd_addr_hp2),
1733  .prt_addr4(rd_addr_hp3),
1734 
1735  .prt_bytes1(rd_bytes_hp0),
1736  .prt_bytes2(rd_bytes_hp1),
1737  .prt_bytes3(rd_bytes_hp2),
1738  .prt_bytes4(rd_bytes_hp3),
1739 
1740  .prt_dv1(rd_dv_ocm_hp0),
1741  .prt_dv2(rd_dv_ocm_hp1),
1742  .prt_dv3(rd_dv_ocm_hp2),
1743  .prt_dv4(rd_dv_ocm_hp3),
1744 
1745  .prt_qos(ocm_rd_qos),
1746  .prt_req(ocm_rd_req),
1747  .prt_data(ocm_rd_data),
1748  .prt_addr(ocm_rd_addr),
1749  .prt_bytes(ocm_rd_bytes),
1750  .prt_dv(ocm_rd_dv)
1751 
1752 );
1753 
1754 
1755 endmodule
1756 
1757 
1758 /*****************************************************************************
1759  * File : processing_system7_vip_v1_0_10_sparse_mem.v
1760  *
1761  * Date : 2012-11
1762  *
1763  * Description : Sparse Memory Model
1764  *
1765  *****************************************************************************/
1766 
1767 /*** WA for CR # 695818 ***/
1768 `ifdef XILINX_SIMULATOR
1769  `define XSIM_ISIM
1770 `endif
1771 `ifdef XILINX_ISIM
1772  `define XSIM_ISIM
1773 `endif
1774 
1775  `timescale 1ns/1ps
1777 
1778 `include "processing_system7_vip_v1_0_10_local_params.v"
1779 
1780 parameter mem_size = 32'h4000_0000; /// 1GB mem size
1781 parameter xsim_mem_size = 32'h1000_0000; ///256 MB mem size (x4 for XSIM/ISIM)
1782 bit DEBUG_INFO = 1;
1783 
1784 // `ifdef XSIM_ISIM
1785 // reg [data_width-1:0] ddr_mem0 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1786 // reg [data_width-1:0] ddr_mem1 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1787 // reg [data_width-1:0] ddr_mem2 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1788 // reg [data_width-1:0] ddr_mem3 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1789 // reg [data_width-1:0] ddr_mem4 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1790 // reg [data_width-1:0] ddr_mem5 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1791 // reg [data_width-1:0] ddr_mem6 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1792 // reg [data_width-1:0] ddr_mem7 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
1793 // `else
1794  reg /*sparse*/ [data_width-1:0] ddr_mem0 [0:(mem_size/mem_width)-1]; // 'h10_0000 to 'h3FFF_FFFF - 1G mem
1795  reg /*sparse*/ [data_width-1:0] ddr_mem1 [0:(mem_size/mem_width)-1]; // 'h10_0000 to 'h3FFF_FFFF - 1G mem
1796 // `endif
1797 
1798 event mem_updated;
1799 reg check_we;
1800 reg [addr_width-1:0] check_up_add;
1801 reg [data_width-1:0] updated_data;
1802 
1803 /* preload memory from file */
1804 // task automatic pre_load_mem_from_file;
1805 // input [(max_chars*8)-1:0] file_name;
1806 // input [addr_width-1:0] start_addr;
1807 // input [int_width-1:0] no_of_bytes;
1808 // `ifdef XSIM_ISIM
1809 // case(start_addr[31:28])
1810 // 4'd0 : $readmemh(file_name,ddr_mem0,start_addr>>shft_addr_bits);
1811 // 4'd1 : $readmemh(file_name,ddr_mem1,start_addr>>shft_addr_bits);
1812 // 4'd2 : $readmemh(file_name,ddr_mem2,start_addr>>shft_addr_bits);
1813 // 4'd3 : $readmemh(file_name,ddr_mem3,start_addr>>shft_addr_bits);
1814 // endcase
1815 // `else
1816 // $readmemh(file_name,ddr_mem,start_addr>>shft_addr_bits);
1817 // `endif
1818 // endtask
1819 
1820 /* preload memory from file */
1821 task automatic pre_load_mem_from_file;
1822 input [(max_chars*8)-1:0] file_name;
1823 input [addr_width-1:0] start_addr;
1824 input [int_width-1:0] no_of_bytes;
1825 logic [31:0] addr;
1826 // reg /*sparse*/ [data_width-1:0] ddr_mem0_temp [0:(mem_size/mem_width)-1]; // 'h10_0000 to 'h3FFF_FFFF - 1G mem
1827 // reg /*sparse*/ [data_width-1:0] ddr_mem1_temp [0:(mem_size/mem_width)-1]; // 'h10_0000 to 'h3FFF_FFFF - 1G mem
1828 
1829 // `ifdef XSIM_ISIM
1830 // if (start_addr[35:32] == 4'h0) begin
1831 // case(start_addr[31:28])
1832 // 4'd0 : $readmemh(file_name,ddr_mem0,start_addr>>shft_addr_bits);
1833 // 4'd1 : $readmemh(file_name,ddr_mem1,start_addr>>shft_addr_bits);
1834 // 4'd2 : $readmemh(file_name,ddr_mem2,start_addr>>shft_addr_bits);
1835 // 4'd3 : $readmemh(file_name,ddr_mem3,start_addr>>shft_addr_bits);
1836 // endcase
1837 // end else if (start_addr[35:32] == 4'h8) begin
1838 // case(start_addr[31:28])
1839 // 4'd0 : $readmemh(file_name,ddr_mem4,start_addr>>shft_addr_bits);
1840 // 4'd1 : $readmemh(file_name,ddr_mem5,start_addr>>shft_addr_bits);
1841 // 4'd2 : $readmemh(file_name,ddr_mem6,start_addr>>shft_addr_bits);
1842 // 4'd3 : $readmemh(file_name,ddr_mem7,start_addr>>shft_addr_bits);
1843 // endcase
1844 // end
1845 // `else
1846 // if (start_addr[31:28] == 4'h0) begin
1847 // $readmemh(file_name,ddr_mem0,start_addr>>shft_addr_bits);
1848 // end else if (start_addr[31:28] == 4'h8) begin
1849 // $readmemh(file_name,ddr_mem1,start_addr>>shft_addr_bits);
1850 // end
1851 // `endif
1852 addr = start_addr>>shft_addr_bits;
1853 // if(addr[28] == 1'h0) begin
1854 // $display(" pre_load_mem_from_file11 entered");
1855 // // $readmemh(file_name,ddr_mem0,addr[27:0]);
1856 // $readmemh(file_name,ddr_mem0_temp,start_addr>>shft_addr_bits);
1857 // for (int i = 0; i < no_of_bytes; i = i + 1) begin
1858 // ddr_mem0[(start_addr>>shft_addr_bits) + i] = ddr_mem0_temp[(start_addr>>shft_addr_bits) + i];
1859 // end
1860 // end else begin
1861 // $display(" pre_load_mem_from_file222 entered");
1862 // // $readmemh(file_name,ddr_mem1,addr[27:0]);
1863 // $readmemh(file_name,ddr_mem1_temp,start_addr>>shft_addr_bits);
1864 // for (int i = 0; i < no_of_bytes; i = i + 1) begin
1865 // ddr_mem1[(start_addr>>shft_addr_bits) + i] = ddr_mem1_temp[(start_addr>>shft_addr_bits) + i];
1866 // end
1867 // end
1868  if(addr[28] == 1'h0) begin
1869  if(DEBUG_INFO) $display(" pre_load_mem_from_file11 entered");
1870  $readmemh(file_name,ddr_mem0,addr[27:0],addr[27:0]+(no_of_bytes-1));
1871  end else begin
1872  if(DEBUG_INFO) $display(" pre_load_mem_from_file222 entered");
1873  $readmemh(file_name,ddr_mem1,addr[27:0],addr[27:0]+(no_of_bytes-1));
1874  end
1875 endtask
1876 
1877 
1878 /* preload memory with some random data */
1879 // task automatic pre_load_mem;
1880 // input [1:0] data_type;
1881 // input [addr_width-1:0] start_addr;
1882 // input [int_width-1:0] no_of_bytes;
1883 // integer i;
1884 // reg [addr_width-1:0] addr;
1885 // begin
1886 // addr = start_addr >> shft_addr_bits;
1887 // for (i = 0; i < no_of_bytes; i = i + mem_width) begin
1888 // case(data_type)
1889 // ALL_RANDOM : set_data(addr , $random);
1890 // ALL_ZEROS : set_data(addr , 32'h0000_0000);
1891 // ALL_ONES : set_data(addr , 32'hFFFF_FFFF);
1892 // default : set_data(addr , $random);
1893 // endcase
1894 // addr = addr+1;
1895 // end
1896 // end
1897 // endtask
1898 
1899 /* preload memory with some random data */
1900 task automatic pre_load_mem;
1901 input [1:0] data_type;
1902 input [addr_width-1:0] start_addr;
1903 input [int_width-1:0] no_of_bytes;
1904 integer i;
1905 reg [addr_width-1:0] addr;
1906 begin
1907 addr = start_addr >> shft_addr_bits;
1908 for (i = 0; i < no_of_bytes; i = i + mem_width) begin
1909  case(data_type)
1910  ALL_RANDOM : set_data(addr , $random, 4'hF);
1911  ALL_ZEROS : set_data(addr , 32'h0000_0000, 4'hF);
1912  ALL_ONES : set_data(addr , 32'hFFFF_FFFF, 4'hF);
1913  default : set_data(addr , $random, 4'hF);
1914  endcase
1915  addr = addr+1;
1916 end
1917 end
1918 endtask
1919 
1920 
1921 /* wait for memory update at certain location */
1922 task automatic wait_mem_update;
1923 input[addr_width-1:0] address;
1924 output[data_width-1:0] dataout;
1925 begin
1926  check_up_add = address >> shft_addr_bits;
1927  check_we = 1;
1928  @(mem_updated);
1929  dataout = updated_data;
1930  check_we = 0;
1931 end
1932 endtask
1933 
1934 /* internal task to write data in memory */
1935 // task automatic set_data;
1936 // input [addr_width-1:0] addr;
1937 // input [data_width-1:0] data;
1938 // begin
1939 // if(check_we && (addr === check_up_add)) begin
1940 // updated_data = data;
1941 // -> mem_updated;
1942 // end
1943 // `ifdef XSIM_ISIM
1944 // case(addr[31:26])
1945 // 6'd0 : ddr_mem0[addr[25:0]] = data;
1946 // 6'd1 : ddr_mem1[addr[25:0]] = data;
1947 // 6'd2 : ddr_mem2[addr[25:0]] = data;
1948 // 6'd3 : ddr_mem3[addr[25:0]] = data;
1949 // endcase
1950 // `else
1951 // ddr_mem[addr] = data;
1952 // `endif
1953 // end
1954 // endtask
1955 
1956 
1957 /* internal task to write data in memory */
1958 task automatic set_data;
1959 input [addr_width-1:0] addr;
1960 input [data_width-1:0] data;
1961 input [(data_width/8)-1:0] strb;
1962 begin
1963 //$display("set_data ddr addr %0h data %0h strb %0h data_width %0d strb %0h",addr,data,strb,strb,data_width,strb);
1964 if(check_we && (addr === check_up_add)) begin
1965  updated_data = data;
1966  -> mem_updated;
1967 end
1968 // `ifdef XSIM_ISIM
1969 // // if (addr[35:30] == 6'h0) begin
1970 // case(addr[31:26])
1971 // 6'd0 : begin
1972 // if (strb[0] == 1'b1) ddr_mem0[addr[25:0]][7:0] = data[7:0];
1973 // if (strb[1] == 1'b1) ddr_mem0[addr[25:0]][15:8] = data[15:8];
1974 // if (strb[2] == 1'b1) ddr_mem0[addr[25:0]][23:16] = data[23:16];
1975 // if (strb[3] == 1'b1) ddr_mem0[addr[25:0]][31:24] = data[31:24];
1976 // end
1977 // 6'd1 : begin
1978 // if (strb[0] == 1'b1) ddr_mem1[addr[25:0]][7:0] = data[7:0];
1979 // if (strb[1] == 1'b1) ddr_mem1[addr[25:0]][15:8] = data[15:8];
1980 // if (strb[2] == 1'b1) ddr_mem1[addr[25:0]][23:16] = data[23:16];
1981 // if (strb[3] == 1'b1) ddr_mem1[addr[25:0]][31:24] = data[31:24];
1982 // end
1983 // 6'd2 : begin
1984 // if (strb[0] == 1'b1) ddr_mem2[addr[25:0]][7:0] = data[7:0];
1985 // if (strb[1] == 1'b1) ddr_mem2[addr[25:0]][15:8] = data[15:8];
1986 // if (strb[2] == 1'b1) ddr_mem2[addr[25:0]][23:16] = data[23:16];
1987 // if (strb[3] == 1'b1) ddr_mem2[addr[25:0]][31:24] = data[31:24];
1988 // end
1989 // 6'd3 : begin
1990 // if (strb[0] == 1'b1) ddr_mem3[addr[25:0]][7:0] = data[7:0];
1991 // if (strb[1] == 1'b1) ddr_mem3[addr[25:0]][15:8] = data[15:8];
1992 // if (strb[2] == 1'b1) ddr_mem3[addr[25:0]][23:16] = data[23:16];
1993 // if (strb[3] == 1'b1) ddr_mem3[addr[25:0]][31:24] = data[31:24];
1994 // end
1995 // endcase
1996 // end else if (addr[35:30] == 6'h8) begin
1997 // case(addr[31:26])
1998 // 6'd0 : begin
1999 // if (strb[0] == 1'b1) ddr_mem4[addr[25:0]][7:0] = data[7:0];
2000 // if (strb[1] == 1'b1) ddr_mem4[addr[25:0]][15:8] = data[15:8];
2001 // if (strb[2] == 1'b1) ddr_mem4[addr[25:0]][23:16] = data[23:16];
2002 // if (strb[3] == 1'b1) ddr_mem4[addr[25:0]][31:24] = data[31:24];
2003 // end
2004 // 6'd1 : begin
2005 // if (strb[0] == 1'b1) ddr_mem5[addr[25:0]][7:0] = data[7:0];
2006 // if (strb[1] == 1'b1) ddr_mem5[addr[25:0]][15:8] = data[15:8];
2007 // if (strb[2] == 1'b1) ddr_mem5[addr[25:0]][23:16] = data[23:16];
2008 // if (strb[3] == 1'b1) ddr_mem5[addr[25:0]][31:24] = data[31:24];
2009 // end
2010 // 6'd2 : begin
2011 // if (strb[0] == 1'b1) ddr_mem6[addr[25:0]][7:0] = data[7:0];
2012 // if (strb[1] == 1'b1) ddr_mem6[addr[25:0]][15:8] = data[15:8];
2013 // if (strb[2] == 1'b1) ddr_mem6[addr[25:0]][23:16] = data[23:16];
2014 // if (strb[3] == 1'b1) ddr_mem6[addr[25:0]][31:24] = data[31:24];
2015 // end
2016 // 6'd3 : begin
2017 // if (strb[0] == 1'b1) ddr_mem7[addr[25:0]][7:0] = data[7:0];
2018 // if (strb[1] == 1'b1) ddr_mem7[addr[25:0]][15:8] = data[15:8];
2019 // if (strb[2] == 1'b1) ddr_mem7[addr[25:0]][23:16] = data[23:16];
2020 // if (strb[3] == 1'b1) ddr_mem7[addr[25:0]][31:24] = data[31:24];
2021 // end
2022 // endcase
2023 // end
2024 // `else
2025 // //$display("set_data ddr addr %0h data %0h strb %0h data_width %0h addr[31:30] %0h",addr,data,strb,strb,data_width,addr[31:30]);
2026 // if (addr[31:30] === 6'h0) begin
2027 // // $display("set_data ddr addr %0h data %0h strb %0h data_width %0d strb %0h addr[31:30] is zero",addr,data,strb,strb,data_width,strb);
2028 // if (strb[0] == 1'b1) ddr_mem0[addr[25:0]][7:0] = data[7:0];
2029 // //$display("ddr addr %0h data %0h ddr_mem0[%0h][7:0] %0h strb[0] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][7:0],strb[0]);
2030 // if (strb[1] == 1'b1) ddr_mem0[addr[25:0]][15:8] = data[15:8];
2031 // //$display("ddr addr %0h data %0h ddr_mem0[%0h][15:8] %0h strb[1] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][15:8],strb[1]);
2032 // if (strb[2] == 1'b1) ddr_mem0[addr[25:0]][23:16] = data[23:16];
2033 // //$display("ddr addr %0h data %0h ddr_mem0[%0h][23:16] %0h strb[2] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][23:16],strb[2]);
2034 // if (strb[3] == 1'b1) ddr_mem0[addr[25:0]][31:24] = data[31:24];
2035 // //$display("ddr addr %0h data %0h ddr_mem0[%0h][31:24] %0h strb[3] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][31:24],strb[3]);
2036 //// ddr_mem0[addr[25:0]] = data ;
2037 // //$display("ddr addr %0h data %0h ddr_mem0[%0h] %0h",addr,data,addr,ddr_mem0[addr[25:0]]);
2038 // //$display("ddr addr %0h data %0h ddr_mem0[%0h][7:0] %0h",addr,data,addr,ddr_mem0[addr[25:0]][7:0]);
2039 // end else if (addr[31:30] == 6'h8) begin
2040 // //$display("set_data ddr addr %0h data %0h strb %0h data_width %0d strb %0h addr[31:30] is 8",addr,data,strb,strb,data_width,strb);
2041 // if (strb[0] == 1'b1) ddr_mem1[addr[25:0]][7:0] = data[7:0];//
2042 // if (strb[1] == 1'b1) ddr_mem1[addr[25:0]][15:8] = data[15:8];
2043 // if (strb[2] == 1'b1) ddr_mem1[addr[25:0]][23:16] = data[23:16];
2044 // if (strb[3] == 1'b1) ddr_mem1[addr[25:0]][31:24] = data[31:24];
2045 // end
2046 // `endif
2047  if (addr[28] == 1'h0) begin
2048  if (strb[0] == 1'b1) ddr_mem0[addr[27:0]][7:0] = data[7:0];
2049  if (strb[1] == 1'b1) ddr_mem0[addr[27:0]][15:8] = data[15:8];
2050  if (strb[2] == 1'b1) ddr_mem0[addr[27:0]][23:16] = data[23:16];
2051  if (strb[3] == 1'b1) ddr_mem0[addr[27:0]][31:24] = data[31:24];
2052  end else begin
2053  if (strb[0] == 1'b1) ddr_mem1[addr[27:0]][7:0] = data[7:0];
2054  if (strb[1] == 1'b1) ddr_mem1[addr[27:0]][15:8] = data[15:8];
2055  if (strb[2] == 1'b1) ddr_mem1[addr[27:0]][23:16] = data[23:16];
2056  if (strb[3] == 1'b1) ddr_mem1[addr[27:0]][31:24] = data[31:24];
2057  end
2058 end
2059 endtask
2060 
2061 
2062 
2063 /* internal task to read data from memory */
2064 // task automatic get_data;
2065 // input [addr_width-1:0] addr;
2066 // output [data_width-1:0] data;
2067 // begin
2068 // `ifdef XSIM_ISIM
2069 // case(addr[31:26])
2070 // 6'd0 : data = ddr_mem0[addr[25:0]];
2071 // 6'd1 : data = ddr_mem1[addr[25:0]];
2072 // 6'd2 : data = ddr_mem2[addr[25:0]];
2073 // 6'd3 : data = ddr_mem3[addr[25:0]];
2074 // endcase
2075 // `else
2076 // data = ddr_mem[addr];
2077 // `endif
2078 // end
2079 // endtask
2080 
2081 /* internal task to read data from memory */
2082 task automatic get_data;
2083 input [addr_width-1:0] addr;
2084 output [data_width-1:0] data;
2085 begin
2086 // `ifdef XSIM_ISIM
2087 // if (addr[35:30] == 6'h0) begin
2088 // case(addr[31:26])
2089 // 6'd0 : data = ddr_mem0[addr[25:0]];
2090 // 6'd1 : data = ddr_mem1[addr[25:0]];
2091 // 6'd2 : data = ddr_mem2[addr[25:0]];
2092 // 6'd3 : data = ddr_mem3[addr[25:0]];
2093 // endcase
2094 // end else if (addr[35:30] == 6'h8) begin
2095 // case(addr[31:26])
2096 // 6'd0 : data = ddr_mem4[addr[25:0]];
2097 // //$display("addr %0h data %0h ddr_mem0[%0h][7:0] %0h strb[0] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][7:0],strb[0]);
2098 // 6'd1 : data = ddr_mem5[addr[25:0]];
2099 // //$display("addr %0h data %0h ddr_mem0[%0h][15:8] %0h strb[1] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][15:8],strb[1]);
2100 // 6'd2 : data = ddr_mem6[addr[25:0]];
2101 // //$display("addr %0h data %0h ddr_mem0[%0h][23:16] %0h strb[2] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][23:16],strb[2]);
2102 // 6'd3 : data = ddr_mem7[addr[25:0]];
2103 // //$display("addr %0h data %0h ddr_mem0[%0h][31:24] %0h strb[3] %0b ",addr,data,addr,ddr_mem0[addr[25:0]][31:24],strb[3]);
2104 // endcase
2105 // end
2106 // `else
2107 // if (addr[31:30] == 6'h0) begin
2108 // data = ddr_mem0[addr[25:0]];
2109 // //$display(" read addr %0h data %0h ddr_mem0[%0h] %0h ",addr[25:0],data,addr[25:0],ddr_mem0[addr[25:0]]);
2110 // end else if (addr[31:30] == 6'h8) begin
2111 // data = ddr_mem1[addr];
2112 // end
2113 // `endif
2114  if (addr[28] == 1'h0 ) begin
2115  data = ddr_mem0[addr[27:0]];
2116  //$display(" ddr_mem0 read addr %0h data %0h ddr_mem0[%0h] %0h ",addr[28:0],data,addr[27:0],ddr_mem0[addr[27:0]]);
2117  end else begin
2118  data = ddr_mem1[addr[27:0]];
2119  //$display(" ddr_mem1 read addr %0h data %0h ddr_mem1[%0h] %0h ",addr[28:0],data,addr[27:0],ddr_mem1[addr[27:0]]);
2120  end
2121 end
2122 endtask
2123 
2124 /* Write memory */
2125 // task write_mem;
2126 // input [max_burst_bits-1 :0] data;
2127 // input [addr_width-1:0] start_addr;
2128 // input [max_burst_bytes_width:0] no_of_bytes;
2129 // reg [addr_width-1:0] addr;
2130 // reg [max_burst_bits-1 :0] wr_temp_data;
2131 // reg [data_width-1:0] pre_pad_data,post_pad_data,temp_data;
2132 // integer bytes_left;
2133 // integer pre_pad_bytes;
2134 // integer post_pad_bytes;
2135 // begin
2136 // addr = start_addr >> shft_addr_bits;
2137 // wr_temp_data = data;
2138 //
2139 // `ifdef XLNX_INT_DBG
2140 // $display("[%0d] : %0s : Writing DDR Memory starting address (0x%0h) with %0d bytes.\n Data (0x%0h)",$time, DISP_INT_INFO, start_addr, no_of_bytes, data);
2141 // `endif
2142 //
2143 // temp_data = wr_temp_data[data_width-1:0];
2144 // bytes_left = no_of_bytes;
2145 // /* when the no. of bytes to be updated is less than mem_width */
2146 // if(bytes_left < mem_width) begin
2147 // /* first data word in the burst , if unaligned address, the adjust the wr_data accordingly for first write*/
2148 // if(start_addr[shft_addr_bits-1:0] > 0) begin
2149 // //temp_data = ddr_mem[addr];
2150 // get_data(addr,temp_data);
2151 // pre_pad_bytes = mem_width - start_addr[shft_addr_bits-1:0];
2152 // repeat(pre_pad_bytes) temp_data = temp_data << 8;
2153 // repeat(pre_pad_bytes) begin
2154 // temp_data = temp_data >> 8;
2155 // temp_data[data_width-1:data_width-8] = wr_temp_data[7:0];
2156 // wr_temp_data = wr_temp_data >> 8;
2157 // end
2158 // bytes_left = bytes_left + pre_pad_bytes;
2159 // end
2160 // /* This is needed for post padding the data ...*/
2161 // post_pad_bytes = mem_width - bytes_left;
2162 // //post_pad_data = ddr_mem[addr];
2163 // get_data(addr,post_pad_data);
2164 // repeat(post_pad_bytes) temp_data = temp_data << 8;
2165 // repeat(bytes_left) post_pad_data = post_pad_data >> 8;
2166 // repeat(post_pad_bytes) begin
2167 // temp_data = temp_data >> 8;
2168 // temp_data[data_width-1:data_width-8] = post_pad_data[7:0];
2169 // post_pad_data = post_pad_data >> 8;
2170 // end
2171 // //ddr_mem[addr] = temp_data;
2172 // set_data(addr,temp_data);
2173 // end else begin
2174 // /* first data word in the burst , if unaligned address, the adjust the wr_data accordingly for first write*/
2175 // if(start_addr[shft_addr_bits-1:0] > 0) begin
2176 // //temp_data = ddr_mem[addr];
2177 // get_data(addr,temp_data);
2178 // pre_pad_bytes = mem_width - start_addr[shft_addr_bits-1:0];
2179 // repeat(pre_pad_bytes) temp_data = temp_data << 8;
2180 // repeat(pre_pad_bytes) begin
2181 // temp_data = temp_data >> 8;
2182 // temp_data[data_width-1:data_width-8] = wr_temp_data[7:0];
2183 // wr_temp_data = wr_temp_data >> 8;
2184 // bytes_left = bytes_left -1;
2185 // end
2186 // end else begin
2187 // wr_temp_data = wr_temp_data >> data_width;
2188 // bytes_left = bytes_left - mem_width;
2189 // end
2190 // /* first data word end */
2191 // //ddr_mem[addr] = temp_data;
2192 // set_data(addr,temp_data);
2193 // addr = addr + 1;
2194 // while(bytes_left > (mem_width-1) ) begin /// for unaliged address necessary to check for mem_wd-1 , accordingly we have to pad post bytes.
2195 // //ddr_mem[addr] = wr_temp_data[data_width-1:0];
2196 // set_data(addr,wr_temp_data[data_width-1:0]);
2197 // addr = addr+1;
2198 // wr_temp_data = wr_temp_data >> data_width;
2199 // bytes_left = bytes_left - mem_width;
2200 // end
2201 //
2202 // //post_pad_data = ddr_mem[addr];
2203 // get_data(addr,post_pad_data);
2204 // post_pad_bytes = mem_width - bytes_left;
2205 // /* This is needed for last transfer in unaliged burst */
2206 // if(bytes_left > 0) begin
2207 // temp_data = wr_temp_data[data_width-1:0];
2208 // repeat(post_pad_bytes) temp_data = temp_data << 8;
2209 // repeat(bytes_left) post_pad_data = post_pad_data >> 8;
2210 // repeat(post_pad_bytes) begin
2211 // temp_data = temp_data >> 8;
2212 // temp_data[data_width-1:data_width-8] = post_pad_data[7:0];
2213 // post_pad_data = post_pad_data >> 8;
2214 // end
2215 // //ddr_mem[addr] = temp_data;
2216 // set_data(addr,temp_data);
2217 // end
2218 // end
2219 // `ifdef XLNX_INT_DBG $display("[%0d] : %0s : DONE -> Writing DDR Memory starting address (0x%0h)",$time, DISP_INT_INFO, start_addr );
2220 // `endif
2221 // end
2222 // endtask
2223 
2224 /* Write memory */
2225 task write_mem;
2226 input [max_burst_bits-1 :0] data;
2227 input [addr_width-1:0] start_addr;
2228 input [max_burst_bytes_width:0] no_of_bytes;
2229 input [max_burst_bytes-1:0] strb;
2230 reg [addr_width-1:0] addr;
2231 reg [max_burst_bits-1 :0] wr_temp_data;
2232 reg [max_burst_bytes-1:0] wr_temp_strb;
2233 reg [data_width-1:0] pre_pad_data,post_pad_data,temp_data;
2234 reg [(data_width/8)-1:0] pre_pad_strb,post_pad_strb,temp_strb;
2235 integer bytes_left;
2236 integer pre_pad_bytes;
2237 integer post_pad_bytes;
2238 begin
2239 addr = start_addr >> shft_addr_bits;
2240 wr_temp_data = data;
2241 wr_temp_strb = strb;
2242 
2243 `ifdef XLNX_INT_DBG
2244  $display("[%0d] : %0s : Writing DDR Memory starting address (0x%0h) with %0d bytes.\n Data (0x%0h)",$time, DISP_INT_INFO, start_addr, no_of_bytes, data);
2245 `endif
2246 
2247 temp_data = wr_temp_data[data_width-1:0];
2248 temp_strb = wr_temp_strb[(data_width/8)-1:0];
2249 bytes_left = no_of_bytes;
2250 /* when the no. of bytes to be updated is less than mem_width */
2251 if(bytes_left+start_addr[shft_addr_bits-1:0] < mem_width) begin
2252  /* first data word in the burst , if unaligned address, the adjust the wr_data accordingly for first write*/
2253  if(start_addr[shft_addr_bits-1:0] > 0) begin
2254  //temp_data = ddr_mem[addr];
2255  get_data(addr,temp_data);
2256  temp_strb = 4'hF;
2257  pre_pad_bytes = mem_width - start_addr[shft_addr_bits-1:0];
2258  repeat(pre_pad_bytes) begin
2259  temp_data = temp_data << 8;
2260  temp_strb = temp_strb << 1;
2261  end
2262  repeat(pre_pad_bytes) begin
2263  temp_data = temp_data >> 8;
2264  temp_strb = temp_strb >> 1;
2265  temp_data[data_width-1:data_width-8] = wr_temp_data[7:0];
2266  temp_strb[(data_width/8)-1] = wr_temp_strb[0];
2267  wr_temp_data = wr_temp_data >> 8;
2268  wr_temp_strb = wr_temp_strb >> 1;
2269  end
2270  bytes_left = bytes_left + pre_pad_bytes;
2271  end
2272  /* This is needed for post padding the data ...*/
2273  post_pad_bytes = mem_width - bytes_left;
2274  //post_pad_data = ddr_mem[addr];
2275  get_data(addr,post_pad_data);
2276  post_pad_strb = 4'hF;
2277  repeat(post_pad_bytes) begin
2278  temp_data = temp_data << 8;
2279  temp_strb = temp_strb << 1;
2280  end
2281  repeat(bytes_left) begin
2282  post_pad_data = post_pad_data >> 8;
2283  post_pad_strb = post_pad_strb >> 1;
2284  end
2285  repeat(post_pad_bytes) begin
2286  temp_data = temp_data >> 8;
2287  temp_strb = temp_strb >> 1;
2288  temp_data[data_width-1:data_width-8] = post_pad_data[7:0];
2289  temp_strb[(data_width/8)-1] = post_pad_strb[0];
2290  post_pad_data = post_pad_data >> 8;
2291  post_pad_strb = post_pad_strb >> 1;
2292  end
2293  //ddr_mem[addr] = temp_data;
2294  set_data(addr,temp_data,temp_strb);
2295 end else begin
2296  /* first data word in the burst , if unaligned address, the adjust the wr_data accordingly for first write*/
2297  if(start_addr[shft_addr_bits-1:0] > 0) begin
2298  //temp_data = ddr_mem[addr];
2299  get_data(addr,temp_data);
2300  temp_strb = 4'hF;
2301  pre_pad_bytes = mem_width - start_addr[shft_addr_bits-1:0];
2302  repeat(pre_pad_bytes) begin
2303  temp_data = temp_data << 8;
2304  temp_strb = temp_strb << 1;
2305  end
2306  repeat(pre_pad_bytes) begin
2307  temp_data = temp_data >> 8;
2308  temp_strb = temp_strb >> 1;
2309  temp_data[data_width-1:data_width-8] = wr_temp_data[7:0];
2310  temp_strb[(data_width/8)-1] = wr_temp_strb[0];
2311  wr_temp_data = wr_temp_data >> 8;
2312  wr_temp_strb = wr_temp_strb >> 1;
2313  bytes_left = bytes_left -1;
2314  end
2315  end else begin
2316  wr_temp_data = wr_temp_data >> data_width;
2317  wr_temp_strb = wr_temp_strb >> data_width/8;
2318  bytes_left = bytes_left - mem_width;
2319  end
2320  /* first data word end */
2321  //ddr_mem[addr] = temp_data;
2322  set_data(addr,temp_data,temp_strb);
2323  addr = addr + 1;
2324  while(bytes_left > (mem_width-1) ) begin /// for unaliged address necessary to check for mem_wd-1 , accordingly we have to pad post bytes.
2325  //ddr_mem[addr] = wr_temp_data[data_width-1:0];
2326  set_data(addr,wr_temp_data[data_width-1:0],wr_temp_strb[(data_width/8)-1:0]);
2327  addr = addr+1;
2328  wr_temp_data = wr_temp_data >> data_width;
2329  wr_temp_strb = wr_temp_strb >> data_width/8;
2330  bytes_left = bytes_left - mem_width;
2331  end
2332 
2333  //post_pad_data = ddr_mem[addr];
2334  get_data(addr,post_pad_data);
2335  post_pad_strb = 4'hF;
2336  post_pad_bytes = mem_width - bytes_left;
2337  /* This is needed for last transfer in unaliged burst */
2338  if(bytes_left > 0) begin
2339  temp_data = wr_temp_data[data_width-1:0];
2340  temp_strb = wr_temp_strb[(data_width/8)-1:0];
2341  repeat(post_pad_bytes) begin
2342  temp_data = temp_data << 8;
2343  temp_strb = temp_strb << 1;
2344  end
2345  repeat(bytes_left) begin
2346  post_pad_data = post_pad_data >> 8;
2347  post_pad_strb = post_pad_strb >> 1;
2348  end
2349  repeat(post_pad_bytes) begin
2350  temp_data = temp_data >> 8;
2351  temp_strb = temp_strb >> 1;
2352  temp_data[data_width-1:data_width-8] = post_pad_data[7:0];
2353  temp_strb[(data_width/8)-1] = post_pad_strb[0];
2354  post_pad_data = post_pad_data >> 8;
2355  post_pad_strb = post_pad_strb >> 1;
2356  end
2357  //ddr_mem[addr] = temp_data;
2358  set_data(addr,temp_data,temp_strb);
2359  end
2360 end
2361 `ifdef XLNX_INT_DBG $display("[%0d] : %0s : DONE -> Writing DDR Memory starting address (0x%0h)",$time, DISP_INT_INFO, start_addr );
2362 `endif
2363 end
2364 endtask
2365 
2366 
2367 
2368 
2369 /* read_memory */
2370 // task read_mem;
2371 // output[max_burst_bits-1 :0] data;
2372 // input [addr_width-1:0] start_addr;
2373 // input [max_burst_bytes_width :0] no_of_bytes;
2374 // integer i;
2375 // reg [addr_width-1:0] addr;
2376 // reg [data_width-1:0] temp_rd_data;
2377 // reg [max_burst_bits-1:0] temp_data;
2378 // integer pre_bytes;
2379 // integer bytes_left;
2380 // begin
2381 // addr = start_addr >> shft_addr_bits;
2382 // pre_bytes = start_addr[shft_addr_bits-1:0];
2383 // bytes_left = no_of_bytes;
2384 //
2385 // `ifdef XLNX_INT_DBG
2386 // $display("[%0d] : %0s : Reading DDR Memory starting address (0x%0h) -> %0d bytes",$time, DISP_INT_INFO, start_addr,no_of_bytes );
2387 // `endif
2388 //
2389 // /* Get first data ... if unaligned address */
2390 // //temp_data[(max_burst * max_data_burst)-1 : (max_burst * max_data_burst)- data_width] = ddr_mem[addr];
2391 // get_data(addr,temp_data[max_burst_bits-1 : max_burst_bits-data_width]);
2392 //
2393 // if(no_of_bytes < mem_width ) begin
2394 // temp_data = temp_data >> (pre_bytes * 8);
2395 // repeat(max_burst_bytes - mem_width)
2396 // temp_data = temp_data >> 8;
2397 //
2398 // end else begin
2399 // bytes_left = bytes_left - (mem_width - pre_bytes);
2400 // addr = addr+1;
2401 // /* Got first data */
2402 // while (bytes_left > (mem_width-1) ) begin
2403 // temp_data = temp_data >> data_width;
2404 // //temp_data[(max_burst * max_data_burst)-1 : (max_burst * max_data_burst)- data_width] = ddr_mem[addr];
2405 // get_data(addr,temp_data[max_burst_bits-1 : max_burst_bits-data_width]);
2406 // addr = addr+1;
2407 // bytes_left = bytes_left - mem_width;
2408 // end
2409 //
2410 // /* Get last valid data in the burst*/
2411 // //temp_rd_data = ddr_mem[addr];
2412 // get_data(addr,temp_rd_data);
2413 // while(bytes_left > 0) begin
2414 // temp_data = temp_data >> 8;
2415 // temp_data[max_burst_bits-1 : max_burst_bits-8] = temp_rd_data[7:0];
2416 // temp_rd_data = temp_rd_data >> 8;
2417 // bytes_left = bytes_left - 1;
2418 // end
2419 // /* align to the brst_byte length */
2420 // repeat(max_burst_bytes - no_of_bytes)
2421 // temp_data = temp_data >> 8;
2422 // end
2423 // data = temp_data;
2424 // `ifdef XLNX_INT_DBG
2425 // $display("[%0d] : %0s : DONE -> Reading DDR Memory starting address (0x%0h), Data returned(0x%0h)",$time, DISP_INT_INFO, start_addr, data );
2426 // `endif
2427 // end
2428 // endtask
2429 
2430 
2431 /* read_memory */
2432 task read_mem;
2433 output[max_burst_bits-1 :0] data;
2434 input [addr_width-1:0] start_addr;
2435 input [max_burst_bytes_width :0] no_of_bytes;
2436 integer i;
2437 reg [addr_width-1:0] addr;
2438 reg [data_width-1:0] temp_rd_data;
2439 reg [max_burst_bits-1:0] temp_data;
2440 integer pre_bytes;
2441 integer bytes_left;
2442 begin
2443 addr = start_addr >> shft_addr_bits;
2444 pre_bytes = start_addr[shft_addr_bits-1:0];
2445 bytes_left = no_of_bytes;
2446 
2447 `ifdef XLNX_INT_DBG
2448  $display("[%0d] : %0s : Reading DDR Memory starting address (0x%0h) -> %0d bytes",$time, DISP_INT_INFO, start_addr,no_of_bytes );
2449 `endif
2450 
2451 /* Get first data ... if unaligned address */
2452 //temp_data[(max_burst * max_data_burst)-1 : (max_burst * max_data_burst)- data_width] = ddr_mem[addr];
2453 get_data(addr,temp_data[max_burst_bits-1 : max_burst_bits-data_width]);
2454 
2455 if(no_of_bytes+start_addr[shft_addr_bits-1:0] < mem_width ) begin
2456  temp_data = temp_data >> (pre_bytes * 8);
2457  repeat(max_burst_bytes - mem_width)
2458  temp_data = temp_data >> 8;
2459 
2460 end else begin
2461  bytes_left = bytes_left - (mem_width - pre_bytes);
2462  addr = addr+1;
2463  /* Got first data */
2464  while (bytes_left > (mem_width-1) ) begin
2465  temp_data = temp_data >> data_width;
2466  //temp_data[(max_burst * max_data_burst)-1 : (max_burst * max_data_burst)- data_width] = ddr_mem[addr];
2467  get_data(addr,temp_data[max_burst_bits-1 : max_burst_bits-data_width]);
2468  addr = addr+1;
2469  bytes_left = bytes_left - mem_width;
2470  end
2471 
2472  /* Get last valid data in the burst*/
2473  //temp_rd_data = ddr_mem[addr];
2474  get_data(addr,temp_rd_data);
2475  while(bytes_left > 0) begin
2476  temp_data = temp_data >> 8;
2477  temp_data[max_burst_bits-1 : max_burst_bits-8] = temp_rd_data[7:0];
2478  temp_rd_data = temp_rd_data >> 8;
2479  bytes_left = bytes_left - 1;
2480  end
2481  /* align to the brst_byte length */
2482  repeat(max_burst_bytes - no_of_bytes)
2483  temp_data = temp_data >> 8;
2484 end
2485 data = temp_data;
2486 `ifdef XLNX_INT_DBG
2487  $display("[%0d] : %0s : DONE -> Reading DDR Memory starting address (0x%0h), Data returned(0x%0h)",$time, DISP_INT_INFO, start_addr, data );
2488 `endif
2489 end
2490 endtask
2491 
2492 
2493 
2494 
2495 /* backdoor read to memory */
2496 task peek_mem_to_file;
2497 input [(max_chars*8)-1:0] file_name;
2498 input [addr_width-1:0] start_addr;
2499 input [int_width-1:0] no_of_bytes;
2500 
2501 integer rd_fd;
2502 integer bytes;
2503 reg [addr_width-1:0] addr;
2504 reg [data_width-1:0] rd_data;
2505 begin
2506 rd_fd = $fopen(file_name,"w");
2507 bytes = no_of_bytes;
2508 
2509 addr = start_addr >> shft_addr_bits;
2510 while (bytes > 0) begin
2511  get_data(addr,rd_data);
2512  $fdisplayh(rd_fd,rd_data);
2513  bytes = bytes - 4;
2514  addr = addr + 1;
2515 end
2516 end
2517 endtask
2518 
2519 endmodule
2520 
2521 
2522 /*****************************************************************************
2523  * File : processing_system7_vip_v1_0_10_reg_map.v
2524  *
2525  * Date : 2012-11
2526  *
2527  * Description : Controller for Register Map Memory
2528  *
2529  *****************************************************************************/
2530 /*** WA for CR # 695818 ***/
2531 `ifdef XILINX_SIMULATOR
2532  `define XSIM_ISIM
2533 `endif
2534 `ifdef XILINX_ISIM
2535  `define XSIM_ISIM
2536 `endif
2537 
2538  `timescale 1ns/1ps
2539 
2540 module processing_system7_vip_v1_0_10_reg_map();
2541 
2542 `include "processing_system7_vip_v1_0_10_local_params.v"
2543 
2544 /* Register definitions */
2545 `include "processing_system7_vip_v1_0_10_reg_params.v"
2546 
2547 parameter mem_size = 32'h2000_0000; ///as the memory is implemented 4 byte wide
2548 parameter xsim_mem_size = 32'h1000_0000; ///as the memory is implemented 4 byte wide 256 MB
2549 
2550 `ifdef XSIM_ISIM
2551  reg [data_width-1:0] reg_mem0 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
2552  reg [data_width-1:0] reg_mem1 [0:(xsim_mem_size/mem_width)-1]; // 256MB mem
2553  parameter addr_offset_bits = 26;
2554 `else
2555  reg /*sparse*/ [data_width-1:0] reg_mem [0:(mem_size/mem_width)-1]; // 512 MB needed for reg space
2556  parameter addr_offset_bits = 27;
2557 `endif
2558 
2559 /* preload reset_values from file */
2560 task automatic pre_load_rst_values;
2561 input dummy;
2562 begin
2563  `include "processing_system7_vip_v1_0_10_reg_init.v" /* This file has list of set_reset_data() calls to set the reset value for each register*/
2564 end
2565 endtask
2566 
2567 /* writes the reset data into the reg memory */
2568 task automatic set_reset_data;
2569 input [addr_width-1:0] address;
2570 input [data_width-1:0] data;
2571 reg [addr_width-1:0] addr;
2572 begin
2573 addr = address >> 2;
2574 `ifdef XSIM_ISIM
2575  case(addr[addr_width-1:addr_offset_bits])
2576  14 : reg_mem0[addr[addr_offset_bits-1:0]] = data;
2577  15 : reg_mem1[addr[addr_offset_bits-1:0]] = data;
2578  endcase
2579 `else
2580  reg_mem[addr[addr_offset_bits-1:0]] = data;
2581 `endif
2582 end
2583 endtask
2584 
2585 /* writes the data into the reg memory */
2586 task automatic set_data;
2587 input [addr_width-1:0] addr;
2588 input [data_width-1:0] data;
2589 begin
2590 `ifdef XSIM_ISIM
2591  case(addr[addr_width-1:addr_offset_bits])
2592  6'h0E : reg_mem0[addr[addr_offset_bits-1:0]] = data;
2593  6'h0F : reg_mem1[addr[addr_offset_bits-1:0]] = data;
2594  endcase
2595 `else
2596  reg_mem[addr[addr_offset_bits-1:0]] = data;
2597 `endif
2598 end
2599 endtask
2600 
2601 /* get the read data from reg mem */
2602 task automatic get_data;
2603 input [addr_width-1:0] addr;
2604 output [data_width-1:0] data;
2605 begin
2606 `ifdef XSIM_ISIM
2607  case(addr[addr_width-1:addr_offset_bits])
2608  6'h0E : data = reg_mem0[addr[addr_offset_bits-1:0]];
2609  6'h0F : data = reg_mem1[addr[addr_offset_bits-1:0]];
2610  endcase
2611 `else
2612  data = reg_mem[addr[addr_offset_bits-1:0]];
2613 `endif
2614 end
2615 endtask
2616 
2617 /* read chunk of registers */
2618 task read_reg_mem;
2619 output[max_burst_bits-1 :0] data;
2620 input [addr_width-1:0] start_addr;
2621 input [max_burst_bytes_width:0] no_of_bytes;
2622 integer i;
2623 reg [addr_width-1:0] addr;
2624 reg [data_width-1:0] temp_rd_data;
2625 reg [max_burst_bits-1:0] temp_data;
2626 integer bytes_left;
2627 begin
2628 addr = start_addr >> shft_addr_bits;
2629 bytes_left = no_of_bytes;
2630 
2631 `ifdef XLNX_INT_DBG
2632  $display("[%0d] : %0s : Reading Register Map starting address (0x%0h) -> %0d bytes",$time, DISP_INT_INFO, start_addr,no_of_bytes );
2633 `endif
2634 
2635 /* Get first data ... if unaligned address */
2636 get_data(addr,temp_data[max_burst_bits-1 : max_burst_bits- data_width]);
2637 
2638 if(no_of_bytes < mem_width ) begin
2639  repeat(max_burst_bytes - mem_width)
2640  temp_data = temp_data >> 8;
2641 
2642 end else begin
2643  bytes_left = bytes_left - mem_width;
2644  addr = addr+1;
2645  /* Got first data */
2646  while (bytes_left > (mem_width-1) ) begin
2647  temp_data = temp_data >> data_width;
2648  get_data(addr,temp_data[max_burst_bits-1 : max_burst_bits-data_width]);
2649  addr = addr+1;
2650  bytes_left = bytes_left - mem_width;
2651  end
2652 
2653  /* Get last valid data in the burst*/
2654  get_data(addr,temp_rd_data);
2655  while(bytes_left > 0) begin
2656  temp_data = temp_data >> 8;
2657  temp_data[max_burst_bits-1 : max_burst_bits-8] = temp_rd_data[7:0];
2658  temp_rd_data = temp_rd_data >> 8;
2659  bytes_left = bytes_left - 1;
2660  end
2661  /* align to the brst_byte length */
2662  repeat(max_burst_bytes - no_of_bytes)
2663  temp_data = temp_data >> 8;
2664 end
2665 data = temp_data;
2666 `ifdef XLNX_INT_DBG
2667  $display("[%0d] : %0s : DONE -> Reading Register Map starting address (0x%0h), Data returned(0x%0h)",$time, DISP_INT_INFO, start_addr, data );
2668 `endif
2669 end
2670 endtask
2671 
2672 initial
2673 begin
2674  pre_load_rst_values(1);
2675 end
2676 
2677 endmodule
2678 
2679 
2680 /*****************************************************************************
2681  * File : processing_system7_vip_v1_0_10_ocm_mem.v
2682  *
2683  * Date : 2012-11
2684  *
2685  * Description : Mimics OCM model
2686  *
2687  *****************************************************************************/
2688  `timescale 1ns/1ps
2689 
2690 module processing_system7_vip_v1_0_10_ocm_mem();
2691 `include "processing_system7_vip_v1_0_10_local_params.v"
2692 
2693 parameter mem_size = 32'h4_0000; /// 256 KB
2694 parameter mem_addr_width = clogb2(mem_size/mem_width);
2695 
2696 reg [data_width-1:0] ocm_memory [0:(mem_size/mem_width)-1]; /// 256 KB memory
2697 
2698 /* preload memory from file */
2699 // task automatic pre_load_mem_from_file;
2700 // input [(max_chars*8)-1:0] file_name;
2701 // input [addr_width-1:0] start_addr;
2702 // input [int_width-1:0] no_of_bytes;
2703 // $readmemh(file_name,ocm_memory,start_addr>>shft_addr_bits);
2704 // endtask
2705 
2706 task automatic pre_load_mem_from_file;
2707 input [(max_chars*8)-1:0] file_name;
2708 input [addr_width-1:0] start_addr;
2709 input [int_width-1:0] no_of_bytes;
2710 integer i;
2711  reg [data_width-1:0] ocm_memory_temp [0:(mem_size/mem_width)-1]; /// 256 KB memory
2712 
2713  $readmemh(file_name,ocm_memory_temp,start_addr>>shft_addr_bits);
2714  for (i = 0; i < no_of_bytes; i = i + 1) begin
2715  ocm_memory[(start_addr>>shft_addr_bits) + i] = ocm_memory_temp[(start_addr>>shft_addr_bits) + i];
2716  end
2717 
2718 endtask
2719 
2720 
2721 /* preload memory with some random data */
2722 task automatic pre_load_mem;
2723 input [1:0] data_type;
2724 input [addr_width-1:0] start_addr;
2725 input [int_width-1:0] no_of_bytes;
2726 integer i;
2727 reg [mem_addr_width-1:0] addr;
2728 begin
2729 addr = start_addr >> shft_addr_bits;
2730 
2731 for (i = 0; i < no_of_bytes; i = i + mem_width) begin
2732  case(data_type)
2733  ALL_RANDOM : ocm_memory[addr] = $random;
2734  ALL_ZEROS : ocm_memory[addr] = 32'h0000_0000;
2735  ALL_ONES : ocm_memory[addr] = 32'hFFFF_FFFF;
2736  default : ocm_memory[addr] = $random;
2737  endcase
2738  addr = addr+1;
2739 end
2740 end
2741 endtask
2742 
2743 /* Write memory */
2744 task write_mem;
2745 input [max_burst_bits-1 :0] data;
2746 input [addr_width-1:0] start_addr;
2747 input [max_burst_bytes_width:0] no_of_bytes;
2748 input [max_burst_bytes-1 :0] strb;
2749 reg [mem_addr_width-1:0] addr;
2750 reg [max_burst_bits-1 :0] wr_temp_data;
2751 reg [max_burst_bytes-1 :0] wr_temp_strb;
2752 reg [data_width-1:0] pre_pad_data,post_pad_data,temp_data;
2753 reg [(data_width/8)-1:0] pre_pad_strb, post_pad_strb, temp_strb;
2754 
2755 integer bytes_left;
2756 integer pre_pad_bytes;
2757 integer post_pad_bytes;
2758 begin
2759 addr = start_addr >> shft_addr_bits;
2760 wr_temp_data = data;
2761 wr_temp_strb = strb;
2762 
2763 
2764 `ifdef XLNX_INT_DBG
2765  $display("[%0d] : %0s : Writing OCM Memory starting address (0x%0h) with %0d bytes.\n Data (0x%0h)",$time, DISP_INT_INFO, start_addr, no_of_bytes, data);
2766 `endif
2767 
2768 temp_data = wr_temp_data[data_width-1:0];
2769 temp_strb = wr_temp_strb[(data_width/8)-1:0];
2770 bytes_left = no_of_bytes;
2771 /* when the no. of bytes to be updated is less than mem_width */
2772  if(bytes_left+start_addr[shft_addr_bits-1:0] < mem_width) begin
2773  /* first data word in the burst , if unaligned address, the adjust the wr_data accordingly for first write*/
2774  if(start_addr[shft_addr_bits-1:0] > 0) begin
2775  temp_data = ocm_memory[addr];
2776  temp_strb = 4'hF;
2777  pre_pad_bytes = mem_width - start_addr[shft_addr_bits-1:0];
2778  repeat(pre_pad_bytes) begin
2779  temp_data = temp_data << 8;
2780  temp_strb = temp_strb << 1;
2781  end
2782  repeat(pre_pad_bytes) begin
2783  temp_data = temp_data >> 8;
2784  temp_strb = temp_strb >> 1;
2785  temp_data[data_width-1:data_width-8] = wr_temp_data[7:0];
2786  temp_strb[(data_width/8)-1] = wr_temp_strb[0];
2787  wr_temp_data = wr_temp_data >> 8;
2788  wr_temp_strb = wr_temp_strb >> 1;
2789  end
2790  bytes_left = bytes_left + pre_pad_bytes;
2791  end
2792  /* This is needed for post padding the data ...*/
2793  post_pad_bytes = mem_width - bytes_left;
2794  post_pad_data = ocm_memory[addr];
2795  post_pad_strb = 4'hF;
2796  repeat(post_pad_bytes) begin
2797  temp_data = temp_data << 8;
2798  temp_strb = temp_strb << 1;
2799  end
2800  repeat(bytes_left) begin
2801  post_pad_data = post_pad_data >> 8;
2802  post_pad_strb = post_pad_strb >> 1;
2803  end
2804  repeat(post_pad_bytes) begin
2805  temp_data = temp_data >> 8;
2806  temp_strb = temp_strb >> 1;
2807  temp_data[data_width-1:data_width-8] = post_pad_data[7:0];
2808  temp_strb[(data_width/8)-1] = post_pad_strb[0];
2809  post_pad_data = post_pad_data >> 8;
2810  post_pad_strb = post_pad_strb >> 1;
2811  end
2812  if (temp_strb[0] == 1'b1) ocm_memory[addr][7:0] = temp_data[7:0];
2813  if (temp_strb[1] == 1'b1) ocm_memory[addr][15:8] = temp_data[15:8];
2814  if (temp_strb[2] == 1'b1) ocm_memory[addr][23:16] = temp_data[23:16];
2815  if (temp_strb[3] == 1'b1) ocm_memory[addr][31:24] = temp_data[31:24];
2816  //$display(" zero ocm_memory[addr] %0h temp_data %0h ",ocm_memory[addr],temp_data[31:0]);
2817 end else begin
2818  /* first data word in the burst , if unaligned address, the adjust the wr_data accordingly for first write*/
2819  if(start_addr[shft_addr_bits-1:0] > 0) begin
2820  temp_data = ocm_memory[addr];
2821  temp_strb = 4'hF;
2822  pre_pad_bytes = mem_width - start_addr[shft_addr_bits-1:0];
2823  repeat(pre_pad_bytes) begin
2824  temp_data = temp_data << 8;
2825  temp_strb = temp_strb << 1;
2826  end
2827  repeat(pre_pad_bytes) begin
2828  temp_data = temp_data >> 8;
2829  temp_strb = temp_strb >> 1;
2830  temp_data[data_width-1:data_width-8] = wr_temp_data[7:0];
2831  temp_strb[(data_width/8)-1] = wr_temp_strb[0];
2832  wr_temp_data = wr_temp_data >> 8;
2833  wr_temp_strb = wr_temp_strb >> 1;
2834  bytes_left = bytes_left -1;
2835  end
2836  end else begin
2837  wr_temp_data = wr_temp_data >> data_width;
2838  wr_temp_strb = wr_temp_strb >> data_width/8;
2839  bytes_left = bytes_left - mem_width;
2840  end
2841  /* first data word end */
2842  if (temp_strb[0] == 1'b1) ocm_memory[addr][7:0] = temp_data[7:0];
2843  if (temp_strb[1] == 1'b1) ocm_memory[addr][15:8] = temp_data[15:8];
2844  if (temp_strb[2] == 1'b1) ocm_memory[addr][23:16] = temp_data[23:16];
2845  if (temp_strb[3] == 1'b1) ocm_memory[addr][31:24] = temp_data[31:24];
2846  addr = addr + 1;
2847  //$display(" first write ocm_memory[addr] %0h temp_data %0h ",ocm_memory[addr],temp_data[31:0]);
2848  while(bytes_left > (mem_width-1) ) begin /// for unaliged address necessary to check for mem_wd-1 , accordingly we have to pad post bytes.
2849  if (wr_temp_strb[0] == 1'b1) ocm_memory[addr][7:0] = wr_temp_data[7:0];
2850  if (wr_temp_strb[1] == 1'b1) ocm_memory[addr][15:8] = wr_temp_data[15:8];
2851  if (wr_temp_strb[2] == 1'b1) ocm_memory[addr][23:16] = wr_temp_data[23:16];
2852  if (wr_temp_strb[3] == 1'b1) ocm_memory[addr][31:24] = wr_temp_data[31:24];
2853  //$display("second write ocm_memory[addr] %0h temp_data %0h ",ocm_memory[addr],temp_data[31:0]);
2854 //ocm_memory[addr] = wr_temp_data[data_width-1:0];
2855  addr = addr+1;
2856  wr_temp_data = wr_temp_data >> data_width;
2857  wr_temp_strb = wr_temp_strb >> data_width/8;
2858  bytes_left = bytes_left - mem_width;
2859  end
2860 
2861  post_pad_data = ocm_memory[addr];
2862  post_pad_strb = 4'hF;
2863  post_pad_bytes = mem_width - bytes_left;
2864  /* This is needed for last transfer in unaliged burst */
2865  if(bytes_left > 0) begin
2866  temp_data = wr_temp_data[data_width-1:0];
2867  temp_strb = wr_temp_strb[(data_width/8)-1:0];
2868  repeat(post_pad_bytes) begin
2869  temp_data = temp_data << 8;
2870  temp_strb = temp_strb << 1;
2871  end
2872  repeat(bytes_left) begin
2873  post_pad_data = post_pad_data >> 8;
2874  post_pad_strb = post_pad_strb >> 1;
2875  end
2876  repeat(post_pad_bytes) begin
2877  temp_data = temp_data >> 8;
2878  temp_strb = temp_strb >> 1;
2879  temp_data[data_width-1:data_width-8] = post_pad_data[7:0];
2880  temp_strb[(data_width/8)-1] = post_pad_strb[0];
2881  post_pad_data = post_pad_data >> 8;
2882  post_pad_strb = post_pad_strb >> 1;
2883  end
2884  if (temp_strb[0] == 1'b1) ocm_memory[addr][7:0] = temp_data[7:0];
2885  if (temp_strb[1] == 1'b1) ocm_memory[addr][15:8] = temp_data[15:8];
2886  if (temp_strb[2] == 1'b1) ocm_memory[addr][23:16] = temp_data[23:16];
2887  if (temp_strb[3] == 1'b1) ocm_memory[addr][31:24] = temp_data[31:24];
2888  //$display("third write ocm_memory[addr] %0h temp_data %0h ",ocm_memory[addr],temp_data[31:0]);
2889 // ocm_memory[addr] = temp_data;
2890  end
2891 end
2892 `ifdef XLNX_INT_DBG $display("[%0d] : %0s : DONE -> Writing OCM Memory starting address (0x%0h)",$time, DISP_INT_INFO, start_addr );
2893 `endif
2894 end
2895 endtask
2896 
2897 /* read_memory */
2898 task read_mem;
2899 output[max_burst_bits-1 :0] data;
2900 input [addr_width-1:0] start_addr;
2901 input [max_burst_bytes_width:0] no_of_bytes;
2902 integer i;
2903 reg [mem_addr_width-1:0] addr;
2904 reg [data_width-1:0] temp_rd_data;
2905 reg [max_burst_bits-1:0] temp_data;
2906 integer pre_bytes;
2907 integer bytes_left;
2908 integer number_of_reads_first_loc,number_of_extra_reads;
2909 begin
2910 addr = start_addr >> shft_addr_bits;
2911 pre_bytes = start_addr[shft_addr_bits-1:0];
2912 // if(pre_bytes+no_of_bytes > mem_width) begin
2913 // bytes_left = pre_bytes+no_of_bytes;
2914 // $display(" new0 number of bytes_left %0d",bytes_left);
2915 // end else begin
2916 // bytes_left = no_of_bytes;
2917 // $display(" new1 number of bytes_left %0d",bytes_left);
2918 // end
2919 number_of_reads_first_loc = (mem_width - pre_bytes);
2920 if(pre_bytes > number_of_reads_first_loc)
2921 number_of_extra_reads = (pre_bytes - number_of_reads_first_loc);
2922 else
2923 number_of_extra_reads = 0;
2924 //$display("number_of_reads_first_loc %0d number_of_extra_reads %0d",number_of_reads_first_loc,number_of_extra_reads);
2925 
2926 bytes_left = no_of_bytes-number_of_reads_first_loc;
2927 
2928 `ifdef XLNX_INT_DBG
2929  $display("[%0d] : %0s : Reading OCM Memory starting address (0x%0h) -> %0d bytes",$time, DISP_INT_INFO, start_addr,no_of_bytes );
2930 `endif
2931 
2932 //$display("start_addr %0h no_of_bytes %0d addr %0h shft_addr_bits %0d",start_addr,no_of_bytes,addr,shft_addr_bits);
2933 
2934 /* Get first data ... if unaligned address */
2935 temp_data[max_burst_bits-1 : max_burst_bits-data_width] = ocm_memory[addr];
2936 
2937 
2938 //$display("start_addr %0h ocm_memory[%0h] %0h pre_bytes %0d",start_addr,addr,ocm_memory[addr],pre_bytes);
2939 // if(no_of_bytes < mem_width ) begin
2940 // if(bytes_left < mem_width ) begin
2941 if(bytes_left <= 0 ) begin
2942  temp_data = temp_data >> (pre_bytes * 8);
2943  repeat(max_burst_bytes - mem_width)
2944  temp_data = temp_data >> 8;
2945  //$display("temp_data %0h no_of_bytes %0h mem_width %0h",temp_data,no_of_bytes,mem_width);
2946 end else begin
2947  // bytes_left = bytes_left - (mem_width - pre_bytes);
2948  //$display(" else bytes_left %0d ",bytes_left);
2949  addr = addr+1;
2950  /* Got first data */
2951  while (bytes_left > (mem_width-1) ) begin
2952  temp_data = temp_data >> data_width;
2953  temp_data[max_burst_bits-1 : max_burst_bits-data_width] = ocm_memory[addr];
2954  addr = addr+1;
2955  bytes_left = bytes_left - mem_width;
2956  end
2957 
2958  /* Get last valid data in the burst*/
2959  temp_rd_data = ocm_memory[addr];
2960  //$display("second temp_rd_data %0h no_of_bytes %0h ocm_memory[%0h] %0h",temp_rd_data,no_of_bytes,addr,ocm_memory[addr]);
2961  while(bytes_left > 0) begin
2962  temp_data = temp_data >> 8;
2963  //$display("temp_data %0h bytes_left %0d max_burst_bits %0d",temp_data,bytes_left,max_burst_bits);
2964  temp_data[max_burst_bits-1 : max_burst_bits-8] = temp_rd_data[7:0];
2965  temp_rd_data = temp_rd_data >> 8;
2966  bytes_left = bytes_left - 1;
2967  //$display("temp_rd_data %0h bytes_left %0d max_burst_bits %0d",temp_rd_data,bytes_left,max_burst_bits);
2968  end
2969  /* align to the brst_byte length */
2970  repeat(max_burst_bytes - no_of_bytes) begin
2971  temp_data = temp_data >> 8;
2972  // $display("temp_data %0h no_of_bytes %0d max_burst_bytes %0d",temp_data,no_of_bytes,max_burst_bytes);
2973  end
2974 end
2975 data = temp_data;
2976  //$display("final data %0h ",data);
2977 `ifdef XLNX_INT_DBG
2978  $display("[%0d] : %0s : DONE -> Reading OCM Memory starting address (0x%0h), Data returned(0x%0h)",$time, DISP_INT_INFO, start_addr, data );
2979 `endif
2980 end
2981 endtask
2982 
2983 // /* read_memory */
2984 // task read_mem;
2985 // output[max_burst_bits-1 :0] data;
2986 // input [addr_width-1:0] start_addr;
2987 // input [max_burst_bytes_width:0] no_of_bytes;
2988 // integer i;
2989 // reg [mem_addr_width-1:0] addr;
2990 // reg [data_width-1:0] temp_rd_data;
2991 // reg [max_burst_bits-1:0] temp_data;
2992 // integer pre_bytes;
2993 // integer bytes_left;
2994 // begin
2995 // addr = start_addr >> shft_addr_bits;
2996 // pre_bytes = start_addr[shft_addr_bits-1:0];
2997 // bytes_left = no_of_bytes;
2998 //
2999 // `ifdef XLNX_INT_DBG
3000 // $display("[%0d] : %0s : Reading OCM Memory starting address (0x%0h) -> %0d bytes",$time, DISP_INT_INFO, start_addr,no_of_bytes );
3001 // `endif
3002 //
3003 // /* Get first data ... if unaligned address */
3004 // temp_data[max_burst_bits-1 : max_burst_bits-data_width] = ocm_memory[addr];
3005 //
3006 // if(no_of_bytes < mem_width ) begin
3007 // temp_data = temp_data >> (pre_bytes * 8);
3008 // repeat(max_burst_bytes - mem_width)
3009 // temp_data = temp_data >> 8;
3010 //
3011 // end else begin
3012 // bytes_left = bytes_left - (mem_width - pre_bytes);
3013 // addr = addr+1;
3014 // /* Got first data */
3015 // while (bytes_left > (mem_width-1) ) begin
3016 // temp_data = temp_data >> data_width;
3017 // temp_data[max_burst_bits-1 : max_burst_bits-data_width] = ocm_memory[addr];
3018 // addr = addr+1;
3019 // bytes_left = bytes_left - mem_width;
3020 // end
3021 //
3022 // /* Get last valid data in the burst*/
3023 // temp_rd_data = ocm_memory[addr];
3024 // while(bytes_left > 0) begin
3025 // temp_data = temp_data >> 8;
3026 // temp_data[max_burst_bits-1 : max_burst_bits-8] = temp_rd_data[7:0];
3027 // temp_rd_data = temp_rd_data >> 8;
3028 // bytes_left = bytes_left - 1;
3029 // end
3030 // /* align to the brst_byte length */
3031 // repeat(max_burst_bytes - no_of_bytes)
3032 // temp_data = temp_data >> 8;
3033 // end
3034 // data = temp_data;
3035 // `ifdef XLNX_INT_DBG
3036 // $display("[%0d] : %0s : DONE -> Reading OCM Memory starting address (0x%0h), Data returned(0x%0h)",$time, DISP_INT_INFO, start_addr, data );
3037 // `endif
3038 // end
3039 // endtask
3040 
3041 /* backdoor read to memory */
3042 task peek_mem_to_file;
3043 input [(max_chars*8)-1:0] file_name;
3044 input [addr_width-1:0] start_addr;
3045 input [int_width-1:0] no_of_bytes;
3046 
3047 integer rd_fd;
3048 integer bytes;
3049 reg [addr_width-1:0] addr;
3050 reg [data_width-1:0] rd_data;
3051 begin
3052 rd_fd = $fopen(file_name,"w");
3053 bytes = no_of_bytes;
3054 
3055 addr = start_addr >> shft_addr_bits;
3056 while (bytes > 0) begin
3057  rd_data = ocm_memory[addr];
3058  $fdisplayh(rd_fd,rd_data);
3059  bytes = bytes - 4;
3060  addr = addr + 1;
3061 end
3062 end
3063 endtask
3064 
3065 endmodule
3066 
3067 
3068 /*****************************************************************************
3069  * File : processing_system7_vip_v1_0_10_intr_wr_mem.v
3070  *
3071  * Date : 2012-11
3072  *
3073  * Description : Mimics interconnect for Writes between AFI and DDRC/OCM
3074  *
3075  *****************************************************************************/
3076  `timescale 1ns/1ps
3077 
3079 sw_clk,
3080 rstn,
3081 
3082 full,
3083 
3084 WR_DATA_ACK_OCM,
3085 WR_DATA_ACK_DDR,
3086 WR_ADDR,
3087 WR_DATA,
3088 WR_BYTES,
3089 WR_QOS,
3090 WR_DATA_VALID_OCM,
3091 WR_DATA_VALID_DDR
3092 );
3093 
3094 `include "processing_system7_vip_v1_0_10_local_params.v"
3095 /* local parameters for interconnect wr fifo model */
3096  parameter wr_bytes_lsb = 0;
3097  parameter wr_bytes_msb = max_burst_bytes_width;
3098  parameter wr_addr_lsb = wr_bytes_msb + 1;
3099  parameter wr_addr_msb = wr_addr_lsb + addr_width-1;
3100  parameter wr_data_lsb = wr_addr_msb + 1;
3101 
3102  parameter data_bus_width = 32;
3103  parameter wr_data_msb = wr_data_lsb + (data_bus_width*axi_burst_len)-1;
3104  parameter wr_qos_lsb = wr_data_msb + 1;
3105  parameter wr_qos_msb = wr_qos_lsb + axi_qos_width-1;
3106  parameter wr_strb_lsb = wr_qos_msb + 1;
3107  parameter wr_strb_msb = wr_strb_lsb + ((data_bus_width/8)*axi_burst_len)-1;
3108 
3109 
3110 parameter wr_fifo_data_bits = ((data_bus_width/8)*axi_burst_len) + (data_bus_width*axi_burst_len) + axi_qos_width + addr_width + (max_burst_bytes_width+1);
3111 input sw_clk, rstn;
3112 output full;
3113 
3114 input WR_DATA_ACK_DDR, WR_DATA_ACK_OCM;
3115 output reg WR_DATA_VALID_DDR, WR_DATA_VALID_OCM;
3116 output reg [max_burst_bits-1:0] WR_DATA;
3117 output reg [addr_width-1:0] WR_ADDR;
3118 output reg [max_burst_bytes_width:0] WR_BYTES;
3119 output reg [axi_qos_width-1:0] WR_QOS;
3120 reg [intr_cnt_width-1:0] wr_ptr = 0, rd_ptr = 0;
3121 reg [wr_fifo_data_bits-1:0] wr_fifo [0:intr_max_outstanding-1];
3122 wire empty;
3123 
3124 assign empty = (wr_ptr === rd_ptr)?1'b1: 1'b0;
3125 assign full = ((wr_ptr[intr_cnt_width-1]!== rd_ptr[intr_cnt_width-1]) && (wr_ptr[intr_cnt_width-2:0] === rd_ptr[intr_cnt_width-2:0]))?1'b1 :1'b0;
3126 
3127 parameter SEND_DATA = 0, WAIT_ACK = 1;
3128 reg state;
3129 
3130 task automatic write_mem;
3131 input [wr_fifo_data_bits-1:0] data;
3132 begin
3133  wr_fifo[wr_ptr[intr_cnt_width-2:0]] = data;
3134  if(wr_ptr[intr_cnt_width-2:0] === intr_max_outstanding-1)
3135  wr_ptr[intr_cnt_width-2:0] = 0;
3136  else
3137  wr_ptr = wr_ptr + 1;
3138 end
3139 endtask
3140 
3141 always@(negedge rstn or posedge sw_clk)
3142 begin
3143 if(!rstn) begin
3144  wr_ptr = 0;
3145  rd_ptr = 0;
3146  WR_DATA_VALID_DDR = 1'b0;
3147  WR_DATA_VALID_OCM = 1'b0;
3148  WR_QOS = 0;
3149  state = SEND_DATA;
3150 end else begin
3151  case(state)
3152  SEND_DATA :begin
3153  state = SEND_DATA;
3154  WR_DATA_VALID_OCM = 1'b0;
3155  WR_DATA_VALID_DDR = 1'b0;
3156  if(!empty) begin
3157  WR_DATA = wr_fifo[rd_ptr[intr_cnt_width-2:0]][wr_data_msb : wr_data_lsb];
3158  WR_ADDR = wr_fifo[rd_ptr[intr_cnt_width-2:0]][wr_addr_msb : wr_addr_lsb];
3159  WR_BYTES = wr_fifo[rd_ptr[intr_cnt_width-2:0]][wr_bytes_msb : wr_bytes_lsb];
3160  WR_QOS = wr_fifo[rd_ptr[intr_cnt_width-2:0]][wr_qos_msb : wr_qos_lsb];
3161  state = WAIT_ACK;
3162  case(decode_address(wr_fifo[rd_ptr[intr_cnt_width-2:0]][wr_addr_msb : wr_addr_lsb]))
3163  OCM_MEM : WR_DATA_VALID_OCM = 1;
3164  DDR_MEM : WR_DATA_VALID_DDR = 1;
3165  default : state = SEND_DATA;
3166  endcase
3167  if(rd_ptr[intr_cnt_width-2:0] === intr_max_outstanding-1) begin
3168  rd_ptr[intr_cnt_width-2:0] = 0;
3169  end else begin
3170  rd_ptr = rd_ptr+1;
3171  end
3172  end
3173  end
3174  WAIT_ACK :begin
3175  state = WAIT_ACK;
3176  if(WR_DATA_ACK_OCM | WR_DATA_ACK_DDR) begin
3177  WR_DATA_VALID_OCM = 1'b0;
3178  WR_DATA_VALID_DDR = 1'b0;
3179  state = SEND_DATA;
3180  end
3181  end
3182  endcase
3183 end
3184 end
3185 
3186 endmodule
3187 
3188 
3189 /*****************************************************************************
3190  * File : processing_system7_vip_v1_0_10_intr_rd_mem.v
3191  *
3192  * Date : 2012-11
3193  *
3194  * Description : Mimics interconnect for Reads between AFI and DDRC/OCM
3195  *
3196  *****************************************************************************/
3197  `timescale 1ns/1ps
3198 
3200 sw_clk,
3201 rstn,
3202 
3203 full,
3204 empty,
3205 
3206 req,
3207 invalid_rd_req,
3208 rd_info,
3209 
3210 RD_DATA_OCM,
3211 RD_DATA_DDR,
3212 RD_DATA_VALID_OCM,
3213 RD_DATA_VALID_DDR
3214 
3215 );
3216 `include "processing_system7_vip_v1_0_10_local_params.v"
3217 
3218 input sw_clk, rstn;
3219 output full, empty;
3220 
3221 input RD_DATA_VALID_DDR, RD_DATA_VALID_OCM;
3222 input [max_burst_bits-1:0] RD_DATA_DDR, RD_DATA_OCM;
3223 input req, invalid_rd_req;
3224 input [rd_info_bits-1:0] rd_info;
3225 
3226 reg [intr_cnt_width-1:0] wr_ptr = 0, rd_ptr = 0;
3227 reg [rd_afi_fifo_bits-1:0] rd_fifo [0:intr_max_outstanding-1]; // Data, addr, size, burst, len, RID, RRESP, valid bytes
3228 wire full, empty;
3229 
3230 
3231 assign empty = (wr_ptr === rd_ptr)?1'b1: 1'b0;
3232 assign full = ((wr_ptr[intr_cnt_width-1]!== rd_ptr[intr_cnt_width-1]) && (wr_ptr[intr_cnt_width-2:0] === rd_ptr[intr_cnt_width-2:0]))?1'b1 :1'b0;
3233 
3234 /* read from the fifo */
3235 task read_mem;
3236 output [rd_afi_fifo_bits-1:0] data;
3237 begin
3238  data = rd_fifo[rd_ptr[intr_cnt_width-1:0]];
3239  if(rd_ptr[intr_cnt_width-2:0] === intr_max_outstanding-1)
3240  rd_ptr[intr_cnt_width-2:0] = 0;
3241  else
3242  rd_ptr = rd_ptr + 1;
3243 end
3244 endtask
3245 
3246 reg state;
3247 reg invalid_rd;
3248 /* write in the fifo */
3249 always@(negedge rstn or posedge sw_clk)
3250 begin
3251 if(!rstn) begin
3252  wr_ptr = 0;
3253  rd_ptr = 0;
3254  state = 0;
3255  invalid_rd = 0;
3256 end else begin
3257  case (state)
3258  0 : begin
3259  state = 0;
3260  invalid_rd = 0;
3261  if(req)begin
3262  state = 1;
3263  invalid_rd = invalid_rd_req;
3264  end
3265  end
3266  1 : begin
3267  state = 1;
3268  if(RD_DATA_VALID_OCM | RD_DATA_VALID_DDR | invalid_rd) begin
3269  if(RD_DATA_VALID_DDR)
3270  rd_fifo[wr_ptr[intr_cnt_width-2:0]] = {RD_DATA_DDR,rd_info};
3271  else if(RD_DATA_VALID_OCM)
3272  rd_fifo[wr_ptr[intr_cnt_width-2:0]] = {RD_DATA_OCM,rd_info};
3273  else
3274  rd_fifo[wr_ptr[intr_cnt_width-2:0]] = rd_info;
3275  if(wr_ptr[intr_cnt_width-2:0] === intr_max_outstanding-1)
3276  wr_ptr[intr_cnt_width-2:0] = 0;
3277  else
3278  wr_ptr = wr_ptr + 1;
3279  state = 0;
3280  invalid_rd = 0;
3281  end
3282  end
3283  endcase
3284 end
3285 end
3286 
3287 endmodule
3288 
3289 
3290 /*****************************************************************************
3291  * File : processing_system7_vip_v1_0_10_fmsw_gp.v
3292  *
3293  * Date : 2012-11
3294  *
3295  * Description : Mimics FMSW switch.
3296  *
3297  *****************************************************************************/
3298  `timescale 1ns/1ps
3299 
3301  sw_clk,
3302  rstn,
3303 
3304  w_qos_gp0,
3305  r_qos_gp0,
3306  wr_ack_ocm_gp0,
3307  wr_ack_ddr_gp0,
3308  wr_data_gp0,
3309  wr_strb_gp0,
3310  wr_addr_gp0,
3311  wr_bytes_gp0,
3312  wr_dv_ocm_gp0,
3313  wr_dv_ddr_gp0,
3314  rd_req_ocm_gp0,
3315  rd_req_ddr_gp0,
3316  rd_req_reg_gp0,
3317  rd_addr_gp0,
3318  rd_bytes_gp0,
3319  rd_data_ocm_gp0,
3320  rd_data_ddr_gp0,
3321  rd_data_reg_gp0,
3322  rd_dv_ocm_gp0,
3323  rd_dv_ddr_gp0,
3324  rd_dv_reg_gp0,
3325 
3326  w_qos_gp1,
3327  r_qos_gp1,
3328  wr_ack_ocm_gp1,
3329  wr_ack_ddr_gp1,
3330  wr_data_gp1,
3331  wr_strb_gp1,
3332  wr_addr_gp1,
3333  wr_bytes_gp1,
3334  wr_dv_ocm_gp1,
3335  wr_dv_ddr_gp1,
3336  rd_req_ocm_gp1,
3337  rd_req_ddr_gp1,
3338  rd_req_reg_gp1,
3339  rd_addr_gp1,
3340  rd_bytes_gp1,
3341  rd_data_ocm_gp1,
3342  rd_data_ddr_gp1,
3343  rd_data_reg_gp1,
3344  rd_dv_ocm_gp1,
3345  rd_dv_ddr_gp1,
3346  rd_dv_reg_gp1,
3347 
3348  ocm_wr_ack,
3349  ocm_wr_dv,
3350  ocm_rd_req,
3351  ocm_rd_dv,
3352  ddr_wr_ack,
3353  ddr_wr_dv,
3354  ddr_rd_req,
3355  ddr_rd_dv,
3356 
3357  reg_rd_req,
3358  reg_rd_dv,
3359 
3360  ocm_wr_qos,
3361  ddr_wr_qos,
3362  ocm_rd_qos,
3363  ddr_rd_qos,
3364  reg_rd_qos,
3365 
3366  ocm_wr_addr,
3367  ocm_wr_data,
3368  ocm_wr_strb,
3369  ocm_wr_bytes,
3370  ocm_rd_addr,
3371  ocm_rd_data,
3372  ocm_rd_bytes,
3373 
3374  ddr_wr_addr,
3375  ddr_wr_data,
3376  ddr_wr_strb,
3377  ddr_wr_bytes,
3378  ddr_rd_addr,
3379  ddr_rd_data,
3380  ddr_rd_bytes,
3381 
3382  reg_rd_addr,
3383  reg_rd_data,
3384  reg_rd_bytes
3385 
3386 );
3387 
3388 `include "processing_system7_vip_v1_0_10_local_params.v"
3389 
3390 input sw_clk;
3391 input rstn;
3392 
3393 input [axi_qos_width-1:0]w_qos_gp0;
3394 input [axi_qos_width-1:0]r_qos_gp0;
3395 input [axi_qos_width-1:0]w_qos_gp1;
3396 input [axi_qos_width-1:0]r_qos_gp1;
3397 
3398 output [axi_qos_width-1:0]ocm_wr_qos;
3399 output [axi_qos_width-1:0]ocm_rd_qos;
3400 output [axi_qos_width-1:0]ddr_wr_qos;
3401 output [axi_qos_width-1:0]ddr_rd_qos;
3402 output [axi_qos_width-1:0]reg_rd_qos;
3403 
3404 output wr_ack_ocm_gp0;
3405 output wr_ack_ddr_gp0;
3406 input [max_burst_bits-1:0] wr_data_gp0;
3407 input [max_burst_bytes-1:0] wr_strb_gp0;
3408 input [addr_width-1:0] wr_addr_gp0;
3409 input [max_burst_bytes_width:0] wr_bytes_gp0;
3410 output wr_dv_ocm_gp0;
3411 output wr_dv_ddr_gp0;
3412 
3413 input rd_req_ocm_gp0;
3414 input rd_req_ddr_gp0;
3415 input rd_req_reg_gp0;
3416 input [addr_width-1:0] rd_addr_gp0;
3417 input [max_burst_bytes_width:0] rd_bytes_gp0;
3418 output [max_burst_bits-1:0] rd_data_ocm_gp0;
3419 output [max_burst_bits-1:0] rd_data_ddr_gp0;
3420 output [max_burst_bits-1:0] rd_data_reg_gp0;
3421 output rd_dv_ocm_gp0;
3422 output rd_dv_ddr_gp0;
3423 output rd_dv_reg_gp0;
3424 
3425 output wr_ack_ocm_gp1;
3426 output wr_ack_ddr_gp1;
3427 input [max_burst_bits-1:0] wr_data_gp1;
3428 input [max_burst_bytes-1:0] wr_strb_gp1;
3429 input [addr_width-1:0] wr_addr_gp1;
3430 input [max_burst_bytes_width:0] wr_bytes_gp1;
3431 output wr_dv_ocm_gp1;
3432 output wr_dv_ddr_gp1;
3433 
3434 input rd_req_ocm_gp1;
3435 input rd_req_ddr_gp1;
3436 input rd_req_reg_gp1;
3437 input [addr_width-1:0] rd_addr_gp1;
3438 input [max_burst_bytes_width:0] rd_bytes_gp1;
3439 output [max_burst_bits-1:0] rd_data_ocm_gp1;
3440 output [max_burst_bits-1:0] rd_data_ddr_gp1;
3441 output [max_burst_bits-1:0] rd_data_reg_gp1;
3442 output rd_dv_ocm_gp1;
3443 output rd_dv_ddr_gp1;
3444 output rd_dv_reg_gp1;
3445 
3446 
3447 input ocm_wr_ack;
3448 output ocm_wr_dv;
3449 output [addr_width-1:0]ocm_wr_addr;
3450 output [max_burst_bits-1:0]ocm_wr_data;
3451 output [max_burst_bytes-1:0]ocm_wr_strb;
3452 output [max_burst_bytes_width:0]ocm_wr_bytes;
3453 
3454 input ocm_rd_dv;
3455 input [max_burst_bits-1:0] ocm_rd_data;
3456 output ocm_rd_req;
3457 output [addr_width-1:0] ocm_rd_addr;
3458 output [max_burst_bytes_width:0] ocm_rd_bytes;
3459 
3460 input ddr_wr_ack;
3461 output ddr_wr_dv;
3462 output [addr_width-1:0]ddr_wr_addr;
3463 output [max_burst_bits-1:0]ddr_wr_data;
3464 output [max_burst_bytes-1:0]ddr_wr_strb;
3465 output [max_burst_bytes_width:0]ddr_wr_bytes;
3466 
3467 input ddr_rd_dv;
3468 input [max_burst_bits-1:0] ddr_rd_data;
3469 output ddr_rd_req;
3470 output [addr_width-1:0] ddr_rd_addr;
3471 output [max_burst_bytes_width:0] ddr_rd_bytes;
3472 
3473 input reg_rd_dv;
3474 input [max_burst_bits-1:0] reg_rd_data;
3475 output reg_rd_req;
3476 output [addr_width-1:0] reg_rd_addr;
3477 output [max_burst_bytes_width:0] reg_rd_bytes;
3478 
3479 
3480 
3482  .rstn(rstn),
3483  .sw_clk(sw_clk),
3484  .qos1(w_qos_gp0),
3485  .qos2(w_qos_gp1),
3486  .prt_dv1(wr_dv_ocm_gp0),
3487  .prt_dv2(wr_dv_ocm_gp1),
3488  .prt_data1(wr_data_gp0),
3489  .prt_data2(wr_data_gp1),
3490  .prt_strb1(wr_strb_gp0),
3491  .prt_strb2(wr_strb_gp1),
3492  .prt_addr1(wr_addr_gp0),
3493  .prt_addr2(wr_addr_gp1),
3494  .prt_bytes1(wr_bytes_gp0),
3495  .prt_bytes2(wr_bytes_gp1),
3496  .prt_ack1(wr_ack_ocm_gp0),
3497  .prt_ack2(wr_ack_ocm_gp1),
3498  .prt_req(ocm_wr_dv),
3499  .prt_qos(ocm_wr_qos),
3500  .prt_data(ocm_wr_data),
3501  .prt_strb(ocm_wr_strb),
3502  .prt_addr(ocm_wr_addr),
3503  .prt_bytes(ocm_wr_bytes),
3504  .prt_ack(ocm_wr_ack)
3505 );
3506 
3508  .rstn(rstn),
3509  .sw_clk(sw_clk),
3510  .qos1(w_qos_gp0),
3511  .qos2(w_qos_gp1),
3512  .prt_dv1(wr_dv_ddr_gp0),
3513  .prt_dv2(wr_dv_ddr_gp1),
3514  .prt_data1(wr_data_gp0),
3515  .prt_data2(wr_data_gp1),
3516  .prt_strb1(wr_strb_gp0),
3517  .prt_strb2(wr_strb_gp1),
3518  .prt_addr1(wr_addr_gp0),
3519  .prt_addr2(wr_addr_gp1),
3520  .prt_bytes1(wr_bytes_gp0),
3521  .prt_bytes2(wr_bytes_gp1),
3522  .prt_ack1(wr_ack_ddr_gp0),
3523  .prt_ack2(wr_ack_ddr_gp1),
3524  .prt_req(ddr_wr_dv),
3525  .prt_qos(ddr_wr_qos),
3526  .prt_data(ddr_wr_data),
3527  .prt_strb(ddr_wr_strb),
3528  .prt_addr(ddr_wr_addr),
3529  .prt_bytes(ddr_wr_bytes),
3530  .prt_ack(ddr_wr_ack)
3531 );
3532 
3534  .rstn(rstn),
3535  .sw_clk(sw_clk),
3536  .qos1(r_qos_gp0),
3537  .qos2(r_qos_gp1),
3538  .prt_req1(rd_req_ocm_gp0),
3539  .prt_req2(rd_req_ocm_gp1),
3540  .prt_data1(rd_data_ocm_gp0),
3541  .prt_data2(rd_data_ocm_gp1),
3542  .prt_addr1(rd_addr_gp0),
3543  .prt_addr2(rd_addr_gp1),
3544  .prt_bytes1(rd_bytes_gp0),
3545  .prt_bytes2(rd_bytes_gp1),
3546  .prt_dv1(rd_dv_ocm_gp0),
3547  .prt_dv2(rd_dv_ocm_gp1),
3548  .prt_req(ocm_rd_req),
3549  .prt_qos(ocm_rd_qos),
3550  .prt_data(ocm_rd_data),
3551  .prt_addr(ocm_rd_addr),
3552  .prt_bytes(ocm_rd_bytes),
3553  .prt_dv(ocm_rd_dv)
3554 );
3555 
3557  .rstn(rstn),
3558  .sw_clk(sw_clk),
3559  .qos1(r_qos_gp0),
3560  .qos2(r_qos_gp1),
3561  .prt_req1(rd_req_ddr_gp0),
3562  .prt_req2(rd_req_ddr_gp1),
3563  .prt_data1(rd_data_ddr_gp0),
3564  .prt_data2(rd_data_ddr_gp1),
3565  .prt_addr1(rd_addr_gp0),
3566  .prt_addr2(rd_addr_gp1),
3567  .prt_bytes1(rd_bytes_gp0),
3568  .prt_bytes2(rd_bytes_gp1),
3569  .prt_dv1(rd_dv_ddr_gp0),
3570  .prt_dv2(rd_dv_ddr_gp1),
3571  .prt_req(ddr_rd_req),
3572  .prt_qos(ddr_rd_qos),
3573  .prt_data(ddr_rd_data),
3574  .prt_addr(ddr_rd_addr),
3575  .prt_bytes(ddr_rd_bytes),
3576  .prt_dv(ddr_rd_dv)
3577 );
3578 
3580  .rstn(rstn),
3581  .sw_clk(sw_clk),
3582  .qos1(r_qos_gp0),
3583  .qos2(r_qos_gp1),
3584  .prt_req1(rd_req_reg_gp0),
3585  .prt_req2(rd_req_reg_gp1),
3586  .prt_data1(rd_data_reg_gp0),
3587  .prt_data2(rd_data_reg_gp1),
3588  .prt_addr1(rd_addr_gp0),
3589  .prt_addr2(rd_addr_gp1),
3590  .prt_bytes1(rd_bytes_gp0),
3591  .prt_bytes2(rd_bytes_gp1),
3592  .prt_dv1(rd_dv_reg_gp0),
3593  .prt_dv2(rd_dv_reg_gp1),
3594  .prt_req(reg_rd_req),
3595  .prt_qos(reg_rd_qos),
3596  .prt_data(reg_rd_data),
3597  .prt_addr(reg_rd_addr),
3598  .prt_bytes(reg_rd_bytes),
3599  .prt_dv(reg_rd_dv)
3600 );
3601 
3602 
3603 endmodule
3604 
3605 
3606 /*****************************************************************************
3607  * File : processing_system7_vip_v1_0_10_regc.v
3608  *
3609  * Date : 2012-11
3610  *
3611  * Description : Controller for Register Map Memory
3612  *
3613  *****************************************************************************/
3614  `timescale 1ns/1ps
3615 
3617  rstn,
3618  sw_clk,
3619 
3620 /* Goes to port 0 of REG */
3621  reg_rd_req_port0,
3622  reg_rd_dv_port0,
3623  reg_rd_addr_port0,
3624  reg_rd_data_port0,
3625  reg_rd_bytes_port0,
3626  reg_rd_qos_port0,
3627 
3628 
3629 /* Goes to port 1 of REG */
3630  reg_rd_req_port1,
3631  reg_rd_dv_port1,
3632  reg_rd_addr_port1,
3633  reg_rd_data_port1,
3634  reg_rd_bytes_port1,
3635  reg_rd_qos_port1
3636 
3637 );
3638 
3639 input rstn;
3640 input sw_clk;
3641 
3642 input reg_rd_req_port0;
3643 output reg_rd_dv_port0;
3644 input[31:0] reg_rd_addr_port0;
3645 output[1023:0] reg_rd_data_port0;
3646 input[7:0] reg_rd_bytes_port0;
3647 input [3:0] reg_rd_qos_port0;
3648 
3649 input reg_rd_req_port1;
3650 output reg_rd_dv_port1;
3651 input[31:0] reg_rd_addr_port1;
3652 output[1023:0] reg_rd_data_port1;
3653 input[7:0] reg_rd_bytes_port1;
3654 input[3:0] reg_rd_qos_port1;
3655 
3656 wire [3:0] rd_qos;
3657 reg [1023:0] rd_data;
3658 wire [31:0] rd_addr;
3659 wire [7:0] rd_bytes;
3660 reg rd_dv;
3661 wire rd_req;
3662 
3664  .rstn(rstn),
3665  .sw_clk(sw_clk),
3666 
3667  .qos1(reg_rd_qos_port0),
3668  .qos2(reg_rd_qos_port1),
3669 
3670  .prt_req1(reg_rd_req_port0),
3671  .prt_req2(reg_rd_req_port1),
3672 
3673  .prt_data1(reg_rd_data_port0),
3674  .prt_data2(reg_rd_data_port1),
3675 
3676  .prt_addr1(reg_rd_addr_port0),
3677  .prt_addr2(reg_rd_addr_port1),
3678 
3679  .prt_bytes1(reg_rd_bytes_port0),
3680  .prt_bytes2(reg_rd_bytes_port1),
3681 
3682  .prt_dv1(reg_rd_dv_port0),
3683  .prt_dv2(reg_rd_dv_port1),
3684 
3685  .prt_qos(rd_qos),
3686  .prt_req(rd_req),
3687  .prt_data(rd_data),
3688  .prt_addr(rd_addr),
3689  .prt_bytes(rd_bytes),
3690  .prt_dv(rd_dv)
3691 
3692 );
3693 
3695 
3696 reg state;
3697 always@(posedge sw_clk or negedge rstn)
3698 begin
3699 if(!rstn) begin
3700  rd_dv <= 0;
3701  state <= 0;
3702 end else begin
3703  case(state)
3704  0:begin
3705  state <= 0;
3706  rd_dv <= 0;
3707  if(rd_req) begin
3708  regm.read_reg_mem(rd_data,rd_addr, rd_bytes);
3709  rd_dv <= 1;
3710  state <= 1;
3711  end
3712 
3713  end
3714  1:begin
3715  rd_dv <= 0;
3716  state <= 0;
3717  end
3718 
3719  endcase
3720 end /// if
3721 end// always
3722 
3723 endmodule
3724 
3725 
3726 /*****************************************************************************
3727  * File : processing_system7_vip_v1_0_10_ocmc.v
3728  *
3729  * Date : 2012-11
3730  *
3731  * Description : Controller for OCM model
3732  *
3733  *****************************************************************************/
3734  `timescale 1ns/1ps
3735 
3737  rstn,
3738  sw_clk,
3739 
3740 /* Goes to port 0 of OCM */
3741  ocm_wr_ack_port0,
3742  ocm_wr_dv_port0,
3743  ocm_rd_req_port0,
3744  ocm_rd_dv_port0,
3745  ocm_wr_addr_port0,
3746  ocm_wr_data_port0,
3747  ocm_wr_strb_port0,
3748  ocm_wr_bytes_port0,
3749  ocm_rd_addr_port0,
3750  ocm_rd_data_port0,
3751  ocm_rd_bytes_port0,
3752  ocm_wr_qos_port0,
3753  ocm_rd_qos_port0,
3754 
3755 
3756 /* Goes to port 1 of OCM */
3757  ocm_wr_ack_port1,
3758  ocm_wr_dv_port1,
3759  ocm_rd_req_port1,
3760  ocm_rd_dv_port1,
3761  ocm_wr_addr_port1,
3762  ocm_wr_data_port1,
3763  ocm_wr_strb_port1,
3764  ocm_wr_bytes_port1,
3765  ocm_rd_addr_port1,
3766  ocm_rd_data_port1,
3767  ocm_rd_bytes_port1,
3768  ocm_wr_qos_port1,
3769  ocm_rd_qos_port1
3770 
3771 );
3772 
3773 `include "processing_system7_vip_v1_0_10_local_params.v"
3774 input rstn;
3775 input sw_clk;
3776 
3777 output ocm_wr_ack_port0;
3778 input ocm_wr_dv_port0;
3779 input ocm_rd_req_port0;
3780 output ocm_rd_dv_port0;
3781 input[addr_width-1:0] ocm_wr_addr_port0;
3782 input[max_burst_bits-1:0] ocm_wr_data_port0;
3783 input[max_burst_bits-1:0] ocm_wr_strb_port0;
3784 input[max_burst_bytes_width:0] ocm_wr_bytes_port0;
3785 input[addr_width-1:0] ocm_rd_addr_port0;
3786 output[max_burst_bits-1:0] ocm_rd_data_port0;
3787 input[max_burst_bytes_width:0] ocm_rd_bytes_port0;
3788 input [axi_qos_width-1:0] ocm_wr_qos_port0;
3789 input [axi_qos_width-1:0] ocm_rd_qos_port0;
3790 
3791 output ocm_wr_ack_port1;
3792 input ocm_wr_dv_port1;
3793 input ocm_rd_req_port1;
3794 output ocm_rd_dv_port1;
3795 input[addr_width-1:0] ocm_wr_addr_port1;
3796 input[max_burst_bits-1:0] ocm_wr_data_port1;
3797 input[max_burst_bits-1:0] ocm_wr_strb_port1;
3798 input[max_burst_bytes_width:0] ocm_wr_bytes_port1;
3799 input[addr_width-1:0] ocm_rd_addr_port1;
3800 output[max_burst_bits-1:0] ocm_rd_data_port1;
3801 input[max_burst_bytes_width:0] ocm_rd_bytes_port1;
3802 input[axi_qos_width-1:0] ocm_wr_qos_port1;
3803 input[axi_qos_width-1:0] ocm_rd_qos_port1;
3804 
3805 wire [axi_qos_width-1:0] wr_qos;
3806 wire wr_req;
3807 wire [max_burst_bits-1:0] wr_data;
3808 wire [max_burst_bytes-1:0] wr_strb;
3809 wire [max_burst_bytes-1:0] ocm_wr_strb_port0,ocm_wr_strb_port1;
3810 wire [addr_width-1:0] wr_addr;
3811 wire [max_burst_bytes_width:0] wr_bytes;
3812 reg wr_ack;
3813 
3814 wire [axi_qos_width-1:0] rd_qos;
3815 reg [max_burst_bits-1:0] rd_data;
3816 wire [addr_width-1:0] rd_addr;
3817 wire [max_burst_bytes_width:0] rd_bytes;
3818 reg rd_dv;
3819 wire rd_req;
3820 
3821 processing_system7_vip_v1_0_10_arb_wr ocm_write_ports (
3822  .rstn(rstn),
3823  .sw_clk(sw_clk),
3824 
3825  .qos1(ocm_wr_qos_port0),
3826  .qos2(ocm_wr_qos_port1),
3827 
3828  .prt_dv1(ocm_wr_dv_port0),
3829  .prt_dv2(ocm_wr_dv_port1),
3830 
3831  .prt_data1(ocm_wr_data_port0),
3832  .prt_data2(ocm_wr_data_port1),
3833 
3834  .prt_strb1(ocm_wr_strb_port0),
3835  .prt_strb2(ocm_wr_strb_port1),
3836 
3837  .prt_addr1(ocm_wr_addr_port0),
3838  .prt_addr2(ocm_wr_addr_port1),
3839 
3840  .prt_bytes1(ocm_wr_bytes_port0),
3841  .prt_bytes2(ocm_wr_bytes_port1),
3842 
3843  .prt_ack1(ocm_wr_ack_port0),
3844  .prt_ack2(ocm_wr_ack_port1),
3845 
3846  .prt_qos(wr_qos),
3847  .prt_req(wr_req),
3848  .prt_data(wr_data),
3849  .prt_strb(wr_strb),
3850  .prt_addr(wr_addr),
3851  .prt_bytes(wr_bytes),
3852  .prt_ack(wr_ack)
3853 
3854 );
3855 
3857  .rstn(rstn),
3858  .sw_clk(sw_clk),
3859 
3860  .qos1(ocm_rd_qos_port0),
3861  .qos2(ocm_rd_qos_port1),
3862 
3863  .prt_req1(ocm_rd_req_port0),
3864  .prt_req2(ocm_rd_req_port1),
3865 
3866  .prt_data1(ocm_rd_data_port0),
3867  .prt_data2(ocm_rd_data_port1),
3868 
3869  .prt_addr1(ocm_rd_addr_port0),
3870  .prt_addr2(ocm_rd_addr_port1),
3871 
3872  .prt_bytes1(ocm_rd_bytes_port0),
3873  .prt_bytes2(ocm_rd_bytes_port1),
3874 
3875  .prt_dv1(ocm_rd_dv_port0),
3876  .prt_dv2(ocm_rd_dv_port1),
3877 
3878  .prt_qos(rd_qos),
3879  .prt_req(rd_req),
3880  .prt_data(rd_data),
3881  .prt_addr(rd_addr),
3882  .prt_bytes(rd_bytes),
3883  .prt_dv(rd_dv)
3884 
3885 );
3886 
3888 
3889 reg [1:0] state;
3890 always@(posedge sw_clk or negedge rstn)
3891 begin
3892 if(!rstn) begin
3893  wr_ack <= 0;
3894  rd_dv <= 0;
3895  state <= 2'd0;
3896 end else begin
3897  case(state)
3898  0:begin
3899  state <= 0;
3900  wr_ack <= 0;
3901  rd_dv <= 0;
3902  if(wr_req) begin
3903  ocm.write_mem(wr_data , wr_addr, wr_bytes, wr_strb);
3904  //$display(" ocm_write_data wr_addr %0h wr_data %0h wr_bytes %0h wr_strb %0h",wr_addr,wr_data,wr_bytes,wr_strb);
3905  wr_ack <= 1;
3906  state <= 1;
3907  end
3908  if(rd_req) begin
3909  ocm.read_mem(rd_data,rd_addr, rd_bytes);
3910  //$display(" ocm_read_data rd_addr %0h rd_data %0h rd_bytes %0h ",rd_addr,rd_data,rd_bytes);
3911  rd_dv <= 1;
3912  state <= 1;
3913  end
3914 
3915  end
3916  1:begin
3917  wr_ack <= 0;
3918  rd_dv <= 0;
3919  state <= 0;
3920  end
3921 
3922  endcase
3923 end /// if
3924 end// always
3925 
3926 endmodule
3927 
3928 
3929 /*****************************************************************************
3930  * File : processing_system7_vip_v1_0_10_interconnect_model.v
3931  *
3932  * Date : 2012-11
3933  *
3934  * Description : Mimics Top_interconnect Switch.
3935  *
3936  *****************************************************************************/
3937  `timescale 1ns/1ps
3938 
3939 module processing_system7_vip_v1_0_10_interconnect_model (
3940  rstn,
3941  sw_clk,
3942 
3943  w_qos_gp0,
3944  w_qos_gp1,
3945  w_qos_hp0,
3946  w_qos_hp1,
3947  w_qos_hp2,
3948  w_qos_hp3,
3949 
3950  r_qos_gp0,
3951  r_qos_gp1,
3952  r_qos_hp0,
3953  r_qos_hp1,
3954  r_qos_hp2,
3955  r_qos_hp3,
3956 
3957  wr_ack_ddr_gp0,
3958  wr_ack_ocm_gp0,
3959  wr_data_gp0,
3960  wr_strb_gp0,
3961  wr_addr_gp0,
3962  wr_bytes_gp0,
3963  wr_dv_ddr_gp0,
3964  wr_dv_ocm_gp0,
3965 
3966  rd_req_ddr_gp0,
3967  rd_req_ocm_gp0,
3968  rd_req_reg_gp0,
3969  rd_addr_gp0,
3970  rd_bytes_gp0,
3971  rd_data_ddr_gp0,
3972  rd_data_ocm_gp0,
3973  rd_data_reg_gp0,
3974  rd_dv_ddr_gp0,
3975  rd_dv_ocm_gp0,
3976  rd_dv_reg_gp0,
3977 
3978  wr_ack_ddr_gp1,
3979  wr_ack_ocm_gp1,
3980  wr_data_gp1,
3981  wr_strb_gp1,
3982  wr_addr_gp1,
3983  wr_bytes_gp1,
3984  wr_dv_ddr_gp1,
3985  wr_dv_ocm_gp1,
3986  rd_req_ddr_gp1,
3987  rd_req_ocm_gp1,
3988  rd_req_reg_gp1,
3989  rd_addr_gp1,
3990  rd_bytes_gp1,
3991  rd_data_ddr_gp1,
3992  rd_data_ocm_gp1,
3993  rd_data_reg_gp1,
3994  rd_dv_ddr_gp1,
3995  rd_dv_ocm_gp1,
3996  rd_dv_reg_gp1,
3997 
3998  wr_ack_ddr_hp0,
3999  wr_ack_ocm_hp0,
4000  wr_data_hp0,
4001  wr_strb_hp0,
4002  wr_addr_hp0,
4003  wr_bytes_hp0,
4004  wr_dv_ddr_hp0,
4005  wr_dv_ocm_hp0,
4006  rd_req_ddr_hp0,
4007  rd_req_ocm_hp0,
4008  rd_addr_hp0,
4009  rd_bytes_hp0,
4010  rd_data_ddr_hp0,
4011  rd_data_ocm_hp0,
4012  rd_dv_ddr_hp0,
4013  rd_dv_ocm_hp0,
4014 
4015  wr_ack_ddr_hp1,
4016  wr_ack_ocm_hp1,
4017  wr_data_hp1,
4018  wr_strb_hp1,
4019  wr_addr_hp1,
4020  wr_bytes_hp1,
4021  wr_dv_ddr_hp1,
4022  wr_dv_ocm_hp1,
4023  rd_req_ddr_hp1,
4024  rd_req_ocm_hp1,
4025  rd_addr_hp1,
4026  rd_bytes_hp1,
4027  rd_data_ddr_hp1,
4028  rd_data_ocm_hp1,
4029  rd_dv_ddr_hp1,
4030  rd_dv_ocm_hp1,
4031 
4032  wr_ack_ddr_hp2,
4033  wr_ack_ocm_hp2,
4034  wr_data_hp2,
4035  wr_strb_hp2,
4036  wr_addr_hp2,
4037  wr_bytes_hp2,
4038  wr_dv_ddr_hp2,
4039  wr_dv_ocm_hp2,
4040  rd_req_ddr_hp2,
4041  rd_req_ocm_hp2,
4042  rd_addr_hp2,
4043  rd_bytes_hp2,
4044  rd_data_ddr_hp2,
4045  rd_data_ocm_hp2,
4046  rd_dv_ddr_hp2,
4047  rd_dv_ocm_hp2,
4048 
4049  wr_ack_ddr_hp3,
4050  wr_ack_ocm_hp3,
4051  wr_data_hp3,
4052  wr_strb_hp3,
4053  wr_addr_hp3,
4054  wr_bytes_hp3,
4055  wr_dv_ddr_hp3,
4056  wr_dv_ocm_hp3,
4057  rd_req_ddr_hp3,
4058  rd_req_ocm_hp3,
4059  rd_addr_hp3,
4060  rd_bytes_hp3,
4061  rd_data_ddr_hp3,
4062  rd_data_ocm_hp3,
4063  rd_dv_ddr_hp3,
4064  rd_dv_ocm_hp3,
4065 
4066 /* Goes to port 1 of DDR */
4067  ddr_wr_ack_port1,
4068  ddr_wr_dv_port1,
4069  ddr_rd_req_port1,
4070  ddr_rd_dv_port1,
4071  ddr_wr_addr_port1,
4072  ddr_wr_data_port1,
4073  ddr_wr_strb_port1,
4074  ddr_wr_bytes_port1,
4075  ddr_rd_addr_port1,
4076  ddr_rd_data_port1,
4077  ddr_rd_bytes_port1,
4078  ddr_wr_qos_port1,
4079  ddr_rd_qos_port1,
4080 
4081 /* Goes to port2 of DDR */
4082  ddr_wr_ack_port2,
4083  ddr_wr_dv_port2,
4084  ddr_rd_req_port2,
4085  ddr_rd_dv_port2,
4086  ddr_wr_addr_port2,
4087  ddr_wr_data_port2,
4088  ddr_wr_strb_port2,
4089  ddr_wr_bytes_port2,
4090  ddr_rd_addr_port2,
4091  ddr_rd_data_port2,
4092  ddr_rd_bytes_port2,
4093  ddr_wr_qos_port2,
4094  ddr_rd_qos_port2,
4095 
4096 /* Goes to port3 of DDR */
4097  ddr_wr_ack_port3,
4098  ddr_wr_dv_port3,
4099  ddr_rd_req_port3,
4100  ddr_rd_dv_port3,
4101  ddr_wr_addr_port3,
4102  ddr_wr_data_port3,
4103  ddr_wr_strb_port3,
4104  ddr_wr_bytes_port3,
4105  ddr_rd_addr_port3,
4106  ddr_rd_data_port3,
4107  ddr_rd_bytes_port3,
4108  ddr_wr_qos_port3,
4109  ddr_rd_qos_port3,
4110 
4111 /* Goes to port1 of OCM */
4112  ocm_wr_qos_port1,
4113  ocm_rd_qos_port1,
4114  ocm_wr_dv_port1,
4115  ocm_wr_data_port1,
4116  ocm_wr_strb_port1,
4117  ocm_wr_addr_port1,
4118  ocm_wr_bytes_port1,
4119  ocm_wr_ack_port1,
4120  ocm_rd_req_port1,
4121  ocm_rd_data_port1,
4122  ocm_rd_addr_port1,
4123  ocm_rd_bytes_port1,
4124  ocm_rd_dv_port1,
4125 
4126 /* Goes to port1 for RegMap */
4127  reg_rd_qos_port1,
4128  reg_rd_req_port1,
4129  reg_rd_data_port1,
4130  reg_rd_addr_port1,
4131  reg_rd_bytes_port1,
4132  reg_rd_dv_port1
4133 
4134 );
4135 `include "processing_system7_vip_v1_0_10_local_params.v"
4136 
4137 input rstn;
4138 input sw_clk;
4139 
4140 input [axi_qos_width-1:0] w_qos_gp0;
4141 input [axi_qos_width-1:0] w_qos_gp1;
4142 input [axi_qos_width-1:0] w_qos_hp0;
4143 input [axi_qos_width-1:0] w_qos_hp1;
4144 input [axi_qos_width-1:0] w_qos_hp2;
4145 input [axi_qos_width-1:0] w_qos_hp3;
4146 
4147 input [axi_qos_width-1:0] r_qos_gp0;
4148 input [axi_qos_width-1:0] r_qos_gp1;
4149 input [axi_qos_width-1:0] r_qos_hp0;
4150 input [axi_qos_width-1:0] r_qos_hp1;
4151 input [axi_qos_width-1:0] r_qos_hp2;
4152 input [axi_qos_width-1:0] r_qos_hp3;
4153 
4154 output [axi_qos_width-1:0] ocm_wr_qos_port1;
4155 output [axi_qos_width-1:0] ocm_rd_qos_port1;
4156 
4157 output wr_ack_ddr_gp0;
4158 output wr_ack_ocm_gp0;
4159 input[max_burst_bits-1:0] wr_data_gp0;
4160 input[max_burst_bytes-1:0] wr_strb_gp0;
4161 input[addr_width-1:0] wr_addr_gp0;
4162 input[max_burst_bytes_width:0] wr_bytes_gp0;
4163 input wr_dv_ddr_gp0;
4164 input wr_dv_ocm_gp0;
4165 input rd_req_ddr_gp0;
4166 input rd_req_ocm_gp0;
4167 input rd_req_reg_gp0;
4168 input[addr_width-1:0] rd_addr_gp0;
4169 input[max_burst_bytes_width:0] rd_bytes_gp0;
4170 output[max_burst_bits-1:0] rd_data_ddr_gp0;
4171 output[max_burst_bits-1:0] rd_data_ocm_gp0;
4172 output[max_burst_bits-1:0] rd_data_reg_gp0;
4173 output rd_dv_ddr_gp0;
4174 output rd_dv_ocm_gp0;
4175 output rd_dv_reg_gp0;
4176 
4177 output wr_ack_ddr_gp1;
4178 output wr_ack_ocm_gp1;
4179 input[max_burst_bits-1:0] wr_data_gp1;
4180 input[max_burst_bytes-1:0] wr_strb_gp1;
4181 input[addr_width-1:0] wr_addr_gp1;
4182 input[max_burst_bytes_width:0] wr_bytes_gp1;
4183 input wr_dv_ddr_gp1;
4184 input wr_dv_ocm_gp1;
4185 input rd_req_ddr_gp1;
4186 input rd_req_ocm_gp1;
4187 input rd_req_reg_gp1;
4188 input[addr_width-1:0] rd_addr_gp1;
4189 input[max_burst_bytes_width:0] rd_bytes_gp1;
4190 output[max_burst_bits-1:0] rd_data_ddr_gp1;
4191 output[max_burst_bits-1:0] rd_data_ocm_gp1;
4192 output[max_burst_bits-1:0] rd_data_reg_gp1;
4193 output rd_dv_ddr_gp1;
4194 output rd_dv_ocm_gp1;
4195 output rd_dv_reg_gp1;
4196 
4197 output wr_ack_ddr_hp0;
4198 output wr_ack_ocm_hp0;
4199 input[max_burst_bits-1:0] wr_data_hp0;
4200 input[max_burst_bytes-1:0] wr_strb_hp0;
4201 input[addr_width-1:0] wr_addr_hp0;
4202 input[max_burst_bytes_width:0] wr_bytes_hp0;
4203 input wr_dv_ddr_hp0;
4204 input wr_dv_ocm_hp0;
4205 input rd_req_ddr_hp0;
4206 input rd_req_ocm_hp0;
4207 input[addr_width-1:0] rd_addr_hp0;
4208 input[max_burst_bytes_width:0] rd_bytes_hp0;
4209 output[max_burst_bits-1:0] rd_data_ddr_hp0;
4210 output[max_burst_bits-1:0] rd_data_ocm_hp0;
4211 output rd_dv_ddr_hp0;
4212 output rd_dv_ocm_hp0;
4213 
4214 output wr_ack_ddr_hp1;
4215 output wr_ack_ocm_hp1;
4216 input[max_burst_bits-1:0] wr_data_hp1;
4217 input[max_burst_bytes-1:0] wr_strb_hp1;
4218 input[addr_width-1:0] wr_addr_hp1;
4219 input[max_burst_bytes_width:0] wr_bytes_hp1;
4220 input wr_dv_ddr_hp1;
4221 input wr_dv_ocm_hp1;
4222 input rd_req_ddr_hp1;
4223 input rd_req_ocm_hp1;
4224 input[addr_width-1:0] rd_addr_hp1;
4225 input[max_burst_bytes_width:0] rd_bytes_hp1;
4226 output[max_burst_bits-1:0] rd_data_ddr_hp1;
4227 output[max_burst_bits-1:0] rd_data_ocm_hp1;
4228 output rd_dv_ddr_hp1;
4229 output rd_dv_ocm_hp1;
4230 
4231 output wr_ack_ddr_hp2;
4232 output wr_ack_ocm_hp2;
4233 input[max_burst_bits-1:0] wr_data_hp2;
4234 input[max_burst_bytes-1:0] wr_strb_hp2;
4235 input[addr_width-1:0] wr_addr_hp2;
4236 input[max_burst_bytes_width:0] wr_bytes_hp2;
4237 input wr_dv_ddr_hp2;
4238 input wr_dv_ocm_hp2;
4239 input rd_req_ddr_hp2;
4240 input rd_req_ocm_hp2;
4241 input[addr_width-1:0] rd_addr_hp2;
4242 input[max_burst_bytes_width:0] rd_bytes_hp2;
4243 output[max_burst_bits-1:0] rd_data_ddr_hp2;
4244 output[max_burst_bits-1:0] rd_data_ocm_hp2;
4245 output rd_dv_ddr_hp2;
4246 output rd_dv_ocm_hp2;
4247 
4248 output wr_ack_ddr_hp3;
4249 output wr_ack_ocm_hp3;
4250 input[max_burst_bits-1:0] wr_data_hp3;
4251 input[max_burst_bytes-1:0] wr_strb_hp3;
4252 input[addr_width-1:0] wr_addr_hp3;
4253 input[max_burst_bytes_width:0] wr_bytes_hp3;
4254 input wr_dv_ddr_hp3;
4255 input wr_dv_ocm_hp3;
4256 input rd_req_ddr_hp3;
4257 input rd_req_ocm_hp3;
4258 input[addr_width-1:0] rd_addr_hp3;
4259 input[max_burst_bytes_width:0] rd_bytes_hp3;
4260 output[max_burst_bits-1:0] rd_data_ddr_hp3;
4261 output[max_burst_bits-1:0] rd_data_ocm_hp3;
4262 output rd_dv_ddr_hp3;
4263 output rd_dv_ocm_hp3;
4264 
4265 /* Goes to port 1 of DDR */
4266 input ddr_wr_ack_port1;
4267 output ddr_wr_dv_port1;
4268 output ddr_rd_req_port1;
4269 input ddr_rd_dv_port1;
4270 output[addr_width-1:0] ddr_wr_addr_port1;
4271 output[max_burst_bits-1:0] ddr_wr_data_port1;
4272 output[max_burst_bytes-1:0] ddr_wr_strb_port1;
4273 output[max_burst_bytes_width:0] ddr_wr_bytes_port1;
4274 output[addr_width-1:0] ddr_rd_addr_port1;
4275 input[max_burst_bits-1:0] ddr_rd_data_port1;
4276 output[max_burst_bytes_width:0] ddr_rd_bytes_port1;
4277 output [axi_qos_width-1:0] ddr_wr_qos_port1;
4278 output [axi_qos_width-1:0] ddr_rd_qos_port1;
4279 
4280 /* Goes to port2 of DDR */
4281 input ddr_wr_ack_port2;
4282 output ddr_wr_dv_port2;
4283 output ddr_rd_req_port2;
4284 input ddr_rd_dv_port2;
4285 output[addr_width-1:0] ddr_wr_addr_port2;
4286 output[max_burst_bits-1:0] ddr_wr_data_port2;
4287 output[max_burst_bytes-1:0] ddr_wr_strb_port2;
4288 output[max_burst_bytes_width:0] ddr_wr_bytes_port2;
4289 output[addr_width-1:0] ddr_rd_addr_port2;
4290 input[max_burst_bits-1:0] ddr_rd_data_port2;
4291 output[max_burst_bytes_width:0] ddr_rd_bytes_port2;
4292 output [axi_qos_width-1:0] ddr_wr_qos_port2;
4293 output [axi_qos_width-1:0] ddr_rd_qos_port2;
4294 
4295 /* Goes to port3 of DDR */
4296 input ddr_wr_ack_port3;
4297 output ddr_wr_dv_port3;
4298 output ddr_rd_req_port3;
4299 input ddr_rd_dv_port3;
4300 output[addr_width-1:0] ddr_wr_addr_port3;
4301 output[max_burst_bits-1:0] ddr_wr_data_port3;
4302 output[max_burst_bytes-1:0] ddr_wr_strb_port3;
4303 output[max_burst_bytes_width:0] ddr_wr_bytes_port3;
4304 output[addr_width-1:0] ddr_rd_addr_port3;
4305 input[max_burst_bits-1:0] ddr_rd_data_port3;
4306 output[max_burst_bytes_width:0] ddr_rd_bytes_port3;
4307 output [axi_qos_width-1:0] ddr_wr_qos_port3;
4308 output [axi_qos_width-1:0] ddr_rd_qos_port3;
4309 
4310 /* Goes to port1 of OCM */
4311 input ocm_wr_ack_port1;
4312 output ocm_wr_dv_port1;
4313 output ocm_rd_req_port1;
4314 input ocm_rd_dv_port1;
4315 output[max_burst_bits-1:0] ocm_wr_data_port1;
4316 output[max_burst_bytes-1:0] ocm_wr_strb_port1;
4317 output[addr_width-1:0] ocm_wr_addr_port1;
4318 output[max_burst_bytes_width:0] ocm_wr_bytes_port1;
4319 input[max_burst_bits-1:0] ocm_rd_data_port1;
4320 output[addr_width-1:0] ocm_rd_addr_port1;
4321 output[max_burst_bytes_width:0] ocm_rd_bytes_port1;
4322 
4323 /* Goes to port1 of REG */
4324 output [axi_qos_width-1:0] reg_rd_qos_port1;
4325 output reg_rd_req_port1;
4326 input reg_rd_dv_port1;
4327 input[max_burst_bits-1:0] reg_rd_data_port1;
4328 output[addr_width-1:0] reg_rd_addr_port1;
4329 output[max_burst_bytes_width:0] reg_rd_bytes_port1;
4330 
4331 wire ocm_wr_dv_osw0;
4332 wire ocm_wr_dv_osw1;
4333 wire[max_burst_bits-1:0] ocm_wr_data_osw0;
4334 wire[max_burst_bits-1:0] ocm_wr_data_osw1;
4335 wire[max_burst_bytes-1:0] ocm_wr_strb_osw0;
4336 wire[max_burst_bytes-1:0] ocm_wr_strb_osw1;
4337 wire[addr_width-1:0] ocm_wr_addr_osw0;
4338 wire[addr_width-1:0] ocm_wr_addr_osw1;
4339 wire[max_burst_bytes_width:0] ocm_wr_bytes_osw0;
4340 wire[max_burst_bytes_width:0] ocm_wr_bytes_osw1;
4341 wire ocm_wr_ack_osw0;
4342 wire ocm_wr_ack_osw1;
4343 wire ocm_rd_req_osw0;
4344 wire ocm_rd_req_osw1;
4345 wire[max_burst_bits-1:0] ocm_rd_data_osw0;
4346 wire[max_burst_bits-1:0] ocm_rd_data_osw1;
4347 wire[addr_width-1:0] ocm_rd_addr_osw0;
4348 wire[addr_width-1:0] ocm_rd_addr_osw1;
4349 wire[max_burst_bytes_width:0] ocm_rd_bytes_osw0;
4350 wire[max_burst_bytes_width:0] ocm_rd_bytes_osw1;
4351 wire ocm_rd_dv_osw0;
4352 wire ocm_rd_dv_osw1;
4353 
4354 wire [axi_qos_width-1:0] ocm_wr_qos_osw0;
4355 wire [axi_qos_width-1:0] ocm_wr_qos_osw1;
4356 wire [axi_qos_width-1:0] ocm_rd_qos_osw0;
4357 wire [axi_qos_width-1:0] ocm_rd_qos_osw1;
4358 
4359 
4360 processing_system7_vip_v1_0_10_fmsw_gp fmsw (
4361  .sw_clk(sw_clk),
4362  .rstn(rstn),
4363 
4364  .w_qos_gp0(w_qos_gp0),
4365  .r_qos_gp0(r_qos_gp0),
4366  .wr_ack_ocm_gp0(wr_ack_ocm_gp0),
4367  .wr_ack_ddr_gp0(wr_ack_ddr_gp0),
4368  .wr_data_gp0(wr_data_gp0),
4369  .wr_strb_gp0(wr_strb_gp0),
4370  .wr_addr_gp0(wr_addr_gp0),
4371  .wr_bytes_gp0(wr_bytes_gp0),
4372  .wr_dv_ocm_gp0(wr_dv_ocm_gp0),
4373  .wr_dv_ddr_gp0(wr_dv_ddr_gp0),
4374  .rd_req_ocm_gp0(rd_req_ocm_gp0),
4375  .rd_req_ddr_gp0(rd_req_ddr_gp0),
4376  .rd_req_reg_gp0(rd_req_reg_gp0),
4377  .rd_addr_gp0(rd_addr_gp0),
4378  .rd_bytes_gp0(rd_bytes_gp0),
4379  .rd_data_ddr_gp0(rd_data_ddr_gp0),
4380  .rd_data_ocm_gp0(rd_data_ocm_gp0),
4381  .rd_data_reg_gp0(rd_data_reg_gp0),
4382  .rd_dv_ocm_gp0(rd_dv_ocm_gp0),
4383  .rd_dv_ddr_gp0(rd_dv_ddr_gp0),
4384  .rd_dv_reg_gp0(rd_dv_reg_gp0),
4385 
4386  .w_qos_gp1(w_qos_gp1),
4387  .r_qos_gp1(r_qos_gp1),
4388  .wr_ack_ocm_gp1(wr_ack_ocm_gp1),
4389  .wr_ack_ddr_gp1(wr_ack_ddr_gp1),
4390  .wr_data_gp1(wr_data_gp1),
4391  .wr_strb_gp1(wr_strb_gp1),
4392  .wr_addr_gp1(wr_addr_gp1),
4393  .wr_bytes_gp1(wr_bytes_gp1),
4394  .wr_dv_ocm_gp1(wr_dv_ocm_gp1),
4395  .wr_dv_ddr_gp1(wr_dv_ddr_gp1),
4396  .rd_req_ocm_gp1(rd_req_ocm_gp1),
4397  .rd_req_ddr_gp1(rd_req_ddr_gp1),
4398  .rd_req_reg_gp1(rd_req_reg_gp1),
4399  .rd_addr_gp1(rd_addr_gp1),
4400  .rd_bytes_gp1(rd_bytes_gp1),
4401  .rd_data_ddr_gp1(rd_data_ddr_gp1),
4402  .rd_data_ocm_gp1(rd_data_ocm_gp1),
4403  .rd_data_reg_gp1(rd_data_reg_gp1),
4404  .rd_dv_ocm_gp1(rd_dv_ocm_gp1),
4405  .rd_dv_ddr_gp1(rd_dv_ddr_gp1),
4406  .rd_dv_reg_gp1(rd_dv_reg_gp1),
4407 
4408  .ocm_wr_ack (ocm_wr_ack_osw0),
4409  .ocm_wr_dv (ocm_wr_dv_osw0),
4410  .ocm_rd_req (ocm_rd_req_osw0),
4411  .ocm_rd_dv (ocm_rd_dv_osw0),
4412  .ocm_wr_addr(ocm_wr_addr_osw0),
4413  .ocm_wr_data(ocm_wr_data_osw0),
4414  .ocm_wr_strb(ocm_wr_strb_osw0),
4415  .ocm_wr_bytes(ocm_wr_bytes_osw0),
4416  .ocm_rd_addr(ocm_rd_addr_osw0),
4417  .ocm_rd_data(ocm_rd_data_osw0),
4418  .ocm_rd_bytes(ocm_rd_bytes_osw0),
4419 
4420  .ocm_wr_qos(ocm_wr_qos_osw0),
4421  .ocm_rd_qos(ocm_rd_qos_osw0),
4422 
4423  .ddr_wr_qos(ddr_wr_qos_port1),
4424  .ddr_rd_qos(ddr_rd_qos_port1),
4425 
4426  .reg_rd_qos(reg_rd_qos_port1),
4427 
4428  .ddr_wr_ack(ddr_wr_ack_port1),
4429  .ddr_wr_dv(ddr_wr_dv_port1),
4430  .ddr_rd_req(ddr_rd_req_port1),
4431  .ddr_rd_dv(ddr_rd_dv_port1),
4432  .ddr_wr_addr(ddr_wr_addr_port1),
4433  .ddr_wr_data(ddr_wr_data_port1),
4434  .ddr_wr_strb(ddr_wr_strb_port1),
4435  .ddr_wr_bytes(ddr_wr_bytes_port1),
4436  .ddr_rd_addr(ddr_rd_addr_port1),
4437  .ddr_rd_data(ddr_rd_data_port1),
4438  .ddr_rd_bytes(ddr_rd_bytes_port1),
4439 
4440  .reg_rd_req(reg_rd_req_port1),
4441  .reg_rd_dv(reg_rd_dv_port1),
4442  .reg_rd_addr(reg_rd_addr_port1),
4443  .reg_rd_data(reg_rd_data_port1),
4444  .reg_rd_bytes(reg_rd_bytes_port1)
4445 );
4446 
4447 
4448 processing_system7_vip_v1_0_10_ssw_hp ssw(
4449  .sw_clk(sw_clk),
4450  .rstn(rstn),
4451  .w_qos_hp0(w_qos_hp0),
4452  .r_qos_hp0(r_qos_hp0),
4453  .w_qos_hp1(w_qos_hp1),
4454  .r_qos_hp1(r_qos_hp1),
4455  .w_qos_hp2(w_qos_hp2),
4456  .r_qos_hp2(r_qos_hp2),
4457  .w_qos_hp3(w_qos_hp3),
4458  .r_qos_hp3(r_qos_hp3),
4459 
4460  .wr_ack_ddr_hp0(wr_ack_ddr_hp0),
4461  .wr_data_hp0(wr_data_hp0),
4462  .wr_strb_hp0(wr_strb_hp0),
4463  .wr_addr_hp0(wr_addr_hp0),
4464  .wr_bytes_hp0(wr_bytes_hp0),
4465  .wr_dv_ddr_hp0(wr_dv_ddr_hp0),
4466  .rd_req_ddr_hp0(rd_req_ddr_hp0),
4467  .rd_addr_hp0(rd_addr_hp0),
4468  .rd_bytes_hp0(rd_bytes_hp0),
4469  .rd_data_ddr_hp0(rd_data_ddr_hp0),
4470  .rd_data_ocm_hp0(rd_data_ocm_hp0),
4471  .rd_dv_ddr_hp0(rd_dv_ddr_hp0),
4472 
4473  .wr_ack_ocm_hp0(wr_ack_ocm_hp0),
4474  .wr_dv_ocm_hp0(wr_dv_ocm_hp0),
4475  .rd_req_ocm_hp0(rd_req_ocm_hp0),
4476  .rd_dv_ocm_hp0(rd_dv_ocm_hp0),
4477 
4478  .wr_ack_ddr_hp1(wr_ack_ddr_hp1),
4479  .wr_data_hp1(wr_data_hp1),
4480  .wr_strb_hp1(wr_strb_hp1),
4481  .wr_addr_hp1(wr_addr_hp1),
4482  .wr_bytes_hp1(wr_bytes_hp1),
4483  .wr_dv_ddr_hp1(wr_dv_ddr_hp1),
4484  .rd_req_ddr_hp1(rd_req_ddr_hp1),
4485  .rd_addr_hp1(rd_addr_hp1),
4486  .rd_bytes_hp1(rd_bytes_hp1),
4487  .rd_data_ddr_hp1(rd_data_ddr_hp1),
4488  .rd_data_ocm_hp1(rd_data_ocm_hp1),
4489  .rd_dv_ddr_hp1(rd_dv_ddr_hp1),
4490 
4491  .wr_ack_ocm_hp1(wr_ack_ocm_hp1),
4492  .wr_dv_ocm_hp1(wr_dv_ocm_hp1),
4493  .rd_req_ocm_hp1(rd_req_ocm_hp1),
4494  .rd_dv_ocm_hp1(rd_dv_ocm_hp1),
4495 
4496  .wr_ack_ddr_hp2(wr_ack_ddr_hp2),
4497  .wr_data_hp2(wr_data_hp2),
4498  .wr_strb_hp2(wr_strb_hp2),
4499  .wr_addr_hp2(wr_addr_hp2),
4500  .wr_bytes_hp2(wr_bytes_hp2),
4501  .wr_dv_ddr_hp2(wr_dv_ddr_hp2),
4502  .rd_req_ddr_hp2(rd_req_ddr_hp2),
4503  .rd_addr_hp2(rd_addr_hp2),
4504  .rd_bytes_hp2(rd_bytes_hp2),
4505  .rd_data_ddr_hp2(rd_data_ddr_hp2),
4506  .rd_data_ocm_hp2(rd_data_ocm_hp2),
4507  .rd_dv_ddr_hp2(rd_dv_ddr_hp2),
4508 
4509  .wr_ack_ocm_hp2(wr_ack_ocm_hp2),
4510  .wr_dv_ocm_hp2(wr_dv_ocm_hp2),
4511  .rd_req_ocm_hp2(rd_req_ocm_hp2),
4512  .rd_dv_ocm_hp2(rd_dv_ocm_hp2),
4513 
4514  .wr_ack_ddr_hp3(wr_ack_ddr_hp3),
4515  .wr_data_hp3(wr_data_hp3),
4516  .wr_strb_hp3(wr_strb_hp3),
4517  .wr_addr_hp3(wr_addr_hp3),
4518  .wr_bytes_hp3(wr_bytes_hp3),
4519  .wr_dv_ddr_hp3(wr_dv_ddr_hp3),
4520  .rd_req_ddr_hp3(rd_req_ddr_hp3),
4521  .rd_addr_hp3(rd_addr_hp3),
4522  .rd_bytes_hp3(rd_bytes_hp3),
4523  .rd_data_ddr_hp3(rd_data_ddr_hp3),
4524  .rd_data_ocm_hp3(rd_data_ocm_hp3),
4525  .rd_dv_ddr_hp3(rd_dv_ddr_hp3),
4526 
4527  .wr_ack_ocm_hp3(wr_ack_ocm_hp3),
4528  .wr_dv_ocm_hp3(wr_dv_ocm_hp3),
4529  .rd_req_ocm_hp3(rd_req_ocm_hp3),
4530  .rd_dv_ocm_hp3(rd_dv_ocm_hp3),
4531 
4532  .ddr_wr_ack0(ddr_wr_ack_port2),
4533  .ddr_wr_dv0(ddr_wr_dv_port2),
4534  .ddr_rd_req0(ddr_rd_req_port2),
4535  .ddr_rd_dv0(ddr_rd_dv_port2),
4536  .ddr_wr_addr0(ddr_wr_addr_port2),
4537  .ddr_wr_data0(ddr_wr_data_port2),
4538  .ddr_wr_strb0(ddr_wr_strb_port2),
4539  .ddr_wr_bytes0(ddr_wr_bytes_port2),
4540  .ddr_rd_addr0(ddr_rd_addr_port2),
4541  .ddr_rd_data0(ddr_rd_data_port2),
4542  .ddr_rd_bytes0(ddr_rd_bytes_port2),
4543  .ddr_wr_qos0(ddr_wr_qos_port2),
4544  .ddr_rd_qos0(ddr_rd_qos_port2),
4545 
4546  .ddr_wr_ack1(ddr_wr_ack_port3),
4547  .ddr_wr_dv1(ddr_wr_dv_port3),
4548  .ddr_rd_req1(ddr_rd_req_port3),
4549  .ddr_rd_dv1(ddr_rd_dv_port3),
4550  .ddr_wr_addr1(ddr_wr_addr_port3),
4551  .ddr_wr_data1(ddr_wr_data_port3),
4552  .ddr_wr_strb1(ddr_wr_strb_port3),
4553  .ddr_wr_bytes1(ddr_wr_bytes_port3),
4554  .ddr_rd_addr1(ddr_rd_addr_port3),
4555  .ddr_rd_data1(ddr_rd_data_port3),
4556  .ddr_rd_bytes1(ddr_rd_bytes_port3),
4557  .ddr_wr_qos1(ddr_wr_qos_port3),
4558  .ddr_rd_qos1(ddr_rd_qos_port3),
4559 
4560  .ocm_wr_qos(ocm_wr_qos_osw1),
4561  .ocm_rd_qos(ocm_rd_qos_osw1),
4562 
4563  .ocm_wr_ack (ocm_wr_ack_osw1),
4564  .ocm_wr_dv (ocm_wr_dv_osw1),
4565  .ocm_rd_req (ocm_rd_req_osw1),
4566  .ocm_rd_dv (ocm_rd_dv_osw1),
4567  .ocm_wr_addr(ocm_wr_addr_osw1),
4568  .ocm_wr_data(ocm_wr_data_osw1),
4569  .ocm_wr_strb(ocm_wr_strb_osw1),
4570  .ocm_wr_bytes(ocm_wr_bytes_osw1),
4571  .ocm_rd_addr(ocm_rd_addr_osw1),
4572  .ocm_rd_data(ocm_rd_data_osw1),
4573  .ocm_rd_bytes(ocm_rd_bytes_osw1)
4574 
4575 );
4576 
4577 processing_system7_vip_v1_0_10_arb_wr osw_wr (
4578  .rstn(rstn),
4579  .sw_clk(sw_clk),
4580  .qos1(ocm_wr_qos_osw0), /// chk
4581  .qos2(ocm_wr_qos_osw1), /// chk
4582  .prt_dv1(ocm_wr_dv_osw0),
4583  .prt_dv2(ocm_wr_dv_osw1),
4584  .prt_data1(ocm_wr_data_osw0),
4585  .prt_data2(ocm_wr_data_osw1),
4586  .prt_strb1(ocm_wr_strb_osw0),
4587  .prt_strb2(ocm_wr_strb_osw1),
4588  .prt_addr1(ocm_wr_addr_osw0),
4589  .prt_addr2(ocm_wr_addr_osw1),
4590  .prt_bytes1(ocm_wr_bytes_osw0),
4591  .prt_bytes2(ocm_wr_bytes_osw1),
4592  .prt_ack1(ocm_wr_ack_osw0),
4593  .prt_ack2(ocm_wr_ack_osw1),
4594  .prt_req(ocm_wr_dv_port1),
4595  .prt_qos(ocm_wr_qos_port1),
4596  .prt_data(ocm_wr_data_port1),
4597  .prt_strb(ocm_wr_strb_port1),
4598  .prt_addr(ocm_wr_addr_port1),
4599  .prt_bytes(ocm_wr_bytes_port1),
4600  .prt_ack(ocm_wr_ack_port1)
4601 );
4602 
4603 processing_system7_vip_v1_0_10_arb_rd osw_rd(
4604  .rstn(rstn),
4605  .sw_clk(sw_clk),
4606  .qos1(ocm_rd_qos_osw0), // chk
4607  .qos2(ocm_rd_qos_osw1), // chk
4608  .prt_req1(ocm_rd_req_osw0),
4609  .prt_req2(ocm_rd_req_osw1),
4610  .prt_data1(ocm_rd_data_osw0),
4611  .prt_data2(ocm_rd_data_osw1),
4612  .prt_addr1(ocm_rd_addr_osw0),
4613  .prt_addr2(ocm_rd_addr_osw1),
4614  .prt_bytes1(ocm_rd_bytes_osw0),
4615  .prt_bytes2(ocm_rd_bytes_osw1),
4616  .prt_dv1(ocm_rd_dv_osw0),
4617  .prt_dv2(ocm_rd_dv_osw1),
4618  .prt_req(ocm_rd_req_port1),
4619  .prt_qos(ocm_rd_qos_port1),
4620  .prt_data(ocm_rd_data_port1),
4621  .prt_addr(ocm_rd_addr_port1),
4622  .prt_bytes(ocm_rd_bytes_port1),
4623  .prt_dv(ocm_rd_dv_port1)
4624 );
4625 
4626 endmodule
4627 
4628 
4629 /*****************************************************************************
4630  * File : processing_system7_vip_v1_0_10_gen_reset.v
4631  *
4632  * Date : 2012-11
4633  *
4634  * Description : Module that generates FPGA_RESETs and synchronizes RESETs to the
4635  * respective clocks.
4636  *****************************************************************************/
4637  `timescale 1ns/1ps
4638 module processing_system7_vip_v1_0_10_gen_reset(
4639  por_rst_n,
4640  sys_rst_n,
4641  rst_out_n,
4642 
4643  m_axi_gp0_clk,
4644  m_axi_gp1_clk,
4645  s_axi_gp0_clk,
4646  s_axi_gp1_clk,
4647  s_axi_hp0_clk,
4648  s_axi_hp1_clk,
4649  s_axi_hp2_clk,
4650  s_axi_hp3_clk,
4651  s_axi_acp_clk,
4652 
4653  m_axi_gp0_rstn,
4654  m_axi_gp1_rstn,
4655  s_axi_gp0_rstn,
4656  s_axi_gp1_rstn,
4657  s_axi_hp0_rstn,
4658  s_axi_hp1_rstn,
4659  s_axi_hp2_rstn,
4660  s_axi_hp3_rstn,
4661  s_axi_acp_rstn,
4662 
4663  fclk_reset3_n,
4664  fclk_reset2_n,
4665  fclk_reset1_n,
4666  fclk_reset0_n,
4667 
4668  fpga_acp_reset_n,
4669  fpga_gp_m0_reset_n,
4670  fpga_gp_m1_reset_n,
4671  fpga_gp_s0_reset_n,
4672  fpga_gp_s1_reset_n,
4673  fpga_hp_s0_reset_n,
4674  fpga_hp_s1_reset_n,
4675  fpga_hp_s2_reset_n,
4676  fpga_hp_s3_reset_n
4677 
4678 );
4679 
4680 input por_rst_n;
4681 input sys_rst_n;
4682 input m_axi_gp0_clk;
4683 input m_axi_gp1_clk;
4684 input s_axi_gp0_clk;
4685 input s_axi_gp1_clk;
4686 input s_axi_hp0_clk;
4687 input s_axi_hp1_clk;
4688 input s_axi_hp2_clk;
4689 input s_axi_hp3_clk;
4690 input s_axi_acp_clk;
4691 
4692 output reg m_axi_gp0_rstn;
4693 output reg m_axi_gp1_rstn;
4694 output reg s_axi_gp0_rstn;
4695 output reg s_axi_gp1_rstn;
4696 output reg s_axi_hp0_rstn;
4697 output reg s_axi_hp1_rstn;
4698 output reg s_axi_hp2_rstn;
4699 output reg s_axi_hp3_rstn;
4700 output reg s_axi_acp_rstn;
4701 
4702 output rst_out_n;
4703 output fclk_reset3_n;
4704 output fclk_reset2_n;
4705 output fclk_reset1_n;
4706 output fclk_reset0_n;
4707 
4708 output fpga_acp_reset_n;
4709 output fpga_gp_m0_reset_n;
4710 output fpga_gp_m1_reset_n;
4711 output fpga_gp_s0_reset_n;
4712 output fpga_gp_s1_reset_n;
4713 output fpga_hp_s0_reset_n;
4714 output fpga_hp_s1_reset_n;
4715 output fpga_hp_s2_reset_n;
4716 output fpga_hp_s3_reset_n;
4717 
4718 reg [31:0] fabric_rst_n;
4719 
4720 reg r_m_axi_gp0_rstn;
4721 reg r_m_axi_gp1_rstn;
4722 reg r_s_axi_gp0_rstn;
4723 reg r_s_axi_gp1_rstn;
4724 reg r_s_axi_hp0_rstn;
4725 reg r_s_axi_hp1_rstn;
4726 reg r_s_axi_hp2_rstn;
4727 reg r_s_axi_hp3_rstn;
4728 reg r_s_axi_acp_rstn;
4729 
4730 assign rst_out_n = por_rst_n & sys_rst_n;
4731 
4732 assign fclk_reset0_n = !fabric_rst_n[0];
4733 assign fclk_reset1_n = !fabric_rst_n[1];
4734 assign fclk_reset2_n = !fabric_rst_n[2];
4735 assign fclk_reset3_n = !fabric_rst_n[3];
4736 
4737 assign fpga_acp_reset_n = !fabric_rst_n[24];
4738 
4739 assign fpga_hp_s3_reset_n = !fabric_rst_n[23];
4740 assign fpga_hp_s2_reset_n = !fabric_rst_n[22];
4741 assign fpga_hp_s1_reset_n = !fabric_rst_n[21];
4742 assign fpga_hp_s0_reset_n = !fabric_rst_n[20];
4743 
4744 assign fpga_gp_s1_reset_n = !fabric_rst_n[17];
4745 assign fpga_gp_s0_reset_n = !fabric_rst_n[16];
4746 assign fpga_gp_m1_reset_n = !fabric_rst_n[13];
4747 assign fpga_gp_m0_reset_n = !fabric_rst_n[12];
4748 
4749 task fpga_soft_reset;
4750 input[31:0] reset_ctrl;
4751  begin
4752  fabric_rst_n[0] = reset_ctrl[0];
4753  fabric_rst_n[1] = reset_ctrl[1];
4754  fabric_rst_n[2] = reset_ctrl[2];
4755  fabric_rst_n[3] = reset_ctrl[3];
4756 
4757  fabric_rst_n[12] = reset_ctrl[12];
4758  fabric_rst_n[13] = reset_ctrl[13];
4759  fabric_rst_n[16] = reset_ctrl[16];
4760  fabric_rst_n[17] = reset_ctrl[17];
4761 
4762  fabric_rst_n[20] = reset_ctrl[20];
4763  fabric_rst_n[21] = reset_ctrl[21];
4764  fabric_rst_n[22] = reset_ctrl[22];
4765  fabric_rst_n[23] = reset_ctrl[23];
4766 
4767  fabric_rst_n[24] = reset_ctrl[24];
4768  end
4769 endtask
4770 
4771 // task por_srstb_reset;
4772 // input por_reset_ctrl;
4773 // begin
4774 // por_rst_n = por_reset_ctrl;
4775 // sys_rst_n = por_reset_ctrl;
4776 // end
4777 // endtask
4778 
4779 always@(negedge por_rst_n or negedge sys_rst_n) fabric_rst_n = 32'h01f3_300f;
4780 
4781 always@(posedge m_axi_gp0_clk or negedge (por_rst_n & sys_rst_n))
4782  begin
4783  if (!(por_rst_n & sys_rst_n))
4784  m_axi_gp0_rstn = 1'b0;
4785  else
4786  m_axi_gp0_rstn = 1'b1;
4787  end
4788 
4789 always@(posedge m_axi_gp1_clk or negedge (por_rst_n & sys_rst_n))
4790  begin
4791  if (!(por_rst_n & sys_rst_n))
4792  m_axi_gp1_rstn = 1'b0;
4793  else
4794  m_axi_gp1_rstn = 1'b1;
4795  end
4796 
4797 always@(posedge s_axi_gp0_clk or negedge (por_rst_n & sys_rst_n))
4798  begin
4799  if (!(por_rst_n & sys_rst_n))
4800  s_axi_gp0_rstn = 1'b0;
4801  else
4802  s_axi_gp0_rstn = 1'b1;
4803  end
4804 
4805 always@(posedge s_axi_gp1_clk or negedge (por_rst_n & sys_rst_n))
4806  begin
4807  if (!(por_rst_n & sys_rst_n))
4808  s_axi_gp1_rstn = 1'b0;
4809  else
4810  s_axi_gp1_rstn = 1'b1;
4811  end
4812 
4813 always@(posedge s_axi_hp0_clk or negedge (por_rst_n & sys_rst_n))
4814  begin
4815  if (!(por_rst_n & sys_rst_n))
4816  s_axi_hp0_rstn = 1'b0;
4817  else
4818  s_axi_hp0_rstn = 1'b1;
4819  end
4820 
4821 always@(posedge s_axi_hp1_clk or negedge (por_rst_n & sys_rst_n))
4822  begin
4823  if (!(por_rst_n & sys_rst_n))
4824  s_axi_hp1_rstn = 1'b0;
4825  else
4826  s_axi_hp1_rstn = 1'b1;
4827  end
4828 
4829 always@(posedge s_axi_hp2_clk or negedge (por_rst_n & sys_rst_n))
4830  begin
4831  if (!(por_rst_n & sys_rst_n))
4832  s_axi_hp2_rstn = 1'b0;
4833  else
4834  s_axi_hp2_rstn = 1'b1;
4835  end
4836 
4837 always@(posedge s_axi_hp3_clk or negedge (por_rst_n & sys_rst_n))
4838  begin
4839  if (!(por_rst_n & sys_rst_n))
4840  s_axi_hp3_rstn = 1'b0;
4841  else
4842  s_axi_hp3_rstn = 1'b1;
4843  end
4844 
4845 always@(posedge s_axi_acp_clk or negedge (por_rst_n & sys_rst_n))
4846  begin
4847  if (!(por_rst_n & sys_rst_n))
4848  s_axi_acp_rstn = 1'b0;
4849  else
4850  s_axi_acp_rstn = 1'b1;
4851  end
4852 
4853 
4854 always@(*) begin
4855  if ((por_rst_n!= 1'b0) && (por_rst_n!= 1'b1) && (sys_rst_n != 1'b0) && (sys_rst_n != 1'b1)) begin
4856  $display(" Error:processing_system7_vip_v1_0_10_gen_reset. PS_PORB and PS_SRSTB must be driven to known state");
4857  $finish();
4858  end
4859 end
4860 
4861 endmodule
4862 
4863 
4864 /*****************************************************************************
4865  * File : processing_system7_vip_v1_0_10_gen_clock.v
4866  *
4867  * Date : 2012-11
4868  *
4869  * Description : Module that generates FCLK clocks and internal clock for Zynq VIP.
4870  *
4871  *****************************************************************************/
4872  `timescale 1ns/1ps
4873 
4875  ps_clk,
4876  sw_clk,
4877 
4878  fclk_clk3,
4879  fclk_clk2,
4880  fclk_clk1,
4881  fclk_clk0
4882 );
4883 
4884 input ps_clk;
4885 output sw_clk;
4886 
4887 output fclk_clk3;
4888 output fclk_clk2;
4889 output fclk_clk1;
4890 output fclk_clk0;
4891 
4892 parameter freq_clk3 = 50;
4893 parameter freq_clk2 = 50;
4894 parameter freq_clk1 = 50;
4895 parameter freq_clk0 = 50;
4896 
4897 bit clk0;
4898 bit clk1;
4899 bit clk2;
4900 bit clk3;
4901 reg sw_clk = 1'b0;
4902 
4903 assign fclk_clk0 = clk0;
4904 assign fclk_clk1 = clk1;
4905 assign fclk_clk2 = clk2;
4906 assign fclk_clk3 = clk3;
4907 
4908 real clk3_p = (1000.00/freq_clk3)/2;
4909 real clk2_p = (1000.00/freq_clk2)/2;
4910 real clk1_p = (1000.00/freq_clk1)/2;
4911 real clk0_p = (1000.00/freq_clk0)/2;
4912 
4913 always #(clk3_p) clk3 = !clk3;
4914 always #(clk2_p) clk2 = !clk2;
4915 always #(clk1_p) clk1 = !clk1;
4916 always #(clk0_p) clk0 = !clk0;
4917 
4918 always #(0.5) sw_clk = !sw_clk;
4919 
4920 
4921 endmodule
4922 
4923 
4924 /*****************************************************************************
4925  * File : processing_system7_vip_v1_0_10_ddrc.v
4926  *
4927  * Date : 2012-11
4928  *
4929  * Description : Module that acts as controller for sparse memory (DDR).
4930  *
4931  *****************************************************************************/
4932  `timescale 1ns/1ps
4933 
4934 module processing_system7_vip_v1_0_10_ddrc(
4935  rstn,
4936  sw_clk,
4937 
4938 /* Goes to port 0 of DDR */
4939  ddr_wr_ack_port0,
4940  ddr_wr_dv_port0,
4941  ddr_rd_req_port0,
4942  ddr_rd_dv_port0,
4943  ddr_wr_addr_port0,
4944  ddr_wr_data_port0,
4945  ddr_wr_strb_port0,
4946  ddr_wr_bytes_port0,
4947  ddr_rd_addr_port0,
4948  ddr_rd_data_port0,
4949  ddr_rd_bytes_port0,
4950  ddr_wr_qos_port0,
4951  ddr_rd_qos_port0,
4952 
4953 
4954 /* Goes to port 1 of DDR */
4955  ddr_wr_ack_port1,
4956  ddr_wr_dv_port1,
4957  ddr_rd_req_port1,
4958  ddr_rd_dv_port1,
4959  ddr_wr_addr_port1,
4960  ddr_wr_data_port1,
4961  ddr_wr_strb_port1,
4962  ddr_wr_bytes_port1,
4963  ddr_rd_addr_port1,
4964  ddr_rd_data_port1,
4965  ddr_rd_bytes_port1,
4966  ddr_wr_qos_port1,
4967  ddr_rd_qos_port1,
4968 
4969 /* Goes to port2 of DDR */
4970  ddr_wr_ack_port2,
4971  ddr_wr_dv_port2,
4972  ddr_rd_req_port2,
4973  ddr_rd_dv_port2,
4974  ddr_wr_addr_port2,
4975  ddr_wr_data_port2,
4976  ddr_wr_strb_port2,
4977  ddr_wr_bytes_port2,
4978  ddr_rd_addr_port2,
4979  ddr_rd_data_port2,
4980  ddr_rd_bytes_port2,
4981  ddr_wr_qos_port2,
4982  ddr_rd_qos_port2,
4983 
4984 /* Goes to port3 of DDR */
4985  ddr_wr_ack_port3,
4986  ddr_wr_dv_port3,
4987  ddr_rd_req_port3,
4988  ddr_rd_dv_port3,
4989  ddr_wr_addr_port3,
4990  ddr_wr_data_port3,
4991  ddr_wr_strb_port3,
4992  ddr_wr_bytes_port3,
4993  ddr_rd_addr_port3,
4994  ddr_rd_data_port3,
4995  ddr_rd_bytes_port3,
4996  ddr_wr_qos_port3,
4997  ddr_rd_qos_port3
4998 
4999 );
5000 
5001 `include "processing_system7_vip_v1_0_10_local_params.v"
5002 
5003 input rstn;
5004 input sw_clk;
5005 
5006 output ddr_wr_ack_port0;
5007 input ddr_wr_dv_port0;
5008 input ddr_rd_req_port0;
5009 output ddr_rd_dv_port0;
5010 input[addr_width-1:0] ddr_wr_addr_port0;
5011 input[max_burst_bits-1:0] ddr_wr_data_port0;
5012 input[max_burst_bytes_width:0] ddr_wr_bytes_port0;
5013 input[max_burst_bytes-1:0] ddr_wr_strb_port0;
5014 input[addr_width-1:0] ddr_rd_addr_port0;
5015 output[max_burst_bits-1:0] ddr_rd_data_port0;
5016 input[max_burst_bytes_width:0] ddr_rd_bytes_port0;
5017 input [axi_qos_width-1:0] ddr_wr_qos_port0;
5018 input [axi_qos_width-1:0] ddr_rd_qos_port0;
5019 
5020 output ddr_wr_ack_port1;
5021 input ddr_wr_dv_port1;
5022 input ddr_rd_req_port1;
5023 output ddr_rd_dv_port1;
5024 input[addr_width-1:0] ddr_wr_addr_port1;
5025 input[max_burst_bits-1:0] ddr_wr_data_port1;
5026 input[max_burst_bytes_width:0] ddr_wr_bytes_port1;
5027 input[max_burst_bytes-1:0] ddr_wr_strb_port1;
5028 input[addr_width-1:0] ddr_rd_addr_port1;
5029 output[max_burst_bits-1:0] ddr_rd_data_port1;
5030 input[max_burst_bytes_width:0] ddr_rd_bytes_port1;
5031 input[axi_qos_width-1:0] ddr_wr_qos_port1;
5032 input[axi_qos_width-1:0] ddr_rd_qos_port1;
5033 
5034 output ddr_wr_ack_port2;
5035 input ddr_wr_dv_port2;
5036 input ddr_rd_req_port2;
5037 output ddr_rd_dv_port2;
5038 input[addr_width-1:0] ddr_wr_addr_port2;
5039 input[max_burst_bits-1:0] ddr_wr_data_port2;
5040 input[max_burst_bytes_width:0] ddr_wr_bytes_port2;
5041 input[max_burst_bytes-1:0] ddr_wr_strb_port2;
5042 input[addr_width-1:0] ddr_rd_addr_port2;
5043 output[max_burst_bits-1:0] ddr_rd_data_port2;
5044 input[max_burst_bytes_width:0] ddr_rd_bytes_port2;
5045 input[axi_qos_width-1:0] ddr_wr_qos_port2;
5046 input[axi_qos_width-1:0] ddr_rd_qos_port2;
5047 
5048 output ddr_wr_ack_port3;
5049 input ddr_wr_dv_port3;
5050 input ddr_rd_req_port3;
5051 output ddr_rd_dv_port3;
5052 input[addr_width-1:0] ddr_wr_addr_port3;
5053 input[max_burst_bits-1:0] ddr_wr_data_port3;
5054 input[max_burst_bytes_width:0] ddr_wr_bytes_port3;
5055 input[max_burst_bytes-1:0] ddr_wr_strb_port3;
5056 input[addr_width-1:0] ddr_rd_addr_port3;
5057 output[max_burst_bits-1:0] ddr_rd_data_port3;
5058 input[max_burst_bytes_width:0] ddr_rd_bytes_port3;
5059 input[axi_qos_width-1:0] ddr_wr_qos_port3;
5060 input[axi_qos_width-1:0] ddr_rd_qos_port3;
5061 
5062 wire [axi_qos_width-1:0] wr_qos;
5063 wire wr_req;
5064 wire [max_burst_bits-1:0] wr_data;
5065 wire [max_burst_bytes-1:0] wr_strb;
5066 wire [addr_width-1:0] wr_addr;
5067 wire [max_burst_bytes_width:0] wr_bytes;
5068 reg wr_ack;
5069 
5070 wire [axi_qos_width-1:0] rd_qos;
5071 reg [max_burst_bits-1:0] rd_data;
5072 wire [addr_width-1:0] rd_addr;
5073 wire [max_burst_bytes_width:0] rd_bytes;
5074 reg rd_dv;
5075 wire rd_req;
5076 
5077 processing_system7_vip_v1_0_10_arb_wr_4 ddr_write_ports (
5078  .rstn(rstn),
5079  .sw_clk(sw_clk),
5080 
5081  .qos1(ddr_wr_qos_port0),
5082  .qos2(ddr_wr_qos_port1),
5083  .qos3(ddr_wr_qos_port2),
5084  .qos4(ddr_wr_qos_port3),
5085 
5086  .prt_dv1(ddr_wr_dv_port0),
5087  .prt_dv2(ddr_wr_dv_port1),
5088  .prt_dv3(ddr_wr_dv_port2),
5089  .prt_dv4(ddr_wr_dv_port3),
5090 
5091  .prt_data1(ddr_wr_data_port0),
5092  .prt_data2(ddr_wr_data_port1),
5093  .prt_data3(ddr_wr_data_port2),
5094  .prt_data4(ddr_wr_data_port3),
5095 
5096  .prt_strb1(ddr_wr_strb_port0),
5097  .prt_strb2(ddr_wr_strb_port1),
5098  .prt_strb3(ddr_wr_strb_port2),
5099  .prt_strb4(ddr_wr_strb_port3),
5100 
5101  .prt_addr1(ddr_wr_addr_port0),
5102  .prt_addr2(ddr_wr_addr_port1),
5103  .prt_addr3(ddr_wr_addr_port2),
5104  .prt_addr4(ddr_wr_addr_port3),
5105 
5106  .prt_bytes1(ddr_wr_bytes_port0),
5107  .prt_bytes2(ddr_wr_bytes_port1),
5108  .prt_bytes3(ddr_wr_bytes_port2),
5109  .prt_bytes4(ddr_wr_bytes_port3),
5110 
5111  .prt_ack1(ddr_wr_ack_port0),
5112  .prt_ack2(ddr_wr_ack_port1),
5113  .prt_ack3(ddr_wr_ack_port2),
5114  .prt_ack4(ddr_wr_ack_port3),
5115 
5116  .prt_qos(wr_qos),
5117  .prt_req(wr_req),
5118  .prt_data(wr_data),
5119  .prt_strb(wr_strb),
5120  .prt_addr(wr_addr),
5121  .prt_bytes(wr_bytes),
5122  .prt_ack(wr_ack)
5123 
5124 );
5125 
5126 processing_system7_vip_v1_0_10_arb_rd_4 ddr_read_ports (
5127  .rstn(rstn),
5128  .sw_clk(sw_clk),
5129 
5130  .qos1(ddr_rd_qos_port0),
5131  .qos2(ddr_rd_qos_port1),
5132  .qos3(ddr_rd_qos_port2),
5133  .qos4(ddr_rd_qos_port3),
5134 
5135  .prt_req1(ddr_rd_req_port0),
5136  .prt_req2(ddr_rd_req_port1),
5137  .prt_req3(ddr_rd_req_port2),
5138  .prt_req4(ddr_rd_req_port3),
5139 
5140  .prt_data1(ddr_rd_data_port0),
5141  .prt_data2(ddr_rd_data_port1),
5142  .prt_data3(ddr_rd_data_port2),
5143  .prt_data4(ddr_rd_data_port3),
5144 
5145  .prt_addr1(ddr_rd_addr_port0),
5146  .prt_addr2(ddr_rd_addr_port1),
5147  .prt_addr3(ddr_rd_addr_port2),
5148  .prt_addr4(ddr_rd_addr_port3),
5149 
5150  .prt_bytes1(ddr_rd_bytes_port0),
5151  .prt_bytes2(ddr_rd_bytes_port1),
5152  .prt_bytes3(ddr_rd_bytes_port2),
5153  .prt_bytes4(ddr_rd_bytes_port3),
5154 
5155  .prt_dv1(ddr_rd_dv_port0),
5156  .prt_dv2(ddr_rd_dv_port1),
5157  .prt_dv3(ddr_rd_dv_port2),
5158  .prt_dv4(ddr_rd_dv_port3),
5159 
5160  .prt_qos(rd_qos),
5161  .prt_req(rd_req),
5162  .prt_data(rd_data),
5163  .prt_addr(rd_addr),
5164  .prt_bytes(rd_bytes),
5165  .prt_dv(rd_dv)
5166 
5167 );
5168 
5169 processing_system7_vip_v1_0_10_sparse_mem ddr();
5170 
5171 reg [1:0] state;
5172 // always@(posedge sw_clk or negedge rstn)
5173 // begin
5174 // if(!rstn) begin
5175 // wr_ack <= 0;
5176 // rd_dv <= 0;
5177 // state <= 2'd0;
5178 // end else begin
5179 // case(state)
5180 // 0:begin
5181 // state <= 0;
5182 // wr_ack <= 0;
5183 // rd_dv <= 0;
5184 // if(wr_req) begin
5185 // ddr.write_mem(wr_data , wr_addr, wr_bytes);
5186 // wr_ack <= 1;
5187 // state <= 1;
5188 // end
5189 // if(rd_req) begin
5190 // ddr.read_mem(rd_data,rd_addr, rd_bytes);
5191 // rd_dv <= 1;
5192 // state <= 1;
5193 // end
5194 //
5195 // end
5196 // 1:begin
5197 // wr_ack <= 0;
5198 // rd_dv <= 0;
5199 // state <= 0;
5200 // end
5201 //
5202 // endcase
5203 // end /// if
5204 // end// always
5205 
5206 
5207 always@(posedge sw_clk or negedge rstn)
5208 begin
5209 if(!rstn) begin
5210  wr_ack <= 0;
5211  rd_dv <= 0;
5212  state <= 2'd0;
5213 end else begin
5214  case(state)
5215  0:begin
5216  state <= 0;
5217  wr_ack <= 0;
5218  rd_dv <= 0;
5219  if(wr_req) begin
5220  $display("wr_addr %0h,wr_data %0h,wr_bytes %0h , wr_strb %0h ",wr_addr,wr_data,wr_bytes,wr_strb);
5221  ddr.write_mem(wr_data , wr_addr, wr_bytes, wr_strb);
5222  // ddr.write_mem(wr_data , wr_addr, wr_bytes, 16'hFFFF);
5223  wr_ack <= 1;
5224  state <= 1;
5225  end
5226  if(rd_req) begin
5227  ddr.read_mem(rd_data,rd_addr, rd_bytes);
5228  // $display("rd_addr %0h,rd_data %0h , rd_bytes %0h ",rd_addr,rd_data,rd_bytes);
5229  rd_dv <= 1;
5230  state <= 1;
5231  end
5232 
5233  end
5234  1:begin
5235  wr_ack <= 0;
5236  rd_dv <= 0;
5237  state <= 0;
5238  end
5239 
5240  endcase
5241 end /// if
5242 end// always
5243 
5244 
5245 
5246 endmodule
5247 
5248 
5249 /*****************************************************************************
5250  * File : processing_system7_vip_v1_0_10_axi_slave.v
5251  *
5252  * Date : 2012-11
5253  *
5254  * Description : Model that acts as PS AXI Slave port interface.
5255  * It uses AXI3 Slave VIP
5256  *****************************************************************************/
5257  `timescale 1ns/1ps
5258 
5259 import axi_vip_pkg::*;
5260 
5262  S_RESETN,
5263 
5264  S_ARREADY,
5265  S_AWREADY,
5266  S_BVALID,
5267  S_RLAST,
5268  S_RVALID,
5269  S_WREADY,
5270  S_BRESP,
5271  S_RRESP,
5272  S_RDATA,
5273  S_BID,
5274  S_RID,
5275  S_ACLK,
5276  S_ARVALID,
5277  S_AWVALID,
5278  S_BREADY,
5279  S_RREADY,
5280  S_WLAST,
5281  S_WVALID,
5282  S_ARBURST,
5283  S_ARLOCK,
5284  S_ARSIZE,
5285  S_AWBURST,
5286  S_AWLOCK,
5287  S_AWSIZE,
5288  S_ARPROT,
5289  S_AWPROT,
5290  S_ARADDR,
5291  S_AWADDR,
5292  S_WDATA,
5293  S_ARCACHE,
5294  S_ARLEN,
5295  S_AWCACHE,
5296  S_AWLEN,
5297  S_WSTRB,
5298  S_ARID,
5299  S_AWID,
5300  S_WID,
5301 
5302  S_AWQOS,
5303  S_ARQOS,
5304 
5305  SW_CLK,
5306  WR_DATA_ACK_OCM,
5307  WR_DATA_ACK_DDR,
5308  WR_ADDR,
5309  WR_DATA,
5310  WR_DATA_STRB,
5311  WR_BYTES,
5312  WR_DATA_VALID_OCM,
5313  WR_DATA_VALID_DDR,
5314  WR_QOS,
5315 
5316  RD_QOS,
5317  RD_REQ_DDR,
5318  RD_REQ_OCM,
5319  RD_REQ_REG,
5320  RD_ADDR,
5321  RD_DATA_OCM,
5322  RD_DATA_DDR,
5323  RD_DATA_REG,
5324  RD_BYTES,
5325  RD_DATA_VALID_OCM,
5326  RD_DATA_VALID_DDR,
5327  RD_DATA_VALID_REG
5328 
5329 );
5330 
5331  parameter enable_this_port = 0;
5332  parameter slave_name = "Slave";
5333  parameter data_bus_width = 32;
5334  parameter address_bus_width = 32;
5335  parameter id_bus_width = 6;
5336  parameter slave_base_address = 0;
5337  parameter slave_high_address = 4;
5338  parameter max_outstanding_transactions = 8;
5339  parameter exclusive_access_supported = 0;
5340  parameter max_wr_outstanding_transactions = 8;
5341  parameter max_rd_outstanding_transactions = 8;
5342  parameter wr_bytes_lsb = 0;
5343  `include "processing_system7_vip_v1_0_10_local_params.v"
5344  parameter wr_bytes_msb = max_burst_bytes_width;
5345  parameter wr_addr_lsb = wr_bytes_msb + 1;
5346  parameter wr_addr_msb = wr_addr_lsb + addr_width-1;
5347  parameter wr_data_lsb = wr_addr_msb + 1;
5348 
5349 parameter wr_fifo_data_bits = ((data_bus_width/8)*axi_burst_len) + (data_bus_width*axi_burst_len) + axi_qos_width + addr_width + (max_burst_bytes_width+1);
5350  /* Local parameters only for this module */
5351  /* Internal counters that are used as Read/Write pointers to the fifo's that store all the transaction info on all channles.
5352  This parameter is used to define the width of these pointers --> depending on Maximum outstanding transactions supported.
5353  1-bit extra width than the no.of.bits needed to represent the outstanding transactions
5354  Extra bit helps in generating the empty and full flags
5355  */
5356  parameter wr_data_msb = wr_data_lsb + (data_bus_width*axi_burst_len)-1;
5357  parameter wr_qos_lsb = wr_data_msb + 1;
5358  parameter wr_qos_msb = wr_qos_lsb + axi_qos_width-1;
5359  // parameter wr_strb_lsb = wr_qos_msb + 1;
5360  // parameter wr_strb_msb = wr_strb_lsb + ((data_bus_width/8)*axi_burst_len)-1;
5361  parameter int_wr_cntr_width = clogb2(max_wr_outstanding_transactions+1);
5362  parameter int_rd_cntr_width = clogb2(max_rd_outstanding_transactions+1);
5363 
5364  /* RESP data */
5365  // parameter wr_fifo_data_bits = ((data_bus_width/8)*axi_burst_len) + (data_bus_width*axi_burst_len) + axi_qos_width + addr_width + (max_burst_bytes_width+1);
5366  // parameter wr_bytes_lsb = 0;
5367  // parameter wr_bytes_msb = max_burst_bytes_width;
5368  // parameter wr_addr_lsb = wr_bytes_msb + 1;
5369  // parameter wr_addr_msb = wr_addr_lsb + addr_width-1;
5370  // parameter wr_data_lsb = wr_addr_msb + 1;
5371  // parameter wr_data_msb = wr_data_lsb + (data_bus_width*axi_burst_len)-1;
5372  // parameter wr_qos_lsb = wr_data_msb + 1;
5373  // parameter wr_qos_msb = wr_qos_lsb + axi_qos_width-1;
5374  parameter wr_strb_lsb = wr_qos_msb + 1;
5375  parameter wr_strb_msb = wr_strb_lsb + ((data_bus_width/8)*axi_burst_len)-1;
5376 
5377  /* RESP data */
5378  parameter rsp_fifo_bits = axi_rsp_width+id_bus_width;
5379  parameter rsp_lsb = 0;
5380  parameter rsp_msb = axi_rsp_width-1;
5381  parameter rsp_id_lsb = rsp_msb + 1;
5382  parameter rsp_id_msb = rsp_id_lsb + id_bus_width-1;
5383 
5384  input S_RESETN;
5385 
5386  output S_ARREADY;
5387  output S_AWREADY;
5388  output S_BVALID;
5389  output S_RLAST;
5390  output S_RVALID;
5391  output S_WREADY;
5392  output [axi_rsp_width-1:0] S_BRESP;
5393  output [axi_rsp_width-1:0] S_RRESP;
5394  output [data_bus_width-1:0] S_RDATA;
5395  output [id_bus_width-1:0] S_BID;
5396  output [id_bus_width-1:0] S_RID;
5397  input S_ACLK;
5398  input S_ARVALID;
5399  input S_AWVALID;
5400  input S_BREADY;
5401  input S_RREADY;
5402  input S_WLAST;
5403  input S_WVALID;
5404  input [axi_brst_type_width-1:0] S_ARBURST;
5405  input [axi_lock_width-1:0] S_ARLOCK;
5406  input [axi_size_width-1:0] S_ARSIZE;
5407  input [axi_brst_type_width-1:0] S_AWBURST;
5408  input [axi_lock_width-1:0] S_AWLOCK;
5409  input [axi_size_width-1:0] S_AWSIZE;
5410  input [axi_prot_width-1:0] S_ARPROT;
5411  input [axi_prot_width-1:0] S_AWPROT;
5412  input [address_bus_width-1:0] S_ARADDR;
5413  input [address_bus_width-1:0] S_AWADDR;
5414  input [data_bus_width-1:0] S_WDATA;
5415  input [axi_cache_width-1:0] S_ARCACHE;
5416  input [axi_len_width-1:0] S_ARLEN;
5417 
5418  input [axi_qos_width-1:0] S_ARQOS;
5419 
5420  input [axi_cache_width-1:0] S_AWCACHE;
5421  input [axi_len_width-1:0] S_AWLEN;
5422 
5423  input [axi_qos_width-1:0] S_AWQOS;
5424  input [(data_bus_width/8)-1:0] S_WSTRB;
5425  input [id_bus_width-1:0] S_ARID;
5426  input [id_bus_width-1:0] S_AWID;
5427  input [id_bus_width-1:0] S_WID;
5428 
5429  input SW_CLK;
5430  input WR_DATA_ACK_DDR, WR_DATA_ACK_OCM;
5431  output reg WR_DATA_VALID_DDR, WR_DATA_VALID_OCM;
5432  output reg [max_burst_bits-1:0] WR_DATA;
5433  output reg [((data_bus_width/8)*axi_burst_len)-1:0] WR_DATA_STRB;
5434  output reg [addr_width-1:0] WR_ADDR;
5435  output reg [max_burst_bytes_width:0] WR_BYTES;
5436  output reg RD_REQ_OCM, RD_REQ_DDR, RD_REQ_REG;
5437  output reg [addr_width-1:0] RD_ADDR;
5438  input [max_burst_bits-1:0] RD_DATA_DDR,RD_DATA_OCM, RD_DATA_REG;
5439  output reg[max_burst_bytes_width:0] RD_BYTES;
5440  input RD_DATA_VALID_OCM,RD_DATA_VALID_DDR, RD_DATA_VALID_REG;
5441  output reg [axi_qos_width-1:0] WR_QOS, RD_QOS;
5442  wire net_ARVALID;
5443  wire net_AWVALID;
5444  wire net_WVALID;
5445  bit [31:0] static_count;
5446 
5447  real s_aclk_period1;
5448  real s_aclk_period2;
5449  real diff_time = 1;
5450 
5451  axi_slv_agent #(1,address_bus_width, data_bus_width, data_bus_width, id_bus_width,id_bus_width,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1) slv;
5452 
5454  .C_AXI_PROTOCOL(1),
5455  .C_AXI_INTERFACE_MODE(2),
5456  .C_AXI_ADDR_WIDTH(address_bus_width),
5457  .C_AXI_WDATA_WIDTH(data_bus_width),
5458  .C_AXI_RDATA_WIDTH(data_bus_width),
5459  .C_AXI_WID_WIDTH(id_bus_width),
5460  .C_AXI_RID_WIDTH(id_bus_width),
5461  .C_AXI_AWUSER_WIDTH(0),
5462  .C_AXI_ARUSER_WIDTH(0),
5463  .C_AXI_WUSER_WIDTH(0),
5464  .C_AXI_RUSER_WIDTH(0),
5465  .C_AXI_BUSER_WIDTH(0),
5466  .C_AXI_SUPPORTS_NARROW(1),
5467  .C_AXI_HAS_BURST(1),
5468  .C_AXI_HAS_LOCK(1),
5469  .C_AXI_HAS_CACHE(1),
5470  .C_AXI_HAS_REGION(0),
5471  .C_AXI_HAS_PROT(1),
5472  .C_AXI_HAS_QOS(1),
5473  .C_AXI_HAS_WSTRB(1),
5474  .C_AXI_HAS_BRESP(1),
5475  .C_AXI_HAS_RRESP(1),
5476  .C_AXI_HAS_ARESETN(1)
5477  ) slave (
5478  .aclk(S_ACLK),
5479  .aclken(1'B1),
5480  .aresetn(S_RESETN),
5481  .s_axi_awid(S_AWID),
5482  .s_axi_awaddr(S_AWADDR),
5483  .s_axi_awlen(S_AWLEN),
5484  .s_axi_awsize(S_AWSIZE),
5485  .s_axi_awburst(S_AWBURST),
5486  .s_axi_awlock(S_AWLOCK),
5487  .s_axi_awcache(S_AWCACHE),
5488  .s_axi_awprot(S_AWPROT),
5489  .s_axi_awregion(4'B0),
5490  .s_axi_awqos(4'h0),
5491  .s_axi_awuser(1'B0),
5492  .s_axi_awvalid(S_AWVALID),
5493  .s_axi_awready(S_AWREADY),
5494  .s_axi_wid(S_WID),
5495  .s_axi_wdata(S_WDATA),
5496  .s_axi_wstrb(S_WSTRB),
5497  .s_axi_wlast(S_WLAST),
5498  .s_axi_wuser(1'B0),
5499  .s_axi_wvalid(S_WVALID),
5500  .s_axi_wready(S_WREADY),
5501  .s_axi_bid(S_BID),
5502  .s_axi_bresp(S_BRESP),
5503  .s_axi_buser(),
5504  .s_axi_bvalid(S_BVALID),
5505  .s_axi_bready(S_BREADY),
5506  .s_axi_arid(S_ARID),
5507  .s_axi_araddr(S_ARADDR),
5508  .s_axi_arlen(S_ARLEN),
5509  .s_axi_arsize(S_ARSIZE),
5510  .s_axi_arburst(S_ARBURST),
5511  .s_axi_arlock(S_ARLOCK),
5512  .s_axi_arcache(S_ARCACHE),
5513  .s_axi_arprot(S_ARPROT),
5514  .s_axi_arregion(4'B0),
5515  .s_axi_arqos(S_ARQOS),
5516  .s_axi_aruser(1'B0),
5517  .s_axi_arvalid(S_ARVALID),
5518  .s_axi_arready(S_ARREADY),
5519  .s_axi_rid(S_RID),
5520  .s_axi_rdata(S_RDATA),
5521  .s_axi_rresp(S_RRESP),
5522  .s_axi_rlast(S_RLAST),
5523  .s_axi_ruser(),
5524  .s_axi_rvalid(S_RVALID),
5525  .s_axi_rready(S_RREADY),
5526  .m_axi_awid(),
5527  .m_axi_awaddr(),
5528  .m_axi_awlen(),
5529  .m_axi_awsize(),
5530  .m_axi_awburst(),
5531  .m_axi_awlock(),
5532  .m_axi_awcache(),
5533  .m_axi_awprot(),
5534  .m_axi_awregion(),
5535  .m_axi_awqos(),
5536  .m_axi_awuser(),
5537  .m_axi_awvalid(),
5538  .m_axi_awready(1'b0),
5539  .m_axi_wid(),
5540  .m_axi_wdata(),
5541  .m_axi_wstrb(),
5542  .m_axi_wlast(),
5543  .m_axi_wuser(),
5544  .m_axi_wvalid(),
5545  .m_axi_wready(1'b0),
5546  .m_axi_bid(12'h000),
5547  .m_axi_bresp(2'b00),
5548  .m_axi_buser(1'B0),
5549  .m_axi_bvalid(1'b0),
5550  .m_axi_bready(),
5551  .m_axi_arid(),
5552  .m_axi_araddr(),
5553  .m_axi_arlen(),
5554  .m_axi_arsize(),
5555  .m_axi_arburst(),
5556  .m_axi_arlock(),
5557  .m_axi_arcache(),
5558  .m_axi_arprot(),
5559  .m_axi_arregion(),
5560  .m_axi_arqos(),
5561  .m_axi_aruser(),
5562  .m_axi_arvalid(),
5563  .m_axi_arready(1'b0),
5564  .m_axi_rid(12'h000),
5565  .m_axi_rdata(32'h00000000),
5566  .m_axi_rresp(2'b00),
5567  .m_axi_rlast(1'b0),
5568  .m_axi_ruser(1'B0),
5569  .m_axi_rvalid(1'b0),
5570  .m_axi_rready()
5571  );
5572 
5573  xil_axi_cmd_beat twc, trc;
5574  xil_axi_write_beat twd;
5575  xil_axi_read_beat trd;
5576  axi_transaction twr, trr,trr_get_rd;
5577  axi_transaction trr_rd[$];
5578 
5579 
5580  axi_ready_gen awready_gen;
5581  axi_ready_gen wready_gen;
5582  axi_ready_gen arready_gen;
5583  integer i,j,k,add_val,size_local,burst_local,len_local,num_bytes;
5584  bit [3:0] a;
5585  bit [15:0] a_16_bits,a_new,a_wrap,a_wrt_val,a_cnt;
5586 
5587  initial begin
5588  slv = new("slv",slave.IF);
5589  twr = new("twr");
5590  trr = new("trr");
5591  trr_get_rd = new("trr_get_rd");
5592  wready_gen = slv.wr_driver.create_ready("wready");
5593  slv.monitor.axi_wr_cmd_port.set_enabled();
5594  slv.monitor.axi_wr_beat_port.set_enabled();
5595  slv.monitor.axi_rd_cmd_port.set_enabled();
5596  slv.wr_driver.set_transaction_depth(max_wr_outstanding_transactions);
5597  slv.rd_driver.set_transaction_depth(max_rd_outstanding_transactions);
5598  slv.start_slave();
5599  end
5600 
5601  initial begin
5602  slave.IF.set_enable_xchecks_to_warn();
5603  repeat(10) @(posedge S_ACLK);
5604  slave.IF.set_enable_xchecks();
5605  end
5606 
5607  /* Latency type and Debug/Error Control */
5608  reg[1:0] latency_type = RANDOM_CASE;
5609  reg DEBUG_INFO = 1;
5610  reg STOP_ON_ERROR = 1'b1;
5611 
5612  /* WR_FIFO stores 32-bit address, valid data and valid bytes for each AXI Write burst transaction */
5613  reg [wr_fifo_data_bits-1:0] wr_fifo [0:max_wr_outstanding_transactions-1];
5614  reg [int_wr_cntr_width-1:0] wr_fifo_wr_ptr = 0, wr_fifo_rd_ptr = 0;
5615  wire wr_fifo_empty;
5616 
5617  /* Store the awvalid receive time --- necessary for calculating the latency in sending the bresp*/
5618  reg [7:0] aw_time_cnt = 0, bresp_time_cnt = 0;
5619  real awvalid_receive_time[0:max_wr_outstanding_transactions]; // store the time when a new awvalid is received
5620  reg awvalid_flag[0:max_wr_outstanding_transactions]; // indicates awvalid is received
5621 
5622  /* Address Write Channel handshake*/
5623  reg[int_wr_cntr_width-1:0] aw_cnt = 0;// count of awvalid
5624 
5625  /* various FIFOs for storing the ADDR channel info */
5626  reg [axi_size_width-1:0] awsize [0:max_wr_outstanding_transactions-1];
5627  reg [axi_prot_width-1:0] awprot [0:max_wr_outstanding_transactions-1];
5628  reg [axi_lock_width-1:0] awlock [0:max_wr_outstanding_transactions-1];
5629  reg [axi_cache_width-1:0] awcache [0:max_wr_outstanding_transactions-1];
5630  reg [axi_brst_type_width-1:0] awbrst [0:max_wr_outstanding_transactions-1];
5631  reg [axi_len_width-1:0] awlen [0:max_wr_outstanding_transactions-1];
5632  reg aw_flag [0:max_wr_outstanding_transactions-1];
5633  reg [addr_width-1:0] awaddr [0:max_wr_outstanding_transactions-1];
5634  reg [addr_width-1:0] addr_wr_local;
5635  reg [addr_width-1:0] addr_wr_final;
5636 
5637  reg [id_bus_width-1:0] awid [0:max_wr_outstanding_transactions-1];
5638  reg [axi_qos_width-1:0] awqos [0:max_wr_outstanding_transactions-1];
5639  wire aw_fifo_full; // indicates awvalid_fifo is full (max outstanding transactions reached)
5640 
5641  /* internal fifos to store burst write data, ID & strobes*/
5642  reg [(data_bus_width*axi_burst_len)-1:0] burst_data [0:max_wr_outstanding_transactions-1];
5643  reg [((data_bus_width/8)*axi_burst_len)-1:0] burst_strb [0:max_wr_outstanding_transactions-1];
5644 
5645  reg [max_burst_bytes_width:0] burst_valid_bytes [0:max_wr_outstanding_transactions-1]; /// total valid bytes received in a complete burst transfer
5646  reg [max_burst_bytes_width:0] valid_bytes = 0; /// total valid bytes received in a complete burst transfer
5647  reg wlast_flag [0:max_wr_outstanding_transactions-1]; // flag to indicate WLAST received
5648  wire wd_fifo_full;
5649 
5650  /* Write Data Channel and Write Response handshake signals*/
5651  reg [int_wr_cntr_width-1:0] wd_cnt = 0;
5652  reg [(data_bus_width*axi_burst_len)-1:0] aligned_wr_data;
5653  reg [((data_bus_width/8)*axi_burst_len)-1:0] aligned_wr_strb;
5654  reg [addr_width-1:0] aligned_wr_addr;
5655  reg [max_burst_bytes_width:0] valid_data_bytes;
5656  reg [int_wr_cntr_width-1:0] wr_bresp_cnt = 0;
5657  reg [axi_rsp_width-1:0] bresp;
5658  reg [rsp_fifo_bits-1:0] fifo_bresp [0:max_wr_outstanding_transactions-1]; // store the ID and its corresponding response
5659  reg enable_write_bresp;
5660  reg [int_wr_cntr_width-1:0] rd_bresp_cnt = 0;
5661  integer wr_latency_count;
5662  reg wr_delayed;
5663  wire bresp_fifo_empty;
5664 
5665  /* states for managing read/write to WR_FIFO */
5666  parameter SEND_DATA = 0, WAIT_ACK = 1;
5667  reg state;
5668 
5669  /* Qos*/
5670  reg [axi_qos_width-1:0] ar_qos, aw_qos;
5671 
5672  initial begin
5673  if(DEBUG_INFO) begin
5674  if(enable_this_port)
5675  $display("[%0d] : %0s : %0s : Port is ENABLED.",$time, DISP_INFO, slave_name);
5676  else
5677  $display("[%0d] : %0s : %0s : Port is DISABLED.",$time, DISP_INFO, slave_name);
5678  end
5679  end
5680 
5681 //initial slave.set_disable_reset_value_checks(1);
5682  initial begin
5683  repeat(2) @(posedge S_ACLK);
5684  if(!enable_this_port) begin
5685 // slave.set_channel_level_info(0);
5686 // slave.set_function_level_info(0);
5687  end
5688 // slave.RESPONSE_TIMEOUT = 0;
5689  end
5690  /*--------------------------------------------------------------------------------*/
5691 
5692  /* Set Latency type to be used */
5693  task set_latency_type;
5694  input[1:0] lat;
5695  begin
5696  if(enable_this_port)
5697  latency_type = lat;
5698  else begin
5699  if(DEBUG_INFO)
5700  $display("[%0d] : %0s : %0s : Port is disabled. 'Latency Profile' will not be set...",$time, DISP_WARN, slave_name);
5701  end
5702  end
5703  endtask
5704  /*--------------------------------------------------------------------------------*/
5705 
5706  /* Set verbosity to be used */
5707  task automatic set_verbosity;
5708  input[31:0] verb;
5709  begin
5710  if(enable_this_port) begin
5711  slv.set_verbosity(verb);
5712  end else begin
5713  if(DEBUG_INFO)
5714  $display("[%0d] : %0s : %0s : Port is disabled. set_verbosity will not be set...",$time, DISP_WARN, slave_name);
5715  end
5716 
5717  end
5718  endtask
5719  /*--------------------------------------------------------------------------------*/
5720 
5721 
5722 
5723  /* Set ARQoS to be used */
5724  task automatic set_arqos;
5725  input[axi_qos_width-1:0] qos;
5726  begin
5727  if(enable_this_port) begin
5728  ar_qos = qos;
5729  end else begin
5730  if(DEBUG_INFO)
5731  $display("[%0d] : %0s : %0s : Port is disabled. 'ARQOS' will not be set...",$time, DISP_WARN, slave_name);
5732  end
5733 
5734  end
5735  endtask
5736  /*--------------------------------------------------------------------------------*/
5737 
5738  /* Set AWQoS to be used */
5739  task set_awqos;
5740  input[axi_qos_width-1:0] qos;
5741  begin
5742  if(enable_this_port)
5743  aw_qos = qos;
5744  else begin
5745  if(DEBUG_INFO)
5746  $display("[%0d] : %0s : %0s : Port is disabled. 'AWQOS' will not be set...",$time, DISP_WARN, slave_name);
5747  end
5748  end
5749  endtask
5750  /*--------------------------------------------------------------------------------*/
5751  /* get the wr latency number */
5752  function [31:0] get_wr_lat_number;
5753  input dummy;
5754  reg[1:0] temp;
5755  begin
5756  case(latency_type)
5757  BEST_CASE : if(slave_name == axi_acp_name) get_wr_lat_number = acp_wr_min; else get_wr_lat_number = gp_wr_min;
5758  AVG_CASE : if(slave_name == axi_acp_name) get_wr_lat_number = acp_wr_avg; else get_wr_lat_number = gp_wr_avg;
5759  WORST_CASE : if(slave_name == axi_acp_name) get_wr_lat_number = acp_wr_max; else get_wr_lat_number = gp_wr_max;
5760  default : begin // RANDOM_CASE
5761  temp = $random;
5762  case(temp)
5763  2'b00 : if(slave_name == axi_acp_name) get_wr_lat_number = ($random()%10+ acp_wr_min); else get_wr_lat_number = ($random()%10+ gp_wr_min);
5764  2'b01 : if(slave_name == axi_acp_name) get_wr_lat_number = ($random()%40+ acp_wr_avg); else get_wr_lat_number = ($random()%40+ gp_wr_avg);
5765  default : if(slave_name == axi_acp_name) get_wr_lat_number = ($random()%60+ acp_wr_max); else get_wr_lat_number = ($random()%60+ gp_wr_max);
5766  endcase
5767  end
5768  endcase
5769  end
5770  endfunction
5771  /*--------------------------------------------------------------------------------*/
5772 
5773  /* get the rd latency number */
5774  function [31:0] get_rd_lat_number;
5775  input dummy;
5776  reg[1:0] temp;
5777  begin
5778  case(latency_type)
5779  BEST_CASE : if(slave_name == axi_acp_name) get_rd_lat_number = acp_rd_min; else get_rd_lat_number = gp_rd_min;
5780  AVG_CASE : if(slave_name == axi_acp_name) get_rd_lat_number = acp_rd_avg; else get_rd_lat_number = gp_rd_avg;
5781  WORST_CASE : if(slave_name == axi_acp_name) get_rd_lat_number = acp_rd_max; else get_rd_lat_number = gp_rd_max;
5782  default : begin // RANDOM_CASE
5783  temp = $random;
5784  case(temp)
5785  2'b00 : if(slave_name == axi_acp_name) get_rd_lat_number = ($random()%10+ acp_rd_min); else get_rd_lat_number = ($random()%10+ gp_rd_min);
5786  2'b01 : if(slave_name == axi_acp_name) get_rd_lat_number = ($random()%40+ acp_rd_avg); else get_rd_lat_number = ($random()%40+ gp_rd_avg);
5787  default : if(slave_name == axi_acp_name) get_rd_lat_number = ($random()%60+ acp_rd_max); else get_rd_lat_number = ($random()%60+ gp_rd_max);
5788  endcase
5789  end
5790  endcase
5791  end
5792  endfunction
5793 
5794  /* Store the Clock cycle time period */
5795  always@(S_RESETN)
5796  begin
5797  if(S_RESETN) begin
5798  diff_time = 1;
5799  @(posedge S_ACLK);
5800  s_aclk_period1 = $realtime;
5801  @(posedge S_ACLK);
5802  s_aclk_period2 = $realtime;
5803  diff_time = s_aclk_period2 - s_aclk_period1;
5804  end
5805  end
5806  /*--------------------------------------------------------------------------------*/
5807 
5808  /* Check for any WRITE/READs when this port is disabled */
5809  always@(S_AWVALID or S_WVALID or S_ARVALID)
5810  begin
5811  if((S_AWVALID | S_WVALID | S_ARVALID) && !enable_this_port) begin
5812  $display("[%0d] : %0s : %0s : Port is disabled. AXI transaction is initiated on this port ...\nSimulation will halt ..",$time, DISP_ERR, slave_name);
5813  //== $stop;
5814  $finish;
5815  end
5816  end
5817 
5818  /*--------------------------------------------------------------------------------*/
5819 
5820 
5821  assign net_ARVALID = enable_this_port ? S_ARVALID : 1'b0;
5822  assign net_AWVALID = enable_this_port ? S_AWVALID : 1'b0;
5823  assign net_WVALID = enable_this_port ? S_WVALID : 1'b0;
5824 
5825  assign wr_fifo_empty = (wr_fifo_wr_ptr === wr_fifo_rd_ptr)?1'b1: 1'b0;
5826  assign aw_fifo_full = ((aw_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (aw_cnt[int_wr_cntr_width-2:0] === rd_bresp_cnt[int_wr_cntr_width-2:0]))?1'b1 :1'b0; /// complete this
5827  assign wd_fifo_full = ((wd_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (wd_cnt[int_wr_cntr_width-2:0] === rd_bresp_cnt[int_wr_cntr_width-2:0]))?1'b1 :1'b0; /// complete this
5828  assign bresp_fifo_empty = (wr_bresp_cnt === rd_bresp_cnt)?1'b1:1'b0;
5829 
5830 
5831  /* Store the awvalid receive time --- necessary for calculating the bresp latency */
5832  always@(negedge S_RESETN or posedge S_ACLK)
5833  begin
5834  if(!S_RESETN)
5835  aw_time_cnt = 0;
5836  else begin
5837  if(net_AWVALID && S_AWREADY) begin
5838  awvalid_receive_time[aw_time_cnt] = $realtime;
5839  awvalid_flag[aw_time_cnt] = 1'b1;
5840  aw_time_cnt = aw_time_cnt + 1;
5841  if(aw_time_cnt === max_wr_outstanding_transactions) aw_time_cnt = 0;
5842  end
5843  end // else
5844  end /// always
5845  /*--------------------------------------------------------------------------------*/
5846  always@(posedge S_ACLK)
5847  begin
5848  if(net_AWVALID && S_AWREADY) begin
5849  if(S_AWQOS === 0) begin awqos[aw_cnt[int_wr_cntr_width-2:0]] = aw_qos;
5850  end else awqos[aw_cnt[int_wr_cntr_width-2:0]] = S_AWQOS;
5851  end
5852  end
5853  /*--------------------------------------------------------------------------------*/
5854 
5855  always@(aw_fifo_full)
5856  begin
5857  if(aw_fifo_full && DEBUG_INFO)
5858  $display("[%0d] : %0s : %0s : Reached the maximum outstanding Write transactions limit (%0d). Blocking all future Write transactions until at least 1 of the outstanding Write transaction has completed.",$time, DISP_INFO, slave_name,max_wr_outstanding_transactions);
5859  end
5860  /*--------------------------------------------------------------------------------*/
5861 
5862  /* Address Write Channel handshake*/
5863  always@(negedge S_RESETN or posedge S_ACLK)
5864  begin
5865  if(!S_RESETN) begin
5866  aw_cnt = 0;
5867  end else begin
5868  if(!aw_fifo_full) begin
5869  slv.monitor.axi_wr_cmd_port.get(twc);
5870  // awaddr[aw_cnt[int_wr_cntr_width-2:0]] = twc.addr;
5871  awlen[aw_cnt[int_wr_cntr_width-2:0]] = twc.len;
5872  awsize[aw_cnt[int_wr_cntr_width-2:0]] = twc.size;
5873  awbrst[aw_cnt[int_wr_cntr_width-2:0]] = twc.burst;
5874  awlock[aw_cnt[int_wr_cntr_width-2:0]] = twc.lock;
5875  awcache[aw_cnt[int_wr_cntr_width-2:0]]= twc.cache;
5876  awprot[aw_cnt[int_wr_cntr_width-2:0]] = twc.prot;
5877  awid[aw_cnt[int_wr_cntr_width-2:0]] = twc.id;
5878  aw_flag[aw_cnt[int_wr_cntr_width-2:0]] = 1;
5879  // aw_cnt = aw_cnt + 1;
5880  size_local = twc.size;
5881  burst_local = twc.burst;
5882  len_local = twc.len;
5883  if(burst_local == AXI_INCR || burst_local == AXI_FIXED) begin
5884  if(data_bus_width === 'd128) begin
5885  if(size_local === 'd0) a = {twc.addr[3:0]};
5886  if(size_local === 'd1) a = {twc.addr[3:1],1'b0};
5887  if(size_local === 'd2) a = {twc.addr[3:2],2'b0};
5888  if(size_local === 'd3) a = {twc.addr[3],3'b0};
5889  if(size_local === 'd4) a = 'b0;
5890  end else if(data_bus_width === 'd64 ) begin
5891  if(size_local === 'd0) a = {twc.addr[2:0]};
5892  if(size_local === 'd1) a = {twc.addr[2:1],1'b0};
5893  if(size_local === 'd2) a = {twc.addr[2],2'b0};
5894  if(size_local === 'd3) a = 'b0;
5895  end else if(data_bus_width === 'd32 ) begin
5896  if(size_local === 'd0) a = {twc.addr[1:0]};
5897  if(size_local === 'd1) a = {twc.addr[1],1'b0};
5898  if(size_local === 'd2) a = 'b0;
5899  end
5900  end if(burst_local == AXI_WRAP) begin
5901  if(data_bus_width === 'd128) begin
5902  if(size_local === 'd0) a = {twc.addr[3:0]};
5903  if(size_local === 'd1) a = {twc.addr[3:1],1'b0};
5904  if(size_local === 'd2) a = {twc.addr[3:2],2'b0};
5905  if(size_local === 'd3) a = {twc.addr[3],3'b0};
5906  if(size_local === 'd4) a = 'b0;
5907  end else if(data_bus_width === 'd64 ) begin
5908  if(size_local === 'd0) a = {twc.addr[2:0]};
5909  if(size_local === 'd1) a = {twc.addr[2:1],1'b0};
5910  if(size_local === 'd2) a = {twc.addr[2],2'b0};
5911  if(size_local === 'd3) a = 'b0;
5912  end else if(data_bus_width === 'd32 ) begin
5913  if(size_local === 'd0) a = {twc.addr[1:0]};
5914  if(size_local === 'd1) a = {twc.addr[1],1'b0};
5915  if(size_local === 'd2) a = 'b0;
5916  end
5917  // a = twc.addr[3:0];
5918  a_16_bits = twc.addr[7:0];
5919  num_bytes = ((len_local+1)*(2**size_local));
5920  // $display("num_bytes %0d num_bytes %0h",num_bytes,num_bytes);
5921  end
5922  addr_wr_local = twc.addr;
5923  if(burst_local == AXI_INCR || burst_local == AXI_FIXED) begin
5924  case(size_local)
5925  0 : addr_wr_final = {addr_wr_local};
5926  1 : addr_wr_final = {addr_wr_local[31:1],1'b0};
5927  2 : addr_wr_final = {addr_wr_local[31:2],2'b0};
5928  3 : addr_wr_final = {addr_wr_local[31:3],3'b0};
5929  4 : addr_wr_final = {addr_wr_local[31:4],4'b0};
5930  5 : addr_wr_final = {addr_wr_local[31:5],5'b0};
5931  6 : addr_wr_final = {addr_wr_local[31:6],6'b0};
5932  7 : addr_wr_final = {addr_wr_local[31:7],7'b0};
5933  endcase
5934  awaddr[aw_cnt[int_wr_cntr_width-2:0]] = addr_wr_final;
5935  // $display("addr_wr_final %0h",addr_wr_final);
5936  end if(burst_local == AXI_WRAP) begin
5937  awaddr[aw_cnt[int_wr_cntr_width-2:0]] = twc.addr;
5938  // $display(" awaddr[aw_cnt[int_wr_cntr_width-2:0]] %0h",awaddr[aw_cnt[int_wr_cntr_width-2:0]]);
5939  end
5940  aw_cnt = aw_cnt + 1;
5941  // if(data_bus_width === 'd32) a = 0;
5942  // if(data_bus_width === 'd64) a = twc.addr[2:0];
5943  // if(data_bus_width === 'd128) a = twc.addr[3:0];
5944  // $display("twc.size %0d twc.len %0d twc.addr %0h a value %0h addr_wr_final %0h awaddr[aw_cnt[int_wr_cntr_width-2:0]] %0h",twc.size,twc.len,twc.addr,a,addr_wr_final ,awaddr[aw_cnt[int_wr_cntr_width-2:0]]);
5945  if(aw_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
5946  aw_cnt[int_wr_cntr_width-1] = ~aw_cnt[int_wr_cntr_width-1];
5947  aw_cnt[int_wr_cntr_width-2:0] = 0;
5948  end
5949  end // if (!aw_fifo_full)
5950  end /// if else
5951  end /// always
5952  /*--------------------------------------------------------------------------------*/
5953 
5954 
5955 
5956 
5957 // /* Write Data Channel Handshake */
5958 // always@(negedge S_RESETN or posedge S_ACLK)
5959 // begin
5960 // if(!S_RESETN) begin
5961 // wd_cnt = 0;
5962 // end else begin
5963 // if(!wd_fifo_full && S_WVALID) begin
5964 // slv.monitor.axi_wr_beat_port.get(twd);
5965 // for(i = 0; i < (2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]); i = i+1) begin
5966 // burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8] = twd.data[i];
5967 // end
5968 // valid_bytes = valid_bytes+(2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
5969 // if (twd.last) begin
5970 // wlast_flag[wd_cnt[int_wr_cntr_width-2:0]] = 1'b1;
5971 // burst_valid_bytes[wd_cnt[int_wr_cntr_width-2:0]] = valid_bytes;
5972 // valid_bytes = 0;
5973 // wd_cnt = wd_cnt + 1;
5974 // if(wd_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
5975 // wd_cnt[int_wr_cntr_width-1] = ~wd_cnt[int_wr_cntr_width-1];
5976 // wd_cnt[int_wr_cntr_width-2:0] = 0;
5977 // end
5978 // end
5979 // end /// if
5980 // end /// else
5981 // end /// always
5982 
5983 
5984  /* Write Data Channel Handshake */
5985  always@(negedge S_RESETN or posedge S_ACLK)
5986  begin
5987  if(!S_RESETN) begin
5988  wd_cnt = 0;
5989  end else begin
5990  if(!wd_fifo_full && S_WVALID) begin
5991  slv.monitor.axi_wr_beat_port.get(twd);
5992  wait((aw_flag[wd_cnt[int_wr_cntr_width-2:0]] === 'b1));
5993  case(size_local)
5994  0 : add_val = 1;
5995  1 : add_val = 2;
5996  2 : add_val = 4;
5997  3 : add_val = 8;
5998  4 : add_val = 16;
5999  5 : add_val = 32;
6000  6 : add_val = 64;
6001  7 : add_val = 128;
6002  endcase
6003 
6004  // $display(" size_local %0d add_val %0d wd_cnt %0d",size_local,add_val,wd_cnt);
6005 // $display(" data depth : %0d size %0d srrb %0d last %0d burst %0d ",2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]],twd.get_data_size(),twd.get_strb_size(),twd.last,twc.burst);
6006  //$display(" a value is %0d ",a);
6007  // twd.sprint_c();
6008  for(i = 0; i < (2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]); i = i+1) begin
6009  burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8] = twd.data[i+a];
6010  //$display("data burst %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h i %0d a %0d full data %0h",burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8],twd.data[i],twd.data[i+1],twd.data[i+2],twd.data[i+3],twd.data[i+4],twd.data[i+5],twd.data[i+a],i,a,twd.data[i+a]);
6011  //$display(" wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8) %0d wd_cnt %0d valid_bytes %0d int_wr_cntr_width %0d", wd_cnt[int_wr_cntr_width-2:0],wd_cnt,valid_bytes,int_wr_cntr_width);
6012  burst_strb[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes)+(i*1))+:1] = twd.strb[i+a];
6013  //$display("burst_strb %0h twd_strb %0h int_wr_cntr_width %0d valid_bytes %0d wd_cnt[int_wr_cntr_width-2:0] %0d twd.strb[i+a] %0b full strb %0h",burst_strb[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes)+(i*1))+:1],twd.strb[i],int_wr_cntr_width,valid_bytes,wd_cnt[int_wr_cntr_width-2:0],twd.strb[i+a],twd.strb[i+a]);
6014  //$display("burst_strb %0h twd.strb[i+1] %0h twd.strb[i+2] %0h twd.strb[i+3] %0h twd.strb[i+4] %0h twd.strb[i+5] %0h twd.strb[i+6] %0h twd.strb[i+7] %0h",twd.strb[i],twd.strb[i+1],twd.strb[i+1],twd.strb[i+2],twd.strb[i+3],twd.strb[i+4],twd.strb[i+5],twd.strb[i+6],twd.strb[i+7]);
6015 
6016  if(i == ((2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]])-1) ) begin
6017  if(burst_local == AXI_FIXED) begin
6018  a = a;
6019  end else if(burst_local == AXI_INCR) begin
6020  a = a+add_val;
6021  end else if(burst_local == AXI_WRAP) begin
6022  a_new = (a_16_bits/num_bytes)*num_bytes;
6023  a_wrap = a_new + (num_bytes);
6024  a = a+add_val;
6025  a_cnt = a_cnt+1;
6026  a_16_bits = a_16_bits+add_val;
6027  a_wrt_val = a_16_bits;
6028  //$display(" new a value for wrap a %0h add_val %0d a_wrap %0h a_wrt_val %0h a_new %0h num_bytes %0h a_cnt %0d ",a,add_val,a_wrap[3:0],a_wrt_val,a_new,num_bytes,a_cnt);
6029  if(a_wrt_val[15:0] >= a_wrap[15:0]) begin
6030  if(data_bus_width === 'd128)
6031  a = a_new[3:0];
6032  else if(data_bus_width === 'd64)
6033  a = a_new[2:0];
6034  else if(data_bus_width === 'd32)
6035  a = a_new[1:0];
6036  //$display(" setting up a_wrap %0h a_new %0h a %0h", a_wrap,a_new,a);
6037  end else begin
6038  a = a;
6039  //$display(" setting incr a_wrap %0h a_new %0h a %0h", a_wrap,a_new ,a );
6040  end
6041  end
6042  //$display(" new a value a %0h add_val %0d",a,add_val);
6043  end
6044  end
6045  if(burst_local == AXI_INCR) begin
6046  if( a >= (data_bus_width/8) || (burst_local == 0 ) || (twd.last) ) begin
6047  // if( (burst_local == 0 ) || (twd.last) ) begin
6048  a = 0;
6049  //$display("resetting a = %0d ",a);
6050  end
6051  end else if (burst_local == AXI_WRAP) begin
6052  if( ((a >= (data_bus_width/8)) ) || (burst_local == 0 ) || (twd.last) ) begin
6053  a = 0;
6054  //$display("resetting a = %0d ",a);
6055  end
6056  end
6057 
6058  valid_bytes = valid_bytes+(2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
6059  //$display("valid bytes in valid_bytes %0d",valid_bytes);
6060 
6061  if (twd.last === 'b1) begin
6062  wlast_flag[wd_cnt[int_wr_cntr_width-2:0]] = 1'b1;
6063  burst_valid_bytes[wd_cnt[int_wr_cntr_width-2:0]] = valid_bytes;
6064  valid_bytes = 0;
6065  wd_cnt = wd_cnt + 1;
6066  a = 0;
6067  a_cnt = 0;
6068  // $display(" before match max_wr_outstanding_transactions reached %0d wd_cnt %0d",max_wr_outstanding_transactions,wd_cnt);
6069  if(wd_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
6070  wd_cnt[int_wr_cntr_width-1] = ~wd_cnt[int_wr_cntr_width-1];
6071  wd_cnt[int_wr_cntr_width-2:0] = 0;
6072  // $display(" Now max_wr_outstanding_transactions reached %0d ",max_wr_outstanding_transactions);
6073  end
6074  end
6075  end /// if
6076  end /// else
6077  end /// always
6078 
6079  /* Align the wrap data for write transaction */
6080  task automatic get_wrap_aligned_wr_data;
6081  output [(data_bus_width*axi_burst_len)-1:0] aligned_data;
6082  output [addr_width-1:0] start_addr; /// aligned start address
6083  input [addr_width-1:0] addr;
6084  input [(data_bus_width*axi_burst_len)-1:0] b_data;
6085  input [max_burst_bytes_width:0] v_bytes;
6086  reg [(data_bus_width*axi_burst_len)-1:0] temp_data, wrp_data;
6087  integer wrp_bytes;
6088  integer i;
6089  begin
6090  start_addr = (addr/v_bytes) * v_bytes;
6091  wrp_bytes = addr - start_addr;
6092  wrp_data = b_data;
6093  temp_data = 0;
6094  wrp_data = wrp_data << ((data_bus_width*axi_burst_len) - (v_bytes*8));
6095  while(wrp_bytes > 0) begin /// get the data that is wrapped
6096  temp_data = temp_data << 8;
6097  temp_data[7:0] = wrp_data[(data_bus_width*axi_burst_len)-1 : (data_bus_width*axi_burst_len)-8];
6098  wrp_data = wrp_data << 8;
6099  wrp_bytes = wrp_bytes - 1;
6100  end
6101  wrp_bytes = addr - start_addr;
6102  wrp_data = b_data << (wrp_bytes*8);
6103 
6104  aligned_data = (temp_data | wrp_data);
6105  end
6106  endtask
6107  /*--------------------------------------------------------------------------------*/
6108 
6109  /*--------------------------------------------------------------------------------*/
6110  /* Align the wrap strb for write transaction */
6111  task automatic get_wrap_aligned_wr_strb;
6112  output [((data_bus_width/8)*axi_burst_len)-1:0] aligned_strb;
6113  output [addr_width-1:0] start_addr; /// aligned start address
6114  input [addr_width-1:0] addr;
6115  input [((data_bus_width/8)*axi_burst_len)-1:0] b_strb;
6116  input [max_burst_bytes_width:0] v_bytes;
6117  reg [((data_bus_width/8)*axi_burst_len)-1:0] temp_strb, wrp_strb;
6118  integer wrp_bytes;
6119  integer i;
6120  begin
6121  // $display("addr %0h,b_strb %0h v_bytes %0h",addr,b_strb,v_bytes);
6122  start_addr = (addr/v_bytes) * v_bytes;
6123  // $display("wrap strb start_addr %0h",start_addr);
6124  wrp_bytes = addr - start_addr;
6125  // $display("wrap strb wrp_bytes %0h",wrp_bytes);
6126  wrp_strb = b_strb;
6127  temp_strb = 0;
6128  // $display("wrap strb wrp_strb %0h before shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
6129  // $display("wrap strb wrp_strb %0h before shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
6130  wrp_strb = wrp_strb << (((data_bus_width/8)*axi_burst_len) - (v_bytes));
6131  // $display("wrap wrp_strb %0h after shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
6132  while(wrp_bytes > 0) begin /// get the strb that is wrapped
6133  temp_strb = temp_strb << 1;
6134  temp_strb[0] = wrp_strb[((data_bus_width/8)*axi_burst_len) : ((data_bus_width/8)*axi_burst_len)-1];
6135  wrp_strb = wrp_strb << 1;
6136  wrp_bytes = wrp_bytes - 1;
6137  // $display("wrap strb wrp_strb %0h wrp_bytes %0h temp_strb %0h",wrp_strb,wrp_bytes,temp_strb);
6138  end
6139  wrp_bytes = addr - start_addr;
6140  wrp_strb = b_strb << (wrp_bytes);
6141 
6142  aligned_strb = (temp_strb | wrp_strb);
6143  // $display("wrap strb aligned_strb %0h tmep_strb %0h wrp_strb %0h",aligned_strb,temp_strb,wrp_strb);
6144  end
6145  endtask
6146  /*--------------------------------------------------------------------------------*/
6147 
6148 
6149  /* Calculate the Response for each read/write transaction */
6150  function [axi_rsp_width-1:0] calculate_resp;
6151  input rd_wr; // indicates Read(1) or Write(0) transaction
6152  input [addr_width-1:0] awaddr;
6153  input [axi_prot_width-1:0] awprot;
6154  reg [axi_rsp_width-1:0] rsp;
6155  begin
6156  rsp = AXI_OK;
6157  /* Address Decode */
6158  if(decode_address(awaddr) === INVALID_MEM_TYPE) begin
6159  rsp = AXI_SLV_ERR; //slave error
6160  $display("[%0d] : %0s : %0s : AXI Access to Invalid location(0x%0h) ",$time, DISP_ERR, slave_name, awaddr);
6161  end
6162  if(!rd_wr && decode_address(awaddr) === REG_MEM) begin
6163  rsp = AXI_SLV_ERR; //slave error
6164  $display("[%0d] : %0s : %0s : AXI Write to Register Map(0x%0h) is not supported ",$time, DISP_ERR, slave_name, awaddr);
6165  end
6166  if(secure_access_enabled && awprot[1])
6167  rsp = AXI_DEC_ERR; // decode error
6168  calculate_resp = rsp;
6169  end
6170  endfunction
6171  /*--------------------------------------------------------------------------------*/
6172 
6173 
6174  /* Store the Write response for each write transaction */
6175  always@(negedge S_RESETN or posedge S_ACLK)
6176  begin
6177  if(!S_RESETN) begin
6178  wr_bresp_cnt = 0;
6179  wr_fifo_wr_ptr = 0;
6180  end else begin
6181  if((wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] === 'b1) && (aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] === 'b1)) begin
6182  // enable_write_bresp <= aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6183  //#0 enable_write_bresp = 'b1;
6184  enable_write_bresp = 'b1;
6185  // $display("%t enable_write_bresp %0d wr_bresp_cnt %0d",$time ,enable_write_bresp,wr_bresp_cnt[int_wr_cntr_width-2:0]);
6186  end
6187  // enable_write_bresp = aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6188  /* calculate bresp only when AWVALID && WLAST is received */
6189  if(enable_write_bresp) begin
6190  aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] = 0;
6191  wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] = 0;
6192  // $display("awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]] %0h ",awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
6193  bresp = calculate_resp(1'b0, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],awprot[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
6194  fifo_bresp[wr_bresp_cnt[int_wr_cntr_width-2:0]] = {awid[wr_bresp_cnt[int_wr_cntr_width-2:0]],bresp};
6195  /* Fill WR data FIFO */
6196  if(bresp === AXI_OK) begin
6197  if(awbrst[wr_bresp_cnt[int_wr_cntr_width-2:0]] === AXI_WRAP) begin /// wrap type? then align the data
6198  get_wrap_aligned_wr_data(aligned_wr_data,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_data[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]]); /// gives wrapped start address
6199  get_wrap_aligned_wr_strb(aligned_wr_strb,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_strb[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]]); /// gives wrapped start address
6200  end else begin
6201  aligned_wr_data = burst_data[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6202  aligned_wr_addr = awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]] ;
6203  aligned_wr_strb = burst_strb[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6204  //$display(" got form fifo aligned_wr_addr %0h wr_bresp_cnt[int_wr_cntr_width-2:0]] %0d",aligned_wr_addr,wr_bresp_cnt[int_wr_cntr_width-2:0]);
6205  //$display(" got form fifo aligned_wr_strb %0h wr_bresp_cnt[int_wr_cntr_width-2:0]] %0d",aligned_wr_strb,wr_bresp_cnt[int_wr_cntr_width-2:0]);
6206  end
6207  valid_data_bytes = burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6208  end else
6209  valid_data_bytes = 0;
6210 
6211  if(awbrst[wr_bresp_cnt[int_wr_cntr_width-2:0]] != AXI_WRAP) begin
6212  // wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {burst_strb[wr_bresp_cnt[int_wr_cntr_width-2:0]],awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
6213  wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {aligned_wr_strb,awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
6214  end else begin
6215  wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {aligned_wr_strb,awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
6216  end
6217  wr_fifo_wr_ptr = wr_fifo_wr_ptr + 1;
6218  wr_bresp_cnt = wr_bresp_cnt+1;
6219  enable_write_bresp = 'b0;
6220  if(wr_bresp_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
6221  wr_bresp_cnt[int_wr_cntr_width-1] = ~ wr_bresp_cnt[int_wr_cntr_width-1];
6222  wr_bresp_cnt[int_wr_cntr_width-2:0] = 0;
6223  end
6224  end
6225  end // else
6226  end // always
6227  /*--------------------------------------------------------------------------------*/
6228 
6229 
6230  // /* Store the Write response for each write transaction */
6231  // always@(negedge S_RESETN or posedge S_ACLK)
6232  // begin
6233  // if(!S_RESETN) begin
6234  // wr_bresp_cnt = 0;
6235  // wr_fifo_wr_ptr = 0;
6236  // end else begin
6237  // enable_write_bresp = aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6238  // /* calculate bresp only when AWVALID && WLAST is received */
6239  // if(enable_write_bresp) begin
6240  // aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] = 0;
6241  // wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] = 0;
6242  //
6243  // bresp = calculate_resp(1'b0, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],awprot[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
6244  // fifo_bresp[wr_bresp_cnt[int_wr_cntr_width-2:0]] = {awid[wr_bresp_cnt[int_wr_cntr_width-2:0]],bresp};
6245  // /* Fill WR data FIFO */
6246  // if(bresp === AXI_OK) begin
6247  // if(awbrst[wr_bresp_cnt[int_wr_cntr_width-2:0]] === AXI_WRAP) begin /// wrap type? then align the data
6248  // get_wrap_aligned_wr_data(aligned_wr_data,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_data[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]]); /// gives wrapped start address
6249  // end else begin
6250  // aligned_wr_data = burst_data[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6251  // aligned_wr_addr = awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]] ;
6252  // end
6253  // valid_data_bytes = burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]];
6254  // end else
6255  // valid_data_bytes = 0;
6256 
6257  // wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
6258  // wr_fifo_wr_ptr = wr_fifo_wr_ptr + 1;
6259  // wr_bresp_cnt = wr_bresp_cnt+1;
6260  // if(wr_bresp_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
6261  // wr_bresp_cnt[int_wr_cntr_width-1] = ~ wr_bresp_cnt[int_wr_cntr_width-1];
6262  // wr_bresp_cnt[int_wr_cntr_width-2:0] = 0;
6263  // end
6264  // end
6265  // end // else
6266  // end // always
6267  // /*--------------------------------------------------------------------------------*/
6268 
6269  /* Send Write Response Channel handshake */
6270  always@(negedge S_RESETN or posedge S_ACLK)
6271  begin
6272  if(!S_RESETN) begin
6273  rd_bresp_cnt = 0;
6274  wr_latency_count = get_wr_lat_number(1);
6275  wr_delayed = 0;
6276  bresp_time_cnt = 0;
6277  end else begin
6278  // if(static_count < 32 ) begin
6279  // // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
6280  // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
6281  // //wready_gen.set_low_time(0);
6282  // //wready_gen.set_high_time(1);
6283  // slv.wr_driver.send_wready(wready_gen);
6284  // end
6285  if(awvalid_flag[bresp_time_cnt] && (($realtime - awvalid_receive_time[bresp_time_cnt])/diff_time >= wr_latency_count))
6286  wr_delayed = 1;
6287  if(!bresp_fifo_empty && wr_delayed) begin
6288  slv.wr_driver.get_wr_reactive(twr);
6289  twr.set_id(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-2:0]][rsp_id_msb : rsp_id_lsb]);
6290  case(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-2:0]][rsp_msb : rsp_lsb])
6291  2'b00: twr.set_bresp(XIL_AXI_RESP_OKAY);
6292  2'b01: twr.set_bresp(XIL_AXI_RESP_EXOKAY);
6293  2'b10: twr.set_bresp(XIL_AXI_RESP_SLVERR);
6294  2'b11: twr.set_bresp(XIL_AXI_RESP_DECERR);
6295  endcase
6296 
6297  // if(static_count > 32 ) begin
6298  // // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
6299  // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
6300  // // wready_gen.set_low_time(3);
6301  // // wready_gen.set_high_time(3);
6302  // // wready_gen.set_low_time_range(3,6);
6303  // // wready_gen.set_high_time_range(3,6);
6304  // slv.wr_driver.send_wready(wready_gen);
6305  // end
6306  wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
6307  slv.wr_driver.send_wready(wready_gen);
6308  slv.wr_driver.send(twr);
6309  wr_delayed = 0;
6310  awvalid_flag[bresp_time_cnt] = 1'b0;
6311  bresp_time_cnt = bresp_time_cnt+1;
6312  rd_bresp_cnt = rd_bresp_cnt + 1;
6313  if(rd_bresp_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
6314  rd_bresp_cnt[int_wr_cntr_width-1] = ~ rd_bresp_cnt[int_wr_cntr_width-1];
6315  rd_bresp_cnt[int_wr_cntr_width-2:0] = 0;
6316  end
6317  if(bresp_time_cnt === max_wr_outstanding_transactions) begin
6318  bresp_time_cnt = 0;
6319  end
6320  wr_latency_count = get_wr_lat_number(1);
6321  static_count++;
6322  end
6323  static_count++;
6324  end // else
6325  end//always
6326  /*--------------------------------------------------------------------------------*/
6327 
6328 // /* Send Write Response Channel handshake */
6329 // always@(negedge S_RESETN or posedge S_ACLK)
6330 // begin
6331 // if(!S_RESETN) begin
6332 // rd_bresp_cnt = 0;
6333 // wr_latency_count = get_wr_lat_number(1);
6334 // wr_delayed = 0;
6335 // bresp_time_cnt = 0;
6336 // end else begin
6337 // if(static_count < 32 ) begin
6338 // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
6339 // wready_gen.set_low_time(0);
6340 // wready_gen.set_high_time(1);
6341 // slv.wr_driver.send_wready(wready_gen);
6342 // end
6343 // if(awvalid_flag[bresp_time_cnt] && (($time - awvalid_receive_time[bresp_time_cnt])/s_aclk_period >= wr_latency_count))
6344 // wr_delayed = 1;
6345 // if(!bresp_fifo_empty && wr_delayed) begin
6346 // slv.wr_driver.get_wr_reactive(twr);
6347 // twr.set_id(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-2:0]][rsp_id_msb : rsp_id_lsb]);
6348 // case(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-2:0]][rsp_msb : rsp_lsb])
6349 // 2'b00: twr.set_bresp(XIL_AXI_RESP_OKAY);
6350 // 2'b01: twr.set_bresp(XIL_AXI_RESP_EXOKAY);
6351 // 2'b10: twr.set_bresp(XIL_AXI_RESP_SLVERR);
6352 // 2'b11: twr.set_bresp(XIL_AXI_RESP_DECERR);
6353 // endcase
6354 // if(static_count > 32) begin
6355 // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
6356 // wready_gen.set_low_time(3);
6357 // wready_gen.set_high_time(3);
6358 // wready_gen.set_low_time_range(3,6);
6359 // wready_gen.set_high_time_range(3,6);
6360 // slv.wr_driver.send_wready(wready_gen);
6361 // end
6362 // // wr_delayed = 1'b0;
6363 // slv.wr_driver.send(twr);
6364 // wr_delayed = 0;
6365 // awvalid_flag[bresp_time_cnt] = 1'b0;
6366 // bresp_time_cnt = bresp_time_cnt+1;
6367 // rd_bresp_cnt = rd_bresp_cnt + 1;
6368 // if(rd_bresp_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
6369 // rd_bresp_cnt[int_wr_cntr_width-1] = ~ rd_bresp_cnt[int_wr_cntr_width-1];
6370 // rd_bresp_cnt[int_wr_cntr_width-2:0] = 0;
6371 // end
6372 // if(bresp_time_cnt === max_wr_outstanding_transactions) begin
6373 // bresp_time_cnt = 0;
6374 // end
6375 // wr_latency_count = get_wr_lat_number(1);
6376 // static_count++;
6377 // end
6378 // static_count++;
6379 // end // else
6380 //end
6381  /*--------------------------------------------------------------------------------*/
6382 
6383  /* Reading from the wr_fifo */
6384  always@(negedge S_RESETN or posedge SW_CLK) begin
6385  if(!S_RESETN) begin
6386  WR_DATA_VALID_DDR = 1'b0;
6387  WR_DATA_VALID_OCM = 1'b0;
6388  wr_fifo_rd_ptr = 0;
6389  state = SEND_DATA;
6390  WR_QOS = 0;
6391  end else begin
6392  case(state)
6393  SEND_DATA :begin
6394  state = SEND_DATA;
6395  WR_DATA_VALID_OCM = 0;
6396  WR_DATA_VALID_DDR = 0;
6397  if(!wr_fifo_empty) begin
6398  WR_DATA = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_data_msb : wr_data_lsb];
6399  WR_ADDR = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_addr_msb : wr_addr_lsb];
6400  WR_BYTES = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_bytes_msb : wr_bytes_lsb];
6401  WR_QOS = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_qos_msb : wr_qos_lsb];
6402  WR_DATA_STRB = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_strb_msb : wr_strb_lsb];
6403  state = WAIT_ACK;
6404  case (decode_address(wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_addr_msb : wr_addr_lsb]))
6405  OCM_MEM : WR_DATA_VALID_OCM = 1;
6406  DDR_MEM : WR_DATA_VALID_DDR = 1;
6407  default : state = SEND_DATA;
6408  endcase
6409  wr_fifo_rd_ptr = wr_fifo_rd_ptr+1;
6410  end
6411  end
6412  WAIT_ACK :begin
6413  state = WAIT_ACK;
6414  if(WR_DATA_ACK_OCM | WR_DATA_ACK_DDR) begin
6415  WR_DATA_VALID_OCM = 1'b0;
6416  WR_DATA_VALID_DDR = 1'b0;
6417  state = SEND_DATA;
6418  end
6419  end
6420  endcase
6421  end
6422  end
6423  /*--------------------------------------------------------------------------------*/
6424 /*-------------------------------- WRITE HANDSHAKE END ----------------------------------------*/
6425 
6426 /*-------------------------------- READ HANDSHAKE ---------------------------------------------*/
6427 
6428  /* READ CHANNELS */
6429  /* Store the arvalid receive time --- necessary for calculating latency in sending the rresp latency */
6430  reg [7:0] ar_time_cnt = 0,rresp_time_cnt = 0;
6431  real arvalid_receive_time[0:max_rd_outstanding_transactions]; // store the time when a new arvalid is received
6432  reg arvalid_flag[0:max_rd_outstanding_transactions]; // store the time when a new arvalid is received
6433  reg [int_rd_cntr_width-1:0] ar_cnt = 0; // counter for arvalid info
6434 
6435  /* various FIFOs for storing the ADDR channel info */
6436  reg [axi_size_width-1:0] arsize [0:max_rd_outstanding_transactions-1];
6437  reg [axi_prot_width-1:0] arprot [0:max_rd_outstanding_transactions-1];
6438  reg [axi_brst_type_width-1:0] arbrst [0:max_rd_outstanding_transactions-1];
6439  reg [axi_len_width-1:0] arlen [0:max_rd_outstanding_transactions-1];
6440  reg [axi_cache_width-1:0] arcache [0:max_rd_outstanding_transactions-1];
6441  reg [axi_lock_width-1:0] arlock [0:max_rd_outstanding_transactions-1];
6442  reg ar_flag [0:max_rd_outstanding_transactions-1];
6443  reg [addr_width-1:0] araddr [0:max_rd_outstanding_transactions-1];
6444  reg [addr_width-1:0] addr_local;
6445  reg [addr_width-1:0] addr_final;
6446  reg [id_bus_width-1:0] arid [0:max_rd_outstanding_transactions-1];
6447  reg [axi_qos_width-1:0] arqos [0:max_rd_outstanding_transactions-1];
6448  wire ar_fifo_full; // indicates arvalid_fifo is full (max outstanding transactions reached)
6449 
6450  reg [int_rd_cntr_width-1:0] rd_cnt = 0;
6451  reg [int_rd_cntr_width-1:0] trr_rd_cnt = 0;
6452  reg [int_rd_cntr_width-1:0] wr_rresp_cnt = 0;
6453  reg [axi_rsp_width-1:0] rresp;
6454  reg [rsp_fifo_bits-1:0] fifo_rresp [0:max_rd_outstanding_transactions-1]; // store the ID and its corresponding response
6455 
6456  /* Send Read Response & Data Channel handshake */
6457  integer rd_latency_count;
6458  reg rd_delayed;
6459  reg read_fifo_empty;
6460 
6461 
6462  reg [max_burst_bits-1:0] read_fifo [0:max_rd_outstanding_transactions-1]; /// Store only AXI Burst Data ..
6463  reg [int_rd_cntr_width-1:0] rd_fifo_wr_ptr = 0, rd_fifo_rd_ptr = 0;
6464  wire read_fifo_full;
6465 
6466  assign read_fifo_full = (rd_fifo_wr_ptr[int_rd_cntr_width-1] !== rd_fifo_rd_ptr[int_rd_cntr_width-1] && rd_fifo_wr_ptr[int_rd_cntr_width-2:0] === rd_fifo_rd_ptr[int_rd_cntr_width-2:0])?1'b1: 1'b0;
6467  assign read_fifo_empty = (rd_fifo_wr_ptr === rd_fifo_rd_ptr)?1'b1: 1'b0;
6468  assign ar_fifo_full = ((ar_cnt[int_rd_cntr_width-1] !== rd_cnt[int_rd_cntr_width-1]) && (ar_cnt[int_rd_cntr_width-2:0] === rd_cnt[int_rd_cntr_width-2:0]))?1'b1 :1'b0;
6469 
6470  /* Store the arvalid receive time --- necessary for calculating the bresp latency */
6471  always@(negedge S_RESETN or posedge S_ACLK)
6472  begin
6473  if(!S_RESETN)
6474  ar_time_cnt = 0;
6475  else begin
6476  if(net_ARVALID == 'b1 && S_ARREADY == 'b1) begin
6477  arvalid_receive_time[ar_time_cnt] = $time;
6478  arvalid_flag[ar_time_cnt] = 1'b1;
6479  ar_time_cnt = ar_time_cnt + 1;
6480  if((ar_time_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) )
6481  ar_time_cnt[int_rd_cntr_width-1:0] = 0;
6482  end
6483  end // else
6484  end /// always
6485  /*--------------------------------------------------------------------------------*/
6486  always@(posedge S_ACLK)
6487  begin
6488  if(net_ARVALID == 'b1 && S_ARREADY == 'b1) begin
6489  if(S_ARQOS === 0) begin
6490  arqos[ar_cnt[int_rd_cntr_width-2:0]] = ar_qos;
6491  end else begin
6492  arqos[ar_cnt[int_rd_cntr_width-2:0]] = S_ARQOS;
6493  end
6494  end
6495  end
6496  /*--------------------------------------------------------------------------------*/
6497 
6498  always@(ar_fifo_full)
6499  begin
6500  if(ar_fifo_full && DEBUG_INFO)
6501  $display("[%0d] : %0s : %0s : Reached the maximum outstanding Read transactions limit (%0d). Blocking all future Read transactions until at least 1 of the outstanding Read transaction has completed.",$time, DISP_INFO, slave_name,max_rd_outstanding_transactions);
6502  end
6503  /*--------------------------------------------------------------------------------*/
6504 
6505  /* Address Read Channel handshake*/
6506  always@(negedge S_RESETN or posedge S_ACLK)
6507  begin
6508  if(!S_RESETN) begin
6509  ar_cnt = 0;
6510  end else begin
6511  if(!ar_fifo_full) begin
6512  slv.monitor.axi_rd_cmd_port.get(trc);
6513  // araddr[ar_cnt[int_rd_cntr_width-2:0]] = trc.addr;
6514  arlen[ar_cnt[int_rd_cntr_width-2:0]] = trc.len;
6515  arsize[ar_cnt[int_rd_cntr_width-2:0]] = trc.size;
6516  arbrst[ar_cnt[int_rd_cntr_width-2:0]] = trc.burst;
6517  arlock[ar_cnt[int_rd_cntr_width-2:0]] = trc.lock;
6518  arcache[ar_cnt[int_rd_cntr_width-2:0]]= trc.cache;
6519  arprot[ar_cnt[int_rd_cntr_width-2:0]] = trc.prot;
6520  arid[ar_cnt[int_rd_cntr_width-2:0]] = trc.id;
6521  ar_flag[ar_cnt[int_rd_cntr_width-2:0]] = 1'b1;
6522  size_local = trc.size;
6523  addr_local = trc.addr;
6524  case(size_local)
6525  0 : addr_final = {addr_local};
6526  1 : addr_final = {addr_local[31:1],1'b0};
6527  2 : addr_final = {addr_local[31:2],2'b0};
6528  3 : addr_final = {addr_local[31:3],3'b0};
6529  4 : addr_final = {addr_local[31:4],4'b0};
6530  5 : addr_final = {addr_local[31:5],5'b0};
6531  6 : addr_final = {addr_local[31:6],6'b0};
6532  7 : addr_final = {addr_local[31:7],7'b0};
6533  endcase
6534  araddr[ar_cnt[int_rd_cntr_width-2:0]] = addr_final;
6535  ar_cnt = ar_cnt+1;
6536  // $display(" %m before resetting ar_cnt %0d max_rd_outstanding_transactions %0d",ar_cnt,max_rd_outstanding_transactions-1);
6537  if(ar_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
6538  // ar_cnt[int_rd_cntr_width-1] = ~ ar_cnt[int_rd_cntr_width-1];
6539  ar_cnt[int_rd_cntr_width-1:0] = 0;
6540  // $display(" %m resetting ar_cnt %0d",ar_cnt);
6541  end
6542  end /// if(!ar_fifo_full)
6543  end /// if else
6544  end /// always*/
6545  /*--------------------------------------------------------------------------------*/
6546 
6547  /* Align Wrap data for read transaction*/
6548  task automatic get_wrap_aligned_rd_data;
6549  output [(data_bus_width*axi_burst_len)-1:0] aligned_data;
6550  input [addr_width-1:0] addr;
6551  input [(data_bus_width*axi_burst_len)-1:0] b_data;
6552  input [max_burst_bytes_width:0] v_bytes;
6553  reg [addr_width-1:0] start_addr;
6554  reg [(data_bus_width*axi_burst_len)-1:0] temp_data, wrp_data;
6555  integer wrp_bytes;
6556  integer i;
6557  begin
6558  start_addr = (addr/v_bytes) * v_bytes;
6559  wrp_bytes = addr - start_addr;
6560  wrp_data = b_data;
6561  temp_data = 0;
6562  while(wrp_bytes > 0) begin /// get the data that is wrapped
6563  temp_data = temp_data >> 8;
6564  temp_data[(data_bus_width*axi_burst_len)-1 : (data_bus_width*axi_burst_len)-8] = wrp_data[7:0];
6565  wrp_data = wrp_data >> 8;
6566  wrp_bytes = wrp_bytes - 1;
6567  end
6568  temp_data = temp_data >> ((data_bus_width*axi_burst_len) - (v_bytes*8));
6569  wrp_bytes = addr - start_addr;
6570  wrp_data = b_data >> (wrp_bytes*8);
6571 
6572  aligned_data = (temp_data | wrp_data);
6573  end
6574  endtask
6575  /*--------------------------------------------------------------------------------*/
6576 
6577  parameter RD_DATA_REQ = 1'b0, WAIT_RD_VALID = 1'b1;
6578  reg [addr_width-1:0] temp_read_address;
6579  reg [max_burst_bytes_width:0] temp_rd_valid_bytes;
6580  reg rd_fifo_state;
6581  reg invalid_rd_req;
6582  /* get the data from memory && also calculate the rresp*/
6583  always@(negedge S_RESETN or posedge SW_CLK)
6584  begin
6585  if(!S_RESETN)begin
6586  rd_fifo_wr_ptr = 0;
6587  wr_rresp_cnt =0;
6588  rd_fifo_state = RD_DATA_REQ;
6589  temp_rd_valid_bytes = 0;
6590  temp_read_address = 0;
6591  RD_REQ_DDR = 0;
6592  RD_REQ_OCM = 0;
6593  RD_REQ_REG = 0;
6594  RD_QOS = 0;
6595  invalid_rd_req = 0;
6596  end else begin
6597  case(rd_fifo_state)
6598  RD_DATA_REQ : begin
6599  rd_fifo_state = RD_DATA_REQ;
6600  RD_REQ_DDR = 0;
6601  RD_REQ_OCM = 0;
6602  RD_REQ_REG = 0;
6603  RD_QOS = 0;
6604  if(ar_flag[wr_rresp_cnt[int_rd_cntr_width-2:0]] && !read_fifo_full) begin
6605  ar_flag[wr_rresp_cnt[int_rd_cntr_width-2:0]] = 0;
6606  rresp = calculate_resp(1'b1, araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]],arprot[wr_rresp_cnt[int_rd_cntr_width-2:0]]);
6607  fifo_rresp[wr_rresp_cnt[int_rd_cntr_width-2:0]] = {arid[wr_rresp_cnt[int_rd_cntr_width-2:0]],rresp};
6608  temp_rd_valid_bytes = (arlen[wr_rresp_cnt[int_rd_cntr_width-2:0]]+1)*(2**arsize[wr_rresp_cnt[int_rd_cntr_width-2:0]]);//data_bus_width/8;
6609 
6610  if(arbrst[wr_rresp_cnt[int_rd_cntr_width-2:0]] === AXI_WRAP) /// wrap begin
6611  temp_read_address = (araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]]/temp_rd_valid_bytes) * temp_rd_valid_bytes;
6612  else
6613  temp_read_address = araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]];
6614  if(rresp === AXI_OK) begin
6615  case(decode_address(temp_read_address))//decode_address(araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]]);
6616  OCM_MEM : RD_REQ_OCM = 1;
6617  DDR_MEM : RD_REQ_DDR = 1;
6618  REG_MEM : RD_REQ_REG = 1;
6619  default : invalid_rd_req = 1;
6620  endcase
6621  end else
6622  invalid_rd_req = 1;
6623 
6624  RD_QOS = arqos[wr_rresp_cnt[int_rd_cntr_width-2:0]];
6625  RD_ADDR = temp_read_address; ///araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]];
6626  RD_BYTES = temp_rd_valid_bytes;
6627  rd_fifo_state = WAIT_RD_VALID;
6628  wr_rresp_cnt = wr_rresp_cnt + 1;
6629  if(wr_rresp_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
6630  // wr_rresp_cnt[int_rd_cntr_width-1] = ~ wr_rresp_cnt[int_rd_cntr_width-1];
6631  wr_rresp_cnt[int_rd_cntr_width-1:0] = 0;
6632  end
6633  end
6634  end
6635  WAIT_RD_VALID : begin
6636  rd_fifo_state = WAIT_RD_VALID;
6637  if(RD_DATA_VALID_OCM | RD_DATA_VALID_DDR | RD_DATA_VALID_REG | invalid_rd_req) begin ///temp_dec == 2'b11) begin
6638  if(RD_DATA_VALID_DDR)
6639  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = RD_DATA_DDR;
6640  else if(RD_DATA_VALID_OCM)
6641  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = RD_DATA_OCM;
6642  else if(RD_DATA_VALID_REG)
6643  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = RD_DATA_REG;
6644  else
6645  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = 0;
6646  rd_fifo_wr_ptr = rd_fifo_wr_ptr + 1;
6647  RD_REQ_DDR = 0;
6648  RD_REQ_OCM = 0;
6649  RD_REQ_REG = 0;
6650  RD_QOS = 0;
6651  invalid_rd_req = 0;
6652  rd_fifo_state = RD_DATA_REQ;
6653  end
6654  end
6655  endcase
6656  end /// else
6657  end /// always
6658 
6659  /*--------------------------------------------------------------------------------*/
6660  reg[max_burst_bytes_width:0] rd_v_b;
6661  reg [(data_bus_width*axi_burst_len)-1:0] temp_read_data;
6662  reg [(data_bus_width*axi_burst_len)-1:0] temp_wrap_data;
6663  reg[(axi_rsp_width*axi_burst_len)-1:0] temp_read_rsp;
6664 
6665  xil_axi_data_beat new_data;
6666 
6667  /* Read Data Channel handshake */
6668  //always@(negedge S_RESETN or posedge S_ACLK)
6669  initial begin
6670  forever begin
6671  if(!S_RESETN)begin
6672  // rd_fifo_rd_ptr = 0;
6673  trr_rd_cnt = 0;
6674  // rd_latency_count = get_rd_lat_number(1);
6675  // rd_delayed = 0;
6676  // rresp_time_cnt = 0;
6677  // rd_v_b = 0;
6678  end else begin
6679  //if(net_ARVALID && S_ARREADY)
6680  // trr_rd[trr_rd_cnt] = new("trr_rd[trr_rd_cnt]");
6681  // trr_rd[trr_rd_cnt] = new($psprintf("trr_rd[%0d]",trr_rd_cnt));
6682  slv.rd_driver.get_rd_reactive(trr);
6683  trr_rd.push_back(trr.my_clone());
6684  //$cast(trr_rd[trr_rd_cnt],trr.copy());
6685  // rd_latency_count = get_rd_lat_number(1);
6686  // $display("%m waiting for next transfer trr_rd_cnt %0d trr.size %0d " ,trr_rd_cnt,trr.size);
6687  // $display("%m waiting for next transfer trr_rd_cnt %0d trr_rd[trr_rd_cnt] %0d" ,trr_rd_cnt,trr_rd[trr_rd_cnt].size);
6688  trr_rd_cnt++;
6689  @(posedge S_ACLK);
6690  end
6691  end // forever
6692  end // initial
6693 
6694 
6695  initial begin
6696  forever begin
6697  if(!S_RESETN)begin
6698  rd_fifo_rd_ptr = 0;
6699  rd_cnt = 0;
6700  rd_latency_count = get_rd_lat_number(1);
6701  rd_delayed = 0;
6702  rresp_time_cnt = 0;
6703  rd_v_b = 0;
6704  end else begin
6705  //if(net_ARVALID && S_ARREADY)
6706  // slv.rd_driver.get_rd_reactive(trr_rd[rresp_time_cnt]);
6707  wait(arvalid_flag[rresp_time_cnt] == 1);
6708  // while(trr_rd[rresp_time_cnttrr_rd_cnt] == null) begin
6709  // @(posedge S_ACLK);
6710  // end
6711  rd_latency_count = get_rd_lat_number(1);
6712  // $display("%m waiting for element form vip rresp_time_cnt %0d ",rresp_time_cnt);
6713  // while(trr_rd.size()< 0 ) begin
6714  // $display("%m got the element form vip rresp_time_cnt %0d ",rresp_time_cnt);
6715  // @(posedge S_ACLK);
6716  // end
6717  // $display("%m got the element form vip rresp_time_cnt %0d ",rresp_time_cnt);
6718  wait(trr_rd.size() > 0);
6719  trr_get_rd = trr_rd.pop_front();
6720  // $display("%m waiting for next transfer trr_rd_cnt %0d trr_get_rd %0d" ,trr_rd_cnt,trr_get_rd.size);
6721  while ((arvalid_flag[rresp_time_cnt] == 'b1 )&& ((($realtime - arvalid_receive_time[rresp_time_cnt])/diff_time) < rd_latency_count)) begin
6722  @(posedge S_ACLK);
6723  end
6724 
6725  //if(arvalid_flag[rresp_time_cnt] && ((($realtime - arvalid_receive_time[rresp_time_cnt])/diff_time) >= rd_latency_count))
6726  rd_delayed = 1;
6727  if(!read_fifo_empty && rd_delayed)begin
6728  rd_delayed = 0;
6729  arvalid_flag[rresp_time_cnt] = 1'b0;
6730  rd_v_b = ((arlen[rd_cnt[int_rd_cntr_width-2:0]]+1)*(2**arsize[rd_cnt[int_rd_cntr_width-2:0]]));
6731  temp_read_data = read_fifo[rd_fifo_rd_ptr[int_rd_cntr_width-2:0]];
6732  rd_fifo_rd_ptr = rd_fifo_rd_ptr+1;
6733 
6734  if(arbrst[rd_cnt[int_rd_cntr_width-2:0]]=== AXI_WRAP) begin
6735  get_wrap_aligned_rd_data(temp_wrap_data, araddr[rd_cnt[int_rd_cntr_width-2:0]], temp_read_data, rd_v_b);
6736  temp_read_data = temp_wrap_data;
6737  end
6738  temp_read_rsp = 0;
6739  repeat(axi_burst_len) begin
6740  temp_read_rsp = temp_read_rsp >> axi_rsp_width;
6741  temp_read_rsp[(axi_rsp_width*axi_burst_len)-1:(axi_rsp_width*axi_burst_len)-axi_rsp_width] = fifo_rresp[rd_cnt[int_rd_cntr_width-2:0]][rsp_msb : rsp_lsb];
6742  end
6743  case (arsize[rd_cnt[int_rd_cntr_width-2:0]])
6744  3'b000: trr_get_rd.size = XIL_AXI_SIZE_1BYTE;
6745  3'b001: trr_get_rd.size = XIL_AXI_SIZE_2BYTE;
6746  3'b010: trr_get_rd.size = XIL_AXI_SIZE_4BYTE;
6747  3'b011: trr_get_rd.size = XIL_AXI_SIZE_8BYTE;
6748  3'b100: trr_get_rd.size = XIL_AXI_SIZE_16BYTE;
6749  3'b101: trr_get_rd.size = XIL_AXI_SIZE_32BYTE;
6750  3'b110: trr_get_rd.size = XIL_AXI_SIZE_64BYTE;
6751  3'b111: trr_get_rd.size = XIL_AXI_SIZE_128BYTE;
6752  endcase
6753  trr_get_rd.len = arlen[rd_cnt[int_rd_cntr_width-2:0]];
6754  trr_get_rd.id = (arid[rd_cnt[int_rd_cntr_width-2:0]]);
6755 // trr_get_rd.data = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
6756  trr_get_rd.rresp = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
6757  for(j = 0; j < (arlen[rd_cnt[int_rd_cntr_width-2:0]]+1); j = j+1) begin
6758  for(k = 0; k < (2**arsize[rd_cnt[int_rd_cntr_width-2:0]]); k = k+1) begin
6759  new_data[(k*8)+:8] = temp_read_data[7:0];
6760  temp_read_data = temp_read_data >> 8;
6761  end
6762  trr_get_rd.set_data_beat(j, new_data);
6763  case(temp_read_rsp[(j*2)+:2])
6764  2'b00: trr_get_rd.rresp[j] = XIL_AXI_RESP_OKAY;
6765  2'b01: trr_get_rd.rresp[j] = XIL_AXI_RESP_EXOKAY;
6766  2'b10: trr_get_rd.rresp[j] = XIL_AXI_RESP_SLVERR;
6767  2'b11: trr_get_rd.rresp[j] = XIL_AXI_RESP_DECERR;
6768  endcase
6769  end
6770  slv.rd_driver.send(trr_get_rd);
6771  rd_cnt = rd_cnt + 1;
6772  rresp_time_cnt = rresp_time_cnt+1;
6773  // $display("current rresp_time_cnt %0d rd_cnt %0d",rresp_time_cnt,rd_cnt);
6774  if(rresp_time_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
6775  rresp_time_cnt[int_rd_cntr_width-1:0] = 0;
6776  end
6777  if(rd_cnt[int_rd_cntr_width-1:0] === (max_rd_outstanding_transactions)) begin
6778  // rd_cnt[int_rd_cntr_width-1] = ~ rd_cnt[int_rd_cntr_width-1];
6779  rd_cnt[int_rd_cntr_width-1:0] = 0;
6780  end
6781  rd_latency_count = get_rd_lat_number(1);
6782  end
6783  end /// else
6784  end /// always
6785 end
6786  // /* Read Data Channel handshake */
6787  // always@(negedge S_RESETN or posedge S_ACLK)
6788  // begin
6789  // if(!S_RESETN)begin
6790  // rd_fifo_rd_ptr = 0;
6791  // rd_cnt = 0;
6792  // rd_latency_count = get_rd_lat_number(1);
6793  // rd_delayed = 0;
6794  // rresp_time_cnt = 0;
6795  // rd_v_b = 0;
6796  // end else begin
6797  // if(net_ARVALID && S_ARREADY)
6798  // slv.rd_driver.get_rd_reactive(trr);
6799  // if(arvalid_flag[rresp_time_cnt] && ((($time - arvalid_receive_time[rresp_time_cnt])/s_aclk_period) >= rd_latency_count))
6800  // rd_delayed = 1;
6801  // if(!read_fifo_empty && rd_delayed)begin
6802  // rd_delayed = 0;
6803  // arvalid_flag[rresp_time_cnt] = 1'b0;
6804  // rd_v_b = ((arlen[rd_cnt[int_rd_cntr_width-2:0]]+1)*(2**arsize[rd_cnt[int_rd_cntr_width-2:0]]));
6805  // temp_read_data = read_fifo[rd_fifo_rd_ptr[int_rd_cntr_width-2:0]];
6806  // rd_fifo_rd_ptr = rd_fifo_rd_ptr+1;
6807 
6808  // if(arbrst[rd_cnt[int_rd_cntr_width-2:0]]=== AXI_WRAP) begin
6809  // get_wrap_aligned_rd_data(temp_wrap_data, araddr[rd_cnt[int_rd_cntr_width-2:0]], temp_read_data, rd_v_b);
6810  // temp_read_data = temp_wrap_data;
6811  // end
6812  // temp_read_rsp = 0;
6813  // repeat(axi_burst_len) begin
6814  // temp_read_rsp = temp_read_rsp >> axi_rsp_width;
6815  // temp_read_rsp[(axi_rsp_width*axi_burst_len)-1:(axi_rsp_width*axi_burst_len)-axi_rsp_width] = fifo_rresp[rd_cnt[int_rd_cntr_width-2:0]][rsp_msb : rsp_lsb];
6816  // end
6817  // case (arsize[rd_cnt[int_rd_cntr_width-2:0]])
6818  // 3'b000: trr.size = XIL_AXI_SIZE_1BYTE;
6819  // 3'b001: trr.size = XIL_AXI_SIZE_2BYTE;
6820  // 3'b010: trr.size = XIL_AXI_SIZE_4BYTE;
6821  // 3'b011: trr.size = XIL_AXI_SIZE_8BYTE;
6822  // 3'b100: trr.size = XIL_AXI_SIZE_16BYTE;
6823  // 3'b101: trr.size = XIL_AXI_SIZE_32BYTE;
6824  // 3'b110: trr.size = XIL_AXI_SIZE_64BYTE;
6825  // 3'b111: trr.size = XIL_AXI_SIZE_128BYTE;
6826  // endcase
6827  // trr.len = arlen[rd_cnt[int_rd_cntr_width-2:0]];
6828  // trr.id = (arid[rd_cnt[int_rd_cntr_width-2:0]]);
6829 /// / trr.data = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
6830  // trr.rresp = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
6831  // for(j = 0; j < (arlen[rd_cnt[int_rd_cntr_width-2:0]]+1); j = j+1) begin
6832  // for(k = 0; k < (2**arsize[rd_cnt[int_rd_cntr_width-2:0]]); k = k+1) begin
6833  // new_data[(k*8)+:8] = temp_read_data[7:0];
6834  // temp_read_data = temp_read_data >> 8;
6835  // end
6836  // trr.set_data_beat(j, new_data);
6837  // case(temp_read_rsp[(j*2)+:2])
6838  // 2'b00: trr.rresp[j] = XIL_AXI_RESP_OKAY;
6839  // 2'b01: trr.rresp[j] = XIL_AXI_RESP_EXOKAY;
6840  // 2'b10: trr.rresp[j] = XIL_AXI_RESP_SLVERR;
6841  // 2'b11: trr.rresp[j] = XIL_AXI_RESP_DECERR;
6842  // endcase
6843  // end
6844  // slv.rd_driver.send(trr);
6845  // rd_cnt = rd_cnt + 1;
6846  // rresp_time_cnt = rresp_time_cnt+1;
6847  // if(rresp_time_cnt === max_rd_outstanding_transactions) rresp_time_cnt = 0;
6848  // if(rd_cnt[int_rd_cntr_width-2:0] === (max_rd_outstanding_transactions-1)) begin
6849  // rd_cnt[int_rd_cntr_width-1] = ~ rd_cnt[int_rd_cntr_width-1];
6850  // rd_cnt[int_rd_cntr_width-2:0] = 0;
6851  // end
6852  // rd_latency_count = get_rd_lat_number(1);
6853  // end
6854  // end /// else
6855  // end /// always
6856 endmodule
6857 
6858 
6859 /********************************************************************
6860  * File : processing_system7_vip_v1_0_10_axi_slave_acp.sv
6861  *
6862  * Date : 2012-11
6863  *
6864  * Description : Model that acts as PS AXI Slave port interface.
6865  * It uses AXI3 Slave BFM
6866  *****************************************************************************/
6867  `timescale 1ns/1ps
6868  import axi_vip_pkg::*;
6869 
6871  S_RESETN,
6872 
6873  S_ARREADY,
6874  S_AWREADY,
6875  S_BVALID,
6876  S_RLAST,
6877  S_RVALID,
6878  S_WREADY,
6879  S_BRESP,
6880  S_RRESP,
6881  S_RDATA,
6882  S_BID,
6883  S_RID,
6884  S_ACLK,
6885  S_ARVALID,
6886  S_AWVALID,
6887  S_BREADY,
6888  S_RREADY,
6889  S_WLAST,
6890  S_WVALID,
6891  S_ARBURST,
6892  S_ARLOCK,
6893  S_ARSIZE,
6894  S_AWBURST,
6895  S_AWLOCK,
6896  S_AWSIZE,
6897  S_ARPROT,
6898  S_AWPROT,
6899  S_ARADDR,
6900  S_AWADDR,
6901  S_WDATA,
6902  S_ARCACHE,
6903  S_ARLEN,
6904  S_AWCACHE,
6905  S_AWLEN,
6906  S_WSTRB,
6907  S_ARID,
6908  S_AWID,
6909  S_WID,
6910 
6911  S_AWQOS,
6912  S_ARQOS,
6913 
6914  SW_CLK,
6915  WR_DATA_ACK_OCM,
6916  WR_DATA_ACK_DDR,
6917  WR_ADDR,
6918  WR_DATA,
6919  WR_DATA_STRB,
6920  WR_BYTES,
6921  WR_DATA_VALID_OCM,
6922  WR_DATA_VALID_DDR,
6923  WR_QOS,
6924 
6925  RD_QOS,
6926  RD_REQ_DDR,
6927  RD_REQ_OCM,
6928  RD_REQ_REG,
6929  RD_ADDR,
6930  RD_DATA_OCM,
6931  RD_DATA_DDR,
6932  RD_DATA_REG,
6933  RD_BYTES,
6934  RD_DATA_VALID_OCM,
6935  RD_DATA_VALID_DDR,
6936  RD_DATA_VALID_REG
6937 
6938 );
6939  parameter enable_this_port = 0;
6940  parameter slave_name = "Slave";
6941  parameter data_bus_width = 32;
6942  parameter address_bus_width = 32;
6943  parameter id_bus_width = 6;
6944  parameter awuser_bus_width = 1;
6945  parameter aruser_bus_width = 1;
6946  parameter ruser_bus_width = 1;
6947  parameter wuser_bus_width = 1;
6948  parameter buser_bus_width = 1;
6949  parameter slave_base_address = 0;
6950  parameter slave_high_address = 4;
6951  parameter max_outstanding_transactions = 8;
6952  parameter exclusive_access_supported = 0;
6953  parameter max_wr_outstanding_transactions = 8;
6954  parameter max_rd_outstanding_transactions = 8;
6955  parameter region_bus_width = 4;
6956 
6957  `include "processing_system7_vip_v1_0_10_local_params.v"
6958  // `include "zynq_ultra_ps_e_vip_v1_0_local_params.sv"
6959 
6960  /* Local parameters only for this module */
6961  /* Internal counters that are used as Read/Write pointers to the fifo's that store all the transaction info on all channles.
6962  This parameter is used to define the width of these pointers --> depending on Maximum outstanding transactions supported.
6963  1-bit extra width than the no.of.bits needed to represent the outstanding transactions
6964  Extra bit helps in generating the empty and full flags */
6965  parameter int_wr_cntr_width = clogb2(max_wr_outstanding_transactions+1);
6966  parameter int_rd_cntr_width = clogb2(max_rd_outstanding_transactions+1);
6967 
6968  /* RESP data */
6969  parameter wr_fifo_data_bits = ((data_bus_width/8)*axi_burst_len) + (data_bus_width*axi_burst_len) + axi_qos_width + addr_width + (max_burst_bytes_width+1);
6970  parameter wr_bytes_lsb = 0;
6971  parameter wr_bytes_msb = max_burst_bytes_width;
6972  parameter wr_addr_lsb = wr_bytes_msb + 1;
6973  parameter wr_addr_msb = wr_addr_lsb + addr_width-1;
6974  parameter wr_data_lsb = wr_addr_msb + 1;
6975  parameter wr_data_msb = wr_data_lsb + (data_bus_width*axi_burst_len)-1;
6976  parameter wr_qos_lsb = wr_data_msb + 1;
6977  parameter wr_qos_msb = wr_qos_lsb + axi_qos_width-1;
6978  parameter wr_strb_lsb = wr_qos_msb + 1;
6979  parameter wr_strb_msb = wr_strb_lsb + ((data_bus_width/8)*axi_burst_len)-1;
6980 
6981  parameter rsp_fifo_bits = axi_rsp_width+id_bus_width;
6982  parameter rsp_lsb = 0;
6983  parameter rsp_msb = axi_rsp_width-1;
6984  parameter rsp_id_lsb = rsp_msb + 1;
6985  parameter rsp_id_msb = rsp_id_lsb + id_bus_width-1;
6986 
6987  input S_RESETN;
6988 
6989  output S_ARREADY;
6990  output S_AWREADY;
6991  output S_BVALID;
6992  output S_RLAST;
6993  output S_RVALID;
6994  output S_WREADY;
6995  output [axi_rsp_width-1:0] S_BRESP;
6996  output [axi_rsp_width-1:0] S_RRESP;
6997  output [data_bus_width-1:0] S_RDATA;
6998  output [id_bus_width-1:0] S_BID;
6999  output [id_bus_width-1:0] S_RID;
7000  input S_ACLK;
7001  input S_ARVALID;
7002  input S_AWVALID;
7003  input S_BREADY;
7004  input S_RREADY;
7005  input S_WLAST;
7006  input S_WVALID;
7007  input [axi_brst_type_width-1:0] S_ARBURST;
7008  input [axi_lock_width-1:0] S_ARLOCK;
7009  input [axi_size_width-1:0] S_ARSIZE;
7010  input [axi_brst_type_width-1:0] S_AWBURST;
7011  input [axi_lock_width-1:0] S_AWLOCK;
7012  input [axi_size_width-1:0] S_AWSIZE;
7013  input [axi_prot_width-1:0] S_ARPROT;
7014  input [axi_prot_width-1:0] S_AWPROT;
7015  input [address_bus_width-1:0] S_ARADDR;
7016  input [address_bus_width-1:0] S_AWADDR;
7017  input [data_bus_width-1:0] S_WDATA;
7018  input [axi_cache_width-1:0] S_ARCACHE;
7019  input [axi_len_width-1:0] S_ARLEN;
7020 
7021  input [axi_qos_width-1:0] S_ARQOS;
7022  // input [aruser_bus_width-1:0] S_ARUSER;
7023  // output [ruser_bus_width-1:0] S_RUSER;
7024  // input [region_bus_width-1:0] S_ARREGION;
7025 
7026  input [axi_cache_width-1:0] S_AWCACHE;
7027  input [axi_len_width-1:0] S_AWLEN;
7028 
7029  input [axi_qos_width-1:0] S_AWQOS;
7030  // input [awuser_bus_width-1:0] S_AWUSER;
7031  // input [wuser_bus_width-1:0] S_WUSER;
7032  // output [buser_bus_width-1:0] S_BUSER;
7033  // input [region_bus_width-1:0] S_AWREGION;
7034 
7035  input [(data_bus_width/8)-1:0] S_WSTRB;
7036  input [id_bus_width-1:0] S_ARID;
7037  input [id_bus_width-1:0] S_AWID;
7038  input [id_bus_width-1:0] S_WID;
7039 
7040 
7041  input SW_CLK;
7042  input WR_DATA_ACK_DDR, WR_DATA_ACK_OCM;
7043  output reg WR_DATA_VALID_DDR, WR_DATA_VALID_OCM;
7044  output reg [(data_bus_width*axi_burst_len)-1:0] WR_DATA;
7045  output reg [((data_bus_width/8)*axi_burst_len)-1:0] WR_DATA_STRB;
7046  output reg [addr_width-1:0] WR_ADDR;
7047  output reg [max_burst_bytes_width:0] WR_BYTES;
7048  output reg RD_REQ_OCM, RD_REQ_DDR, RD_REQ_REG;
7049  output reg [addr_width-1:0] RD_ADDR;
7050  input [(data_bus_width*axi_burst_len)-1:0] RD_DATA_DDR,RD_DATA_OCM, RD_DATA_REG;
7051  output reg[max_burst_bytes_width:0] RD_BYTES;
7052  input RD_DATA_VALID_OCM,RD_DATA_VALID_DDR, RD_DATA_VALID_REG;
7053  output reg [axi_qos_width-1:0] WR_QOS, RD_QOS;
7054  wire net_ARVALID;
7055  wire net_AWVALID;
7056  wire net_WVALID;
7057  bit [31:0] static_count;
7058 
7059  real s_aclk_period1;
7060  real s_aclk_period2;
7061  real diff_time = 1;
7062  axi_slv_agent#(1,address_bus_width, data_bus_width, data_bus_width, id_bus_width,id_bus_width,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1) slv;
7063 
7065  .C_AXI_PROTOCOL(1),
7066  .C_AXI_INTERFACE_MODE(2),
7067  .C_AXI_ADDR_WIDTH(address_bus_width),
7068  .C_AXI_WDATA_WIDTH(data_bus_width),
7069  .C_AXI_RDATA_WIDTH(data_bus_width),
7070  .C_AXI_WID_WIDTH(id_bus_width),
7071  .C_AXI_RID_WIDTH(id_bus_width),
7072  .C_AXI_AWUSER_WIDTH(0),
7073  .C_AXI_ARUSER_WIDTH(0),
7074  .C_AXI_WUSER_WIDTH(0),
7075  .C_AXI_RUSER_WIDTH(0),
7076  .C_AXI_BUSER_WIDTH(0),
7077  .C_AXI_SUPPORTS_NARROW(1),
7078  .C_AXI_HAS_BURST(1),
7079  .C_AXI_HAS_LOCK(1),
7080  .C_AXI_HAS_CACHE(1),
7081  .C_AXI_HAS_REGION(0),
7082  .C_AXI_HAS_PROT(1),
7083  .C_AXI_HAS_QOS(1),
7084  .C_AXI_HAS_WSTRB(1),
7085  .C_AXI_HAS_BRESP(1),
7086  .C_AXI_HAS_RRESP(1),
7087  .C_AXI_HAS_ARESETN(1)
7088  ) slave (
7089  .aclk(S_ACLK),
7090  .aclken(1'B1),
7091  .aresetn(S_RESETN),
7092  .s_axi_awid(S_AWID),
7093  .s_axi_awaddr(S_AWADDR),
7094  .s_axi_awlen(S_AWLEN),
7095  .s_axi_awsize(S_AWSIZE),
7096  .s_axi_awburst(S_AWBURST),
7097  .s_axi_awlock(S_AWLOCK),
7098  .s_axi_awcache(S_AWCACHE),
7099  .s_axi_awprot(S_AWPROT),
7100  .s_axi_awregion(4'B0),
7101  .s_axi_awqos(4'h0),
7102  .s_axi_awuser(1'B0),
7103  .s_axi_awvalid(S_AWVALID),
7104  .s_axi_awready(S_AWREADY),
7105  .s_axi_wid(S_WID),
7106  .s_axi_wdata(S_WDATA),
7107  .s_axi_wstrb(S_WSTRB),
7108  .s_axi_wlast(S_WLAST),
7109  .s_axi_wuser(1'B0),
7110  .s_axi_wvalid(S_WVALID),
7111  .s_axi_wready(S_WREADY),
7112  .s_axi_bid(S_BID),
7113  .s_axi_bresp(S_BRESP),
7114  .s_axi_buser(),
7115  .s_axi_bvalid(S_BVALID),
7116  .s_axi_bready(S_BREADY),
7117  .s_axi_arid(S_ARID),
7118  .s_axi_araddr(S_ARADDR),
7119  .s_axi_arlen(S_ARLEN),
7120  .s_axi_arsize(S_ARSIZE),
7121  .s_axi_arburst(S_ARBURST),
7122  .s_axi_arlock(S_ARLOCK),
7123  .s_axi_arcache(S_ARCACHE),
7124  .s_axi_arprot(S_ARPROT),
7125  .s_axi_arregion(4'B0),
7126  .s_axi_arqos(S_ARQOS),
7127  .s_axi_aruser(1'B0),
7128  .s_axi_arvalid(S_ARVALID),
7129  .s_axi_arready(S_ARREADY),
7130  .s_axi_rid(S_RID),
7131  .s_axi_rdata(S_RDATA),
7132  .s_axi_rresp(S_RRESP),
7133  .s_axi_rlast(S_RLAST),
7134  .s_axi_ruser(),
7135  .s_axi_rvalid(S_RVALID),
7136  .s_axi_rready(S_RREADY),
7137  .m_axi_awid(),
7138  .m_axi_awaddr(),
7139  .m_axi_awlen(),
7140  .m_axi_awsize(),
7141  .m_axi_awburst(),
7142  .m_axi_awlock(),
7143  .m_axi_awcache(),
7144  .m_axi_awprot(),
7145  .m_axi_awregion(),
7146  .m_axi_awqos(),
7147  .m_axi_awuser(),
7148  .m_axi_awvalid(),
7149  .m_axi_awready(1'b0),
7150  .m_axi_wid(),
7151  .m_axi_wdata(),
7152  .m_axi_wstrb(),
7153  .m_axi_wlast(),
7154  .m_axi_wuser(),
7155  .m_axi_wvalid(),
7156  .m_axi_wready(1'b0),
7157  .m_axi_bid(12'h000),
7158  .m_axi_bresp(2'b00),
7159  .m_axi_buser(1'B0),
7160  .m_axi_bvalid(1'b0),
7161  .m_axi_bready(),
7162  .m_axi_arid(),
7163  .m_axi_araddr(),
7164  .m_axi_arlen(),
7165  .m_axi_arsize(),
7166  .m_axi_arburst(),
7167  .m_axi_arlock(),
7168  .m_axi_arcache(),
7169  .m_axi_arprot(),
7170  .m_axi_arregion(),
7171  .m_axi_arqos(),
7172  .m_axi_aruser(),
7173  .m_axi_arvalid(),
7174  .m_axi_arready(1'b0),
7175  .m_axi_rid(12'h000),
7176  .m_axi_rdata(32'h00000000),
7177  .m_axi_rresp(2'b00),
7178  .m_axi_rlast(1'b0),
7179  .m_axi_ruser(1'B0),
7180  .m_axi_rvalid(1'b0),
7181  .m_axi_rready()
7182  );
7183 
7184 
7185  xil_axi_cmd_beat twc, trc;
7186  xil_axi_write_beat twd;
7187  xil_axi_read_beat trd;
7188  axi_transaction twr, trr,trr_get_rd;
7189  axi_transaction trr_rd[$];
7190  axi_ready_gen awready_gen;
7191  axi_ready_gen wready_gen;
7192  axi_ready_gen arready_gen;
7193  integer i,j,k,add_val,size_local,burst_local,len_local,num_bytes;
7194  bit [3:0] a;
7195  bit [15:0] a_16_bits,a_new,a_wrap,a_wrt_val,a_cnt;
7196 
7197  initial begin
7198  slv = new("slv",slave.IF);
7199  twr = new("twr");
7200  trr = new("trr");
7201  trr_get_rd = new("trr_get_rd");
7202  wready_gen = slv.wr_driver.create_ready("wready");
7203  slv.monitor.axi_wr_cmd_port.set_enabled();
7204  slv.monitor.axi_wr_beat_port.set_enabled();
7205  slv.monitor.axi_rd_cmd_port.set_enabled();
7206  slv.wr_driver.set_transaction_depth(max_wr_outstanding_transactions);
7207  slv.rd_driver.set_transaction_depth(max_rd_outstanding_transactions);
7208  slv.start_slave();
7209  end
7210 
7211  initial begin
7212  slave.IF.set_enable_xchecks_to_warn();
7213  repeat(10) @(posedge S_ACLK);
7214  slave.IF.set_enable_xchecks();
7215  end
7216 
7217 
7218  /* Latency type and Debug/Error Control */
7219  reg[1:0] latency_type = RANDOM_CASE;
7220  reg DEBUG_INFO = 1;
7221  reg STOP_ON_ERROR = 1'b1;
7222 
7223  /* WR_FIFO stores 32-bit address, valid data and valid bytes for each AXI Write burst transaction */
7224  reg [wr_fifo_data_bits-1:0] wr_fifo [0:max_wr_outstanding_transactions-1];
7225  reg [int_wr_cntr_width-1:0] wr_fifo_wr_ptr = 0, wr_fifo_rd_ptr = 0;
7226  wire wr_fifo_empty;
7227 
7228  /* Store the awvalid receive time --- necessary for calculating the latency in sending the bresp*/
7229  // reg [7:0] aw_time_cnt = 0, bresp_time_cnt = 0;
7230  reg [int_wr_cntr_width-1:0] aw_time_cnt = 0, bresp_time_cnt = 0;
7231  real awvalid_receive_time[0:max_wr_outstanding_transactions-1]; // store the time when a new awvalid is received
7232  reg awvalid_flag[0:max_wr_outstanding_transactions-1]; // indicates awvalid is received
7233 
7234  /* Address Write Channel handshake*/
7235  reg[int_wr_cntr_width-1:0] aw_cnt = 0;// count of awvalid
7236 
7237  /* various FIFOs for storing the ADDR channel info */
7238  reg [axi_size_width-1:0] awsize [0:max_wr_outstanding_transactions-1];
7239  reg [axi_prot_width-1:0] awprot [0:max_wr_outstanding_transactions-1];
7240  reg [axi_lock_width-1:0] awlock [0:max_wr_outstanding_transactions-1];
7241  reg [axi_cache_width-1:0] awcache [0:max_wr_outstanding_transactions-1];
7242  reg [axi_brst_type_width-1:0] awbrst [0:max_wr_outstanding_transactions-1];
7243  reg [axi_len_width-1:0] awlen [0:max_wr_outstanding_transactions-1];
7244  reg aw_flag [0:max_wr_outstanding_transactions-1];
7245  reg [addr_width-1:0] awaddr [0:max_wr_outstanding_transactions-1];
7246  reg [addr_width-1:0] addr_wr_local;
7247  reg [addr_width-1:0] addr_wr_final;
7248  reg [id_bus_width-1:0] awid [0:max_wr_outstanding_transactions-1];
7249  reg [axi_qos_width-1:0] awqos [0:max_wr_outstanding_transactions-1];
7250  wire aw_fifo_full; // indicates awvalid_fifo is full (max outstanding transactions reached)
7251 
7252  /* internal fifos to store burst write data, ID & strobes*/
7253  reg [(data_bus_width*axi_burst_len)-1:0] burst_data [0:max_wr_outstanding_transactions-1];
7254  reg [((data_bus_width/8)*axi_burst_len)-1:0] burst_strb [0:max_wr_outstanding_transactions-1];
7255  reg [max_burst_bytes_width:0] burst_valid_bytes [0:max_wr_outstanding_transactions-1]; /// total valid bytes received in a complete burst transfer
7256  reg [max_burst_bytes_width:0] valid_bytes = 0; /// total valid bytes received in a complete burst transfer
7257  reg wlast_flag [0:max_wr_outstanding_transactions-1]; // flag to indicate WLAST received
7258  wire wd_fifo_full;
7259 
7260  /* Write Data Channel and Write Response handshake signals*/
7261  reg [int_wr_cntr_width-1:0] wd_cnt = 0;
7262  reg [(data_bus_width*axi_burst_len)-1:0] aligned_wr_data;
7263  reg [((data_bus_width/8)*axi_burst_len)-1:0] aligned_wr_strb;
7264  reg [addr_width-1:0] aligned_wr_addr;
7265  reg [max_burst_bytes_width:0] valid_data_bytes;
7266  reg [int_wr_cntr_width-1:0] wr_bresp_cnt = 0;
7267  reg [axi_rsp_width-1:0] bresp;
7268  reg [rsp_fifo_bits-1:0] fifo_bresp [0:max_wr_outstanding_transactions-1]; // store the ID and its corresponding response
7269  reg enable_write_bresp;
7270  reg [int_wr_cntr_width-1:0] rd_bresp_cnt = 0;
7271  integer wr_latency_count;
7272  reg wr_delayed,wr_fifo_full_flag;
7273  wire bresp_fifo_empty;
7274 
7275  /* states for managing read/write to WR_FIFO */
7276  parameter SEND_DATA = 0, WAIT_ACK = 1;
7277  reg state;
7278 
7279  /* Qos*/
7280  reg [axi_qos_width-1:0] ar_qos, aw_qos;
7281 
7282  initial begin
7283  if(DEBUG_INFO) begin
7284  if(enable_this_port)
7285  $display("[%0d] : %0s : %0s : Port is ENABLED.",$time, DISP_INFO, slave_name);
7286  else
7287  $display("[%0d] : %0s : %0s : Port is DISABLED.",$time, DISP_INFO, slave_name);
7288  end
7289  end
7290 
7291 //initial slave.set_disable_reset_value_checks(1);
7292  initial begin
7293  repeat(2) @(posedge S_ACLK);
7294  if(!enable_this_port) begin
7295  end
7296 // slave.RESPONSE_TIMEOUT = 0;
7297  end
7298  /*--------------------------------------------------------------------------------*/
7299 
7300  /* Set Latency type to be used */
7301  task set_latency_type;
7302  input[1:0] lat;
7303  begin
7304  if(enable_this_port)
7305  latency_type = lat;
7306  else begin
7307  if(DEBUG_INFO)
7308  $display("[%0d] : %0s : %0s : Port is disabled. 'Latency Profile' will not be set...",$time, DISP_WARN, slave_name);
7309  end
7310  end
7311  endtask
7312  /*--------------------------------------------------------------------------------*/
7313 
7314  /* Set verbosity to be used */
7315  task automatic set_verbosity;
7316  input[31:0] verb;
7317  begin
7318  if(enable_this_port) begin
7319  slv.set_verbosity(verb);
7320  end else begin
7321  if(DEBUG_INFO)
7322  $display("[%0d] : %0s : %0s : Port is disabled. set_verbosity will not be set...",$time, DISP_WARN, slave_name);
7323  end
7324 
7325  end
7326  endtask
7327  /*--------------------------------------------------------------------------------*/
7328 
7329  /* Set ARQoS to be used */
7330  task automatic set_arqos;
7331  input[axi_qos_width-1:0] qos;
7332  begin
7333  if(enable_this_port) begin
7334  ar_qos = qos;
7335  end else begin
7336  if(DEBUG_INFO)
7337  $display("[%0d] : %0s : %0s : Port is disabled. 'ARQOS' will not be set...",$time, DISP_WARN, slave_name);
7338  end
7339 
7340  end
7341  endtask
7342  /*--------------------------------------------------------------------------------*/
7343 
7344  /* Set AWQoS to be used */
7345  task set_awqos;
7346  input[axi_qos_width-1:0] qos;
7347  begin
7348  if(enable_this_port)
7349  aw_qos = qos;
7350  else begin
7351  if(DEBUG_INFO)
7352  $display("[%0d] : %0s : %0s : Port is disabled. 'AWQOS' will not be set...",$time, DISP_WARN, slave_name);
7353  end
7354  end
7355  endtask
7356  /*--------------------------------------------------------------------------------*/
7357  /* get the wr latency number */
7358  function [31:0] get_wr_lat_number;
7359  input dummy;
7360  reg[1:0] temp;
7361  begin
7362  case(latency_type)
7363  BEST_CASE : if(slave_name == axi_acp_name) get_wr_lat_number = acp_wr_min; else get_wr_lat_number = gp_wr_min;
7364  AVG_CASE : if(slave_name == axi_acp_name) get_wr_lat_number = acp_wr_avg; else get_wr_lat_number = gp_wr_avg;
7365  WORST_CASE : if(slave_name == axi_acp_name) get_wr_lat_number = acp_wr_max; else get_wr_lat_number = gp_wr_max;
7366  default : begin // RANDOM_CASE
7367  temp = $random;
7368  case(temp)
7369  2'b00 : if(slave_name == axi_acp_name) get_wr_lat_number = ($random()%10+ acp_wr_min); else get_wr_lat_number = ($random()%10+ gp_wr_min);
7370  2'b01 : if(slave_name == axi_acp_name) get_wr_lat_number = ($random()%40+ acp_wr_avg); else get_wr_lat_number = ($random()%40+ gp_wr_avg);
7371  default : if(slave_name == axi_acp_name) get_wr_lat_number = ($random()%60+ acp_wr_max); else get_wr_lat_number = ($random()%60+ gp_wr_max);
7372  endcase
7373  end
7374  endcase
7375  end
7376  endfunction
7377  /*--------------------------------------------------------------------------------*/
7378 
7379  /* get the rd latency number */
7380  function [31:0] get_rd_lat_number;
7381  input dummy;
7382  reg[1:0] temp;
7383  begin
7384  case(latency_type)
7385  BEST_CASE : if(slave_name == axi_acp_name) get_rd_lat_number = acp_rd_min; else get_rd_lat_number = gp_rd_min;
7386  AVG_CASE : if(slave_name == axi_acp_name) get_rd_lat_number = acp_rd_avg; else get_rd_lat_number = gp_rd_avg;
7387  WORST_CASE : if(slave_name == axi_acp_name) get_rd_lat_number = acp_rd_max; else get_rd_lat_number = gp_rd_max;
7388  default : begin // RANDOM_CASE
7389  temp = $random;
7390  case(temp)
7391  2'b00 : if(slave_name == axi_acp_name) get_rd_lat_number = ($random()%10+ acp_rd_min); else get_rd_lat_number = ($random()%10+ gp_rd_min);
7392  2'b01 : if(slave_name == axi_acp_name) get_rd_lat_number = ($random()%40+ acp_rd_avg); else get_rd_lat_number = ($random()%40+ gp_rd_avg);
7393  default : if(slave_name == axi_acp_name) get_rd_lat_number = ($random()%60+ acp_rd_max); else get_rd_lat_number = ($random()%60+ gp_rd_max);
7394  endcase
7395  end
7396  endcase
7397  end
7398  endfunction
7399  /*--------------------------------------------------------------------------------*/
7400 
7401  /* Store the Clock cycle time period */
7402  always@(S_RESETN)
7403  begin
7404  if(S_RESETN) begin
7405  diff_time = 1;
7406  @(posedge S_ACLK);
7407  s_aclk_period1 = $realtime;
7408  @(posedge S_ACLK);
7409  s_aclk_period2 = $realtime;
7410  diff_time = s_aclk_period2 - s_aclk_period1;
7411  end
7412  end
7413  /*--------------------------------------------------------------------------------*/
7414 
7415  /* Check for any WRITE/READs when this port is disabled */
7416  always@(S_AWVALID or S_WVALID or S_ARVALID)
7417  begin
7418  if((S_AWVALID | S_WVALID | S_ARVALID) && !enable_this_port) begin
7419  $display("[%0d] : %0s : %0s : Port is disabled. AXI transaction is initiated on this port ...\nSimulation will halt ..",$time, DISP_ERR, slave_name);
7420  // $stop;
7421  $finish;
7422  end
7423  end
7424 
7425  /*--------------------------------------------------------------------------------*/
7426 
7427 
7428  assign net_ARVALID = enable_this_port ? S_ARVALID : 1'b0;
7429  assign net_AWVALID = enable_this_port ? S_AWVALID : 1'b0;
7430  assign net_WVALID = enable_this_port ? S_WVALID : 1'b0;
7431 
7432  assign wr_fifo_empty = (wr_fifo_wr_ptr === wr_fifo_rd_ptr)?1'b1: 1'b0;
7433  // assign aw_fifo_full = ((aw_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (aw_cnt[int_wr_cntr_width-2:0] === rd_bresp_cnt[int_wr_cntr_width-2:0]))?1'b1 :1'b0; /// complete this
7434  // assign aw_fifo_full = ((aw_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (aw_cnt[int_wr_cntr_width-1:0] === rd_bresp_cnt[int_wr_cntr_width-1:0]))?1'b1 :1'b0; /// complete this
7435  assign aw_fifo_full = ((aw_cnt[1] !== rd_bresp_cnt[1]) && (aw_cnt[0] === rd_bresp_cnt[0]))?1'b1 :1'b0; /// complete this
7436  assign wd_fifo_full = ((wd_cnt[1] !== rd_bresp_cnt[1]) && (wd_cnt[0] === rd_bresp_cnt[0]))?1'b1 :1'b0; /// complete this
7437  assign bresp_fifo_empty = ((wr_fifo_full_flag == 1'b0) && (wr_bresp_cnt === rd_bresp_cnt))?1'b1:1'b0;
7438 
7439 
7440  /* Store the awvalid receive time --- necessary for calculating the bresp latency */
7441  always@(negedge S_RESETN or posedge S_ACLK)
7442  begin
7443  if(!S_RESETN)
7444  aw_time_cnt = 0;
7445  else begin
7446  if(net_AWVALID && S_AWREADY) begin
7447  awvalid_receive_time[aw_time_cnt] = $realtime;
7448  awvalid_flag[aw_time_cnt] = 1'b1;
7449  // $display("setting up awredy flag awvalid_receive_time[aw_time_cnt] %0t awvalid_flag[aw_time_cnt] %0d aw_time_cnt %0d",awvalid_receive_time[aw_time_cnt],awvalid_flag[aw_time_cnt],aw_time_cnt);
7450  aw_time_cnt = aw_time_cnt + 1;
7451  if(aw_time_cnt === max_wr_outstanding_transactions) begin
7452  aw_time_cnt = 0;
7453  // $display("reached max count max_wr_outstanding_transactions %0d aw_time_cnt %0d",max_wr_outstanding_transactions,aw_time_cnt);
7454  end
7455  end
7456  end // else
7457  end /// always
7458  /*--------------------------------------------------------------------------------*/
7459  always@(posedge S_ACLK)
7460  begin
7461  if(net_AWVALID && S_AWREADY) begin
7462  if(S_AWQOS === 0) begin awqos[aw_cnt[int_wr_cntr_width-2:0]] = aw_qos;
7463  end else awqos[aw_cnt[int_wr_cntr_width-2:0]] = S_AWQOS;
7464  end
7465  end
7466  /*--------------------------------------------------------------------------------*/
7467 
7468  always@(aw_fifo_full)
7469  begin
7470  if(aw_fifo_full && DEBUG_INFO)
7471  $display("[%0d] : %0s : %0s : Reached the maximum outstanding Write transactions limit (%0d). Blocking all future Write transactions until at least 1 of the outstanding Write transaction has completed.",$time, DISP_INFO, slave_name,max_wr_outstanding_transactions);
7472  end
7473  /*--------------------------------------------------------------------------------*/
7474 
7475  /* Address Write Channel handshake*/
7476  // always@(negedge S_RESETN or posedge S_ACLK)
7477  initial begin
7478  forever begin
7479  if(!S_RESETN) begin
7480  aw_cnt = 0;
7481  end else begin
7482  // if(!aw_fifo_full) begin
7483  // $display(" %0t ACP waitting for aw_fifo_full %0d max_wr_outstanding_transactions %0d",$time, aw_fifo_full,max_wr_outstanding_transactions);
7484  wait(aw_fifo_full == 0) begin
7485  // $display("%0t ACP waitting done for aw_fifo_full %0d max_wr_outstanding_transactions %0d ",$time,aw_fifo_full,max_wr_outstanding_transactions);
7486  slv.monitor.axi_wr_cmd_port.get(twc);
7487  // awaddr[aw_cnt[int_wr_cntr_width-2:0]] = twc.addr;
7488  awlen[aw_cnt[int_wr_cntr_width-1:0]] = twc.len;
7489  awsize[aw_cnt[int_wr_cntr_width-1:0]] = twc.size;
7490  awbrst[aw_cnt[int_wr_cntr_width-1:0]] = twc.burst;
7491  awlock[aw_cnt[int_wr_cntr_width-1:0]] = twc.lock;
7492  awcache[aw_cnt[int_wr_cntr_width-1:0]]= twc.cache;
7493  awprot[aw_cnt[int_wr_cntr_width-1:0]] = twc.prot;
7494  awid[aw_cnt[int_wr_cntr_width-1:0]] = twc.id;
7495  aw_flag[aw_cnt[int_wr_cntr_width-1:0]] = 1'b1;
7496  size_local = twc.size;
7497  burst_local = twc.burst;
7498  len_local = twc.len;
7499  if(burst_local == AXI_INCR || burst_local == AXI_FIXED) begin
7500  if(data_bus_width === 'd128) begin
7501  if(size_local === 'd0) a = {twc.addr[3:0]};
7502  if(size_local === 'd1) a = {twc.addr[3:1],1'b0};
7503  if(size_local === 'd2) a = {twc.addr[3:2],2'b0};
7504  if(size_local === 'd3) a = {twc.addr[3],3'b0};
7505  if(size_local === 'd4) a = 'b0;
7506  end else if(data_bus_width === 'd64 ) begin
7507  if(size_local === 'd0) a = {twc.addr[2:0]};
7508  if(size_local === 'd1) a = {twc.addr[2:1],1'b0};
7509  if(size_local === 'd2) a = {twc.addr[2],2'b0};
7510  if(size_local === 'd3) a = 'b0;
7511  end else if(data_bus_width === 'd32 ) begin
7512  if(size_local === 'd0) a = {twc.addr[1:0]};
7513  if(size_local === 'd1) a = {twc.addr[1],1'b0};
7514  if(size_local === 'd2) a = 'b0;
7515  end
7516  end if(burst_local == AXI_WRAP) begin
7517  if(data_bus_width === 'd128) begin
7518  if(size_local === 'd0) a = {twc.addr[3:0]};
7519  if(size_local === 'd1) a = {twc.addr[3:1],1'b0};
7520  if(size_local === 'd2) a = {twc.addr[3:2],2'b0};
7521  if(size_local === 'd3) a = {twc.addr[3],3'b0};
7522  if(size_local === 'd4) a = 'b0;
7523  end else if(data_bus_width === 'd64 ) begin
7524  if(size_local === 'd0) a = {twc.addr[2:0]};
7525  if(size_local === 'd1) a = {twc.addr[2:1],1'b0};
7526  if(size_local === 'd2) a = {twc.addr[2],2'b0};
7527  if(size_local === 'd3) a = 'b0;
7528  end else if(data_bus_width === 'd32 ) begin
7529  if(size_local === 'd0) a = {twc.addr[1:0]};
7530  if(size_local === 'd1) a = {twc.addr[1],1'b0};
7531  if(size_local === 'd2) a = 'b0;
7532  end
7533  // a = twc.addr[3:0];
7534  a_16_bits = twc.addr[7:0];
7535  num_bytes = ((len_local+1)*(2**size_local));
7536  // $display("num_bytes %0d num_bytes %0h",num_bytes,num_bytes);
7537  end
7538  addr_wr_local = twc.addr;
7539  if(burst_local == AXI_INCR || burst_local == AXI_FIXED) begin
7540  case(size_local)
7541  0 : addr_wr_final = {addr_wr_local};
7542  1 : addr_wr_final = {addr_wr_local[31:1],1'b0};
7543  2 : addr_wr_final = {addr_wr_local[31:2],2'b0};
7544  3 : addr_wr_final = {addr_wr_local[31:3],3'b0};
7545  4 : addr_wr_final = {addr_wr_local[31:4],4'b0};
7546  5 : addr_wr_final = {addr_wr_local[31:5],5'b0};
7547  6 : addr_wr_final = {addr_wr_local[31:6],6'b0};
7548  7 : addr_wr_final = {addr_wr_local[31:7],7'b0};
7549  endcase
7550  awaddr[aw_cnt[int_wr_cntr_width-1:0]] = addr_wr_final;
7551  // $display("addr_wr_final %0h aw_cnt %0d",addr_wr_final,aw_cnt);
7552  end if(burst_local == AXI_WRAP) begin
7553  awaddr[aw_cnt[int_wr_cntr_width-1:0]] = twc.addr;
7554  // $display(" awaddr[aw_cnt[int_wr_cntr_width-2:0]] %0h",awaddr[aw_cnt[int_wr_cntr_width-1:0]]);
7555  end
7556  aw_cnt = aw_cnt + 1;
7557  // $display(" %0t ACP aw_cnt %0d",$time,aw_cnt);
7558  // if(data_bus_width === 'd32) a = 0;
7559  // if(data_bus_width === 'd64) a = twc.addr[2:0];
7560  // if(data_bus_width === 'd128) a = twc.addr[3:0];
7561  // $display(" %0t ACP addr_wr_final %0h size %0d len %0d awaddr[aw_cnt[int_wr_cntr_width-2:0]] %0h twc.id %0h",$time,twc.addr,twc.size,twc.len,awaddr[aw_cnt[int_wr_cntr_width-2:0]],twc.id);
7562  #0;
7563  if(aw_cnt[int_wr_cntr_width-1:0] === (max_wr_outstanding_transactions)) begin
7564  // aw_cnt[int_wr_cntr_width] = ~aw_cnt[int_wr_cntr_width];
7565  aw_cnt[int_wr_cntr_width-1:0] = 0;
7566  // $display("%0t ACP resetting the aw_cnt[int_wr_cntr_width-2:0] %0d max_wr_outstanding_transactions %0d",$time,aw_cnt,max_wr_outstanding_transactions);
7567  end
7568  end // if (!aw_fifo_full)
7569  end /// if else
7570  end /// forever
7571  end /// always
7572  /*--------------------------------------------------------------------------------*/
7573 
7574  /* Write Data Channel Handshake */
7575  // always@(negedge S_RESETN or posedge S_ACLK)
7576  initial begin
7577  forever begin
7578  if(!S_RESETN) begin
7579  wd_cnt = 0;
7580  wr_fifo_full_flag = 0;
7581  end else begin
7582  // $display(" ACP before data channel wd_fifo_full %0d S_WVALID %0d",wd_fifo_full,S_WVALID);
7583  // if(!wd_fifo_full && S_WVALID) begin
7584  // wait(wd_fifo_full == 0 && S_WVALID == 1) begin
7585  wait(wd_fifo_full == 0 ) begin
7586  // $display(" ACP after data channel wd_fifo_full %0d S_WVALID %0d",wd_fifo_full,S_WVALID);
7587  slv.monitor.axi_wr_beat_port.get(twd);
7588  // $display(" ACP got the element from monitor data channel wd_fifo_full %0d S_WVALID %0d",wd_fifo_full,S_WVALID);
7589  wait((aw_flag[wd_cnt[int_wr_cntr_width-1:0]] === 'b1));
7590  case(size_local)
7591  0 : add_val = 1;
7592  1 : add_val = 2;
7593  2 : add_val = 4;
7594  3 : add_val = 8;
7595  4 : add_val = 16;
7596  5 : add_val = 32;
7597  6 : add_val = 64;
7598  7 : add_val = 128;
7599  endcase
7600 
7601  // $display(" ACP size_local %0d add_val %0d wd_cnt %0d",size_local,add_val,wd_cnt);
7602 // $display(" data depth : %0d size %0d srrb %0d last %0d burst %0d ",2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]],twd.get_data_size(),twd.get_strb_size(),twd.last,twc.burst);
7603  //$display(" a value is %0d ",a);
7604  // twd.sprint_c();
7605  for(i = 0; i < (2**awsize[wr_bresp_cnt[int_wr_cntr_width-1:0]]); i = i+1) begin
7606  burst_data[wd_cnt[int_wr_cntr_width-1:0]][((valid_bytes*8)+(i*8))+:8] = twd.data[i+a];
7607  //$display("data burst %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h i %0d a %0d full data %0h",burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8],twd.data[i],twd.data[i+1],twd.data[i+2],twd.data[i+3],twd.data[i+4],twd.data[i+5],twd.data[i+a],i,a,twd.data[i+a]);
7608  //$display(" wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8) %0d wd_cnt %0d valid_bytes %0d int_wr_cntr_width %0d", wd_cnt[int_wr_cntr_width-2:0],wd_cnt,valid_bytes,int_wr_cntr_width);
7609  // $display(" ACP full data %0h",twd.data[i+a]);
7610  burst_strb[wd_cnt[int_wr_cntr_width-1:0]][((valid_bytes)+(i*1))+:1] = twd.strb[i+a];
7611  // $display("ACP burst_strb %0h twd_strb %0h int_wr_cntr_width %0d valid_bytes %0d wd_cnt[int_wr_cntr_width-1:0] %0d twd.strb[i+a] %0b full strb %0h",burst_strb[wd_cnt[int_wr_cntr_width-1:0]][((valid_bytes)+(i*1))+:1],twd.strb[i],int_wr_cntr_width,valid_bytes,wd_cnt[int_wr_cntr_width-1:0],twd.strb[i+a],twd.strb[i+a]);
7612  // $display("ACP burst_strb %0h twd.strb[i+1] %0h twd.strb[i+2] %0h twd.strb[i+3] %0h twd.strb[i+4] %0h twd.strb[i+5] %0h twd.strb[i+6] %0h twd.strb[i+7] %0h",twd.strb[i],twd.strb[i+1],twd.strb[i+1],twd.strb[i+2],twd.strb[i+3],twd.strb[i+4],twd.strb[i+5],twd.strb[i+6],twd.strb[i+7]);
7613  // $display("ACP full strb %0h",twd.strb[i+a]);
7614 
7615  if(i == ((2**awsize[wr_bresp_cnt[int_wr_cntr_width-1:0]])-1) ) begin
7616  if(burst_local == AXI_FIXED) begin
7617  a = a;
7618  end else if(burst_local == AXI_INCR) begin
7619  a = a+add_val;
7620  end else if(burst_local == AXI_WRAP) begin
7621  a_new = (a_16_bits/num_bytes)*num_bytes;
7622  a_wrap = a_new + (num_bytes);
7623  a = a+add_val;
7624  a_cnt = a_cnt+1;
7625  a_16_bits = a_16_bits+add_val;
7626  a_wrt_val = a_16_bits;
7627  // $display(" ACP new a value for wrap a %0h add_val %0d a_wrap %0h a_wrt_val %0h a_new %0h num_bytes %0h a_cnt %0d ",a,add_val,a_wrap[3:0],a_wrt_val,a_new,num_bytes,a_cnt);
7628  if(a_wrt_val[15:0] >= a_wrap[15:0]) begin
7629  if(data_bus_width === 'd128)
7630  a = a_new[3:0];
7631  else if(data_bus_width === 'd64)
7632  a = a_new[2:0];
7633  else if(data_bus_width === 'd32)
7634  a = a_new[1:0];
7635  //$display(" setting up a_wrap %0h a_new %0h a %0h", a_wrap,a_new,a);
7636  end else begin
7637  a = a;
7638  // $display(" ACP setting incr a_wrap %0h a_new %0h a %0h", a_wrap,a_new ,a );
7639  end
7640  end
7641  // $display(" ACP new a value a %0h add_val %0d",a,add_val);
7642  end
7643  end
7644  if(burst_local == AXI_INCR) begin
7645  if( a >= (data_bus_width/8) || (burst_local == 0 ) || (twd.last) ) begin
7646  // if( (burst_local == 0 ) || (twd.last) ) begin
7647  a = 0;
7648  //$display("resetting a = %0d ",a);
7649  end
7650  end else if (burst_local == AXI_WRAP) begin
7651  if( ((a >= (data_bus_width/8)) ) || (burst_local == 0 ) || (twd.last) ) begin
7652  a = 0;
7653  //$display("resetting a = %0d ",a);
7654  end
7655  end
7656 
7657  valid_bytes = valid_bytes+(2**awsize[wr_bresp_cnt[int_wr_cntr_width-1:0]]);
7658  $display("ACP valid bytes in valid_bytes %0d",valid_bytes);
7659 
7660  if (twd.last === 'b1) begin
7661  wlast_flag[wd_cnt[int_wr_cntr_width-1:0]] = 1'b1;
7662  burst_valid_bytes[wd_cnt[int_wr_cntr_width-1:0]] = valid_bytes;
7663  valid_bytes = 0;
7664  wd_cnt = wd_cnt + 1;
7665  a = 0;
7666  a_cnt = 0;
7667  // $display(" %0t ACP before match max_wr_outstanding_transactions reached %0d wd_cnt %0d int_wr_cntr_width %0d ",$time,max_wr_outstanding_transactions,wd_cnt,int_wr_cntr_width);
7668  if(wd_cnt[int_wr_cntr_width-1:0] === (max_wr_outstanding_transactions)) begin
7669  // wd_cnt[int_wr_cntr_width] = ~wd_cnt[int_wr_cntr_width];
7670  wd_cnt[int_wr_cntr_width-1:0] = 0;
7671  // $display(" ACP resetting the wd_cnt %0d Now max_wr_outstanding_transactions reached %0d ",wd_cnt,max_wr_outstanding_transactions);
7672  end
7673  end
7674  end /// if
7675  end /// else
7676  end /// forever
7677  end /// always
7678 
7679 // /* Write Data Channel Handshake */
7680 // always@(negedge S_RESETN or posedge S_ACLK)
7681 // begin
7682 // if(!S_RESETN) begin
7683 // wd_cnt = 0;
7684 // end else begin
7685 // if(!wd_fifo_full && S_WVALID) begin
7686 // slv.monitor.axi_wr_beat_port.get(twd);
7687 // // twd.do_print();
7688 // $display(" data depth : %0d size %0d ",2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]],twd.get_data_size());
7689 // for(i = 0; i < (2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]); i = i+1) begin
7690 // for(int j = 0; j < 2 ; j = j+1) begin
7691 // burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8] = twd.data[(i*2)+j];
7692 // $display("data burst %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h i %0d j %0d",burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8],twd.data[i],twd.data[i+1],twd.data[i+2],twd.data[i+3],twd.data[i+4],twd.data[i+5],i,j);
7693 // // burst_strb[wd_cnt[wd_cnt[int_wr_cntr_width-2:0]]][((valid_bytes*8)+(i*8))+:8/8)] = twd.strb[i];
7694 // $display("burst_strb %0h",twd.strb[i]);
7695 // end
7696 // end
7697 // valid_bytes = valid_bytes+(2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
7698 // if (twd.last) begin
7699 // wlast_flag[wd_cnt[int_wr_cntr_width-2:0]] = 1'b1;
7700 // burst_valid_bytes[wd_cnt[int_wr_cntr_width-2:0]] = valid_bytes;
7701 // valid_bytes = 0;
7702 // wd_cnt = wd_cnt + 1;
7703 // if(wd_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
7704 // wd_cnt[int_wr_cntr_width-1] = ~wd_cnt[int_wr_cntr_width-1];
7705 // wd_cnt[int_wr_cntr_width-2:0] = 0;
7706 // end
7707 // end
7708 // end /// if
7709 // end /// else
7710 // end /// always
7711 
7712  /* Align the wrap data for write transaction */
7713  task automatic get_wrap_aligned_wr_data;
7714  output [(data_bus_width*axi_burst_len)-1:0] aligned_data;
7715  output [addr_width-1:0] start_addr; /// aligned start address
7716  input [addr_width-1:0] addr;
7717  input [(data_bus_width*axi_burst_len)-1:0] b_data;
7718  input [max_burst_bytes_width:0] v_bytes;
7719  reg [(data_bus_width*axi_burst_len)-1:0] temp_data, wrp_data;
7720  integer wrp_bytes;
7721  integer i;
7722  begin
7723  // $display("addr %0h,b_data %0h v_bytes %0h",addr,b_data,v_bytes);
7724  start_addr = (addr/v_bytes) * v_bytes;
7725  // $display("wrap start_addr %0h",start_addr);
7726  wrp_bytes = addr - start_addr;
7727  // $display("wrap wrp_bytes %0h",wrp_bytes);
7728  wrp_data = b_data;
7729  temp_data = 0;
7730  wrp_data = wrp_data << ((data_bus_width*axi_burst_len) - (v_bytes*8));
7731  // $display("wrap wrp_data %0h",wrp_data);
7732  while(wrp_bytes > 0) begin /// get the data that is wrapped
7733  temp_data = temp_data << 8;
7734  temp_data[7:0] = wrp_data[(data_bus_width*axi_burst_len)-1 : (data_bus_width*axi_burst_len)-8];
7735  wrp_data = wrp_data << 8;
7736  wrp_bytes = wrp_bytes - 1;
7737  // $display("wrap wrp_data %0h temp_data %0h wrp_bytes %0h ",wrp_data,temp_data[7:0],wrp_bytes);
7738  end
7739  wrp_bytes = addr - start_addr;
7740  wrp_data = b_data << (wrp_bytes*8);
7741 
7742  aligned_data = (temp_data | wrp_data);
7743  // $display("temp_data %0h wrp_data %0h aligned_data %0h",temp_data,wrp_data,aligned_data);
7744  end
7745  endtask
7746 
7747  /*--------------------------------------------------------------------------------*/
7748  /* Align the wrap strb for write transaction */
7749  task automatic get_wrap_aligned_wr_strb;
7750  output [((data_bus_width/8)*axi_burst_len)-1:0] aligned_strb;
7751  output [addr_width-1:0] start_addr; /// aligned start address
7752  input [addr_width-1:0] addr;
7753  input [((data_bus_width/8)*axi_burst_len)-1:0] b_strb;
7754  input [max_burst_bytes_width:0] v_bytes;
7755  reg [((data_bus_width/8)*axi_burst_len)-1:0] temp_strb, wrp_strb;
7756  integer wrp_bytes;
7757  integer i;
7758  begin
7759  // $display("addr %0h,b_strb %0h v_bytes %0h",addr,b_strb,v_bytes);
7760  start_addr = (addr/v_bytes) * v_bytes;
7761  // $display("wrap strb start_addr %0h",start_addr);
7762  wrp_bytes = addr - start_addr;
7763  // $display("wrap strb wrp_bytes %0h",wrp_bytes);
7764  wrp_strb = b_strb;
7765  temp_strb = 0;
7766  // $display("wrap strb wrp_strb %0h before shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
7767  // $display("wrap strb wrp_strb %0h before shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
7768  wrp_strb = wrp_strb << (((data_bus_width/8)*axi_burst_len) - (v_bytes));
7769  // $display("wrap wrp_strb %0h after shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
7770  while(wrp_bytes > 0) begin /// get the strb that is wrapped
7771  temp_strb = temp_strb << 1;
7772  temp_strb[0] = wrp_strb[((data_bus_width/8)*axi_burst_len) : ((data_bus_width/8)*axi_burst_len)-1];
7773  wrp_strb = wrp_strb << 1;
7774  wrp_bytes = wrp_bytes - 1;
7775  // $display("wrap strb wrp_strb %0h wrp_bytes %0h temp_strb %0h",wrp_strb,wrp_bytes,temp_strb);
7776  end
7777  wrp_bytes = addr - start_addr;
7778  wrp_strb = b_strb << (wrp_bytes);
7779 
7780  aligned_strb = (temp_strb | wrp_strb);
7781  // $display("wrap strb aligned_strb %0h tmep_strb %0h wrp_strb %0h",aligned_strb,temp_strb,wrp_strb);
7782  end
7783  endtask
7784  /*--------------------------------------------------------------------------------*/
7785 
7786  /* Calculate the Response for each read/write transaction */
7787  function [axi_rsp_width-1:0] calculate_resp;
7788  input rd_wr; // indicates Read(1) or Write(0) transaction
7789  input [addr_width-1:0] awaddr;
7790  input [axi_prot_width-1:0] awprot;
7791  reg [axi_rsp_width-1:0] rsp;
7792  begin
7793  rsp = AXI_OK;
7794  /* Address Decode */
7795  if(decode_address(awaddr) === INVALID_MEM_TYPE) begin
7796  rsp = AXI_SLV_ERR; //slave error
7797  $display("[%0d] : %0s : %0s : AXI Access to Invalid location(0x%0h) awaddr %0h",$time, DISP_ERR, slave_name, awaddr,awaddr);
7798  end
7799  if(!rd_wr && decode_address(awaddr) === REG_MEM) begin
7800  rsp = AXI_SLV_ERR; //slave error
7801  $display("[%0d] : %0s : %0s : AXI Write to Register Map(0x%0h) is not supported ",$time, DISP_ERR, slave_name, awaddr);
7802  end
7803  if(secure_access_enabled && awprot[1])
7804  rsp = AXI_DEC_ERR; // decode error
7805  calculate_resp = rsp;
7806  end
7807  endfunction
7808  /*--------------------------------------------------------------------------------*/
7809 
7810  /* Store the Write response for each write transaction */
7811  // always@(negedge S_RESETN or posedge S_ACLK)
7812  // begin
7813  initial begin
7814  forever begin
7815  if(!S_RESETN) begin
7816  wr_bresp_cnt = 0;
7817  wr_fifo_wr_ptr = 0;
7818  end else begin
7819  // $display("%t ACP enable_write_bresp %0d wr_bresp_cnt %0d",$time ,enable_write_bresp,wr_bresp_cnt[int_wr_cntr_width-1:0]);
7820  // $display("%t ACP aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] %0d wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] %0d ",$time,aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] , wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]]);
7821  // if((wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] === 'b1) && (aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] === 'b1)) begin
7822  wait((wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] === 'b1) && (aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] === 'b1)) begin
7823  // enable_write_bresp <= aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]];
7824  //#0 enable_write_bresp = 'b1;
7825  enable_write_bresp = 'b1;
7826  // $display("%t ACP enable_write_bresp %0d wr_bresp_cnt %0d",$time ,enable_write_bresp,wr_bresp_cnt[int_wr_cntr_width-1:0]);
7827  // $display("%t enable_write_bresp %0d wr_bresp_cnt %0d",$time ,enable_write_bresp,wr_bresp_cnt[int_wr_cntr_width-1:0]);
7828  end
7829  // enable_write_bresp = aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]];
7830  /* calculate bresp only when AWVALID && WLAST is received */
7831  if(enable_write_bresp) begin
7832  aw_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] = 0;
7833  wlast_flag[wr_bresp_cnt[int_wr_cntr_width-1:0]] = 0;
7834  // $display("awaddr[wr_bresp_cnt[int_wr_cntr_width-1:0]] %0h ",awaddr[wr_bresp_cnt[int_wr_cntr_width-1:0]]);
7835  bresp = calculate_resp(1'b0, awaddr[wr_bresp_cnt[int_wr_cntr_width-1:0]],awprot[wr_bresp_cnt[int_wr_cntr_width-1:0]]);
7836  fifo_bresp[wr_bresp_cnt[int_wr_cntr_width-1:0]] = {awid[wr_bresp_cnt[int_wr_cntr_width-1:0]],bresp};
7837  /* Fill WR data FIFO */
7838  if(bresp === AXI_OK) begin
7839  if(awbrst[wr_bresp_cnt[int_wr_cntr_width-1:0]] === AXI_WRAP) begin /// wrap type? then align the data
7840  get_wrap_aligned_wr_data(aligned_wr_data,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-1:0]],burst_data[wr_bresp_cnt[int_wr_cntr_width-1:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-1:0]]); /// gives wrapped start address
7841  get_wrap_aligned_wr_strb(aligned_wr_strb,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-1:0]],burst_strb[wr_bresp_cnt[int_wr_cntr_width-1:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-1:0]]); /// gives wrapped start address
7842  end else begin
7843  aligned_wr_data = burst_data[wr_bresp_cnt[int_wr_cntr_width-1:0]];
7844  aligned_wr_addr = awaddr[wr_bresp_cnt[int_wr_cntr_width-1:0]] ;
7845  aligned_wr_strb = burst_strb[wr_bresp_cnt[int_wr_cntr_width-1:0]];
7846  //$display(" got form fifo aligned_wr_addr %0h wr_bresp_cnt[int_wr_cntr_width-1:0]] %0d",aligned_wr_addr,wr_bresp_cnt[int_wr_cntr_width-1:0]);
7847  //$display(" got form fifo aligned_wr_strb %0h wr_bresp_cnt[int_wr_cntr_width-1:0]] %0d",aligned_wr_strb,wr_bresp_cnt[int_wr_cntr_width-1:0]);
7848  end
7849  valid_data_bytes = burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-1:0]];
7850  end else
7851  valid_data_bytes = 0;
7852 
7853  if(awbrst[wr_bresp_cnt[int_wr_cntr_width-1:0]] != AXI_WRAP) begin
7854  // wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-1:0]] = {burst_strb[wr_bresp_cnt[int_wr_cntr_width-1:0]],awqos[wr_bresp_cnt[int_wr_cntr_width-1:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
7855  wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-1:0]] = {aligned_wr_strb,awqos[wr_bresp_cnt[int_wr_cntr_width-1:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
7856  // $display(" %0t ACP updating the wr_fifo wrap aligned_wr_strb %0h aligned_wr_addr %0h valid_data_bytes %0h",$time,aligned_wr_strb,aligned_wr_addr ,valid_data_bytes);
7857  end else begin
7858  wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-1:0]] = {aligned_wr_strb,awqos[wr_bresp_cnt[int_wr_cntr_width-1:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
7859  // $display(" %0t ACP updating the wr_fifo incr aligned_wr_strb %0h aligned_wr_addr %0h valid_data_bytes %0h",$time,aligned_wr_strb,aligned_wr_addr ,valid_data_bytes);
7860  end
7861  wr_fifo_wr_ptr = wr_fifo_wr_ptr + 1'b1;
7862  wr_bresp_cnt = wr_bresp_cnt+1'b1;
7863  enable_write_bresp = 'b0;
7864  if(wr_bresp_cnt == 2'd2) begin
7865  wr_fifo_full_flag = 1'b1;
7866  end
7867 
7868  // $display(" %0t ACP before resetting the wr_bresp_cnt counter %0d max_wr_outstanding_transactions %0d int_wr_cntr_width %0d wr_fifo_wr_ptr %0d" ,$time, wr_bresp_cnt[int_wr_cntr_width-1:0],max_wr_outstanding_transactions,int_wr_cntr_width,wr_fifo_wr_ptr);
7869  if(wr_bresp_cnt[int_wr_cntr_width-1:0] === (max_wr_outstanding_transactions)) begin
7870  // wr_bresp_cnt[int_wr_cntr_width] = ~ wr_bresp_cnt[int_wr_cntr_width];
7871  wr_bresp_cnt[int_wr_cntr_width-1:0] = 0;
7872  // $display(" ACP resetting the wr_bresp_cnt counter %0d " , wr_bresp_cnt);
7873  end
7874 
7875  if(wr_fifo_wr_ptr[int_wr_cntr_width-1:0] === (max_wr_outstanding_transactions)) begin
7876  wr_fifo_wr_ptr[int_wr_cntr_width-1:0] = 0;
7877  // $display(" ACP resetting the wr_fifo_wr_ptr counter %0d " , wr_fifo_wr_ptr);
7878  end
7879 
7880  end
7881  end // else
7882  end // alway1
7883  end // alway1
7884  /*--------------------------------------------------------------------------------*/
7885 
7886  /* Send Write Response Channel handshake */
7887  always@(negedge S_RESETN or posedge S_ACLK)
7888  begin
7889  if(!S_RESETN) begin
7890  rd_bresp_cnt = 0;
7891  wr_latency_count = get_wr_lat_number(1);
7892  // wr_latency_count = 5;
7893  wr_delayed = 0;
7894  bresp_time_cnt = 0;
7895  end else begin
7896  // if(static_count < 32 ) begin
7897  // // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
7898  // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
7899  // //wready_gen.set_low_time(0);
7900  // //wready_gen.set_high_time(1);
7901  // slv.wr_driver.send_wready(wready_gen);
7902  // end
7903  // $display(" ACP waiting for awvalid_flag[bresp_time_cnt] %0d $realtime %0t awvalid_receive_time[bresp_time_cnt] %0t",awvalid_flag[bresp_time_cnt],$realtime ,awvalid_receive_time[bresp_time_cnt]);
7904  // $display(" ACP waiting for wr_latency_count %0t bresp_time_cnt %0d",wr_latency_count,bresp_time_cnt);
7905  // $display(" ACP waiting for diff_time %0t",diff_time);
7906  if(awvalid_flag[bresp_time_cnt] && (($realtime - awvalid_receive_time[bresp_time_cnt])/diff_time >= wr_latency_count)) begin
7907  wr_delayed = 1;
7908  end
7909  // $display(" ACP waiting for wr_delayed wr_delayed %0d bresp_fifo_empty %0d ",wr_delayed,bresp_fifo_empty);
7910  if(!bresp_fifo_empty && wr_delayed) begin
7911  // $display(" ACP before getting twr wr_delayed %0d bresp_fifo_empty %0d ",wr_delayed,bresp_fifo_empty);
7912  slv.wr_driver.get_wr_reactive(twr);
7913  // $display(" ACP after getting twr wr_delayed %0d bresp_fifo_empty %0d ",wr_delayed,bresp_fifo_empty);
7914  twr.set_id(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-1:0]][rsp_id_msb : rsp_id_lsb]);
7915  case(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-1:0]][rsp_msb : rsp_lsb])
7916  2'b00: twr.set_bresp(XIL_AXI_RESP_OKAY);
7917  2'b01: twr.set_bresp(XIL_AXI_RESP_EXOKAY);
7918  2'b10: twr.set_bresp(XIL_AXI_RESP_SLVERR);
7919  2'b11: twr.set_bresp(XIL_AXI_RESP_DECERR);
7920  endcase
7921  // if(static_count > 32 ) begin
7922  // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
7923  wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
7924  // wready_gen.set_low_time(3);
7925  // wready_gen.set_high_time(3);
7926  // wready_gen.set_low_time_range(3,6);
7927  // wready_gen.set_high_time_range(3,6);
7928  // slv.wr_driver.send_wready(wready_gen);
7929  // end
7930  slv.wr_driver.send_wready(wready_gen);
7931  slv.wr_driver.send(twr);
7932  // $display("%0t ACP sending the element to driver",$time);
7933  wr_delayed = 0;
7934  awvalid_flag[bresp_time_cnt] = 1'b0;
7935  bresp_time_cnt = bresp_time_cnt+1;
7936  rd_bresp_cnt = rd_bresp_cnt + 1;
7937  if(rd_bresp_cnt == 2'd2) begin
7938  wr_fifo_full_flag = 1'b0;
7939  end
7940  if(rd_bresp_cnt[int_wr_cntr_width-1:0] === (max_wr_outstanding_transactions)) begin
7941  // rd_bresp_cnt[int_wr_cntr_width] = ~ rd_bresp_cnt[int_wr_cntr_width];
7942  rd_bresp_cnt[int_wr_cntr_width-1:0] = 0;
7943  end
7944  if(bresp_time_cnt[int_wr_cntr_width-1:0] === max_wr_outstanding_transactions) begin
7945  bresp_time_cnt[int_wr_cntr_width-1:0] = 0;
7946  end
7947  wr_latency_count = get_wr_lat_number(1);
7948  // wr_latency_count = 5;
7949  static_count++;
7950  end
7951  static_count++;
7952  end // else
7953  end//always
7954  /*--------------------------------------------------------------------------------*/
7955 
7956  /* Reading from the wr_fifo */
7957  always@(negedge S_RESETN or posedge SW_CLK) begin
7958  if(!S_RESETN) begin
7959  WR_DATA_VALID_DDR = 1'b0;
7960  WR_DATA_VALID_OCM = 1'b0;
7961  wr_fifo_rd_ptr = 0;
7962  state = SEND_DATA;
7963  WR_QOS = 0;
7964  end else begin
7965  case(state)
7966  SEND_DATA :begin
7967  state = SEND_DATA;
7968  WR_DATA_VALID_OCM = 0;
7969  WR_DATA_VALID_DDR = 0;
7970  if(!wr_fifo_empty) begin
7971  WR_DATA = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-1:0]][wr_data_msb : wr_data_lsb];
7972  WR_ADDR = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-1:0]][wr_addr_msb : wr_addr_lsb];
7973  WR_BYTES = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-1:0]][wr_bytes_msb : wr_bytes_lsb];
7974  WR_QOS = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-1:0]][wr_qos_msb : wr_qos_lsb];
7975  WR_DATA_STRB = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-1:0]][wr_strb_msb : wr_strb_lsb];
7976  state = WAIT_ACK;
7977  $display("ACP final WR_ADDR %0h WR_DATA %0h WR_DATA_STRB %0h wr_fifo_rd_ptr %0d",WR_ADDR,WR_DATA[31:0],WR_DATA_STRB,wr_fifo_rd_ptr[int_wr_cntr_width-1:0]);
7978  case (decode_address(wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-1:0]][wr_addr_msb : wr_addr_lsb]))
7979  OCM_MEM : WR_DATA_VALID_OCM = 1;
7980  DDR_MEM : WR_DATA_VALID_DDR = 1;
7981  default : state = SEND_DATA;
7982  endcase
7983  wr_fifo_rd_ptr = wr_fifo_rd_ptr+1;
7984  if(wr_fifo_rd_ptr[int_wr_cntr_width-1:0] === (max_wr_outstanding_transactions)) begin
7985  wr_fifo_rd_ptr[int_wr_cntr_width] = ~ wr_fifo_rd_ptr[int_wr_cntr_width];
7986  wr_fifo_rd_ptr[int_wr_cntr_width-1:0] = 0;
7987  // $display(" ACP resetting the wr_fifo_rd_ptr counter %0d " , wr_fifo_rd_ptr);
7988  end
7989 
7990  end
7991  end
7992  WAIT_ACK :begin
7993  state = WAIT_ACK;
7994  if(WR_DATA_ACK_OCM | WR_DATA_ACK_DDR) begin
7995  WR_DATA_VALID_OCM = 1'b0;
7996  WR_DATA_VALID_DDR = 1'b0;
7997  state = SEND_DATA;
7998  end
7999  end
8000  endcase
8001  end
8002  end
8003  /*--------------------------------------------------------------------------------*/
8004 /*-------------------------------- WRITE HANDSHAKE END ----------------------------------------*/
8005 
8006 /*-------------------------------- READ HANDSHAKE ---------------------------------------------*/
8007 
8008  /* READ CHANNELS */
8009  /* Store the arvalid receive time --- necessary for calculating latency in sending the rresp latency */
8010  reg [int_rd_cntr_width-1:0] ar_time_cnt = 0,rresp_time_cnt = 0;
8011  real arvalid_receive_time[0:max_rd_outstanding_transactions-1]; // store the time when a new arvalid is received
8012  reg arvalid_flag[0:max_rd_outstanding_transactions-1]; // store the time when a new arvalid is received
8013  reg [int_rd_cntr_width-1:0] ar_cnt = 0; // counter for arvalid info
8014 
8015  /* various FIFOs for storing the ADDR channel info */
8016  reg [axi_size_width-1:0] arsize [0:max_rd_outstanding_transactions-1];
8017  reg [axi_prot_width-1:0] arprot [0:max_rd_outstanding_transactions-1];
8018  reg [axi_brst_type_width-1:0] arbrst [0:max_rd_outstanding_transactions-1];
8019  reg [axi_len_width-1:0] arlen [0:max_rd_outstanding_transactions-1];
8020  reg [axi_cache_width-1:0] arcache [0:max_rd_outstanding_transactions-1];
8021  reg [axi_lock_width-1:0] arlock [0:max_rd_outstanding_transactions-1];
8022  reg ar_flag [0:max_rd_outstanding_transactions-1];
8023  reg [addr_width-1:0] araddr [0:max_rd_outstanding_transactions-1];
8024  reg [addr_width-1:0] addr_local;
8025  reg [addr_width-1:0] addr_final;
8026  reg [id_bus_width-1:0] arid [0:max_rd_outstanding_transactions-1];
8027  reg [axi_qos_width-1:0] arqos [0:max_rd_outstanding_transactions-1];
8028  wire ar_fifo_full; // indicates arvalid_fifo is full (max outstanding transactions reached)
8029 
8030  reg [int_rd_cntr_width-1:0] rd_cnt = 0;
8031  reg [int_rd_cntr_width-1:0] trr_rd_cnt = 0;
8032  reg [int_rd_cntr_width-1:0] wr_rresp_cnt = 0;
8033  reg [axi_rsp_width-1:0] rresp;
8034  reg [rsp_fifo_bits-1:0] fifo_rresp [0:max_rd_outstanding_transactions-1]; // store the ID and its corresponding response
8035 
8036  /* Send Read Response & Data Channel handshake */
8037  integer rd_latency_count;
8038  reg rd_delayed;
8039  reg read_fifo_empty;
8040 
8041  reg [max_burst_bits-1:0] read_fifo [0:max_rd_outstanding_transactions-1]; /// Store only AXI Burst Data ..
8042  reg [int_rd_cntr_width-1:0] rd_fifo_wr_ptr = 0, rd_fifo_rd_ptr = 0;
8043  wire read_fifo_full;
8044 
8045  assign read_fifo_full = (rd_fifo_wr_ptr[int_rd_cntr_width-1] !== rd_fifo_rd_ptr[int_rd_cntr_width-1] && rd_fifo_wr_ptr[int_rd_cntr_width-1:0] === rd_fifo_rd_ptr[int_rd_cntr_width-1:0])?1'b1: 1'b0;
8046  assign read_fifo_empty = (rd_fifo_wr_ptr === rd_fifo_rd_ptr)?1'b1: 1'b0;
8047  assign ar_fifo_full = ((ar_cnt[int_rd_cntr_width-1] !== rd_cnt[int_rd_cntr_width-1]) && (ar_cnt[int_rd_cntr_width-1:0] === rd_cnt[int_rd_cntr_width-1:0]))?1'b1 :1'b0;
8048 
8049  /* Store the arvalid receive time --- necessary for calculating the bresp latency */
8050  always@(negedge S_RESETN or posedge S_ACLK)
8051  begin
8052  if(!S_RESETN)
8053  ar_time_cnt = 0;
8054  else begin
8055  if(net_ARVALID == 'b1 && S_ARREADY == 'b1) begin
8056  arvalid_receive_time[ar_time_cnt] = $time;
8057  arvalid_flag[ar_time_cnt] = 1'b1;
8058  ar_time_cnt = ar_time_cnt + 1;
8059  // $display(" %m current ar_time_cnt %0d",ar_time_cnt);
8060  if((ar_time_cnt === max_rd_outstanding_transactions) ) begin
8061  ar_time_cnt = 0;
8062  // $display("reached max count max_rd_outstanding_transactions %0d aw_time_cnt %0d",max_rd_outstanding_transactions,ar_time_cnt);
8063  // $display(" resetting the read ar_time_cnt counter %0d", ar_time_cnt);
8064  end
8065  end
8066  end // else
8067  end /// always
8068  /*--------------------------------------------------------------------------------*/
8069  always@(posedge S_ACLK)
8070  begin
8071  if(net_ARVALID == 'b1 && S_ARREADY == 'b1) begin
8072  if(S_ARQOS === 0) begin
8073  arqos[ar_cnt[int_rd_cntr_width-1:0]] = ar_qos;
8074  end else begin
8075  arqos[ar_cnt[int_rd_cntr_width-1:0]] = S_ARQOS;
8076  end
8077  end
8078  end
8079  /*--------------------------------------------------------------------------------*/
8080 
8081  always@(ar_fifo_full)
8082  begin
8083  if(ar_fifo_full && DEBUG_INFO)
8084  $display("[%0d] : %0s : %0s : Reached the maximum outstanding Read transactions limit (%0d). Blocking all future Read transactions until at least 1 of the outstanding Read transaction has completed.",$time, DISP_INFO, slave_name,max_rd_outstanding_transactions);
8085  end
8086  /*--------------------------------------------------------------------------------*/
8087 
8088  /* Address Read Channel handshake*/
8089  // always@(negedge S_RESETN or posedge S_ACLK)
8090  // begin
8091  initial begin
8092  forever begin
8093  if(!S_RESETN) begin
8094  ar_cnt = 0;
8095  end else begin
8096  // if(!ar_fifo_full) begin
8097  wait(ar_fifo_full != 1) begin
8098  slv.monitor.axi_rd_cmd_port.get(trc);
8099  // araddr[ar_cnt[int_rd_cntr_width-2:0]] = trc.addr;
8100  arlen[ar_cnt[int_rd_cntr_width-1:0]] = trc.len;
8101  arsize[ar_cnt[int_rd_cntr_width-1:0]] = trc.size;
8102  arbrst[ar_cnt[int_rd_cntr_width-1:0]] = trc.burst;
8103  arlock[ar_cnt[int_rd_cntr_width-1:0]] = trc.lock;
8104  arcache[ar_cnt[int_rd_cntr_width-1:0]]= trc.cache;
8105  arprot[ar_cnt[int_rd_cntr_width-1:0]] = trc.prot;
8106  arid[ar_cnt[int_rd_cntr_width-1:0]] = trc.id;
8107  ar_flag[ar_cnt[int_rd_cntr_width-1:0]] = 1'b1;
8108  size_local = trc.size;
8109  addr_local = trc.addr;
8110  case(size_local)
8111  0 : addr_final = {addr_local};
8112  1 : addr_final = {addr_local[31:1],1'b0};
8113  2 : addr_final = {addr_local[31:2],2'b0};
8114  3 : addr_final = {addr_local[31:3],3'b0};
8115  4 : addr_final = {addr_local[31:4],4'b0};
8116  5 : addr_final = {addr_local[31:5],5'b0};
8117  6 : addr_final = {addr_local[31:6],6'b0};
8118  7 : addr_final = {addr_local[31:7],7'b0};
8119  endcase
8120  araddr[ar_cnt[int_rd_cntr_width-1:0]] = addr_final;
8121  ar_cnt = ar_cnt+1;
8122  // $display(" READ address addr_final %0h ar_cnt %0d",addr_final,ar_cnt);
8123  if(ar_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
8124  ar_cnt[int_rd_cntr_width] = ~ ar_cnt[int_rd_cntr_width];
8125  ar_cnt[int_rd_cntr_width-1:0] = 0;
8126  // $display(" reseeting the read ar_cnt %0d",ar_cnt);
8127  end
8128  end /// if(!ar_fifo_full)
8129  end /// if else
8130  end /// forever
8131  end /// always*/
8132  /*--------------------------------------------------------------------------------*/
8133 
8134  /* Align Wrap data for read transaction*/
8135  task automatic get_wrap_aligned_rd_data;
8136  output [(data_bus_width*axi_burst_len)-1:0] aligned_data;
8137  input [addr_width-1:0] addr;
8138  input [(data_bus_width*axi_burst_len)-1:0] b_data;
8139  input [max_burst_bytes_width:0] v_bytes;
8140  reg [addr_width-1:0] start_addr;
8141  reg [(data_bus_width*axi_burst_len)-1:0] temp_data, wrp_data;
8142  integer wrp_bytes;
8143  integer i;
8144  begin
8145  start_addr = (addr/v_bytes) * v_bytes;
8146  wrp_bytes = addr - start_addr;
8147  wrp_data = b_data;
8148  temp_data = 0;
8149  while(wrp_bytes > 0) begin /// get the data that is wrapped
8150  temp_data = temp_data >> 8;
8151  temp_data[(data_bus_width*axi_burst_len)-1 : (data_bus_width*axi_burst_len)-8] = wrp_data[7:0];
8152  wrp_data = wrp_data >> 8;
8153  wrp_bytes = wrp_bytes - 1;
8154  end
8155  temp_data = temp_data >> ((data_bus_width*axi_burst_len) - (v_bytes*8));
8156  wrp_bytes = addr - start_addr;
8157  wrp_data = b_data >> (wrp_bytes*8);
8158 
8159  aligned_data = (temp_data | wrp_data);
8160  end
8161  endtask
8162  /*--------------------------------------------------------------------------------*/
8163 
8164  parameter RD_DATA_REQ = 1'b0, WAIT_RD_VALID = 1'b1;
8165  reg [addr_width-1:0] temp_read_address;
8166  reg [max_burst_bytes_width:0] temp_rd_valid_bytes;
8167  reg rd_fifo_state;
8168  reg invalid_rd_req;
8169  /* get the data from memory && also calculate the rresp*/
8170  always@(negedge S_RESETN or posedge SW_CLK)
8171  begin
8172  if(!S_RESETN)begin
8173  rd_fifo_wr_ptr = 0;
8174  wr_rresp_cnt =0;
8175  rd_fifo_state = RD_DATA_REQ;
8176  temp_rd_valid_bytes = 0;
8177  temp_read_address = 0;
8178  RD_REQ_DDR = 0;
8179  RD_REQ_OCM = 0;
8180  RD_REQ_REG = 0;
8181  RD_QOS = 0;
8182  invalid_rd_req = 0;
8183  end else begin
8184  case(rd_fifo_state)
8185  RD_DATA_REQ : begin
8186  rd_fifo_state = RD_DATA_REQ;
8187  RD_REQ_DDR = 0;
8188  RD_REQ_OCM = 0;
8189  RD_REQ_REG = 0;
8190  RD_QOS = 0;
8191  wait(ar_flag[wr_rresp_cnt[int_rd_cntr_width-1:0]] == 1'b1 && read_fifo_full == 0) begin
8192  // $display(" got the element for ar_flag %0h wr_rresp_cnt[int_rd_cntr_width-1:0] %0d ",ar_flag[wr_rresp_cnt[int_rd_cntr_width-1:0]],wr_rresp_cnt[int_rd_cntr_width-1:0]);
8193  ar_flag[wr_rresp_cnt[int_rd_cntr_width-1:0]] = 0;
8194  rresp = calculate_resp(1'b1, araddr[wr_rresp_cnt[int_rd_cntr_width-1:0]],arprot[wr_rresp_cnt[int_rd_cntr_width-1:0]]);
8195  fifo_rresp[wr_rresp_cnt[int_rd_cntr_width-1:0]] = {arid[wr_rresp_cnt[int_rd_cntr_width-1:0]],rresp};
8196  temp_rd_valid_bytes = (arlen[wr_rresp_cnt[int_rd_cntr_width-1:0]]+1)*(2**arsize[wr_rresp_cnt[int_rd_cntr_width-1:0]]);//data_bus_width/8;
8197  // $display(" got the element for id %0h ",arid[wr_rresp_cnt[int_rd_cntr_width-1:0]]);
8198 
8199  if(arbrst[wr_rresp_cnt[int_rd_cntr_width-1:0]] === AXI_WRAP) /// wrap begin
8200  temp_read_address = (araddr[wr_rresp_cnt[int_rd_cntr_width-1:0]]/temp_rd_valid_bytes) * temp_rd_valid_bytes;
8201  else
8202  temp_read_address = araddr[wr_rresp_cnt[int_rd_cntr_width-1:0]];
8203  if(rresp === AXI_OK) begin
8204  case(decode_address(temp_read_address))//decode_address(araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]]);
8205  OCM_MEM : RD_REQ_OCM = 1;
8206  DDR_MEM : RD_REQ_DDR = 1;
8207  REG_MEM : RD_REQ_REG = 1;
8208  default : invalid_rd_req = 1;
8209  endcase
8210  end else
8211  invalid_rd_req = 1;
8212 
8213  RD_QOS = arqos[wr_rresp_cnt[int_rd_cntr_width-1:0]];
8214  RD_ADDR = temp_read_address; ///araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]];
8215  RD_BYTES = temp_rd_valid_bytes;
8216  rd_fifo_state = WAIT_RD_VALID;
8217  wr_rresp_cnt = wr_rresp_cnt + 1;
8218  // $display(" before resetting the read wr_rresp_cnt counter %0d", wr_rresp_cnt);
8219  // $display(" final read address RD_ADDR %0h RD_BYTES %0h" , RD_ADDR,RD_BYTES);
8220  if(wr_rresp_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
8221  wr_rresp_cnt[int_rd_cntr_width] = ~ wr_rresp_cnt[int_rd_cntr_width];
8222  wr_rresp_cnt[int_rd_cntr_width-1:0] = 0;
8223  // $display(" resetting the read wr_rresp_cnt counter %0d", wr_rresp_cnt);
8224  end
8225  end
8226  end
8227  WAIT_RD_VALID : begin
8228  rd_fifo_state = WAIT_RD_VALID;
8229  if(RD_DATA_VALID_OCM | RD_DATA_VALID_DDR | RD_DATA_VALID_REG | invalid_rd_req) begin ///temp_dec == 2'b11) begin
8230  if(RD_DATA_VALID_DDR)
8231  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-1:0]] = RD_DATA_DDR;
8232  else if(RD_DATA_VALID_OCM)
8233  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-1:0]] = RD_DATA_OCM;
8234  else if(RD_DATA_VALID_REG)
8235  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-1:0]] = RD_DATA_REG;
8236  else
8237  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-1:0]] = 0;
8238  rd_fifo_wr_ptr = rd_fifo_wr_ptr + 1;
8239  if(rd_fifo_wr_ptr[int_rd_cntr_width-1:0] === (max_rd_outstanding_transactions)) begin
8240  rd_fifo_wr_ptr[int_rd_cntr_width] = ~rd_fifo_wr_ptr[int_rd_cntr_width] ;
8241  rd_fifo_wr_ptr[int_rd_cntr_width-1:0] = 0;
8242  // $display(" resetting the read rd_fifo_wr_ptr counter %0d", rd_fifo_wr_ptr);
8243  end
8244  RD_REQ_DDR = 0;
8245  RD_REQ_OCM = 0;
8246  RD_REQ_REG = 0;
8247  RD_QOS = 0;
8248  invalid_rd_req = 0;
8249  rd_fifo_state = RD_DATA_REQ;
8250  end
8251  end
8252  endcase
8253  end /// else
8254  end /// always
8255 
8256  /*--------------------------------------------------------------------------------*/
8257  reg[max_burst_bytes_width:0] rd_v_b;
8258  reg [(data_bus_width*axi_burst_len)-1:0] temp_read_data;
8259  reg [(data_bus_width*axi_burst_len)-1:0] temp_wrap_data;
8260  reg[(axi_rsp_width*axi_burst_len)-1:0] temp_read_rsp;
8261 
8262  xil_axi_data_beat new_data;
8263 
8264 
8265  /* Read Data Channel handshake */
8266  //always@(negedge S_RESETN or posedge S_ACLK)
8267  initial begin
8268  forever begin
8269  if(!S_RESETN)begin
8270  // rd_fifo_rd_ptr = 0;
8271  trr_rd_cnt = 0;
8272  // rd_latency_count = get_rd_lat_number(1);
8273  // rd_delayed = 0;
8274  // rresp_time_cnt = 0;
8275  // rd_v_b = 0;
8276  end else begin
8277  //if(net_ARVALID && S_ARREADY)
8278  // trr_rd[trr_rd_cnt] = new("trr_rd[trr_rd_cnt]");
8279  // trr_rd[trr_rd_cnt] = new($psprintf("trr_rd[%0d]",trr_rd_cnt));
8280  slv.rd_driver.get_rd_reactive(trr);
8281  // $display(" got the id form slv trr.id %0h" trr.id);
8282  trr_rd.push_back(trr.my_clone());
8283  //$cast(trr_rd[trr_rd_cnt],trr.copy());
8284  // rd_latency_count = get_rd_lat_number(1);
8285  // $display("%m waiting for next transfer trr_rd_cnt %0d trr.size %0d " ,trr_rd_cnt,trr.size);
8286  // $display("%m waiting for next transfer trr_rd_cnt %0d trr_rd[trr_rd_cnt] %0d" ,trr_rd_cnt,trr_rd[trr_rd_cnt].size);
8287  trr_rd_cnt++;
8288  // $display("%m waiting for next transfer trr_rd_cnt %0d" ,trr_rd_cnt);
8289  // @(posedge S_ACLK);
8290  end
8291  end // forever
8292  end // initial
8293 
8294 
8295  initial begin
8296  forever begin
8297  if(!S_RESETN)begin
8298  rd_fifo_rd_ptr = 0;
8299  rd_cnt = 0;
8300  // rd_latency_count = get_rd_lat_number(1);
8301  rd_latency_count = 20;
8302  rd_delayed = 0;
8303  rresp_time_cnt = 0;
8304  rd_v_b = 0;
8305  end else begin
8306  //if(net_ARVALID && S_ARREADY)
8307  // slv.rd_driver.get_rd_reactive(trr_rd[rresp_time_cnt]);
8308  wait(arvalid_flag[rresp_time_cnt] == 1);
8309  // while(trr_rd[rresp_time_cnttrr_rd_cnt] == null) begin
8310  // @(posedge S_ACLK);
8311  // end
8312  // rd_latency_count = get_rd_lat_number(1);
8313  rd_latency_count = 20;
8314  // $display("%m waiting for element form vip rresp_time_cnt %0d ",rresp_time_cnt);
8315  // while(trr_rd.size()< 0 ) begin
8316  // $display("%m got the element form vip rresp_time_cnt %0d ",rresp_time_cnt);
8317  // @(posedge S_ACLK);
8318  // end
8319  // $display("%m got the element form vip rresp_time_cnt %0d ",rresp_time_cnt);
8320  wait(trr_rd.size() > 0);
8321  trr_get_rd = trr_rd.pop_front();
8322  // $display("%m got the element trr_rd waiting for next transfer rresp_time_cnt %0d trr_get_rd.id %0h" ,rresp_time_cnt,trr_get_rd.id);
8323  while ((arvalid_flag[rresp_time_cnt] == 'b1 )&& ((($realtime - arvalid_receive_time[rresp_time_cnt])/diff_time) < rd_latency_count)) begin
8324  @(posedge S_ACLK);
8325  end
8326 
8327  //if(arvalid_flag[rresp_time_cnt] && ((($realtime - arvalid_receive_time[rresp_time_cnt])/diff_time) >= rd_latency_count))
8328  rd_delayed = 1;
8329  // $display("%m reading form rd_delayed %0d read_fifo_empty %0d next transfer rresp_time_cnt %0d trr_get_rd.id %0h",rd_delayed ,~read_fifo_empty,rresp_time_cnt,trr_get_rd.id);
8330  if(!read_fifo_empty && rd_delayed)begin
8331  rd_delayed = 0;
8332  // $display("%m reading form rd_delayed %0d next transfer rresp_time_cnt %0d trr_get_rd.id %0h",rd_delayed ,rresp_time_cnt,trr_get_rd.id);
8333  arvalid_flag[rresp_time_cnt] = 1'b0;
8334  rd_v_b = ((arlen[rd_cnt[int_rd_cntr_width-1:0]]+1)*(2**arsize[rd_cnt[int_rd_cntr_width-1:0]]));
8335  temp_read_data = read_fifo[rd_fifo_rd_ptr[int_rd_cntr_width-1:0]];
8336  rd_fifo_rd_ptr = rd_fifo_rd_ptr+1;
8337 
8338  if(arbrst[rd_cnt[int_rd_cntr_width-1:0]]=== AXI_WRAP) begin
8339  get_wrap_aligned_rd_data(temp_wrap_data, araddr[rd_cnt[int_rd_cntr_width-1:0]], temp_read_data, rd_v_b);
8340  temp_read_data = temp_wrap_data;
8341  end
8342  temp_read_rsp = 0;
8343  repeat(axi_burst_len) begin
8344  temp_read_rsp = temp_read_rsp >> axi_rsp_width;
8345  temp_read_rsp[(axi_rsp_width*axi_burst_len)-1:(axi_rsp_width*axi_burst_len)-axi_rsp_width] = fifo_rresp[rd_cnt[int_rd_cntr_width-1:0]][rsp_msb : rsp_lsb];
8346  end
8347  case (arsize[rd_cnt[int_rd_cntr_width-1:0]])
8348  3'b000: trr_get_rd.size = XIL_AXI_SIZE_1BYTE;
8349  3'b001: trr_get_rd.size = XIL_AXI_SIZE_2BYTE;
8350  3'b010: trr_get_rd.size = XIL_AXI_SIZE_4BYTE;
8351  3'b011: trr_get_rd.size = XIL_AXI_SIZE_8BYTE;
8352  3'b100: trr_get_rd.size = XIL_AXI_SIZE_16BYTE;
8353  3'b101: trr_get_rd.size = XIL_AXI_SIZE_32BYTE;
8354  3'b110: trr_get_rd.size = XIL_AXI_SIZE_64BYTE;
8355  3'b111: trr_get_rd.size = XIL_AXI_SIZE_128BYTE;
8356  endcase
8357  trr_get_rd.len = arlen[rd_cnt[int_rd_cntr_width-1:0]];
8358  trr_get_rd.id = (arid[rd_cnt[int_rd_cntr_width-1:0]]);
8359 // trr_get_rd.data = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
8360  trr_get_rd.rresp = new[((2**arsize[rd_cnt[int_rd_cntr_width-1:0]])*(arlen[rd_cnt[int_rd_cntr_width-1:0]]+1))];
8361  // $display("%m updateing reading form trr_get_rd.id %0d next transfer rresp_time_cnt %0d trr_get_rd.id %0h",trr_get_rd.id,rresp_time_cnt,trr_get_rd.id);
8362  for(j = 0; j < (arlen[rd_cnt[int_rd_cntr_width-1:0]]+1); j = j+1) begin
8363  for(k = 0; k < (2**arsize[rd_cnt[int_rd_cntr_width-1:0]]); k = k+1) begin
8364  new_data[(k*8)+:8] = temp_read_data[7:0];
8365  temp_read_data = temp_read_data >> 8;
8366  end
8367  trr_get_rd.set_data_beat(j, new_data);
8368  // $display("Read data %0h trr_get_rd.id %0h rd_cnt[int_rd_cntr_width-1:0] %0d",new_data,trr_get_rd.id,rd_cnt[int_rd_cntr_width-1:0]);
8369  case(temp_read_rsp[(j*2)+:2])
8370  2'b00: trr_get_rd.rresp[j] = XIL_AXI_RESP_OKAY;
8371  2'b01: trr_get_rd.rresp[j] = XIL_AXI_RESP_EXOKAY;
8372  2'b10: trr_get_rd.rresp[j] = XIL_AXI_RESP_SLVERR;
8373  2'b11: trr_get_rd.rresp[j] = XIL_AXI_RESP_DECERR;
8374  endcase
8375  end
8376  slv.rd_driver.send(trr_get_rd);
8377  rd_cnt = rd_cnt + 1;
8378  rresp_time_cnt = rresp_time_cnt+1;
8379  // $display("current rresp_time_cnt %0d rd_cnt %0d",rresp_time_cnt,rd_cnt[int_rd_cntr_width-1:0]);
8380  if(rd_cnt[int_rd_cntr_width-1:0] === (max_rd_outstanding_transactions)) begin
8381  rd_cnt[int_rd_cntr_width] = ~ rd_cnt[int_rd_cntr_width];
8382  rd_cnt[int_rd_cntr_width-1:0] = 0;
8383  // $display(" resetting the read rd_cnt counter %0d", rd_cnt);
8384  end
8385  if(rresp_time_cnt[int_rd_cntr_width-1:0] === (max_rd_outstanding_transactions)) begin
8386  rresp_time_cnt[int_rd_cntr_width] = ~ rresp_time_cnt[int_rd_cntr_width] ;
8387  rresp_time_cnt[int_rd_cntr_width-1:0] = 0;
8388  // $display(" resetting the read rresp_time_cnt counter %0d", rresp_time_cnt);
8389  end
8390  if(rd_fifo_rd_ptr[int_rd_cntr_width-1:0] === (max_rd_outstanding_transactions)) begin
8391  rd_fifo_rd_ptr[int_rd_cntr_width] = ~rd_fifo_rd_ptr[int_rd_cntr_width] ;
8392  rd_fifo_rd_ptr[int_rd_cntr_width-1:0] = 0;
8393  // $display(" resetting the read rd_fifo_rd_ptr counter %0d", rd_fifo_rd_ptr);
8394  end
8395  rd_latency_count = get_rd_lat_number(1);
8396  end
8397  end /// else
8398  end /// always
8399 end
8400 endmodule
8401 
8402 
8403 
8404 
8405 /*****************************************************************************
8406  * File : processing_system7_vip_v1_0_10_axi_master.v
8407  *
8408  * Date : 2012-11
8409  *
8410  * Description : Model that acts as PS AXI Master port interface.
8411  * It uses AXI3 Master VIP
8412  *****************************************************************************/
8413  `timescale 1ns/1ps
8414 
8415 import axi_vip_pkg::*;
8416 
8418  M_RESETN,
8419  M_ARVALID,
8420  M_AWVALID,
8421  M_BREADY,
8422  M_RREADY,
8423  M_WLAST,
8424  M_WVALID,
8425  M_ARID,
8426  M_AWID,
8427  M_WID,
8428  M_ARBURST,
8429  M_ARLOCK,
8430  M_ARSIZE,
8431  M_AWBURST,
8432  M_AWLOCK,
8433  M_AWSIZE,
8434  M_ARPROT,
8435  M_AWPROT,
8436  M_ARADDR,
8437  M_AWADDR,
8438  M_WDATA,
8439  M_ARCACHE,
8440  M_ARLEN,
8441  M_AWCACHE,
8442  M_AWLEN,
8443  M_ARQOS, // not connected to AXI VIP
8444  M_AWQOS, // not connected to AXI VIP
8445  M_WSTRB,
8446  M_ACLK,
8447  M_ARREADY,
8448  M_AWREADY,
8449  M_BVALID,
8450  M_RLAST,
8451  M_RVALID,
8452  M_WREADY,
8453  M_BID,
8454  M_RID,
8455  M_BRESP,
8456  M_RRESP,
8457  M_RDATA
8458 
8459 );
8460  parameter enable_this_port = 0;
8461  parameter master_name = "Master";
8462  parameter data_bus_width = 32;
8463  parameter address_bus_width = 32;
8464  parameter id_bus_width = 6;
8465  parameter max_outstanding_transactions = 8;
8466  parameter exclusive_access_supported = 0;
8467  parameter ID = 12'hC00;
8468  `include "processing_system7_vip_v1_0_10_local_params.v"
8469  /* IDs for Masters
8470  // l2m1 (CPU000)
8471  12'b11_000_000_00_00
8472  12'b11_010_000_00_00
8473  12'b11_011_000_00_00
8474  12'b11_100_000_00_00
8475  12'b11_101_000_00_00
8476  12'b11_110_000_00_00
8477  12'b11_111_000_00_00
8478  // l2m1 (CPU001)
8479  12'b11_000_001_00_00
8480  12'b11_010_001_00_00
8481  12'b11_011_001_00_00
8482  12'b11_100_001_00_00
8483  12'b11_101_001_00_00
8484  12'b11_110_001_00_00
8485  12'b11_111_001_00_00
8486  */
8487 
8488  input M_RESETN;
8489 
8490  output M_ARVALID;
8491  output M_AWVALID;
8492  output M_BREADY;
8493  output M_RREADY;
8494  output M_WLAST;
8495  output M_WVALID;
8496  output [id_bus_width-1:0] M_ARID;
8497  output [id_bus_width-1:0] M_AWID;
8498  output [id_bus_width-1:0] M_WID;
8499  output [axi_brst_type_width-1:0] M_ARBURST;
8500  output [axi_lock_width-1:0] M_ARLOCK;
8501  output [axi_size_width-1:0] M_ARSIZE;
8502  output [axi_brst_type_width-1:0] M_AWBURST;
8503  output [axi_lock_width-1:0] M_AWLOCK;
8504  output [axi_size_width-1:0] M_AWSIZE;
8505  output [axi_prot_width-1:0] M_ARPROT;
8506  output [axi_prot_width-1:0] M_AWPROT;
8507  output [address_bus_width-1:0] M_ARADDR;
8508  output [address_bus_width-1:0] M_AWADDR;
8509  output [data_bus_width-1:0] M_WDATA;
8510  output [axi_cache_width-1:0] M_ARCACHE;
8511  output [axi_len_width-1:0] M_ARLEN;
8512  output [axi_qos_width-1:0] M_ARQOS; // not connected to AXI VIP
8513  output [axi_cache_width-1:0] M_AWCACHE;
8514  output [axi_len_width-1:0] M_AWLEN;
8515  output [axi_qos_width-1:0] M_AWQOS; // not connected to AXI VIP
8516  output [(data_bus_width/8)-1:0] M_WSTRB;
8517  input M_ACLK;
8518  input M_ARREADY;
8519  input M_AWREADY;
8520  input M_BVALID;
8521  input M_RLAST;
8522  input M_RVALID;
8523  input M_WREADY;
8524  input [id_bus_width-1:0] M_BID;
8525  input [id_bus_width-1:0] M_RID;
8526  input [axi_rsp_width-1:0] M_BRESP;
8527  input [axi_rsp_width-1:0] M_RRESP;
8528  input [data_bus_width-1:0] M_RDATA;
8529 
8530  wire net_RESETN;
8531  wire net_RVALID;
8532  wire net_BVALID;
8533  reg DEBUG_INFO = 1'b1;
8534  reg STOP_ON_ERROR = 1'b1;
8535 
8536  integer use_id_no = 0;
8537 
8538  assign M_ARQOS = 'b0;
8539  assign M_AWQOS = 'b0;
8540  assign net_RESETN = M_RESETN; //ENABLE_THIS_PORT ? M_RESETN : 1'b0;
8541  assign net_RVALID = enable_this_port ? M_RVALID : 1'b0;
8542  assign net_BVALID = enable_this_port ? M_BVALID : 1'b0;
8543 
8544  initial begin
8545  if(DEBUG_INFO) begin
8546  if(enable_this_port)
8547  $display("[%0d] : %0s : %0s : Port is ENABLED.",$time, DISP_INFO, master_name);
8548  else
8549  $display("[%0d] : %0s : %0s : Port is DISABLED.",$time, DISP_INFO, master_name);
8550  end
8551  end
8552 
8553  initial master.IF.xilinx_slave_ready_check_enable = 0;
8554  initial begin
8555  repeat(2) @(posedge M_ACLK);
8556  if(!enable_this_port) begin
8557 // master.set_channel_level_info(0);
8558 // master.set_function_level_info(0);
8559  end
8560 // master.RESPONSE_TIMEOUT = 0;
8561  end
8562 
8563  axi_mst_agent #(1,address_bus_width, data_bus_width, data_bus_width, id_bus_width,id_bus_width,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1) mst;
8564 
8566  .C_AXI_PROTOCOL(1),
8567  .C_AXI_INTERFACE_MODE(0),
8568  .C_AXI_ADDR_WIDTH(address_bus_width),
8569  .C_AXI_WDATA_WIDTH(data_bus_width),
8570  .C_AXI_RDATA_WIDTH(data_bus_width),
8571  .C_AXI_WID_WIDTH(id_bus_width),
8572  .C_AXI_RID_WIDTH(id_bus_width),
8573  .C_AXI_AWUSER_WIDTH(0),
8574  .C_AXI_ARUSER_WIDTH(0),
8575  .C_AXI_WUSER_WIDTH(0),
8576  .C_AXI_RUSER_WIDTH(0),
8577  .C_AXI_BUSER_WIDTH(0),
8578  .C_AXI_SUPPORTS_NARROW(1),
8579  .C_AXI_HAS_BURST(1),
8580  .C_AXI_HAS_LOCK(1),
8581  .C_AXI_HAS_CACHE(1),
8582  .C_AXI_HAS_REGION(0),
8583  .C_AXI_HAS_PROT(1),
8584  .C_AXI_HAS_QOS(1),
8585  .C_AXI_HAS_WSTRB(1),
8586  .C_AXI_HAS_BRESP(1),
8587  .C_AXI_HAS_RRESP(1),
8588  .C_AXI_HAS_ARESETN(1)
8589  ) master (
8590  .aclk(M_ACLK),
8591  .aclken(1'B1),
8592  .aresetn(net_RESETN),
8593  .s_axi_awid(12'h000),
8594  .s_axi_awaddr(32'B0),
8595  .s_axi_awlen(4'h0),
8596  .s_axi_awsize(3'B0),
8597  .s_axi_awburst(2'B0),
8598  .s_axi_awlock(2'b00),
8599  .s_axi_awcache(4'B0),
8600  .s_axi_awprot(3'B0),
8601  .s_axi_awregion(4'B0),
8602  .s_axi_awqos(4'B0),
8603  .s_axi_awuser(1'B0),
8604  .s_axi_awvalid(1'B0),
8605  .s_axi_awready(),
8606  .s_axi_wid(12'h000),
8607  .s_axi_wdata(32'B0),
8608  .s_axi_wstrb(4'B0),
8609  .s_axi_wlast(1'B0),
8610  .s_axi_wuser(1'B0),
8611  .s_axi_wvalid(1'B0),
8612  .s_axi_wready(),
8613  .s_axi_bid(),
8614  .s_axi_bresp(),
8615  .s_axi_buser(),
8616  .s_axi_bvalid(),
8617  .s_axi_bready(1'B0),
8618  .s_axi_arid(12'h000),
8619  .s_axi_araddr(32'B0),
8620  .s_axi_arlen(4'h0),
8621  .s_axi_arsize(3'B0),
8622  .s_axi_arburst(2'B0),
8623  .s_axi_arlock(2'b00),
8624  .s_axi_arcache(4'B0),
8625  .s_axi_arprot(3'B0),
8626  .s_axi_arregion(4'B0),
8627  .s_axi_arqos(4'B0),
8628  .s_axi_aruser(1'B0),
8629  .s_axi_arvalid(1'B0),
8630  .s_axi_arready(),
8631  .s_axi_rid(),
8632  .s_axi_rdata(),
8633  .s_axi_rresp(),
8634  .s_axi_rlast(),
8635  .s_axi_ruser(),
8636  .s_axi_rvalid(),
8637  .s_axi_rready(1'B0),
8638  .m_axi_awid(M_AWID),
8639  .m_axi_awaddr(M_AWADDR),
8640  .m_axi_awlen(M_AWLEN),
8641  .m_axi_awsize(M_AWSIZE),
8642  .m_axi_awburst(M_AWBURST),
8643  .m_axi_awlock(M_AWLOCK),
8644  .m_axi_awcache(M_AWCACHE),
8645  .m_axi_awprot(M_AWPROT),
8646  .m_axi_awregion(),
8647  .m_axi_awqos(),
8648  .m_axi_awuser(),
8649  .m_axi_awvalid(M_AWVALID),
8650  .m_axi_awready(M_AWREADY),
8651  .m_axi_wid(M_WID),
8652  .m_axi_wdata(M_WDATA),
8653  .m_axi_wstrb(M_WSTRB),
8654  .m_axi_wlast(M_WLAST),
8655  .m_axi_wuser(),
8656  .m_axi_wvalid(M_WVALID),
8657  .m_axi_wready(M_WREADY),
8658  .m_axi_bid(M_BID),
8659  .m_axi_bresp(M_BRESP),
8660  .m_axi_buser(1'B0),
8661  .m_axi_bvalid(M_BVALID),
8662  .m_axi_bready(M_BREADY),
8663  .m_axi_arid(M_ARID),
8664  .m_axi_araddr(M_ARADDR),
8665  .m_axi_arlen(M_ARLEN),
8666  .m_axi_arsize(M_ARSIZE),
8667  .m_axi_arburst(M_ARBURST),
8668  .m_axi_arlock(M_ARLOCK),
8669  .m_axi_arcache(M_ARCACHE),
8670  .m_axi_arprot(M_ARPROT),
8671  .m_axi_arregion(),
8672  .m_axi_arqos(M_ARQOS),
8673  .m_axi_aruser(),
8674  .m_axi_arvalid(M_ARVALID),
8675  .m_axi_arready(M_ARREADY),
8676  .m_axi_rid(M_RID),
8677  .m_axi_rdata(M_RDATA),
8678  .m_axi_rresp(M_RRESP),
8679  .m_axi_rlast(M_RLAST),
8680  .m_axi_ruser(1'B0),
8681  .m_axi_rvalid(M_RVALID),
8682  .m_axi_rready(M_RREADY)
8683  );
8684 
8685  axi_transaction tw, tr;
8686  axi_monitor_transaction tr_m, tw_m;
8687  axi_ready_gen bready_gen;
8688  axi_ready_gen rready_gen;
8689 
8690  initial begin
8691  mst = new("mst",master.IF);
8692  tr_m = new("master monitor trans");
8693  mst.start_master();
8694  end
8695 
8696  initial begin
8697  master.IF.set_enable_xchecks_to_warn();
8698  repeat(10) @(posedge M_ACLK);
8699  master.IF.set_enable_xchecks();
8700  end
8701 
8702 
8703 /* Call to VIP APIs */
8704  task automatic read_burst(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,output [(axi_burst_len*data_bus_width)-1:0] data, output [(axi_rsp_width*axi_burst_len)-1:0] response);
8705  integer i;
8706  xil_axi_burst_t burst_i;
8707  xil_axi_size_t size_i;
8708  xil_axi_data_beat new_data;
8709  xil_axi_lock_t lock_i;
8710  reg[11:0] ID2;
8711  integer datasize;
8712  case (burst)
8713  2'b00: burst_i = XIL_AXI_BURST_TYPE_FIXED;
8714  2'b01: burst_i = XIL_AXI_BURST_TYPE_INCR;
8715  2'b10: burst_i = XIL_AXI_BURST_TYPE_WRAP;
8716  2'b11: burst_i = XIL_AXI_BURST_TYPE_RSVD;
8717  endcase
8718  case (siz)
8719  3'b000: size_i = XIL_AXI_SIZE_1BYTE;
8720  3'b001: size_i = XIL_AXI_SIZE_2BYTE;
8721  3'b010: size_i = XIL_AXI_SIZE_4BYTE;
8722  3'b011: size_i = XIL_AXI_SIZE_8BYTE;
8723  3'b100: size_i = XIL_AXI_SIZE_16BYTE;
8724  3'b101: size_i = XIL_AXI_SIZE_32BYTE;
8725  3'b110: size_i = XIL_AXI_SIZE_64BYTE;
8726  3'b111: size_i = XIL_AXI_SIZE_128BYTE;
8727  endcase
8728  case (lck)
8729  2'b00: lock_i = XIL_AXI_ALOCK_NOLOCK;
8730  2'b01: lock_i = XIL_AXI_ALOCK_EXCL;
8731  2'b10: lock_i = XIL_AXI_ALOCK_LOCKED;
8732  2'b11: lock_i = XIL_AXI_ALOCK_RSVD;
8733  endcase
8734  if(enable_this_port)begin
8735  fork
8736  begin
8737  rready_gen = mst.rd_driver.create_ready("rready");
8738  rready_gen.set_ready_policy(XIL_AXI_READY_GEN_OSC);
8739  // rready_gen.set_high_time(len+1);
8740  mst.rd_driver.send_rready(rready_gen);
8741  end
8742  begin
8743  tr = mst.rd_driver.create_transaction("write_tran");
8744  mst.rd_driver.set_transaction_depth(max_outstanding_transactions);
8745  assert(tr.randomize());
8746  ID2= $urandom();
8747  if(DEBUG_INFO)
8748  $display($time,"ID2 in read strb task is %0h",ID2);
8749  tr.set_read_cmd(addr,burst_i,ID2,len,size_i);
8750  tr.set_cache(cache);
8751  tr.set_lock(lock_i);
8752  tr.set_prot(prot);
8753  mst.rd_driver.send(tr);
8754  end
8755  join
8756  mst.monitor.item_collected_port.get(tr_m);
8757  datasize = 0;
8758  for(i = 0; i < (len+1); i = i+1) begin
8759  new_data = tr_m.get_data_beat(i);
8760  //$display("axi_master new_data %0h i value %0d",new_data , i );
8761  for(int k = 0; k < (2**siz); k = k+1) begin
8762  data[(datasize*8)+:8] = new_data[(k*8)+:8];
8763  //$display("axi_master data %0h new_data %0h k value %0d datasize %0d ",data[(datasize*8)+:8],new_data[(k*8)+:8], k ,datasize );
8764  datasize = datasize+1;
8765  end
8766  response = response << 2;
8767  response[1:0] = tr_m.rresp[i];
8768  end
8769  end else begin
8770  $display("[%0d] : %0s : %0s : Port is disabled. 'read_burst' will not be executed...",$time, DISP_ERR, master_name);
8771  if(STOP_ON_ERROR) $stop;
8772  end
8773  //$display("axi_master data %0h response %0h ",data, response );
8774  endtask
8775 
8776 // task automatic read_burst(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,output [(axi_mgp_data_width*axi_burst_len)-1:0] data, output [(axi_rsp_width*axi_burst_len)-1:0] response);
8777 // integer i;
8778 // xil_axi_burst_t burst_i;
8779 // xil_axi_size_t size_i;
8780 // xil_axi_data_beat new_data;
8781 // xil_axi_lock_t lock_i;
8782 // integer datasize;
8783 // case (burst)
8784 // 2'b00: burst_i = XIL_AXI_BURST_TYPE_FIXED;
8785 // 2'b01: burst_i = XIL_AXI_BURST_TYPE_INCR;
8786 // 2'b10: burst_i = XIL_AXI_BURST_TYPE_WRAP;
8787 // 2'b11: burst_i = XIL_AXI_BURST_TYPE_RSVD;
8788 // endcase
8789 // case (siz)
8790 // 3'b000: size_i = XIL_AXI_SIZE_1BYTE;
8791 // 3'b001: size_i = XIL_AXI_SIZE_2BYTE;
8792 // 3'b010: size_i = XIL_AXI_SIZE_4BYTE;
8793 // 3'b011: size_i = XIL_AXI_SIZE_8BYTE;
8794 // 3'b100: size_i = XIL_AXI_SIZE_16BYTE;
8795 // 3'b101: size_i = XIL_AXI_SIZE_32BYTE;
8796 // 3'b110: size_i = XIL_AXI_SIZE_64BYTE;
8797 // 3'b111: size_i = XIL_AXI_SIZE_128BYTE;
8798 // endcase
8799 // case (lck)
8800 // 2'b00: lock_i = XIL_AXI_ALOCK_NOLOCK;
8801 // 2'b01: lock_i = XIL_AXI_ALOCK_EXCL;
8802 // 2'b10: lock_i = XIL_AXI_ALOCK_LOCKED;
8803 // 2'b11: lock_i = XIL_AXI_ALOCK_RSVD;
8804 // endcase
8805 // if(enable_this_port)begin
8806 // fork
8807 // begin
8808 // rready_gen = mst.rd_driver.create_ready("rready");
8809 // rready_gen.set_ready_policy(XIL_AXI_READY_GEN_OSC);
8810 // rready_gen.set_high_time(len+1);
8811 // mst.rd_driver.send_rready(rready_gen);
8812 // end
8813 // begin
8814 // tr = mst.rd_driver.create_transaction("write_tran");
8815 // mst.rd_driver.set_transaction_depth(max_outstanding_transactions);
8816 // assert(tr.randomize());
8817 // tr.set_read_cmd(addr,burst_i,ID,len,size_i);
8818 // tr.set_cache(cache);
8819 // tr.set_lock(lock_i);
8820 // tr.set_prot(prot);
8821 // mst.rd_driver.send(tr);
8822 // end
8823 // join
8824 // mst.monitor.item_collected_port.get(tr_m);
8825 // datasize = 0;
8826 // for(i = 0; i < (len+1); i = i+1) begin
8827 // new_data = tr_m.get_data_beat(i);
8828 // for(int k = 0; k < (2**siz); k = k+1) begin
8829 // data[(datasize*8)+:8] = new_data[(k*8)+:8];
8830 // datasize = datasize+1;
8831 // end
8832 // response = response << 2;
8833 // response[1:0] = tr_m.rresp[i];
8834 // end
8835 // end else begin
8836 // $display("[%0d] : %0s : %0s : Port is disabled. 'read_burst' will not be executed...",$time, DISP_ERR, master_name);
8837 // if(STOP_ON_ERROR) $stop;
8838 // end
8839 // endtask
8840  task automatic write_burst(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,input [(axi_burst_len*data_bus_width)-1:0] data,input integer datasize, output [axi_rsp_width-1:0] response);
8841  integer i,j;
8842  xil_axi_burst_t burst_i;
8843  xil_axi_size_t size_i;
8844  xil_axi_lock_t lock_i;
8845  xil_axi_data_beat new_data;
8846  xil_axi_strb_beat new_strb;
8847 
8848  case (burst)
8849  2'b00: burst_i = XIL_AXI_BURST_TYPE_FIXED;
8850  2'b01: burst_i = XIL_AXI_BURST_TYPE_INCR;
8851  2'b10: burst_i = XIL_AXI_BURST_TYPE_WRAP;
8852  2'b11: burst_i = XIL_AXI_BURST_TYPE_RSVD;
8853  endcase
8854  case (siz)
8855  3'b000: size_i = XIL_AXI_SIZE_1BYTE;
8856  3'b001: size_i = XIL_AXI_SIZE_2BYTE;
8857  3'b010: size_i = XIL_AXI_SIZE_4BYTE;
8858  3'b011: size_i = XIL_AXI_SIZE_8BYTE;
8859  3'b100: size_i = XIL_AXI_SIZE_16BYTE;
8860  3'b101: size_i = XIL_AXI_SIZE_32BYTE;
8861  3'b110: size_i = XIL_AXI_SIZE_64BYTE;
8862  3'b111: size_i = XIL_AXI_SIZE_128BYTE;
8863  endcase
8864  case (lck)
8865  2'b00: lock_i = XIL_AXI_ALOCK_NOLOCK;
8866  2'b01: lock_i = XIL_AXI_ALOCK_EXCL;
8867  2'b10: lock_i = XIL_AXI_ALOCK_LOCKED;
8868  2'b11: lock_i = XIL_AXI_ALOCK_RSVD;
8869  endcase
8870  if(enable_this_port)begin
8871  fork
8872  begin
8873  bready_gen = mst.wr_driver.create_ready("bready");
8874  bready_gen.set_ready_policy(XIL_AXI_READY_GEN_OSC);
8875  // bready_gen.set_high_time(1);
8876  mst.wr_driver.send_bready(bready_gen);
8877  end
8878  begin
8879  tw = mst.wr_driver.create_transaction("write_tran");
8880  mst.wr_driver.set_transaction_depth(max_outstanding_transactions);
8881  assert(tw.randomize());
8882  tw.set_write_cmd(addr,burst_i,ID,len,size_i);
8883  tw.set_cache(cache);
8884  tw.set_lock(lock_i);
8885  tw.set_prot(prot);
8886  for(i = 0; i < (len+1); i = i+1) begin
8887  for(j = 0; j < (2**siz); j = j+1) begin
8888  new_data[j*8+:8] = data[7:0];
8889  new_strb[j*1+:1] = 1'b1;
8890  data = data >> 8;
8891  // $display(" addr %0h i %0d J %0d data %0h new_strb %0d axi_mgp_data_width %0d",addr,i,j,data,new_strb[j*1+:1],axi_mgp_data_width);
8892  end
8893  tw.set_data_beat(i, new_data);
8894  tw.set_strb_beat(i, new_strb);
8895  // $display(" addr %0h i %0d J %0d new_data %0h new_strb %0d ",addr,i,j,new_data,new_strb);
8896  end
8897  mst.wr_driver.send(tw);
8898  end
8899  join
8900  mst.monitor.item_collected_port.get(tw_m);
8901  response = tw_m.bresp;
8902  end else begin
8903  // $display("[%0d] : %0s : %0s : Port is disabled. 'write_burst' will not be executed...",$time, DISP_ERR, master_name);
8904  if(STOP_ON_ERROR) $stop;
8905  end
8906  endtask
8907 
8908 // task automatic write_burst(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,input [(axi_mgp_data_width*axi_burst_len)-1:0] data,input integer datasize, output [axi_rsp_width-1:0] response);
8909 // integer i,j;
8910 // xil_axi_burst_t burst_i;
8911 // xil_axi_size_t size_i;
8912 // xil_axi_lock_t lock_i;
8913 // xil_axi_data_beat new_data;
8914 // xil_axi_strb_beat new_strb;
8915 //
8916 // case (burst)
8917 // 2'b00: burst_i = XIL_AXI_BURST_TYPE_FIXED;
8918 // 2'b01: burst_i = XIL_AXI_BURST_TYPE_INCR;
8919 // 2'b10: burst_i = XIL_AXI_BURST_TYPE_WRAP;
8920 // 2'b11: burst_i = XIL_AXI_BURST_TYPE_RSVD;
8921 // endcase
8922 // case (siz)
8923 // 3'b000: size_i = XIL_AXI_SIZE_1BYTE;
8924 // 3'b001: size_i = XIL_AXI_SIZE_2BYTE;
8925 // 3'b010: size_i = XIL_AXI_SIZE_4BYTE;
8926 // 3'b011: size_i = XIL_AXI_SIZE_8BYTE;
8927 // 3'b100: size_i = XIL_AXI_SIZE_16BYTE;
8928 // 3'b101: size_i = XIL_AXI_SIZE_32BYTE;
8929 // 3'b110: size_i = XIL_AXI_SIZE_64BYTE;
8930 // 3'b111: size_i = XIL_AXI_SIZE_128BYTE;
8931 // endcase
8932 // case (lck)
8933 // 2'b00: lock_i = XIL_AXI_ALOCK_NOLOCK;
8934 // 2'b01: lock_i = XIL_AXI_ALOCK_EXCL;
8935 // 2'b10: lock_i = XIL_AXI_ALOCK_LOCKED;
8936 // 2'b11: lock_i = XIL_AXI_ALOCK_RSVD;
8937 // endcase
8938 // if(enable_this_port)begin
8939 // fork
8940 // begin
8941 // bready_gen = mst.wr_driver.create_ready("bready");
8942 // bready_gen.set_ready_policy(XIL_AXI_READY_GEN_OSC);
8943 // bready_gen.set_high_time(1);
8944 // mst.wr_driver.send_bready(bready_gen);
8945 // end
8946 // begin
8947 // tw = mst.wr_driver.create_transaction("write_tran");
8948 // mst.wr_driver.set_transaction_depth(max_outstanding_transactions);
8949 // assert(tw.randomize());
8950 // tw.set_write_cmd(addr,burst_i,ID,len,size_i);
8951 // tw.set_cache(cache);
8952 // tw.set_lock(lock_i);
8953 // tw.set_prot(prot);
8954 // for(i = 0; i < (len+1); i = i+1) begin
8955 // for(j = 0; j < (2**siz); j = j+1) begin
8956 // new_data[j*8+:8] = data[7:0];
8957 // new_strb[j*1+:1] = 1'b1;
8958 // data = data >> 8;
8959 // end
8960 // tw.set_data_beat(i, new_data);
8961 // tw.set_strb_beat(i, new_strb);
8962 // end
8963 // mst.wr_driver.send(tw);
8964 // end
8965 // join
8966 // mst.monitor.item_collected_port.get(tw_m);
8967 // response = tw_m.bresp;
8968 // end else begin
8969 // $display("[%0d] : %0s : %0s : Port is disabled. 'write_burst' will not be executed...",$time, DISP_ERR, master_name);
8970 // if(STOP_ON_ERROR) $stop;
8971 // end
8972 // endtask
8973  task automatic write_burst_strb(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,input [((axi_burst_len*data_bus_width))-1:0] data,input strb_en,input [((axi_burst_len*data_bus_width)/8)-1:0] strb,input integer datasize, output [axi_rsp_width-1:0] response);
8974  integer i,j;
8975  xil_axi_burst_t burst_i;
8976  xil_axi_size_t size_i;
8977  xil_axi_lock_t lock_i;
8978  xil_axi_data_beat new_data;
8979  xil_axi_strb_beat new_strb;
8980  reg[11:0] ID1;
8981 
8982  // $display(" write_burst_strb addr %0h trnsfr_lngth %0d siz %0d burst %0d wr_data %0h strb %0h",addr,len,siz,burst,data,strb);
8983  case (burst)
8984  2'b00: burst_i = XIL_AXI_BURST_TYPE_FIXED;
8985  2'b01: burst_i = XIL_AXI_BURST_TYPE_INCR;
8986  2'b10: burst_i = XIL_AXI_BURST_TYPE_WRAP;
8987  2'b11: burst_i = XIL_AXI_BURST_TYPE_RSVD;
8988  endcase
8989  case (siz)
8990  3'b000: size_i = XIL_AXI_SIZE_1BYTE;
8991  3'b001: size_i = XIL_AXI_SIZE_2BYTE;
8992  3'b010: size_i = XIL_AXI_SIZE_4BYTE;
8993  3'b011: size_i = XIL_AXI_SIZE_8BYTE;
8994  3'b100: size_i = XIL_AXI_SIZE_16BYTE;
8995  3'b101: size_i = XIL_AXI_SIZE_32BYTE;
8996  3'b110: size_i = XIL_AXI_SIZE_64BYTE;
8997  3'b111: size_i = XIL_AXI_SIZE_128BYTE;
8998  endcase
8999  case (lck)
9000  2'b00: lock_i = XIL_AXI_ALOCK_NOLOCK;
9001  2'b01: lock_i = XIL_AXI_ALOCK_EXCL;
9002  2'b10: lock_i = XIL_AXI_ALOCK_LOCKED;
9003  2'b11: lock_i = XIL_AXI_ALOCK_RSVD;
9004  endcase
9005  if(enable_this_port)begin
9006  fork
9007  begin
9008  bready_gen = mst.wr_driver.create_ready("bready");
9009  bready_gen.set_ready_policy(XIL_AXI_READY_GEN_OSC);
9010  // bready_gen.set_high_time(1);
9011  mst.wr_driver.send_bready(bready_gen);
9012  end
9013  begin
9014  tw = mst.wr_driver.create_transaction("write_tran");
9015  mst.wr_driver.set_transaction_depth(max_outstanding_transactions);
9016  assert(tw.randomize());
9017  ID1= $urandom();
9018  if(DEBUG_INFO)
9019  $display($time,"ID1 in strb task is %0h",ID1);
9020  tw.set_write_cmd(addr,burst_i,ID1,len,size_i);
9021  tw.set_cache(cache);
9022  tw.set_lock(lock_i);
9023  tw.set_prot(prot);
9024  if(strb_en == 0) begin
9025  for(i = 0; i < (len+1); i = i+1) begin
9026  for(j = 0; j < (2**siz); j = j+1) begin
9027  new_data[j*8+:8] = data[7:0];
9028  new_strb[j*1+:1] = 1'b1;
9029  data = data >> 8;
9030  end
9031  tw.set_data_beat(i, new_data);
9032  tw.set_strb_beat(i, new_strb);
9033  end
9034  end
9035  else begin
9036  for(i = 0; i < (len+1); i = i+1) begin
9037  for(j = 0; j < (2**siz); j = j+1) begin
9038  new_data[j*8+:8] = data[7:0];
9039  new_strb[j*1+:1] = strb[0];
9040  data = data >> 8;
9041  strb = strb >> 1;
9042  end
9043  tw.set_data_beat(i, new_data);
9044  tw.set_strb_beat(i, new_strb);
9045  // $display(" write_burst_strb new_data %0h new_strb %0h ",new_data,new_strb);
9046  end
9047  end
9048  mst.wr_driver.send(tw);
9049  end
9050  join
9051  mst.monitor.item_collected_port.get(tw_m);
9052  response = tw_m.bresp;
9053  end else begin
9054  $display("[%0d] : %0s : %0s : Port is disabled. 'write_burst_strb' will not be executed...",$time, DISP_ERR, master_name);
9055  if(STOP_ON_ERROR) $stop;
9056  end
9057  endtask
9058 
9059  task automatic write_burst_concurrent(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,input [(axi_burst_len*data_bus_width)-1:0] data,input integer datasize, output [axi_rsp_width-1:0] response);
9060  integer i;
9061  if(enable_this_port)begin
9062  write_burst(addr,len,siz,burst,lck,cache,prot,data,datasize,response);
9063  end else begin
9064  $display("[%0d] : %0s : %0s : Port is disabled. 'write_burst_concurrent' will not be executed...",$time, DISP_ERR, master_name);
9065  if(STOP_ON_ERROR) $stop;
9066  end
9067  endtask
9068 
9069 // task automatic write_burst_concurrent(input [address_bus_width-1:0] addr,input [axi_len_width-1:0] len,input [axi_size_width-1:0] siz,input [axi_brst_type_width-1:0] burst,input [axi_lock_width-1:0] lck,input [axi_cache_width-1:0] cache,input [axi_prot_width-1:0] prot,input [(axi_mgp_data_width*axi_burst_len)-1:0] data,input integer datasize, output [axi_rsp_width-1:0] response);
9070 // integer i;
9071 // if(enable_this_port)begin
9072 // write_burst(addr,len,siz,burst,lck,cache,prot,data,datasize,response);
9073 // end else begin
9074 // $display("[%0d] : %0s : %0s : Port is disabled. 'write_burst_concurrent' will not be executed...",$time, DISP_ERR, master_name);
9075 // if(STOP_ON_ERROR) $stop;
9076 // end
9077 // endtask
9078 
9079  /* Write data from file */
9080  task automatic write_from_file;
9081  input [(max_chars*8)-1:0] file_name;
9082  input [addr_width-1:0] start_addr;
9083  input [int_width-1:0] wr_size;
9084  output [axi_rsp_width-1:0] response;
9085  reg [axi_rsp_width-1:0] wresp,rwrsp;
9086  reg [addr_width-1:0] addr;
9087  reg [(axi_burst_len*data_bus_width)-1 : 0] wr_data;
9088  integer bytes;
9089  integer trnsfr_bytes;
9090  integer wr_fd;
9091  integer succ;
9092  integer trnsfr_lngth;
9093  reg concurrent;
9094  integer i;
9095  int siz_in_bytes;
9096 
9097  reg [id_bus_width-1:0] wr_id;
9098  reg [axi_size_width-1:0] siz;
9099  reg [axi_brst_type_width-1:0] burst;
9100  reg [axi_lock_width-1:0] lck;
9101  reg [axi_cache_width-1:0] cache;
9102  reg [axi_prot_width-1:0] prot;
9103  begin
9104  if(!enable_this_port) begin
9105  $display("[%0d] : %0s : %0s : Port is disabled. 'write_from_file' will not be executed...",$time, DISP_ERR, master_name);
9106  if(STOP_ON_ERROR) $stop;
9107  end else begin
9108  siz = 2;
9109  burst = 1;
9110  lck = 0;
9111  cache = 0;
9112  prot = 0;
9113 
9114  addr = start_addr;
9115  bytes = wr_size;
9116  wresp = 0;
9117  concurrent = $random;
9118  if(bytes > (axi_burst_len * data_bus_width/8)) begin
9119  trnsfr_bytes = (axi_burst_len * data_bus_width/8);
9120  trnsfr_lngth = axi_burst_len-1;
9121  siz_in_bytes = (data_bus_width/8);
9122  end else begin
9123  trnsfr_bytes = bytes;
9124  end
9125 
9126  if(bytes > (axi_burst_len * data_bus_width/8)) begin
9127  trnsfr_lngth = axi_burst_len-1;
9128  end else if(bytes%(data_bus_width/8) == 0) begin
9129  trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9130  siz_in_bytes = (data_bus_width/8);
9131  end else begin
9132  trnsfr_lngth = bytes/(data_bus_width/8);
9133  siz_in_bytes = (data_bus_width/8);
9134  end
9135 
9136  wr_id = ID;
9137  wr_fd = $fopen(file_name,"r");
9138 
9139  while (bytes > 0) begin
9140  case(siz_in_bytes)
9141  1 : siz = 0;
9142  2 : siz = 1;
9143  4 : siz = 2;
9144  8 : siz = 3;
9145  16 : siz = 4;
9146  32 : siz = 5;
9147  64 : siz = 6;
9148  128 : siz = 7;
9149  endcase
9150 
9151  repeat(axi_burst_len) begin /// get the data for 1 AXI burst transaction
9152  wr_data = wr_data >> data_bus_width;
9153  succ = $fscanf(wr_fd,"%h",wr_data[(axi_burst_len*data_bus_width)-1 :(axi_burst_len*data_bus_width)-data_bus_width ]); /// write as 4 bytes (data_bus_width) ..
9154  end
9155  write_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, wr_data, trnsfr_bytes, rwrsp);
9156  bytes = bytes - trnsfr_bytes;
9157  addr = addr + trnsfr_bytes;
9158  if(bytes >= (axi_burst_len * data_bus_width/8) )
9159  trnsfr_bytes = (axi_burst_len * data_bus_width/8); //
9160  else
9161  trnsfr_bytes = bytes;
9162 
9163  if(bytes > (axi_burst_len * data_bus_width/8))
9164  trnsfr_lngth = axi_burst_len-1;
9165  else if(bytes%(data_bus_width/8) == 0)
9166  trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9167  else
9168  trnsfr_lngth = bytes/(data_bus_width/8);
9169 
9170  wresp = wresp | rwrsp;
9171  end /// while
9172  response = wresp;
9173  end
9174  end
9175  endtask
9176 
9177 // /* Write data from file */
9178 // task automatic write_from_file;
9179 // input [(max_chars*8)-1:0] file_name;
9180 // input [addr_width-1:0] start_addr;
9181 // input [int_width-1:0] wr_size;
9182 // output [axi_rsp_width-1:0] response;
9183 // reg [axi_rsp_width-1:0] wresp,rwrsp;
9184 // reg [addr_width-1:0] addr;
9185 // reg [(axi_burst_len*data_bus_width)-1 : 0] wr_data;
9186 // integer bytes;
9187 // integer trnsfr_bytes;
9188 // integer wr_fd;
9189 // integer succ;
9190 // integer trnsfr_lngth;
9191 // reg concurrent;
9192 // integer i;
9193 //
9194 // reg [id_bus_width-1:0] wr_id;
9195 // reg [axi_size_width-1:0] siz;
9196 // reg [axi_brst_type_width-1:0] burst;
9197 // reg [axi_lock_width-1:0] lck;
9198 // reg [axi_cache_width-1:0] cache;
9199 // reg [axi_prot_width-1:0] prot;
9200 // begin
9201 // if(!enable_this_port) begin
9202 // $display("[%0d] : %0s : %0s : Port is disabled. 'write_from_file' will not be executed...",$time, DISP_ERR, master_name);
9203 // if(STOP_ON_ERROR) $stop;
9204 // end else begin
9205 // siz = 2;
9206 // burst = 1;
9207 // lck = 0;
9208 // cache = 0;
9209 // prot = 0;
9210 //
9211 // addr = start_addr;
9212 // bytes = wr_size;
9213 // wresp = 0;
9214 // concurrent = $random;
9215 // if(bytes > (axi_burst_len * data_bus_width/8))
9216 // trnsfr_bytes = (axi_burst_len * data_bus_width/8);
9217 // else
9218 // trnsfr_bytes = bytes;
9219 //
9220 // if(bytes > (axi_burst_len * data_bus_width/8))
9221 // trnsfr_lngth = axi_burst_len-1;
9222 // else if(bytes%(data_bus_width/8) == 0)
9223 // trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9224 // else
9225 // trnsfr_lngth = bytes/(data_bus_width/8);
9226 //
9227 // wr_id = ID;
9228 // wr_fd = $fopen(file_name,"r");
9229 //
9230 // while (bytes > 0) begin
9231 // repeat(axi_burst_len) begin /// get the data for 1 AXI burst transaction
9232 // wr_data = wr_data >> data_bus_width;
9233 // succ = $fscanf(wr_fd,"%h",wr_data[(axi_burst_len*data_bus_width)-1 :(axi_burst_len*data_bus_width)-data_bus_width ]); /// write as 4 bytes (data_bus_width) ..
9234 // end
9235 // write_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, wr_data, trnsfr_bytes, rwrsp);
9236 // bytes = bytes - trnsfr_bytes;
9237 // addr = addr + trnsfr_bytes;
9238 // if(bytes >= (axi_burst_len * data_bus_width/8) )
9239 // trnsfr_bytes = (axi_burst_len * data_bus_width/8); //
9240 // else
9241 // trnsfr_bytes = bytes;
9242 //
9243 // if(bytes > (axi_burst_len * data_bus_width/8))
9244 // trnsfr_lngth = axi_burst_len-1;
9245 // else if(bytes%(data_bus_width/8) == 0)
9246 // trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9247 // else
9248 // trnsfr_lngth = bytes/(data_bus_width/8);
9249 //
9250 // wresp = wresp | rwrsp;
9251 // end /// while
9252 // response = wresp;
9253 // end
9254 // end
9255 // endtask
9256 
9257 /* Read data to file */
9258  task automatic read_to_file;
9259  input [(max_chars*8)-1:0] file_name;
9260  input [addr_width-1:0] start_addr;
9261  input [int_width-1:0] rd_size;
9262  output [axi_rsp_width-1:0] response;
9263  reg [axi_rsp_width-1:0] rresp, rrrsp;
9264  reg [addr_width-1:0] addr;
9265  integer bytes;
9266  integer trnsfr_lngth;
9267  reg [(axi_burst_len*data_bus_width)-1 :0] rd_data;
9268  integer rd_fd;
9269  reg [id_bus_width-1:0] rd_id;
9270 
9271  reg [axi_size_width-1:0] siz;
9272  int siz_in_bytes;
9273  reg [axi_brst_type_width-1:0] burst;
9274  reg [axi_lock_width-1:0] lck;
9275  reg [axi_cache_width-1:0] cache;
9276  reg [axi_prot_width-1:0] prot;
9277  begin
9278  if(!enable_this_port) begin
9279  $display("[%0d] : %0s : %0s : Port is disabled. 'read_to_file' will not be executed...",$time, DISP_ERR, master_name);
9280  if(STOP_ON_ERROR) $stop;
9281  end else begin
9282  siz = 2;
9283  burst = 1;
9284  lck = 0;
9285  cache = 0;
9286  prot = 0;
9287 
9288  addr = start_addr;
9289  rresp = 0;
9290  bytes = rd_size;
9291 
9292  rd_id = ID;
9293 
9294  if(bytes > (axi_burst_len * data_bus_width/8)) begin
9295  trnsfr_lngth = axi_burst_len-1;
9296  siz_in_bytes = (data_bus_width/8);
9297  end
9298  else if(bytes%(data_bus_width/8) == 0) begin
9299  trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9300  siz_in_bytes = (data_bus_width/8);
9301  end
9302  else begin
9303  trnsfr_lngth = bytes/(data_bus_width/8);
9304  siz_in_bytes = (data_bus_width/8);
9305  end
9306 
9307  rd_fd = $fopen(file_name,"w");
9308 
9309  while (bytes > 0) begin
9310  case(siz_in_bytes)
9311  1 : siz = 0;
9312  2 : siz = 1;
9313  4 : siz = 2;
9314  8 : siz = 3;
9315  16 : siz = 4;
9316  32 : siz = 5;
9317  64 : siz = 6;
9318  128 : siz = 7;
9319  endcase
9320  read_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, rd_data, rrrsp);
9321  repeat(trnsfr_lngth+1) begin
9322  $fdisplayh(rd_fd,rd_data[data_bus_width-1:0]);
9323  rd_data = rd_data >> data_bus_width;
9324  end
9325 
9326  addr = addr + (trnsfr_lngth+1)*4;
9327 
9328  if(bytes >= (axi_burst_len * data_bus_width/8) )
9329  bytes = bytes - (axi_burst_len * data_bus_width/8); //
9330  else
9331  bytes = 0;
9332 
9333  if(bytes > (axi_burst_len * data_bus_width/8))
9334  trnsfr_lngth = axi_burst_len-1;
9335  else if(bytes%(data_bus_width/8) == 0)
9336  trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9337  else
9338  trnsfr_lngth = bytes/(data_bus_width/8);
9339 
9340  rresp = rresp | rrrsp;
9341  end /// while
9342  response = rresp;
9343  end
9344  end
9345  endtask
9346 
9347 // task automatic read_to_file;
9348 // input [(max_chars*8)-1:0] file_name;
9349 // input [addr_width-1:0] start_addr;
9350 // input [int_width-1:0] rd_size;
9351 // output [axi_rsp_width-1:0] response;
9352 // reg [axi_rsp_width-1:0] rresp, rrrsp;
9353 // reg [addr_width-1:0] addr;
9354 // integer bytes;
9355 // integer trnsfr_lngth;
9356 // reg [(axi_burst_len*data_bus_width)-1 :0] rd_data;
9357 // integer rd_fd;
9358 // reg [id_bus_width-1:0] rd_id;
9359 //
9360 // reg [axi_size_width-1:0] siz;
9361 // reg [axi_brst_type_width-1:0] burst;
9362 // reg [axi_lock_width-1:0] lck;
9363 // reg [axi_cache_width-1:0] cache;
9364 // reg [axi_prot_width-1:0] prot;
9365 // begin
9366 // if(!enable_this_port) begin
9367 // $display("[%0d] : %0s : %0s : Port is disabled. 'read_to_file' will not be executed...",$time, DISP_ERR, master_name);
9368 // if(STOP_ON_ERROR) $stop;
9369 // end else begin
9370 // siz = 2;
9371 // burst = 1;
9372 // lck = 0;
9373 // cache = 0;
9374 // prot = 0;
9375 //
9376 // addr = start_addr;
9377 // rresp = 0;
9378 // bytes = rd_size;
9379 //
9380 // rd_id = ID;
9381 //
9382 // if(bytes > (axi_burst_len * data_bus_width/8))
9383 // trnsfr_lngth = axi_burst_len-1;
9384 // else if(bytes%(data_bus_width/8) == 0)
9385 // trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9386 // else
9387 // trnsfr_lngth = bytes/(data_bus_width/8);
9388 //
9389 // rd_fd = $fopen(file_name,"w");
9390 //
9391 // while (bytes > 0) begin
9392 // read_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, rd_data, rrrsp);
9393 // repeat(trnsfr_lngth+1) begin
9394 // $fdisplayh(rd_fd,rd_data[data_bus_width-1:0]);
9395 // rd_data = rd_data >> data_bus_width;
9396 // end
9397 //
9398 // addr = addr + (trnsfr_lngth+1)*4;
9399 //
9400 // if(bytes >= (axi_burst_len * data_bus_width/8) )
9401 // bytes = bytes - (axi_burst_len * data_bus_width/8); //
9402 // else
9403 // bytes = 0;
9404 //
9405 // if(bytes > (axi_burst_len * data_bus_width/8))
9406 // trnsfr_lngth = axi_burst_len-1;
9407 // else if(bytes%(data_bus_width/8) == 0)
9408 // trnsfr_lngth = bytes/(data_bus_width/8) - 1;
9409 // else
9410 // trnsfr_lngth = bytes/(data_bus_width/8);
9411 //
9412 // rresp = rresp | rrrsp;
9413 // end /// while
9414 // response = rresp;
9415 // end
9416 // end
9417 // endtask
9418 
9419 /* Write data (used for transfer size <= 128 Bytes */
9420  task automatic write_data;
9421  input [addr_width-1:0] start_addr;
9422  input [max_transfer_bytes_width:0] wr_size;
9423  input [((axi_burst_len*data_bus_width))-1:0] w_data;
9424  output [axi_rsp_width-1:0] response;
9425  reg [axi_rsp_width-1:0] wresp,rwrsp;
9426  reg [addr_width-1:0] addr;
9427  reg [addr_width-1:0] mask_addr;
9428  reg [7:0] bytes,tmp_bytes;
9429  reg[127:0] strb;
9430  // reg [max_transfer_bytes_width*8:0] wr_strb;
9431  reg [((axi_burst_len*data_bus_width)/8):0] wr_strb;
9432  integer trnsfr_bytes,strb_cnt;
9433  reg [((axi_burst_len*data_bus_width))-1:0] wr_data;
9434  integer trnsfr_lngth;
9435  reg concurrent;
9436 
9437  reg [id_bus_width-1:0] wr_id;
9438  reg [axi_size_width-1:0] siz;
9439  int siz_in_bytes,j;
9440  reg [axi_brst_type_width-1:0] burst;
9441  reg [axi_lock_width-1:0] lck;
9442  reg [axi_cache_width-1:0] cache;
9443  reg [axi_prot_width-1:0] prot;
9444  reg[11:0] ID_tmp;
9445 
9446 
9447  integer pad_bytes;
9448  begin
9449  if(!enable_this_port) begin
9450  $display("[%0d] : %0s : %0s : Port is disabled. 'write_data' will not be executed...",$time, DISP_ERR, master_name);
9451  //==if(STOP_ON_ERROR) $stop;
9452  if(STOP_ON_ERROR) $finish;
9453  end else begin
9454  addr = start_addr;
9455  bytes = wr_size;
9456  wresp = 0;
9457  wr_data = w_data;
9458  concurrent = $random;
9459  siz = 2;
9460  burst = 1;
9461  lck = 0;
9462  cache = 0;
9463  prot = 0;
9464  wr_strb = 0;
9465  pad_bytes = start_addr[clogb2(data_bus_width/8)-1:0];
9466  ID_tmp = $urandom();
9467  //== wr_id = ID;
9468  wr_id = ID_tmp;
9469  if(DEBUG_INFO)
9470  $display("wr_id called with wr_size %0h ",wr_id);
9471  // $display("outside pad_bytes %0d ",pad_bytes);
9472  if(bytes+pad_bytes > (data_bus_width/8*axi_burst_len)) begin /// for unaligned address
9473  trnsfr_bytes = (data_bus_width*axi_burst_len)/8 - pad_bytes;//start_addr[1:0];
9474  trnsfr_lngth = axi_burst_len-1;
9475  siz_in_bytes = (data_bus_width/8);
9476  // $display("0 pad_bytes %0d ",pad_bytes);
9477  end else begin
9478  trnsfr_bytes = bytes;
9479  tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9480  if(tmp_bytes%(data_bus_width/8) == 0) begin
9481  trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9482  siz_in_bytes = (data_bus_width/8);
9483  // $display("1 pad_bytes %0d ",pad_bytes);
9484  end else begin
9485  trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9486  siz_in_bytes = (data_bus_width/8);
9487  // $display("2 pad_bytes %0d ",pad_bytes);
9488  end
9489  end
9490 
9491  if(bytes > siz_in_bytes) begin
9492  strb_cnt = ((bytes/siz_in_bytes)*siz_in_bytes) + (bytes%siz_in_bytes);
9493  // $display("strb_cnt %0d (bytes/siz_in_bytes) %0d (bytes) %0d",strb_cnt,bytes/siz_in_bytes,bytes%siz_in_bytes);
9494  end begin
9495  strb_cnt = bytes ;
9496  // $display("strb_cnt %0d max_transfer_bytes_width %0d",strb_cnt,max_transfer_bytes_width);
9497  end
9498 
9499  while (bytes > 0) begin
9500  case(siz_in_bytes)
9501  1 : siz = 0;
9502  2 : siz = 1;
9503  4 : siz = 2;
9504  8 : siz = 3;
9505  16 : siz = 4;
9506  32 : siz = 5;
9507  64 : siz = 6;
9508  128 : siz = 7;
9509  endcase
9510  // $display("bytes %0d",bytes);
9511  // $display("addr %0h trnsfr_lngth %0d siz %0d burst %0d wr_data %0h trnsfr_bytes %0d siz_in_bytes %0d ",addr,trnsfr_lngth,siz,burst,wr_data,trnsfr_bytes,siz_in_bytes);
9512  mask_addr = addr[27:0] & (~(1 << siz));
9513  // $display("mask_addr %0h addr %0h (~(1 << siz)) %0h ((1 << siz)) %0h size %0d ",mask_addr,addr,(~(1 << siz)), ((1 << siz)),siz);
9514  if(pad_bytes != 0) begin
9515  wr_data = (wr_data << (mask_addr[3:0]*8) );
9516  // $display(" pading bytes wr_data %0h ",wr_data);
9517  end else begin
9518  wr_data = wr_data;
9519  // $display(" non pading bytes wr_data %0h ",wr_data);
9520  end
9521 
9522  // $display("wr_data %0h",wr_data);
9523  for(j=0;j<strb_cnt;j=j+1) begin
9524  wr_strb = {wr_strb, 1'b1};
9525  // $display("wr_strb %0h",wr_strb);
9526  end
9527  for(j=0;j<pad_bytes;j=j+1) begin
9528  wr_strb = {wr_strb ,1'b0};
9529  // $display("new wr_strb %0h",wr_strb);
9530  end
9531 
9532  // write_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, wr_data[(axi_burst_len*data_bus_width)-1:0], trnsfr_bytes, rwrsp);
9533  write_burst_strb(addr, trnsfr_lngth, siz, burst, lck, cache, prot, wr_data[((axi_burst_len*data_bus_width))-1:0], 1,wr_strb,trnsfr_bytes, rwrsp);
9534  wr_data = wr_data >> (trnsfr_bytes*8);
9535  // $display("wr_data %0h",wr_data);
9536  // $display("trnsfr_bytes %0d",trnsfr_bytes);
9537  bytes = bytes - trnsfr_bytes;
9538  addr = addr + trnsfr_bytes;
9539  // $display("addr %0d",addr);
9540  if(bytes > (axi_burst_len * data_bus_width/8)) begin
9541  trnsfr_bytes = (axi_burst_len * data_bus_width/8) - pad_bytes;//start_addr[1:0];
9542  trnsfr_lngth = axi_burst_len-1;
9543  pad_bytes = 0;
9544  // $display("trnsfr_lngth %0d pad_bytes %0d",trnsfr_lngth,pad_bytes);
9545  end else begin
9546  trnsfr_bytes = bytes;
9547  // $display(" 1 trnsfr_bytes %0d",trnsfr_bytes);
9548  tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9549  if(tmp_bytes%(data_bus_width/8) == 0) begin
9550  trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9551  // $display("2 trnsfr_lngth %0d",trnsfr_lngth);
9552  end else begin
9553  trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9554  pad_bytes = 0;
9555  // $display("3 trnsfr_lngth %0d pad_bytes %0d",trnsfr_lngth,pad_bytes);
9556  end
9557  end
9558  wresp = wresp | rwrsp;
9559  end /// while
9560  response = wresp;
9561  end
9562  end
9563  endtask
9564 
9565 // task automatic write_data;
9566 // input [addr_width-1:0] start_addr;
9567 // input [max_transfer_bytes_width:0] wr_size;
9568 // input [(max_transfer_bytes*8)-1:0] w_data;
9569 // output [axi_rsp_width-1:0] response;
9570 // reg [axi_rsp_width-1:0] wresp,rwrsp;
9571 // reg [addr_width-1:0] addr;
9572 // reg [7:0] bytes,tmp_bytes;
9573 // integer trnsfr_bytes;
9574 // reg [(max_transfer_bytes*8)-1:0] wr_data;
9575 // integer trnsfr_lngth;
9576 // reg concurrent;
9577 //
9578 // reg [id_bus_width-1:0] wr_id;
9579 // reg [axi_size_width-1:0] siz;
9580 // reg [axi_brst_type_width-1:0] burst;
9581 // reg [axi_lock_width-1:0] lck;
9582 // reg [axi_cache_width-1:0] cache;
9583 // reg [axi_prot_width-1:0] prot;
9584 //
9585 // integer pad_bytes;
9586 // begin
9587 // if(!enable_this_port) begin
9588 // $display("[%0d] : %0s : %0s : Port is disabled. 'write_data' will not be executed...",$time, DISP_ERR, master_name);
9589 // if(STOP_ON_ERROR) $stop;
9590 // end else begin
9591 // addr = start_addr;
9592 // bytes = wr_size;
9593 // wresp = 0;
9594 // wr_data = w_data;
9595 // concurrent = $random;
9596 // siz = 2;
9597 // burst = 1;
9598 // lck = 0;
9599 // cache = 0;
9600 // prot = 0;
9601 // pad_bytes = start_addr[clogb2(data_bus_width/8)-1:0];
9602 // wr_id = ID;
9603 // if(bytes+pad_bytes > (data_bus_width/8*axi_burst_len)) begin /// for unaligned address
9604 // trnsfr_bytes = (data_bus_width*axi_burst_len)/8 - pad_bytes;//start_addr[1:0];
9605 // trnsfr_lngth = axi_burst_len-1;
9606 // end else begin
9607 // trnsfr_bytes = bytes;
9608 // tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9609 // if(tmp_bytes%(data_bus_width/8) == 0)
9610 // trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9611 // else
9612 // trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9613 // end
9614 //
9615 // while (bytes > 0) begin
9616 // write_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, wr_data[(axi_burst_len*data_bus_width)-1:0], trnsfr_bytes, rwrsp);
9617 // wr_data = wr_data >> (trnsfr_bytes*8);
9618 // bytes = bytes - trnsfr_bytes;
9619 // addr = addr + trnsfr_bytes;
9620 // if(bytes > (axi_burst_len * data_bus_width/8)) begin
9621 // trnsfr_bytes = (axi_burst_len * data_bus_width/8) - pad_bytes;//start_addr[1:0];
9622 // trnsfr_lngth = axi_burst_len-1;
9623 // end else begin
9624 // trnsfr_bytes = bytes;
9625 // tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9626 // if(tmp_bytes%(data_bus_width/8) == 0)
9627 // trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9628 // else
9629 // trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9630 // end
9631 // wresp = wresp | rwrsp;
9632 // end /// while
9633 // response = wresp;
9634 // end
9635 // end
9636 // endtask
9637 
9638 /* Read data (used for transfer size <= 128 Bytes */
9639  task automatic read_data;
9640  input [addr_width-1:0] start_addr;
9641  input [max_transfer_bytes_width:0] rd_size;
9642  // output [(axi_burst_len*data_bus_width)-1:0] r_data;
9643  output [(max_transfer_bytes*8)-1:0] r_data;
9644  output [axi_rsp_width-1:0] response;
9645  reg [axi_rsp_width-1:0] rresp,rdrsp;
9646  reg [addr_width-1:0] addr;
9647  reg [max_transfer_bytes_width:0] bytes,tmp_bytes;
9648  integer trnsfr_bytes;
9649  // reg [(axi_burst_len*data_bus_width)-1:0] rd_data;
9650  reg [(max_transfer_bytes*8)-1:0] rd_data;
9651  reg [(axi_burst_len*data_bus_width)-1:0] rcv_rd_data;
9652  integer total_rcvd_bytes;
9653  integer trnsfr_lngth;
9654  integer i;
9655  reg [id_bus_width-1:0] rd_id;
9656 
9657  reg [axi_size_width-1:0] siz;
9658  int siz_in_bytes;
9659  reg [axi_brst_type_width-1:0] burst;
9660  reg [axi_lock_width-1:0] lck;
9661  reg [axi_cache_width-1:0] cache;
9662  reg [axi_prot_width-1:0] prot;
9663 
9664  integer pad_bytes;
9665 
9666  begin
9667  if(!enable_this_port) begin
9668  $display("[%0d] : %0s : %0s : Port is disabled. 'read_data' will not be executed...",$time, DISP_ERR, master_name);
9669  if(STOP_ON_ERROR) $stop;
9670  end else begin
9671  addr = start_addr;
9672  bytes = rd_size;
9673  rresp = 0;
9674  total_rcvd_bytes = 0;
9675  rd_data = 0;
9676  rd_id = ID;
9677 
9678  siz = 2;
9679  burst = 1;
9680  lck = 0;
9681  cache = 0;
9682  prot = 0;
9683  pad_bytes = start_addr[clogb2(data_bus_width/8)-1:0];
9684 
9685  if(bytes+ pad_bytes > (axi_burst_len * data_bus_width/8)) begin /// for unaligned address
9686  trnsfr_bytes = (axi_burst_len * data_bus_width/8) - pad_bytes;//start_addr[1:0];
9687  trnsfr_lngth = axi_burst_len-1;
9688  siz_in_bytes = (data_bus_width/8);
9689  // $display("0 pad_bytes %0d ",pad_bytes);
9690  end else begin
9691  trnsfr_bytes = bytes;
9692  tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9693  if(tmp_bytes%(data_bus_width/8) == 0) begin
9694  trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9695  siz_in_bytes = (data_bus_width/8);
9696  // $display("1 pad_bytes %0d ",pad_bytes);
9697  end
9698  else begin
9699  trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9700  siz_in_bytes = (data_bus_width/8);
9701  // $display("2 pad_bytes %0d ",pad_bytes);
9702  end
9703  end
9704  while (bytes > 0) begin
9705  case(siz_in_bytes)
9706  1 : siz = 0;
9707  2 : siz = 1;
9708  4 : siz = 2;
9709  8 : siz = 3;
9710  16 : siz = 4;
9711  32 : siz = 5;
9712  64 : siz = 6;
9713  128 : siz = 7;
9714  endcase
9715  read_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, rcv_rd_data, rdrsp);
9716  //$display(" axi_master read_data rcv_rd_data %0h rdrsp %0h",rcv_rd_data, rdrsp);
9717  for(i = 0; i < trnsfr_bytes; i = i+1) begin
9718  rd_data = rd_data >> 8;
9719  rd_data[(max_transfer_bytes*8)-1 : (max_transfer_bytes*8)-8] = rcv_rd_data[7:0];
9720  rcv_rd_data = rcv_rd_data >> 8;
9721  total_rcvd_bytes = total_rcvd_bytes+1;
9722  //$display(" axi_master read_data rcv_rd_data %0h rd_data %0h total_rcvd_bytes %0d",rcv_rd_data, rd_data,total_rcvd_bytes);
9723  // $display(" axi_master max_transfer_bytes %0d",max_transfer_bytes);
9724  end
9725  bytes = bytes - trnsfr_bytes;
9726  addr = addr + trnsfr_bytes;
9727  if(bytes > (axi_burst_len * data_bus_width/8)) begin
9728  trnsfr_bytes = (axi_burst_len * data_bus_width/8) - pad_bytes;//start_addr[1:0];
9729  trnsfr_lngth = 15;
9730  end else begin
9731  trnsfr_bytes = bytes;
9732  tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9733  if(tmp_bytes%(data_bus_width/8) == 0)
9734  trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9735  else
9736  trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9737  end
9738  rresp = rresp | rdrsp;
9739  end /// while
9740  rd_data = rd_data >> (max_transfer_bytes - total_rcvd_bytes)*8;
9741  r_data = rd_data;
9742  //$display(" afi_master read_data r_data %0h",r_data);
9743  response = rresp;
9744  end
9745  end
9746  endtask
9747 
9748 // task automatic read_data;
9749 // input [addr_width-1:0] start_addr;
9750 // input [max_transfer_bytes_width:0] rd_size;
9751 // output [(max_transfer_bytes*8)-1:0] r_data;
9752 // output [axi_rsp_width-1:0] response;
9753 // reg [axi_rsp_width-1:0] rresp,rdrsp;
9754 // reg [addr_width-1:0] addr;
9755 // reg [max_transfer_bytes_width:0] bytes,tmp_bytes;
9756 // integer trnsfr_bytes;
9757 // reg [(max_transfer_bytes*8)-1 : 0] rd_data;
9758 // reg [(axi_burst_len*data_bus_width)-1:0] rcv_rd_data;
9759 // integer total_rcvd_bytes;
9760 // integer trnsfr_lngth;
9761 // integer i;
9762 // reg [id_bus_width-1:0] rd_id;
9763 //
9764 // reg [axi_size_width-1:0] siz;
9765 // reg [axi_brst_type_width-1:0] burst;
9766 // reg [axi_lock_width-1:0] lck;
9767 // reg [axi_cache_width-1:0] cache;
9768 // reg [axi_prot_width-1:0] prot;
9769 //
9770 // integer pad_bytes;
9771 //
9772 // begin
9773 // if(!enable_this_port) begin
9774 // $display("[%0d] : %0s : %0s : Port is disabled. 'read_data' will not be executed...",$time, DISP_ERR, master_name);
9775 // if(STOP_ON_ERROR) $stop;
9776 // end else begin
9777 // addr = start_addr;
9778 // bytes = rd_size;
9779 // rresp = 0;
9780 // total_rcvd_bytes = 0;
9781 // rd_data = 0;
9782 // rd_id = ID;
9783 //
9784 // siz = 2;
9785 // burst = 1;
9786 // lck = 0;
9787 // cache = 0;
9788 // prot = 0;
9789 // pad_bytes = start_addr[clogb2(data_bus_width/8)-1:0];
9790 //
9791 // if(bytes+ pad_bytes > (axi_burst_len * data_bus_width/8)) begin /// for unaligned address
9792 // trnsfr_bytes = (axi_burst_len * data_bus_width/8) - pad_bytes;//start_addr[1:0];
9793 // trnsfr_lngth = axi_burst_len-1;
9794 // end else begin
9795 // trnsfr_bytes = bytes;
9796 // tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9797 // if(tmp_bytes%(data_bus_width/8) == 0)
9798 // trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9799 // else
9800 // trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9801 // end
9802 // while (bytes > 0) begin
9803 // read_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, rcv_rd_data, rdrsp);
9804 // for(i = 0; i < trnsfr_bytes; i = i+1) begin
9805 // rd_data = rd_data >> 8;
9806 // rd_data[(max_transfer_bytes*8)-1 : (max_transfer_bytes*8)-8] = rcv_rd_data[7:0];
9807 // rcv_rd_data = rcv_rd_data >> 8;
9808 // total_rcvd_bytes = total_rcvd_bytes+1;
9809 // end
9810 // bytes = bytes - trnsfr_bytes;
9811 // addr = addr + trnsfr_bytes;
9812 // if(bytes > (axi_burst_len * data_bus_width/8)) begin
9813 // trnsfr_bytes = (axi_burst_len * data_bus_width/8) - pad_bytes;//start_addr[1:0];
9814 // trnsfr_lngth = 15;
9815 // end else begin
9816 // trnsfr_bytes = bytes;
9817 // tmp_bytes = bytes + pad_bytes;//start_addr[1:0];
9818 // if(tmp_bytes%(data_bus_width/8) == 0)
9819 // trnsfr_lngth = tmp_bytes/(data_bus_width/8) - 1;
9820 // else
9821 // trnsfr_lngth = tmp_bytes/(data_bus_width/8);
9822 // end
9823 // rresp = rresp | rdrsp;
9824 // end /// while
9825 // rd_data = rd_data >> (max_transfer_bytes - total_rcvd_bytes)*8;
9826 // r_data = rd_data;
9827 // response = rresp;
9828 // end
9829 // end
9830 // endtask
9831 
9832 
9833 /* Wait Register Update in PL */
9834 /* Issue a series of 1 burst length reads until the expected data pattern is received */
9835 
9836 task automatic wait_reg_update;
9837 input [addr_width-1:0] addri;
9838 input [data_width-1:0] datai;
9839 input [data_width-1:0] maski;
9840 input [int_width-1:0] time_interval;
9841 input [int_width-1:0] time_out;
9842 output [data_width-1:0] data_o;
9843 output upd_done;
9844 
9845 reg [addr_width-1:0] addr;
9846 reg [data_width-1:0] data_i;
9847 reg [data_width-1:0] mask_i;
9848 integer time_int;
9849 integer timeout;
9850 
9851 reg [axi_rsp_width-1:0] rdrsp;
9852 reg [id_bus_width-1:0] rd_id;
9853 reg [axi_size_width-1:0] siz;
9854 reg [axi_brst_type_width-1:0] burst;
9855 reg [axi_lock_width-1:0] lck;
9856 reg [axi_cache_width-1:0] cache;
9857 reg [axi_prot_width-1:0] prot;
9858 reg [data_width-1:0] rcv_data;
9859 integer trnsfr_lngth;
9860 reg rd_loop;
9861 reg timed_out;
9862 integer i;
9863 integer cycle_cnt;
9864 
9865 begin
9866 addr = addri;
9867 data_i = datai;
9868 mask_i = maski;
9869 time_int = time_interval;
9870 timeout = time_out;
9871 timed_out = 0;
9872 cycle_cnt = 0;
9873 
9874 if(!enable_this_port) begin
9875  $display("[%0d] : %0s : %0s : Port is disabled. 'wait_reg_update' will not be executed...",$time, DISP_ERR, master_name);
9876  upd_done = 0;
9877  if(STOP_ON_ERROR) $stop;
9878 end else begin
9879  rd_id = ID;
9880  siz = 2;
9881  burst = 1;
9882  lck = 0;
9883  cache = 0;
9884  prot = 0;
9885  trnsfr_lngth = 0;
9886  rd_loop = 1;
9887  fork
9888  begin
9889  while(!timed_out & rd_loop) begin
9890  cycle_cnt = cycle_cnt + 1;
9891  if(cycle_cnt >= timeout) timed_out = 1;
9892  @(posedge M_ACLK);
9893  end
9894  end
9895  begin
9896  while (rd_loop) begin
9897  if(DEBUG_INFO)
9898  $display("[%0d] : %0s : %0s : Reading Register mapped at Address(0x%0h) ",$time, master_name, DISP_INFO, addr);
9899  read_burst(addr, trnsfr_lngth, siz, burst, lck, cache, prot, rcv_data, rdrsp);
9900  if(DEBUG_INFO)
9901  $display("[%0d] : %0s : %0s : Reading Register returned (0x%0h) ",$time, master_name, DISP_INFO, rcv_data);
9902  if(((rcv_data & ~mask_i) === (data_i & ~mask_i)) | timed_out)
9903  rd_loop = 0;
9904  else
9905  repeat(time_int) @(posedge M_ACLK);
9906  end /// while
9907  end
9908  join
9909  data_o = rcv_data & ~mask_i;
9910  if(timed_out) begin
9911  $display("[%0d] : %0s : %0s : 'wait_reg_update' timed out ... Register is not updated ",$time, DISP_ERR, master_name);
9912  if(STOP_ON_ERROR) $stop;
9913  end else
9914  upd_done = 1;
9915 end
9916 end
9917 endtask
9918 
9919  /* Set verbosity to be used */
9920  task automatic set_verbosity;
9921  input[31:0] verb;
9922  begin
9923  if(enable_this_port) begin
9924  mst.set_verbosity(verb);
9925  end else begin
9926  if(DEBUG_INFO)
9927  $display("[%0d] : %0s : %0s : Port is disabled. 'ARQOS' will not be set...",$time, DISP_WARN, master_name);
9928  end
9929 
9930  end
9931  endtask
9932 
9933 endmodule
9934 
9935 
9936 /*****************************************************************************
9937  * File : processing_system7_vip_v1_0_10_afi_slave.v
9938  *
9939  * Date : 2012-11
9940  *
9941  * Description : Model that acts as AFI port interface. It uses AXI3 Slave VIP
9942  * from xilinx.
9943  *****************************************************************************/
9944  `timescale 1ns/1ps
9945 
9946 import axi_vip_pkg::*;
9947 
9948 module processing_system7_vip_v1_0_10_afi_slave (
9949  S_RESETN,
9950 
9951  S_ARREADY,
9952  S_AWREADY,
9953  S_BVALID,
9954  S_RLAST,
9955  S_RVALID,
9956  S_WREADY,
9957  S_BRESP,
9958  S_RRESP,
9959  S_RDATA,
9960  S_BID,
9961  S_RID,
9962  S_ACLK,
9963  S_ARVALID,
9964  S_AWVALID,
9965  S_BREADY,
9966  S_RREADY,
9967  S_WLAST,
9968  S_WVALID,
9969  S_ARBURST,
9970  S_ARLOCK,
9971  S_ARSIZE,
9972  S_AWBURST,
9973  S_AWLOCK,
9974  S_AWSIZE,
9975  S_ARPROT,
9976  S_AWPROT,
9977  S_ARADDR,
9978  S_AWADDR,
9979  S_WDATA,
9980  S_ARCACHE,
9981  S_ARLEN,
9982  S_AWCACHE,
9983  S_AWLEN,
9984  S_WSTRB,
9985  S_ARID,
9986  S_AWID,
9987  S_WID,
9988 
9989  S_AWQOS,
9990  S_ARQOS,
9991 
9992  SW_CLK,
9993  WR_DATA_ACK_OCM,
9994  WR_DATA_ACK_DDR,
9995  WR_ADDR,
9996  WR_DATA,
9997  WR_BYTES,
9998  WR_DATA_STRB,
9999  WR_DATA_VALID_OCM,
10000  WR_DATA_VALID_DDR,
10001  WR_QOS,
10002 
10003  RD_REQ_DDR,
10004  RD_REQ_OCM,
10005  RD_ADDR,
10006  RD_DATA_OCM,
10007  RD_DATA_DDR,
10008  RD_BYTES,
10009  RD_QOS,
10010  RD_DATA_VALID_OCM,
10011  RD_DATA_VALID_DDR,
10012  S_RDISSUECAP1_EN,
10013  S_WRISSUECAP1_EN,
10014  S_RCOUNT,
10015  S_WCOUNT,
10016  S_RACOUNT,
10017  S_WACOUNT
10018 
10019 );
10020  parameter enable_this_port = 0;
10021  parameter slave_name = "Slave";
10022  parameter data_bus_width = 32;
10023  parameter address_bus_width = 32;
10024  parameter id_bus_width = 6;
10025  parameter slave_base_address = 0;
10026  parameter slave_high_address = 4;
10027  parameter max_outstanding_transactions = 8;
10028  parameter exclusive_access_supported = 0;
10029  parameter max_wr_outstanding_transactions = 8;
10030  parameter max_rd_outstanding_transactions = 8;
10031 
10032  `include "processing_system7_vip_v1_0_10_local_params.v"
10033 
10034  /* Local parameters only for this module */
10035  /* Internal counters that are used as Read/Write pointers to the fifo's that store all the transaction info on all channles.
10036  This parameter is used to define the width of these pointers --> depending on Maximum outstanding transactions supported.
10037  1-bit extra width than the no.of.bits needed to represent the outstanding transactions
10038  Extra bit helps in generating the empty and full flags
10039  */
10040  parameter int_cntr_width = clogb2(max_outstanding_transactions)+1;
10041  parameter int_wr_cntr_width = clogb2(max_wr_outstanding_transactions+1);
10042  parameter int_rd_cntr_width = clogb2(max_rd_outstanding_transactions+1);
10043 
10044  /* RESP data */
10045  parameter wr_afi_fifo_data_bits = ((data_bus_width/8)*axi_burst_len) + (data_bus_width*axi_burst_len) + axi_qos_width + addr_width + (max_burst_bytes_width+1);
10046 
10047  parameter wr_bytes_lsb = 0;
10048  parameter wr_bytes_msb = max_burst_bytes_width;
10049  parameter wr_addr_lsb = wr_bytes_msb + 1;
10050  parameter wr_addr_msb = wr_addr_lsb + addr_width-1;
10051  parameter wr_data_lsb = wr_addr_msb + 1;
10052  parameter wr_data_msb = wr_data_lsb + (data_bus_width*axi_burst_len)-1;
10053  parameter wr_afi_bytes_lsb = 0;
10054  parameter wr_afi_bytes_msb = max_burst_bytes_width;
10055  parameter wr_afi_addr_lsb = wr_afi_bytes_msb + 1;
10056  parameter wr_afi_addr_msb = wr_afi_addr_lsb + addr_width-1;
10057  parameter wr_afi_data_lsb = wr_afi_addr_msb + 1;
10058  parameter wr_afi_data_msb = wr_data_lsb + (data_bus_width*axi_burst_len)-1;
10059  parameter wr_afi_rsp_lsb = axi_rsp_width-1;
10060  parameter wr_afi_rsp_msb = wr_afi_rsp_lsb + axi_rsp_width-1;
10061  parameter wr_afi_id_lsb = wr_afi_rsp_msb + 1;
10062  parameter wr_afi_id_msb = wr_afi_id_lsb + axi_hp_id_width-1;
10063  parameter wr_afi_ln_lsb = wr_afi_id_msb + 1;
10064  parameter wr_afi_ln_msb = wr_afi_ln_lsb + axi_len_width-1;
10065  parameter wr_afi_qos_lsb = wr_afi_ln_msb + 1;
10066  parameter wr_afi_qos_msb = wr_afi_qos_lsb + axi_qos_width-1;
10067 
10068  parameter wr_qos_lsb = wr_data_msb + 1;
10069  parameter wr_qos_msb = wr_qos_lsb + axi_qos_width-1;
10070  parameter wr_strb_lsb = wr_qos_msb + 1;
10071  parameter wr_strb_msb = wr_strb_lsb + ((data_bus_width/8)*axi_burst_len)-1;
10072 
10073  /* RESP data */
10074  parameter rsp_fifo_bits = axi_rsp_width+id_bus_width;
10075  parameter rsp_lsb = 0;
10076  parameter rsp_msb = axi_rsp_width-1;
10077  parameter rsp_id_lsb = rsp_msb + 1;
10078  parameter rsp_id_msb = rsp_id_lsb + id_bus_width-1;
10079 
10080  input S_RESETN;
10081 
10082  output S_ARREADY;
10083  output S_AWREADY;
10084  output S_BVALID;
10085  output S_RLAST;
10086  output S_RVALID;
10087  output S_WREADY;
10088  output [axi_rsp_width-1:0] S_BRESP;
10089  output [axi_rsp_width-1:0] S_RRESP;
10090  output [data_bus_width-1:0] S_RDATA;
10091  output [id_bus_width-1:0] S_BID;
10092  output [id_bus_width-1:0] S_RID;
10093  input S_ACLK;
10094  input S_ARVALID;
10095  input S_AWVALID;
10096  input S_BREADY;
10097  input S_RREADY;
10098  input S_WLAST;
10099  input S_WVALID;
10100  input [axi_brst_type_width-1:0] S_ARBURST;
10101  input [axi_lock_width-1:0] S_ARLOCK;
10102  input [axi_size_width-1:0] S_ARSIZE;
10103  input [axi_brst_type_width-1:0] S_AWBURST;
10104  input [axi_lock_width-1:0] S_AWLOCK;
10105  input [axi_size_width-1:0] S_AWSIZE;
10106  input [axi_prot_width-1:0] S_ARPROT;
10107  input [axi_prot_width-1:0] S_AWPROT;
10108  input [address_bus_width-1:0] S_ARADDR;
10109  input [address_bus_width-1:0] S_AWADDR;
10110  input [data_bus_width-1:0] S_WDATA;
10111  input [axi_cache_width-1:0] S_ARCACHE;
10112  input [axi_len_width-1:0] S_ARLEN;
10113 
10114  input [axi_qos_width-1:0] S_ARQOS;
10115 
10116  input [axi_cache_width-1:0] S_AWCACHE;
10117  input [axi_len_width-1:0] S_AWLEN;
10118 
10119  input [axi_qos_width-1:0] S_AWQOS;
10120  input [(data_bus_width/8)-1:0] S_WSTRB;
10121  input [id_bus_width-1:0] S_ARID;
10122  input [id_bus_width-1:0] S_AWID;
10123  input [id_bus_width-1:0] S_WID;
10124 
10125  input SW_CLK;
10126  input WR_DATA_ACK_DDR, WR_DATA_ACK_OCM;
10127  output reg WR_DATA_VALID_DDR, WR_DATA_VALID_OCM;
10128  output reg [max_burst_bits-1:0] WR_DATA;
10129  output reg [addr_width-1:0] WR_ADDR;
10130  output reg [max_transfer_bytes_width:0] WR_BYTES;
10131  output reg [((data_bus_width/8)*axi_burst_len)-1:0] WR_DATA_STRB;
10132  // output reg RD_REQ_OCM, RD_REQ_DDR, RD_REQ_REG;
10133  output reg RD_REQ_OCM, RD_REQ_DDR;
10134  output reg [addr_width-1:0] RD_ADDR;
10135  input [max_burst_bits-1:0] RD_DATA_DDR,RD_DATA_OCM;
10136  // input [max_burst_bits-1:0] RD_DATA_DDR,RD_DATA_OCM, RD_DATA_REG;
10137  output reg[max_transfer_bytes_width:0] RD_BYTES;
10138  input RD_DATA_VALID_OCM,RD_DATA_VALID_DDR;
10139  // input RD_DATA_VALID_OCM,RD_DATA_VALID_DDR, RD_DATA_VALID_REG;
10140  output reg [axi_qos_width-1:0] WR_QOS;
10141  output reg [axi_qos_width-1:0] RD_QOS;
10142 
10143  input S_RDISSUECAP1_EN;
10144  input S_WRISSUECAP1_EN;
10145 
10146  output [7:0] S_RCOUNT;
10147  output [7:0] S_WCOUNT;
10148  output [2:0] S_RACOUNT;
10149  output [5:0] S_WACOUNT;
10150 
10151  wire net_ARVALID;
10152  wire net_AWVALID;
10153  wire net_WVALID;
10154  bit [31:0] static_count;
10155 
10156  real s_aclk_period1;
10157  real s_aclk_period2;
10158  real diff_time = 1;
10159  // real s_aclk_period;
10160 
10161  axi_slv_agent #(1,address_bus_width, data_bus_width, data_bus_width, id_bus_width,id_bus_width,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1) slv;
10162 
10164  .C_AXI_PROTOCOL(1),
10165  .C_AXI_INTERFACE_MODE(2),
10166  .C_AXI_ADDR_WIDTH(address_bus_width),
10167  .C_AXI_WDATA_WIDTH(data_bus_width),
10168  .C_AXI_RDATA_WIDTH(data_bus_width),
10169  .C_AXI_WID_WIDTH(id_bus_width),
10170  .C_AXI_RID_WIDTH(id_bus_width),
10171  .C_AXI_AWUSER_WIDTH(0),
10172  .C_AXI_ARUSER_WIDTH(0),
10173  .C_AXI_WUSER_WIDTH(0),
10174  .C_AXI_RUSER_WIDTH(0),
10175  .C_AXI_BUSER_WIDTH(0),
10176  .C_AXI_SUPPORTS_NARROW(1),
10177  .C_AXI_HAS_BURST(1),
10178  .C_AXI_HAS_LOCK(1),
10179  .C_AXI_HAS_CACHE(1),
10180  .C_AXI_HAS_REGION(0),
10181  .C_AXI_HAS_PROT(1),
10182  .C_AXI_HAS_QOS(1),
10183  .C_AXI_HAS_WSTRB(1),
10184  .C_AXI_HAS_BRESP(1),
10185  .C_AXI_HAS_RRESP(1),
10186  .C_AXI_HAS_ARESETN(1)
10187  ) slave (
10188  .aclk(S_ACLK),
10189  .aclken(1'B1),
10190  .aresetn(S_RESETN),
10191  .s_axi_awid(S_AWID),
10192  .s_axi_awaddr(S_AWADDR),
10193  .s_axi_awlen(S_AWLEN),
10194  .s_axi_awsize(S_AWSIZE),
10195  .s_axi_awburst(S_AWBURST),
10196  .s_axi_awlock(S_AWLOCK),
10197  .s_axi_awcache(S_AWCACHE),
10198  .s_axi_awprot(S_AWPROT),
10199  .s_axi_awregion(4'B0),
10200  .s_axi_awqos(S_AWQOS),
10201  .s_axi_awuser(1'B0),
10202  .s_axi_awvalid(S_AWVALID),
10203  .s_axi_awready(S_AWREADY),
10204  .s_axi_wid(S_WID),
10205  .s_axi_wdata(S_WDATA),
10206  .s_axi_wstrb(S_WSTRB),
10207  .s_axi_wlast(S_WLAST),
10208  .s_axi_wuser(1'B0),
10209  .s_axi_wvalid(S_WVALID),
10210  .s_axi_wready(S_WREADY),
10211  .s_axi_bid(S_BID),
10212  .s_axi_bresp(S_BRESP),
10213  .s_axi_buser(),
10214  .s_axi_bvalid(S_BVALID),
10215  .s_axi_bready(S_BREADY),
10216  .s_axi_arid(S_ARID),
10217  .s_axi_araddr(S_ARADDR),
10218  .s_axi_arlen(S_ARLEN),
10219  .s_axi_arsize(S_ARSIZE),
10220  .s_axi_arburst(S_ARBURST),
10221  .s_axi_arlock(S_ARLOCK),
10222  .s_axi_arcache(S_ARCACHE),
10223  .s_axi_arprot(S_ARPROT),
10224  .s_axi_arregion(4'B0),
10225  .s_axi_arqos(S_ARQOS),
10226  .s_axi_aruser(1'B0),
10227  .s_axi_arvalid(S_ARVALID),
10228  .s_axi_arready(S_ARREADY),
10229  .s_axi_rid(S_RID),
10230  .s_axi_rdata(S_RDATA),
10231  .s_axi_rresp(S_RRESP),
10232  .s_axi_rlast(S_RLAST),
10233  .s_axi_ruser(),
10234  .s_axi_rvalid(S_RVALID),
10235  .s_axi_rready(S_RREADY),
10236  .m_axi_awid(),
10237  .m_axi_awaddr(),
10238  .m_axi_awlen(),
10239  .m_axi_awsize(),
10240  .m_axi_awburst(),
10241  .m_axi_awlock(),
10242  .m_axi_awcache(),
10243  .m_axi_awprot(),
10244  .m_axi_awregion(),
10245  .m_axi_awqos(),
10246  .m_axi_awuser(),
10247  .m_axi_awvalid(),
10248  .m_axi_awready(1'b0),
10249  .m_axi_wid(),
10250  .m_axi_wdata(),
10251  .m_axi_wstrb(),
10252  .m_axi_wlast(),
10253  .m_axi_wuser(),
10254  .m_axi_wvalid(),
10255  .m_axi_wready(1'b0),
10256  .m_axi_bid(12'h000),
10257  .m_axi_bresp(2'b00),
10258  .m_axi_buser(1'B0),
10259  .m_axi_bvalid(1'b0),
10260  .m_axi_bready(),
10261  .m_axi_arid(),
10262  .m_axi_araddr(),
10263  .m_axi_arlen(),
10264  .m_axi_arsize(),
10265  .m_axi_arburst(),
10266  .m_axi_arlock(),
10267  .m_axi_arcache(),
10268  .m_axi_arprot(),
10269  .m_axi_arregion(),
10270  .m_axi_arqos(),
10271  .m_axi_aruser(),
10272  .m_axi_arvalid(),
10273  .m_axi_arready(1'b0),
10274  .m_axi_rid(12'h000),
10275  .m_axi_rdata(32'h00000000),
10276  .m_axi_rresp(2'b00),
10277  .m_axi_rlast(1'b0),
10278  .m_axi_ruser(1'B0),
10279  .m_axi_rvalid(1'b0),
10280  .m_axi_rready()
10281  );
10282 
10283  xil_axi_cmd_beat twc, trc;
10284  xil_axi_write_beat twd;
10285  xil_axi_read_beat trd;
10286  axi_transaction twr, trr,trr_get_rd;
10287  axi_transaction trr_rd[$];
10288  axi_ready_gen awready_gen;
10289  axi_ready_gen wready_gen;
10290  axi_ready_gen arready_gen;
10291  integer i,j,k,add_val,size_local,burst_local,len_local,num_bytes;
10292  bit [3:0] a;
10293  bit [15:0] a_16_bits,a_new,a_wrap,a_wrt_val,a_cnt;
10294 
10295  initial begin
10296  slv = new("slv",slave.IF);
10297  twr = new("twr");
10298  trr = new("trr");
10299  trr_get_rd = new("trr_get_rd");
10300  wready_gen = slv.wr_driver.create_ready("wready");
10301  slv.monitor.axi_wr_cmd_port.set_enabled();
10302  slv.monitor.axi_wr_beat_port.set_enabled();
10303  slv.monitor.axi_rd_cmd_port.set_enabled();
10304  // slv.wr_driver.set_transaction_depth(max_outstanding_transactions);
10305  // slv.rd_driver.set_transaction_depth(max_outstanding_transactions);
10306  slv.wr_driver.set_transaction_depth(max_wr_outstanding_transactions);
10307  slv.rd_driver.set_transaction_depth(max_rd_outstanding_transactions);
10308  slv.start_slave();
10309  end
10310 
10311  initial begin
10312  slave.IF.set_enable_xchecks_to_warn();
10313  repeat(10) @(posedge S_ACLK);
10314  slave.IF.set_enable_xchecks();
10315  end
10316 
10317  wire wr_intr_fifo_full;
10318  reg temp_wr_intr_fifo_full;
10319 
10320  /* Interconnect WR_FIFO model instance */
10321  // processing_system7_vip_v1_0_10_intr_wr_mem wr_intr_fifo(SW_CLK, S_RESETN, wr_intr_fifo_full, WR_DATA_ACK_OCM, WR_DATA_ACK_DDR, WR_ADDR, WR_DATA, WR_BYTES, WR_QOS, WR_DATA_VALID_OCM, WR_DATA_VALID_DDR);
10322 
10323  /* Register the async 'full' signal to S_ACLK clock */
10324  always@(posedge S_ACLK) temp_wr_intr_fifo_full = wr_intr_fifo_full;
10325 
10326  /* Latency type and Debug/Error Control */
10327  reg[1:0] latency_type = RANDOM_CASE;
10328  reg DEBUG_INFO = 1;
10329  reg STOP_ON_ERROR = 1'b1;
10330 
10331  /* Internal nets/regs for calling slave VIP API's*/
10332  reg [wr_afi_fifo_data_bits-1:0] wr_fifo [0:max_wr_outstanding_transactions-1];
10333  reg [int_wr_cntr_width-1:0] wr_fifo_wr_ptr = 0, wr_fifo_rd_ptr = 0;
10334  wire wr_fifo_empty;
10335 
10336  /* Store the awvalid receive time --- necessary for calculating the bresp latency */
10337  reg [7:0] aw_time_cnt = 0,bresp_time_cnt = 0;
10338  real awvalid_receive_time[0:max_wr_outstanding_transactions]; // store the time when a new awvalid is received
10339  reg awvalid_flag[0:max_wr_outstanding_transactions]; // store the time when a new awvalid is received
10340 
10341  /* Address Write Channel handshake*/
10342  reg[int_wr_cntr_width-1:0] aw_cnt = 0;//
10343 
10344  /* various FIFOs for storing the ADDR channel info */
10345  reg [axi_size_width-1:0] awsize [0:max_wr_outstanding_transactions-1];
10346  reg [axi_prot_width-1:0] awprot [0:max_wr_outstanding_transactions-1];
10347  reg [axi_lock_width-1:0] awlock [0:max_wr_outstanding_transactions-1];
10348  reg [axi_cache_width-1:0] awcache [0:max_wr_outstanding_transactions-1];
10349  reg [axi_brst_type_width-1:0] awbrst [0:max_wr_outstanding_transactions-1];
10350  reg [axi_len_width-1:0] awlen [0:max_wr_outstanding_transactions-1];
10351  reg aw_flag [0:max_wr_outstanding_transactions-1];
10352  reg [addr_width-1:0] awaddr [0:max_wr_outstanding_transactions-1];
10353  reg [addr_width-1:0] addr_wr_local;
10354  reg [addr_width-1:0] addr_wr_final;
10355  reg [id_bus_width-1:0] awid [0:max_wr_outstanding_transactions-1];
10356  reg [axi_qos_width-1:0] awqos [0:max_wr_outstanding_transactions-1];
10357  wire aw_fifo_full; // indicates awvalid_fifo is full (max outstanding transactions reached)
10358 
10359  /* internal fifos to store burst write data, ID & strobes*/
10360  reg [(data_bus_width*axi_burst_len)-1:0] burst_data [0:max_wr_outstanding_transactions-1];
10361  reg [((data_bus_width/8)*axi_burst_len)-1:0] burst_strb [0:max_wr_outstanding_transactions-1];
10362  reg [max_burst_bytes_width:0] burst_valid_bytes [0:max_wr_outstanding_transactions-1]; /// total valid bytes received in a complete burst transfer
10363  reg [max_burst_bytes_width:0] valid_bytes = 0; /// total valid bytes received in a complete burst transfer
10364  reg wlast_flag [0:max_wr_outstanding_transactions-1]; // flag to indicate WLAST received
10365  wire wd_fifo_full;
10366 
10367  /* Write Data Channel and Write Response handshake signals*/
10368  reg [int_wr_cntr_width-1:0] wd_cnt = 0;
10369  reg [(data_bus_width*axi_burst_len)-1:0] aligned_wr_data;
10370  reg [((data_bus_width/8)*axi_burst_len)-1:0] aligned_wr_strb;
10371  reg [addr_width-1:0] aligned_wr_addr;
10372  reg [max_burst_bytes_width:0] valid_data_bytes;
10373  reg [int_wr_cntr_width-1:0] wr_bresp_cnt = 0;
10374  reg [axi_rsp_width-1:0] bresp;
10375  reg [rsp_fifo_bits-1:0] fifo_bresp [0:max_wr_outstanding_transactions-1]; // store the ID and its corresponding response
10376  reg enable_write_bresp;
10377  reg [int_wr_cntr_width-1:0] rd_bresp_cnt = 0;
10378  integer wr_latency_count;
10379  reg wr_delayed;
10380  wire bresp_fifo_empty;
10381 
10382  /* keep track of count values */
10383  reg[7:0] wcount;
10384  reg[5:0] wacount;
10385 
10386  /* states for managing read/write to WR_FIFO */
10387  parameter SEND_DATA = 0, WAIT_ACK = 1;
10388  reg state;
10389 
10390  /* Qos*/
10391  reg [axi_qos_width-1:0] ar_qos=0, aw_qos=0;
10392 
10393  initial begin
10394  if(DEBUG_INFO) begin
10395  if(enable_this_port)
10396  $display("[%0d] : %0s : %0s : Port is ENABLED.",$time, DISP_INFO, slave_name);
10397  else
10398  $display("[%0d] : %0s : %0s : Port is DISABLED.",$time, DISP_INFO, slave_name);
10399  end
10400  end
10401  /*--------------------------------------------------------------------------------*/
10402 
10403 // /* Store the Clock cycle time period */
10404 //
10405 // always@(S_RESETN)
10406 // begin
10407 // if(S_RESETN) begin
10408 // @(posedge S_ACLK);
10409 // s_aclk_period = $time;
10410 // @(posedge S_ACLK);
10411 // s_aclk_period = $time - s_aclk_period;
10412 // end
10413 // end
10414  /*--------------------------------------------------------------------------------*/
10415 
10416 //initial slave.set_disable_reset_value_checks(1);
10417  initial begin
10418  repeat(2) @(posedge S_ACLK);
10419  if(!enable_this_port) begin
10420 // slave.set_channel_level_info(0);
10421 // slave.set_function_level_info(0);
10422  end
10423 // slave.RESPONSE_TIMEOUT = 0;
10424  end
10425  /*--------------------------------------------------------------------------------*/
10426 
10427  /* Set Latency type to be used */
10428  task set_latency_type;
10429  input[1:0] lat;
10430  begin
10431  if(enable_this_port)
10432  latency_type = lat;
10433  else begin
10434  //if(DEBUG_INFO)
10435  $display("[%0d] : %0s : %0s : Port is disabled. 'Latency Profile' will not be set...",$time, DISP_WARN, slave_name);
10436  end
10437  end
10438  endtask
10439  /*--------------------------------------------------------------------------------*/
10440 
10441  /* Set verbosity to be used */
10442  task automatic set_verbosity;
10443  input[31:0] verb;
10444  begin
10445  if(enable_this_port) begin
10446  slv.set_verbosity(verb);
10447  end else begin
10448  if(DEBUG_INFO)
10449  $display("[%0d] : %0s : %0s : Port is disabled. set_verbosity will not be set...",$time, DISP_WARN, slave_name);
10450  end
10451 
10452  end
10453  endtask
10454  /*--------------------------------------------------------------------------------*/
10455 
10456 
10457 
10458  /* Set ARQoS to be used */
10459  task automatic set_arqos;
10460  input[axi_qos_width-1:0] qos;
10461  begin
10462  if(enable_this_port) begin
10463  ar_qos = qos;
10464  end else begin
10465  if(DEBUG_INFO)
10466  $display("[%0d] : %0s : %0s : Port is disabled. 'ARQOS' will not be set...",$time, DISP_WARN, slave_name);
10467  end
10468  end
10469  endtask
10470  /*--------------------------------------------------------------------------------*/
10471 
10472  /* Set AWQoS to be used */
10473  task set_awqos;
10474  input[axi_qos_width-1:0] qos;
10475  begin
10476  if(enable_this_port)
10477  aw_qos = qos;
10478  else begin
10479  if(DEBUG_INFO)
10480  $display("[%0d] : %0s : %0s : Port is disabled. 'AWQOS' will not be set...",$time, DISP_WARN, slave_name);
10481  end
10482  end
10483  endtask
10484  /*--------------------------------------------------------------------------------*/
10485 
10486  /* get the wr latency number */
10487  function [31:0] get_wr_lat_number;
10488  input dummy;
10489  reg[1:0] temp;
10490  begin
10491  case(latency_type)
10492  BEST_CASE : get_wr_lat_number = afi_wr_min;
10493  AVG_CASE : get_wr_lat_number = afi_wr_avg;
10494  WORST_CASE : get_wr_lat_number = afi_wr_max;
10495  default : begin // RANDOM_CASE
10496  temp = $random;
10497  case(temp)
10498  2'b00 : get_wr_lat_number = ($random()%10+ afi_wr_min);
10499  2'b01 : get_wr_lat_number = ($random()%40+ afi_wr_avg);
10500  default : get_wr_lat_number = ($random()%60+ afi_wr_max);
10501  endcase
10502  end
10503  endcase
10504  end
10505  endfunction
10506  /*--------------------------------------------------------------------------------*/
10507 
10508  /* get the rd latency number */
10509  function [31:0] get_rd_lat_number;
10510  input dummy;
10511  reg[1:0] temp;
10512  begin
10513  case(latency_type)
10514  BEST_CASE : get_rd_lat_number = afi_rd_min;
10515  AVG_CASE : get_rd_lat_number = afi_rd_avg;
10516  WORST_CASE : get_rd_lat_number = afi_rd_max;
10517  default : begin // RANDOM_CASE
10518  temp = $random;
10519  case(temp)
10520  2'b00 : get_rd_lat_number = ($random()%10+ afi_rd_min);
10521  2'b01 : get_rd_lat_number = ($random()%40+ afi_rd_avg);
10522  default : get_rd_lat_number = ($random()%60+ afi_rd_max);
10523  endcase
10524  end
10525  endcase
10526  end
10527  endfunction
10528  /*--------------------------------------------------------------------------------*/
10529 
10530  /* Store the Clock cycle time period */
10531  always@(S_RESETN)
10532  begin
10533  if(S_RESETN) begin
10534  diff_time = 1;
10535  @(posedge S_ACLK);
10536  s_aclk_period1 = $realtime;
10537  @(posedge S_ACLK);
10538  s_aclk_period2 = $realtime;
10539  diff_time = s_aclk_period2 - s_aclk_period1;
10540  end
10541  end
10542  /*--------------------------------------------------------------------------------*/
10543 
10544 
10545  /* Check for any WRITE/READs when this port is disabled */
10546  always@(S_AWVALID or S_WVALID or S_ARVALID)
10547  begin
10548  if((S_AWVALID | S_WVALID | S_ARVALID) && !enable_this_port) begin
10549  $display("[%0d] : %0s : %0s : Port is disabled. AXI transaction is initiated on this port ...\nSimulation will halt ..",$time, DISP_ERR, slave_name);
10550  //$stop;
10551  $finish;
10552  end
10553  end
10554 
10555  /*--------------------------------------------------------------------------------*/
10556 
10557  assign net_ARVALID = enable_this_port ? S_ARVALID : 1'b0;
10558  assign net_AWVALID = enable_this_port ? S_AWVALID : 1'b0;
10559  assign net_WVALID = enable_this_port ? S_WVALID : 1'b0;
10560 
10561  assign wr_fifo_empty = (wr_fifo_wr_ptr === wr_fifo_rd_ptr)?1'b1: 1'b0;
10562  assign aw_fifo_full = ((aw_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (aw_cnt[int_wr_cntr_width-2:0] === rd_bresp_cnt[int_wr_cntr_width-2:0]))?1'b1 :1'b0; /// complete this
10563  assign wd_fifo_full = ((wd_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (wd_cnt[int_wr_cntr_width-2:0] === rd_bresp_cnt[int_wr_cntr_width-2:0]))?1'b1 :1'b0; /// complete this
10564  assign bresp_fifo_empty = (wr_bresp_cnt === rd_bresp_cnt)?1'b1:1'b0;
10565  assign bresp_fifo_full = ((wr_bresp_cnt[int_wr_cntr_width-1] !== rd_bresp_cnt[int_wr_cntr_width-1]) && (wr_bresp_cnt[int_wr_cntr_width-2:0] === rd_bresp_cnt[int_wr_cntr_width-2:0]))?1'b1:1'b0;
10566 
10567  assign S_WCOUNT = wcount;
10568  assign S_WACOUNT = wacount;
10569 
10570  // FIFO_STATUS (only if AFI port) 1- full
10571  function automatic wrfifo_full ;
10572  input [axi_len_width:0] fifo_space_exp;
10573  integer fifo_space_left;
10574  begin
10575  fifo_space_left = afi_fifo_locations - wcount;
10576  if(fifo_space_left < fifo_space_exp)
10577  wrfifo_full = 1;
10578  else
10579  wrfifo_full = 0;
10580  end
10581  endfunction
10582  /*--------------------------------------------------------------------------------*/
10583 
10584  /* Store the awvalid receive time --- necessary for calculating the bresp latency */
10585 
10586  always@(negedge S_RESETN or posedge S_ACLK)
10587  begin
10588  if(!S_RESETN)
10589  aw_time_cnt = 0;
10590  else begin
10591  if(net_AWVALID && S_AWREADY) begin
10592  awvalid_receive_time[aw_time_cnt] = $realtime;
10593  awvalid_flag[aw_time_cnt] = 1'b1;
10594  aw_time_cnt = aw_time_cnt + 1;
10595  if(aw_time_cnt === max_wr_outstanding_transactions) aw_time_cnt = 0;
10596  end
10597  end // else
10598  end /// always
10599 
10600  // always@(negedge S_RESETN or S_AWID or S_AWADDR or S_AWVALID )
10601  // begin
10602  // if(!S_RESETN)
10603  // aw_time_cnt = 0;
10604  // else begin
10605  // if(S_AWVALID) begin
10606  // awvalid_receive_time[aw_time_cnt] = $time;
10607  // awvalid_flag[aw_time_cnt] = 1'b1;
10608  // aw_time_cnt = aw_time_cnt + 1;
10609  // end
10610  // end // else
10611  // end /// always
10612  /*--------------------------------------------------------------------------------*/
10613  always@(posedge S_ACLK)
10614  begin
10615  if(net_AWVALID && S_AWREADY) begin
10616  if(S_AWQOS === 0) begin awqos[aw_cnt[int_wr_cntr_width-2:0]] = aw_qos;
10617  if(DEBUG_INFO) $display(" afi_slave aw_qos %0h aw_cnt[int_wr_cntr_width-2:0] %0d int_wr_cntr_width %0d",aw_qos,aw_cnt[int_wr_cntr_width-2:0],int_wr_cntr_width);
10618  end else awqos[aw_cnt[int_wr_cntr_width-2:0]] = S_AWQOS;
10619  end
10620  end
10621  /*--------------------------------------------------------------------------------*/
10622 
10623  always@(aw_fifo_full)
10624  begin
10625  if(aw_fifo_full && DEBUG_INFO)
10626  $display("[%0d] : %0s : %0s : Reached the maximum outstanding Write transactions limit (%0d). Blocking all future Write transactions until at least 1 of the outstanding Write transaction has completed.",$time, DISP_INFO, slave_name,max_wr_outstanding_transactions);
10627  end
10628 
10629  /* Address Write Channel handshake*/
10630  always@(negedge S_RESETN or posedge S_ACLK)
10631  begin
10632  if(!S_RESETN) begin
10633  aw_cnt = 0;
10634  end else begin
10635  if(!aw_fifo_full) begin
10636  slv.monitor.axi_wr_cmd_port.get(twc);
10637  // awaddr[aw_cnt[int_wr_cntr_width-2:0]] = twc.addr;
10638  awlen[aw_cnt[int_wr_cntr_width-2:0]] = twc.len;
10639  awsize[aw_cnt[int_wr_cntr_width-2:0]] = twc.size;
10640  awbrst[aw_cnt[int_wr_cntr_width-2:0]] = twc.burst;
10641  awlock[aw_cnt[int_wr_cntr_width-2:0]] = twc.lock;
10642  awcache[aw_cnt[int_wr_cntr_width-2:0]]= twc.cache;
10643  awprot[aw_cnt[int_wr_cntr_width-2:0]] = twc.prot;
10644  awid[aw_cnt[int_wr_cntr_width-2:0]] = twc.id;
10645  aw_flag[aw_cnt[int_wr_cntr_width-2:0]] = 1;
10646  // aw_cnt = aw_cnt + 1;
10647  size_local = twc.size;
10648  burst_local = twc.burst;
10649  len_local = twc.len;
10650  if(burst_local == AXI_INCR || burst_local == AXI_FIXED) begin
10651  if(data_bus_width === 'd128) begin
10652  if(size_local === 'd0) a = {twc.addr[3:0]};
10653  if(size_local === 'd1) a = {twc.addr[3:1],1'b0};
10654  if(size_local === 'd2) a = {twc.addr[3:2],2'b0};
10655  if(size_local === 'd3) a = {twc.addr[3],3'b0};
10656  if(size_local === 'd4) a = 'b0;
10657  end else if(data_bus_width === 'd64 ) begin
10658  if(size_local === 'd0) a = {twc.addr[2:0]};
10659  if(size_local === 'd1) a = {twc.addr[2:1],1'b0};
10660  if(size_local === 'd2) a = {twc.addr[2],2'b0};
10661  if(size_local === 'd3) a = 'b0;
10662  end else if(data_bus_width === 'd32 ) begin
10663  if(size_local === 'd0) a = {twc.addr[1:0]};
10664  if(size_local === 'd1) a = {twc.addr[1],1'b0};
10665  if(size_local === 'd2) a = 'b0;
10666  end
10667  end if(burst_local == AXI_WRAP) begin
10668  if(data_bus_width === 'd128) begin
10669  if(size_local === 'd0) a = {twc.addr[3:0]};
10670  if(size_local === 'd1) a = {twc.addr[3:1],1'b0};
10671  if(size_local === 'd2) a = {twc.addr[3:2],2'b0};
10672  if(size_local === 'd3) a = {twc.addr[3],3'b0};
10673  if(size_local === 'd4) a = 'b0;
10674  end else if(data_bus_width === 'd64 ) begin
10675  if(size_local === 'd0) a = {twc.addr[2:0]};
10676  if(size_local === 'd1) a = {twc.addr[2:1],1'b0};
10677  if(size_local === 'd2) a = {twc.addr[2],2'b0};
10678  if(size_local === 'd3) a = 'b0;
10679  end else if(data_bus_width === 'd32 ) begin
10680  if(size_local === 'd0) a = {twc.addr[1:0]};
10681  if(size_local === 'd1) a = {twc.addr[1],1'b0};
10682  if(size_local === 'd2) a = 'b0;
10683  end
10684  // a = twc.addr[3:0];
10685  a_16_bits = twc.addr[7:0];
10686  num_bytes = ((len_local+1)*(2**size_local));
10687  // $display("num_bytes %0d num_bytes %0h",num_bytes,num_bytes);
10688  end
10689  addr_wr_local = twc.addr;
10690  if(burst_local == AXI_INCR || burst_local == AXI_FIXED) begin
10691  case(size_local)
10692  0 : addr_wr_final = {addr_wr_local};
10693  1 : addr_wr_final = {addr_wr_local[31:1],1'b0};
10694  2 : addr_wr_final = {addr_wr_local[31:2],2'b0};
10695  3 : addr_wr_final = {addr_wr_local[31:3],3'b0};
10696  4 : addr_wr_final = {addr_wr_local[31:4],4'b0};
10697  5 : addr_wr_final = {addr_wr_local[31:5],5'b0};
10698  6 : addr_wr_final = {addr_wr_local[31:6],6'b0};
10699  7 : addr_wr_final = {addr_wr_local[31:7],7'b0};
10700  endcase
10701  awaddr[aw_cnt[int_wr_cntr_width-2:0]] = addr_wr_final;
10702  // $display("addr_wr_final %0h",addr_wr_final);
10703  end if(burst_local == AXI_WRAP) begin
10704  awaddr[aw_cnt[int_wr_cntr_width-2:0]] = twc.addr;
10705  // $display(" awaddr[aw_cnt[int_wr_cntr_width-2:0]] %0h",awaddr[aw_cnt[int_wr_cntr_width-2:0]]);
10706  end
10707  aw_cnt = aw_cnt + 1;
10708  //== $display($time,"awcnt isssss %0d",aw_cnt);
10709  // if(data_bus_width === 'd32) a = 0;
10710  // if(data_bus_width === 'd64) a = twc.addr[2:0];
10711  // if(data_bus_width === 'd128) a = twc.addr[3:0];
10712  // $display("twc.size %0d twc.len %0d twc.addr %0h a value %0h addr_wr_final %0h awaddr[aw_cnt[int_wr_cntr_width-2:0]] %0h",twc.size,twc.len,twc.addr,a,addr_wr_final ,awaddr[aw_cnt[int_wr_cntr_width-2:0]]);
10713  if(aw_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
10714  aw_cnt[int_wr_cntr_width-1] = ~aw_cnt[int_wr_cntr_width-1];
10715  aw_cnt[int_wr_cntr_width-2:0] = 0;
10716  if(DEBUG_INFO) $display($time," In if condition of AFI slave ");
10717 
10718  end
10719  end // if (!aw_fifo_full)
10720  end /// if else
10721  end /// always
10722 
10723 // /*--------------------------------------------------------------------------------*/
10724 // /* Address Write Channel handshake*/
10725 // always@(negedge S_RESETN or posedge S_ACLK)
10726 // begin
10727 // if(!S_RESETN) begin
10728 // aw_cnt = 0;
10729 // wacount = 0;
10730 // end else begin
10731 // if(S_AWVALID && !wrfifo_full(S_AWLEN+1)) begin
10732 // slv.monitor.axi_wr_cmd_port.get(twc);
10733 // awaddr[aw_cnt[int_wr_cntr_width-2:0]] = twc.addr;
10734 // awlen[aw_cnt[int_wr_cntr_width-2:0]] = twc.len;
10735 // awsize[aw_cnt[int_wr_cntr_width-2:0]] = twc.size;
10736 // awbrst[aw_cnt[int_wr_cntr_width-2:0]] = twc.burst;
10737 // awlock[aw_cnt[int_wr_cntr_width-2:0]] = twc.lock;
10738 // awcache[aw_cnt[int_wr_cntr_width-2:0]]= twc.cache;
10739 // awprot[aw_cnt[int_wr_cntr_width-2:0]] = twc.prot;
10740 // awid[aw_cnt[int_wr_cntr_width-2:0]] = twc.id;
10741 // aw_flag[aw_cnt[int_wr_cntr_width-2:0]] = 1;
10742 // aw_cnt = aw_cnt + 1;
10743 // wacount = wacount + 1;
10744 // end // if (!aw_fifo_full)
10745 // end /// if else
10746 // end /// always
10747 // /*--------------------------------------------------------------------------------*/
10748  /* Write Data Channel Handshake */
10749  always@(negedge S_RESETN or posedge S_ACLK)
10750  begin
10751  if(!S_RESETN) begin
10752  wd_cnt = 0;
10753  end else begin
10754  if(!wd_fifo_full && S_WVALID) begin
10755  slv.monitor.axi_wr_beat_port.get(twd);
10756  wait((aw_flag[wd_cnt[int_wr_cntr_width-2:0]] === 'b1));
10757  case(size_local)
10758  0 : add_val = 1;
10759  1 : add_val = 2;
10760  2 : add_val = 4;
10761  3 : add_val = 8;
10762  4 : add_val = 16;
10763  5 : add_val = 32;
10764  6 : add_val = 64;
10765  7 : add_val = 128;
10766  endcase
10767 
10768  // $display(" size_local %0d add_val %0d wd_cnt %0d",size_local,add_val,wd_cnt);
10769 // $display(" data depth : %0d size %0d srrb %0d last %0d burst %0d ",2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]],twd.get_data_size(),twd.get_strb_size(),twd.last,twc.burst);
10770  //$display(" a value is %0d ",a);
10771  // twd.sprint_c();
10772  for(i = 0; i < (2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]); i = i+1) begin
10773  burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8] = twd.data[i+a];
10774  //$display("data burst %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h twd.data %0h i %0d a %0d full data %0h",burst_data[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8))+:8],twd.data[i],twd.data[i+1],twd.data[i+2],twd.data[i+3],twd.data[i+4],twd.data[i+5],twd.data[i+a],i,a,twd.data[i+a]);
10775  //$display(" wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes*8)+(i*8) %0d wd_cnt %0d valid_bytes %0d int_wr_cntr_width %0d", wd_cnt[int_wr_cntr_width-2:0],wd_cnt,valid_bytes,int_wr_cntr_width);
10776  burst_strb[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes)+(i*1))+:1] = twd.strb[i+a];
10777  //$display("burst_strb %0h twd_strb %0h int_wr_cntr_width %0d valid_bytes %0d wd_cnt[int_wr_cntr_width-2:0] %0d twd.strb[i+a] %0b full strb %0h",burst_strb[wd_cnt[int_wr_cntr_width-2:0]][((valid_bytes)+(i*1))+:1],twd.strb[i],int_wr_cntr_width,valid_bytes,wd_cnt[int_wr_cntr_width-2:0],twd.strb[i+a],twd.strb[i+a]);
10778  //$display("burst_strb %0h twd.strb[i+1] %0h twd.strb[i+2] %0h twd.strb[i+3] %0h twd.strb[i+4] %0h twd.strb[i+5] %0h twd.strb[i+6] %0h twd.strb[i+7] %0h",twd.strb[i],twd.strb[i+1],twd.strb[i+1],twd.strb[i+2],twd.strb[i+3],twd.strb[i+4],twd.strb[i+5],twd.strb[i+6],twd.strb[i+7]);
10779 
10780  if(i == ((2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]])-1) ) begin
10781  if(burst_local == AXI_FIXED) begin
10782  a = a;
10783  end else if(burst_local == AXI_INCR) begin
10784  a = a+add_val;
10785  end else if(burst_local == AXI_WRAP) begin
10786  a_new = (a_16_bits/num_bytes)*num_bytes;
10787  a_wrap = a_new + (num_bytes);
10788  a = a+add_val;
10789  a_cnt = a_cnt+1;
10790  a_16_bits = a_16_bits+add_val;
10791  a_wrt_val = a_16_bits;
10792  //$display(" new a value for wrap a %0h add_val %0d a_wrap %0h a_wrt_val %0h a_new %0h num_bytes %0h a_cnt %0d ",a,add_val,a_wrap[3:0],a_wrt_val,a_new,num_bytes,a_cnt);
10793  if(a_wrt_val[15:0] >= a_wrap[15:0]) begin
10794  if(data_bus_width === 'd128)
10795  a = a_new[3:0];
10796  else if(data_bus_width === 'd64)
10797  a = a_new[2:0];
10798  else if(data_bus_width === 'd32)
10799  a = a_new[1:0];
10800  //$display(" setting up a_wrap %0h a_new %0h a %0h", a_wrap,a_new,a);
10801  end else begin
10802  a = a;
10803  //$display(" setting incr a_wrap %0h a_new %0h a %0h", a_wrap,a_new ,a );
10804  end
10805  end
10806  //$display(" new a value a %0h add_val %0d",a,add_val);
10807  end
10808  end
10809  if(burst_local == AXI_INCR) begin
10810  if( a >= (data_bus_width/8) || (burst_local == 0 ) || (twd.last) ) begin
10811  // if( (burst_local == 0 ) || (twd.last) ) begin
10812  a = 0;
10813  //$display("resetting a = %0d ",a);
10814  end
10815  end else if (burst_local == AXI_WRAP) begin
10816  if( ((a >= (data_bus_width/8)) ) || (burst_local == 0 ) || (twd.last) ) begin
10817  a = 0;
10818  //$display("resetting a = %0d ",a);
10819  end
10820  end
10821 
10822  valid_bytes = valid_bytes+(2**awsize[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
10823  //$display("afi_slave valid bytes in valid_bytes %0h",valid_bytes);
10824 
10825  if (twd.last === 'b1) begin
10826  wlast_flag[wd_cnt[int_wr_cntr_width-2:0]] = 1'b1;
10827  burst_valid_bytes[wd_cnt[int_wr_cntr_width-2:0]] = valid_bytes;
10828  valid_bytes = 0;
10829  wd_cnt = wd_cnt + 1;
10830  a = 0;
10831  a_cnt = 0;
10832  // $display(" before match max_wr_outstanding_transactions reached %0d wd_cnt %0d",max_wr_outstanding_transactions,wd_cnt);
10833  if(wd_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
10834  wd_cnt[int_wr_cntr_width-1] = ~wd_cnt[int_wr_cntr_width-1];
10835  wd_cnt[int_wr_cntr_width-2:0] = 0;
10836  // $display(" Now max_wr_outstanding_transactions reached %0d ",max_wr_outstanding_transactions);
10837  end
10838  end
10839  end /// if
10840  end /// else
10841  end /// always
10842 
10843 
10844  /* Align the wrap data for write transaction */
10845  task automatic get_wrap_aligned_wr_data;
10846  output [(data_bus_width*axi_burst_len)-1:0] aligned_data;
10847  output [addr_width-1:0] start_addr; /// aligned start address
10848  input [addr_width-1:0] addr;
10849  input [(data_bus_width*axi_burst_len)-1:0] b_data;
10850  input [max_burst_bytes_width:0] v_bytes;
10851  reg [(data_bus_width*axi_burst_len)-1:0] temp_data, wrp_data;
10852  integer wrp_bytes;
10853  integer i;
10854  begin
10855  start_addr = (addr/v_bytes) * v_bytes;
10856  wrp_bytes = addr - start_addr;
10857  wrp_data = b_data;
10858  temp_data = 0;
10859  wrp_data = wrp_data << ((data_bus_width*axi_burst_len) - (v_bytes*8));
10860  while(wrp_bytes > 0) begin /// get the data that is wrapped
10861  temp_data = temp_data << 8;
10862  temp_data[7:0] = wrp_data[(data_bus_width*axi_burst_len)-1 : (data_bus_width*axi_burst_len)-8];
10863  wrp_data = wrp_data << 8;
10864  wrp_bytes = wrp_bytes - 1;
10865  end
10866  wrp_bytes = addr - start_addr;
10867  wrp_data = b_data << (wrp_bytes*8);
10868 
10869  aligned_data = (temp_data | wrp_data);
10870  end
10871  endtask
10872  /*--------------------------------------------------------------------------------*/
10873  /*--------------------------------------------------------------------------------*/
10874  /* Align the wrap strb for write transaction */
10875  task automatic get_wrap_aligned_wr_strb;
10876  output [((data_bus_width/8)*axi_burst_len)-1:0] aligned_strb;
10877  output [addr_width-1:0] start_addr; /// aligned start address
10878  input [addr_width-1:0] addr;
10879  input [((data_bus_width/8)*axi_burst_len)-1:0] b_strb;
10880  input [max_burst_bytes_width:0] v_bytes;
10881  reg [((data_bus_width/8)*axi_burst_len)-1:0] temp_strb, wrp_strb;
10882  integer wrp_bytes;
10883  integer i;
10884  begin
10885  // $display("addr %0h,b_strb %0h v_bytes %0h",addr,b_strb,v_bytes);
10886  start_addr = (addr/v_bytes) * v_bytes;
10887  // $display("wrap strb start_addr %0h",start_addr);
10888  wrp_bytes = addr - start_addr;
10889  // $display("wrap strb wrp_bytes %0h",wrp_bytes);
10890  wrp_strb = b_strb;
10891  temp_strb = 0;
10892  // $display("wrap strb wrp_strb %0h before shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
10893  // $display("wrap strb wrp_strb %0h before shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
10894  wrp_strb = wrp_strb << (((data_bus_width/8)*axi_burst_len) - (v_bytes));
10895  // $display("wrap wrp_strb %0h after shift value1 %0h value2 %0h",wrp_strb,((data_bus_width/8)*axi_burst_len) ,(v_bytes*4));
10896  while(wrp_bytes > 0) begin /// get the strb that is wrapped
10897  temp_strb = temp_strb << 1;
10898  temp_strb[0] = wrp_strb[((data_bus_width/8)*axi_burst_len) : ((data_bus_width/8)*axi_burst_len)-1];
10899  wrp_strb = wrp_strb << 1;
10900  wrp_bytes = wrp_bytes - 1;
10901  // $display("wrap strb wrp_strb %0h wrp_bytes %0h temp_strb %0h",wrp_strb,wrp_bytes,temp_strb);
10902  end
10903  wrp_bytes = addr - start_addr;
10904  wrp_strb = b_strb << (wrp_bytes);
10905 
10906  aligned_strb = (temp_strb | wrp_strb);
10907  // $display("wrap strb aligned_strb %0h tmep_strb %0h wrp_strb %0h",aligned_strb,temp_strb,wrp_strb);
10908  end
10909  endtask
10910  /*--------------------------------------------------------------------------------*/
10911  /* Calculate the Response for each read/write transaction */
10912  function [axi_rsp_width-1:0] calculate_resp;
10913  input rd_wr; // indicates Read(1) or Write(0) transaction
10914  input [addr_width-1:0] awaddr;
10915  input [axi_prot_width-1:0] awprot;
10916  reg [axi_rsp_width-1:0] rsp;
10917  begin
10918  rsp = AXI_OK;
10919  /* Address Decode */
10920  if(decode_address(awaddr) === INVALID_MEM_TYPE) begin
10921  rsp = AXI_SLV_ERR; //slave error
10922  $display("[%0d] : %0s : %0s : AXI Access to Invalid location(0x%0h) awaddr %0h",$time, DISP_ERR, slave_name, awaddr,awaddr);
10923  end
10924  if(!rd_wr && decode_address(awaddr) === REG_MEM) begin
10925  rsp = AXI_SLV_ERR; //slave error
10926  $display("[%0d] : %0s : %0s : AXI Write to Register Map(0x%0h) is not supported ",$time, DISP_ERR, slave_name, awaddr);
10927  end
10928  if(secure_access_enabled && awprot[1])
10929  rsp = AXI_DEC_ERR; // decode error
10930  calculate_resp = rsp;
10931  end
10932  endfunction
10933  /*--------------------------------------------------------------------------------*/
10934 //
10935 //
10936 // /* Calculate the Response for each read/write transaction */
10937 // function [axi_rsp_width-1:0] calculate_resp;
10938 // input [addr_width-1:0] awaddr;
10939 // input [axi_prot_width-1:0] awprot;
10940 // reg [axi_rsp_width-1:0] rsp;
10941 // begin
10942 // rsp = AXI_OK;
10943 // /* Address Decode */
10944 // if(decode_address(awaddr) === INVALID_MEM_TYPE) begin
10945 // rsp = AXI_SLV_ERR; //slave error
10946 // $display("[%0d] : %0s : %0s : AXI Access to Invalid location(0x%0h) ",$time, DISP_ERR, slave_name, awaddr);
10947 // end
10948 // else if(decode_address(awaddr) === REG_MEM) begin
10949 // rsp = AXI_SLV_ERR; //slave error
10950 // $display("[%0d] : %0s : %0s : AXI Access to Register Map(0x%0h) is not allowed through this port.",$time, DISP_ERR, slave_name, awaddr);
10951 // end
10952 // if(secure_access_enabled && awprot[1])
10953 // rsp = AXI_DEC_ERR; // decode error
10954 // calculate_resp = rsp;
10955 // end
10956 // endfunction
10957  /*--------------------------------------------------------------------------------*/
10958  reg[max_burst_bits-1:0] temp_wr_data;
10959 
10960  /* Store the Write response for each write transaction */
10961  always@(negedge S_RESETN or posedge S_ACLK)
10962  begin
10963  if(!S_RESETN) begin
10964  wr_bresp_cnt = 0;
10965  wr_fifo_wr_ptr = 0;
10966  end else begin
10967  if((wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] === 'b1) && (aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] === 'b1)) begin
10968  // enable_write_bresp <= aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]];
10969  //#0 enable_write_bresp = 'b1;
10970  enable_write_bresp = 'b1;
10971  // $display("%t enable_write_bresp %0d wr_bresp_cnt %0d",$time ,enable_write_bresp,wr_bresp_cnt[int_wr_cntr_width-2:0]);
10972  end
10973  // enable_write_bresp = aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] && wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]];
10974  /* calculate bresp only when AWVALID && WLAST is received */
10975  if(enable_write_bresp) begin
10976  aw_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] = 0;
10977  wlast_flag[wr_bresp_cnt[int_wr_cntr_width-2:0]] = 0;
10978  // $display("awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]] %0h ",awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
10979  bresp = calculate_resp(1'b0, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],awprot[wr_bresp_cnt[int_wr_cntr_width-2:0]]);
10980  fifo_bresp[wr_bresp_cnt[int_wr_cntr_width-2:0]] = {awid[wr_bresp_cnt[int_wr_cntr_width-2:0]],bresp};
10981  /* Fill WR data FIFO */
10982  if(bresp === AXI_OK) begin
10983  if(awbrst[wr_bresp_cnt[int_wr_cntr_width-2:0]] === AXI_WRAP) begin /// wrap type? then align the data
10984  get_wrap_aligned_wr_data(aligned_wr_data,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_data[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]]); /// gives wrapped start address
10985  get_wrap_aligned_wr_strb(aligned_wr_strb,aligned_wr_addr, awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_strb[wr_bresp_cnt[int_wr_cntr_width-2:0]],burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]]); /// gives wrapped start address
10986  end else begin
10987  aligned_wr_data = burst_data[wr_bresp_cnt[int_wr_cntr_width-2:0]];
10988  aligned_wr_addr = awaddr[wr_bresp_cnt[int_wr_cntr_width-2:0]] ;
10989  aligned_wr_strb = burst_strb[wr_bresp_cnt[int_wr_cntr_width-2:0]];
10990  //$display(" got form fifo aligned_wr_addr %0h wr_bresp_cnt[int_wr_cntr_width-2:0]] %0d",aligned_wr_addr,wr_bresp_cnt[int_wr_cntr_width-2:0]);
10991  //$display(" got form fifo aligned_wr_strb %0h wr_bresp_cnt[int_wr_cntr_width-2:0]] %0d",aligned_wr_strb,wr_bresp_cnt[int_wr_cntr_width-2:0]);
10992  end
10993  valid_data_bytes = burst_valid_bytes[wr_bresp_cnt[int_wr_cntr_width-2:0]];
10994  //$display(" afi_slave aligned_wr_strb %0h",aligned_wr_strb);
10995  end else
10996  valid_data_bytes = 0;
10997 
10998  if(awbrst[wr_bresp_cnt[int_wr_cntr_width-2:0]] != AXI_WRAP) begin
10999  // wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {burst_strb[wr_bresp_cnt[int_wr_cntr_width-2:0]],awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
11000  wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {aligned_wr_strb,awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
11001  //$display("afi_slave wr_fifo[wr_fifo_wr_ptr[int_wr_cntyyr_width-2:0]] %0h",wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]]);
11002  end else begin
11003  wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]] = {aligned_wr_strb,awqos[wr_bresp_cnt[int_wr_cntr_width-2:0]], aligned_wr_data, aligned_wr_addr, valid_data_bytes};
11004  //$display("afi_slave wr_fifo[wr_fifo_wr_ptr[int_wr_cntyyr_width-2:0]] %0h",wr_fifo[wr_fifo_wr_ptr[int_wr_cntr_width-2:0]]);
11005  end
11006  wr_fifo_wr_ptr = wr_fifo_wr_ptr + 1;
11007  wr_bresp_cnt = wr_bresp_cnt+1;
11008  enable_write_bresp = 'b0;
11009  if(wr_bresp_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
11010  wr_bresp_cnt[int_wr_cntr_width-1] = ~ wr_bresp_cnt[int_wr_cntr_width-1];
11011  wr_bresp_cnt[int_wr_cntr_width-2:0] = 0;
11012  end
11013  end
11014  end // else
11015  end // always
11016  /*--------------------------------------------------------------------------------*/
11017 
11018 
11019 // /* Store the Write response for each write transaction */
11020 // always@(negedge S_RESETN or posedge S_ACLK)
11021 // begin
11022 // if(!S_RESETN) begin
11023 // wr_fifo_wr_ptr = 0;
11024 // wcount = 0;
11025 // end else begin
11026 // enable_write_bresp = aw_flag[wr_fifo_wr_ptr[int_cntr_width-2:0]] && wlast_flag[wr_fifo_wr_ptr[int_cntr_width-2:0]];
11027 // /* calculate bresp only when AWVALID && WLAST is received */
11028 // if(enable_write_bresp) begin
11029 // aw_flag[wr_fifo_wr_ptr[int_cntr_width-2:0]] = 0;
11030 // wlast_flag[wr_fifo_wr_ptr[int_cntr_width-2:0]] = 0;
11031 //
11032 // bresp = calculate_resp(awaddr[wr_fifo_wr_ptr[int_cntr_width-2:0]], awprot[wr_fifo_wr_ptr[int_cntr_width-2:0]]);
11033 // /* Fill AFI_WR_data FIFO */
11034 // if(bresp === AXI_OK ) begin
11035 // if(awbrst[wr_fifo_wr_ptr[int_cntr_width-2:0]]=== AXI_WRAP) begin /// wrap type? then align the data
11036 // get_wrap_aligned_wr_data(aligned_wr_data, aligned_wr_addr, awaddr[wr_fifo_wr_ptr[int_cntr_width-2:0]], burst_data[wr_fifo_wr_ptr[int_cntr_width-2:0]],burst_valid_bytes[wr_fifo_wr_ptr[int_cntr_width-2:0]]); /// gives wrapped start address
11037 // end else begin
11038 // aligned_wr_data = burst_data[wr_fifo_wr_ptr[int_cntr_width-2:0]];
11039 // aligned_wr_addr = awaddr[wr_fifo_wr_ptr[int_cntr_width-2:0]] ;
11040 // end
11041 // valid_data_bytes = burst_valid_bytes[wr_fifo_wr_ptr[int_cntr_width-2:0]];
11042 // end else
11043 // valid_data_bytes = 0;
11044 // temp_wr_data = aligned_wr_data;
11045 // wr_fifo[wr_fifo_wr_ptr[int_cntr_width-2:0]] = {awqos[wr_fifo_wr_ptr[int_cntr_width-2:0]], awlen[wr_fifo_wr_ptr[int_cntr_width-2:0]], awid[wr_fifo_wr_ptr[int_cntr_width-2:0]], bresp, temp_wr_data, aligned_wr_addr, valid_data_bytes};
11046 // wcount = wcount + awlen[wr_fifo_wr_ptr[int_cntr_width-2:0]]+1;
11047 // wr_fifo_wr_ptr = wr_fifo_wr_ptr + 1;
11048 // end
11049 // end // else
11050 // end // always
11051  /*--------------------------------------------------------------------------------*/
11052 
11053  /* Send Write Response Channel handshake */
11054  always@(negedge S_RESETN or posedge S_ACLK)
11055  begin
11056  if(!S_RESETN) begin
11057  rd_bresp_cnt = 0;
11058  wr_latency_count = get_wr_lat_number(1);
11059  wr_delayed = 0;
11060  bresp_time_cnt = 0;
11061  end else begin
11062  // if(static_count < 32 ) begin
11063  // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
11064  //wready_gen.set_low_time(0);
11065  //wready_gen.set_high_time(1);
11066  // slv.wr_driver.send_wready(wready_gen);
11067  // end
11068  if(awvalid_flag[bresp_time_cnt] && (($realtime - awvalid_receive_time[bresp_time_cnt])/diff_time >= wr_latency_count))
11069  wr_delayed = 1;
11070  if(!bresp_fifo_empty && wr_delayed) begin
11071  slv.wr_driver.get_wr_reactive(twr);
11072  twr.set_id(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-2:0]][rsp_id_msb : rsp_id_lsb]);
11073  case(fifo_bresp[rd_bresp_cnt[int_wr_cntr_width-2:0]][rsp_msb : rsp_lsb])
11074  2'b00: twr.set_bresp(XIL_AXI_RESP_OKAY);
11075  2'b01: twr.set_bresp(XIL_AXI_RESP_EXOKAY);
11076  2'b10: twr.set_bresp(XIL_AXI_RESP_SLVERR);
11077  2'b11: twr.set_bresp(XIL_AXI_RESP_DECERR);
11078  endcase
11079  // if(static_count > 32 ) begin
11080  // // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_SINGLE);
11081  // wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
11082  // // wready_gen.set_low_time(3);
11083  // // wready_gen.set_high_time(3);
11084  // // wready_gen.set_low_time_range(3,6);
11085  // // wready_gen.set_high_time_range(3,6);
11086  // slv.wr_driver.send_wready(wready_gen);
11087  // end
11088  wready_gen.set_ready_policy(XIL_AXI_READY_GEN_NO_BACKPRESSURE);
11089  slv.wr_driver.send_wready(wready_gen);
11090  slv.wr_driver.send(twr);
11091  wr_delayed = 0;
11092  awvalid_flag[bresp_time_cnt] = 1'b0;
11093  bresp_time_cnt = bresp_time_cnt+1;
11094  rd_bresp_cnt = rd_bresp_cnt + 1;
11095  if(rd_bresp_cnt[int_wr_cntr_width-2:0] === (max_wr_outstanding_transactions-1)) begin
11096  rd_bresp_cnt[int_wr_cntr_width-1] = ~ rd_bresp_cnt[int_wr_cntr_width-1];
11097  rd_bresp_cnt[int_wr_cntr_width-2:0] = 0;
11098  end
11099  if(bresp_time_cnt === max_wr_outstanding_transactions) begin
11100  bresp_time_cnt = 0;
11101  end
11102  wr_latency_count = get_wr_lat_number(1);
11103  static_count++;
11104  end
11105  static_count++;
11106  end // else
11107  end//always
11108  /*--------------------------------------------------------------------------------*/
11109 // /* Send Write Response Channel handshake */
11110 // always@(negedge S_RESETN or posedge S_ACLK)
11111 // begin
11112 // if(!S_RESETN) begin
11113 // rd_bresp_cnt = 0;
11114 // wr_latency_count = get_wr_lat_number(1);
11115 // wr_delayed = 0;
11116 // bresp_time_cnt = 0;
11117 // end else begin
11118 // wr_delayed = 1'b0;
11119 // if(awvalid_flag[bresp_time_cnt] && (($time - awvalid_receive_time[bresp_time_cnt])/s_aclk_period >= wr_latency_count))
11120 // wr_delayed = 1;
11121 // if(!bresp_fifo_empty && wr_delayed) begin
11122 // slv.wr_driver.get_wr_reactive(twr);
11123 // twr.set_id(fifo_bresp[rd_bresp_cnt[int_cntr_width-2:0]][rsp_id_msb : rsp_id_lsb]);
11124 // case(fifo_bresp[rd_bresp_cnt[int_cntr_width-2:0]][rsp_msb : rsp_lsb])
11125 // 2'b00: twr.set_bresp(XIL_AXI_RESP_OKAY);
11126 // 2'b01: twr.set_bresp(XIL_AXI_RESP_EXOKAY);
11127 // 2'b10: twr.set_bresp(XIL_AXI_RESP_SLVERR);
11128 // 2'b11: twr.set_bresp(XIL_AXI_RESP_DECERR);
11129 // endcase
11130 // slv.wr_driver.send(twr);
11131 // wr_delayed = 0;
11132 // awvalid_flag[bresp_time_cnt] = 1'b0;
11133 // bresp_time_cnt = bresp_time_cnt+1;
11134 // rd_bresp_cnt = rd_bresp_cnt + 1;
11135 // wr_latency_count = get_wr_lat_number(1);
11136 // end
11137 // end // else
11138 // end//always
11139 // /*--------------------------------------------------------------------------------*/
11140 
11141  /* Write Response Channel handshake */
11142  reg wr_int_state;
11143  /* Reading from the wr_fifo and sending to Interconnect fifo*/
11144  always@(negedge S_RESETN or posedge SW_CLK) begin
11145  if(!S_RESETN) begin
11146  WR_DATA_VALID_DDR = 1'b0;
11147  WR_DATA_VALID_OCM = 1'b0;
11148  //== WR_DATA_STRB = 'b0;
11149  wr_fifo_rd_ptr = 0;
11150  state = SEND_DATA;
11151  WR_QOS = 0;
11152  end else begin
11153  case(state)
11154  SEND_DATA :begin
11155  state = SEND_DATA;
11156  WR_DATA_VALID_OCM = 0;
11157  WR_DATA_VALID_DDR = 0;
11158  if(!wr_fifo_empty) begin
11159  WR_DATA = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_data_msb : wr_data_lsb];
11160  WR_ADDR = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_addr_msb : wr_addr_lsb];
11161  WR_BYTES = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_bytes_msb : wr_bytes_lsb];
11162  WR_QOS = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_qos_msb : wr_qos_lsb];
11163  WR_DATA_STRB = wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_strb_msb : wr_strb_lsb];
11164  //$display(" afi_slave WR_DATA_STRB %0h wr_strb_msb %0d wr_strb_lsb %0d",WR_DATA_STRB,wr_strb_msb,wr_strb_lsb);
11165  state = WAIT_ACK;
11166  case (decode_address(wr_fifo[wr_fifo_rd_ptr[int_wr_cntr_width-2:0]][wr_addr_msb : wr_addr_lsb]))
11167  OCM_MEM : WR_DATA_VALID_OCM = 1;
11168  DDR_MEM : WR_DATA_VALID_DDR = 1;
11169  default : state = SEND_DATA;
11170  endcase
11171  wr_fifo_rd_ptr = wr_fifo_rd_ptr+1;
11172  end
11173  end
11174  WAIT_ACK :begin
11175  state = WAIT_ACK;
11176  if(WR_DATA_ACK_OCM | WR_DATA_ACK_DDR) begin
11177  WR_DATA_VALID_OCM = 1'b0;
11178  WR_DATA_VALID_DDR = 1'b0;
11179  state = SEND_DATA;
11180  end
11181  end
11182  endcase
11183  end
11184 
11185 
11186  end
11187 
11188  // always@(negedge S_RESETN or posedge S_ACLK)
11189  // begin
11190  // if(!S_RESETN) begin
11191  // wr_int_state = 1'b0;
11192  // wr_bresp_cnt = 0;
11193  // wr_fifo_rd_ptr = 0;
11194  // end else begin
11195  // case(wr_int_state)
11196  // 1'b0 : begin
11197  // wr_int_state = 1'b0;
11198  // if(!temp_wr_intr_fifo_full && !bresp_fifo_full && !wr_fifo_empty) begin
11199  // wr_intr_fifo.write_mem({wr_fifo[wr_fifo_rd_ptr[int_cntr_width-2:0]][wr_afi_qos_msb:wr_afi_qos_lsb], wr_fifo[wr_fifo_rd_ptr[int_cntr_width-2:0]][wr_afi_data_msb:wr_afi_bytes_lsb]}); /// qos, data, address and valid_bytes
11200  // wr_int_state = 1'b1;
11201  // /* start filling the write response fifo at the same time */
11202  // fifo_bresp[wr_bresp_cnt[int_cntr_width-2:0]] = wr_fifo[wr_fifo_rd_ptr[int_cntr_width-2:0]][wr_afi_id_msb:wr_afi_rsp_lsb]; // ID and Resp
11203  // wcount = wcount - (wr_fifo[wr_fifo_rd_ptr[int_cntr_width-2:0]][wr_afi_ln_msb:wr_afi_ln_lsb] + 1); /// burst length
11204  // wacount = wacount - 1;
11205  // wr_fifo_rd_ptr = wr_fifo_rd_ptr + 1;
11206  // wr_bresp_cnt = wr_bresp_cnt+1;
11207  // end
11208  // end
11209  // 1'b1 : begin
11210  // wr_int_state = 0;
11211  // end
11212  // endcase
11213  // end
11214  // end
11215  /*--------------------------------------------------------------------------------*/
11216 /*-------------------------------- WRITE HANDSHAKE END ----------------------------------------*/
11217 
11218 /*-------------------------------- READ HANDSHAKE ---------------------------------------------*/
11219 
11220 /* READ CHANNELS */
11221 /* Store the arvalid receive time --- necessary for calculating latency in sending the rresp latency */
11222  reg [7:0] ar_time_cnt = 0,rresp_time_cnt = 0;
11223  real arvalid_receive_time[0:max_rd_outstanding_transactions]; // store the time when a new arvalid is received
11224  reg arvalid_flag[0:max_rd_outstanding_transactions]; // store the time when a new arvalid is received
11225  reg [int_rd_cntr_width-1:0] ar_cnt = 0;// counter for arvalid info
11226 
11227 /* various FIFOs for storing the ADDR channel info */
11228  reg [axi_size_width-1:0] arsize [0:max_rd_outstanding_transactions-1];
11229  reg [axi_prot_width-1:0] arprot [0:max_rd_outstanding_transactions-1];
11230  reg [axi_brst_type_width-1:0] arbrst [0:max_rd_outstanding_transactions-1];
11231  reg [axi_len_width-1:0] arlen [0:max_rd_outstanding_transactions-1];
11232  reg [axi_cache_width-1:0] arcache [0:max_rd_outstanding_transactions-1];
11233  reg [axi_lock_width-1:0] arlock [0:max_rd_outstanding_transactions-1];
11234  reg ar_flag [0:max_rd_outstanding_transactions-1];
11235  reg [addr_width-1:0] araddr [0:max_rd_outstanding_transactions-1];
11236  reg [addr_width-1:0] addr_local;
11237  reg [addr_width-1:0] addr_final;
11238  reg [id_bus_width-1:0] arid [0:max_rd_outstanding_transactions-1];
11239  reg [axi_qos_width-1:0] arqos [0:max_rd_outstanding_transactions-1];
11240  wire ar_fifo_full; // indicates arvalid_fifo is full (max outstanding transactions reached)
11241 
11242  reg [int_rd_cntr_width-1:0] rd_cnt = 0;
11243  reg [int_rd_cntr_width-1:0] trr_rd_cnt = 0;
11244  reg [int_rd_cntr_width-1:0] wr_rresp_cnt = 0;
11245  reg [axi_rsp_width-1:0] rresp;
11246 
11247  reg [rsp_fifo_bits-1:0] fifo_rresp [0:max_rd_outstanding_transactions-1]; // store the ID and its corresponding response
11248  reg enable_write_rresp;
11249 
11250  /* Send Read Response & Data Channel handshake */
11251  integer rd_latency_count;
11252  reg rd_delayed;
11253  reg read_fifo_empty;
11254 
11255  reg [max_burst_bits-1:0] read_fifo [0:max_rd_outstanding_transactions-1]; /// Store only AXI Burst Data ..
11256  // reg [rd_afi_fifo_bits-1:0] read_fifo[0:max_rd_outstanding_transactions-1]; /// Read Burst Data, addr, size, burst, len, RID, RRESP, valid_bytes
11257  reg [int_rd_cntr_width-1:0] rd_fifo_wr_ptr = 0, rd_fifo_rd_ptr = 0;
11258  wire read_fifo_full;
11259 
11260  reg [7:0] rcount;
11261  reg [2:0] racount;
11262 
11263  wire rd_intr_fifo_full, rd_intr_fifo_empty;
11264 
11265  assign read_fifo_full = (rd_fifo_wr_ptr[int_rd_cntr_width-1] !== rd_fifo_rd_ptr[int_rd_cntr_width-1] && rd_fifo_wr_ptr[int_rd_cntr_width-2:0] === rd_fifo_rd_ptr[int_rd_cntr_width-2:0])?1'b1: 1'b0;
11266 
11267  /* signals to communicate with interconnect RD_FIFO model */
11268  reg rd_req, invalid_rd_req;
11269 
11270  /* REad control Info
11271  56:25 : Address (32)
11272  24:22 : Size (3)
11273  21:20 : BRST (2)
11274  19:16 : LEN (4)
11275  15:10 : RID (6)
11276  9:8 : RRSP (2)
11277  7:0 : byte cnt (8)
11278  */
11279  reg [rd_info_bits-1:0] read_control_info;
11280  reg [(data_bus_width*axi_burst_len)-1:0] aligned_rd_data;
11281  reg temp_rd_intr_fifo_empty;
11282 
11283  processing_system7_vip_v1_0_10_intr_rd_mem rd_intr_fifo(SW_CLK, S_RESETN, rd_intr_fifo_full, rd_intr_fifo_empty, rd_req, invalid_rd_req, read_control_info , RD_DATA_OCM, RD_DATA_DDR, RD_DATA_VALID_OCM, RD_DATA_VALID_DDR);
11284 
11285  assign read_fifo_empty = (rd_fifo_wr_ptr === rd_fifo_rd_ptr)?1'b1: 1'b0;
11286  assign ar_fifo_full = ((ar_cnt[int_rd_cntr_width-1] !== rd_cnt[int_rd_cntr_width-1]) && (ar_cnt[int_rd_cntr_width-2:0] === rd_cnt[int_rd_cntr_width-2:0]))?1'b1 :1'b0;
11287  assign S_RCOUNT = rcount;
11288  assign S_RACOUNT = racount;
11289 
11290  /* Register the asynch signal empty coming from Interconnect READ FIFO */
11291  always@(posedge S_ACLK) temp_rd_intr_fifo_empty = rd_intr_fifo_empty;
11292 
11293  // FIFO_STATUS (only if AFI port) 1- full
11294  function automatic rdfifo_full ;
11295  input [axi_len_width:0] fifo_space_exp;
11296  integer fifo_space_left;
11297  begin
11298  fifo_space_left = afi_fifo_locations - rcount;
11299  if(fifo_space_left < fifo_space_exp)
11300  rdfifo_full = 1;
11301  else
11302  rdfifo_full = 0;
11303  end
11304  endfunction
11305 
11306  /* Store the arvalid receive time --- necessary for calculating the bresp latency */
11307  always@(negedge S_RESETN or posedge S_ACLK)
11308  begin
11309  if(!S_RESETN)
11310  ar_time_cnt = 0;
11311  else begin
11312  if(net_ARVALID == 'b1 && S_ARREADY == 'b1) begin
11313  arvalid_receive_time[ar_time_cnt[int_rd_cntr_width-2:0]] = $time;
11314  arvalid_flag[ar_time_cnt[int_rd_cntr_width-2:0]] = 1'b1;
11315  ar_time_cnt = ar_time_cnt + 1;
11316  if((ar_time_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) )
11317  ar_time_cnt[int_rd_cntr_width-1:0] = 0;
11318  end
11319  end // else
11320  end /// always
11321 // /* Store the arvalid receive time --- necessary for calculating the bresp latency */
11322 // always@(negedge S_RESETN or S_ARID or S_ARADDR or S_ARVALID )
11323 // begin
11324 // if(!S_RESETN)
11325 // ar_time_cnt = 0;
11326 // else begin
11327 // if(S_ARVALID) begin
11328 // arvalid_receive_time[ar_time_cnt] = $time;
11329 // arvalid_flag[ar_time_cnt] = 1'b1;
11330 // ar_time_cnt = ar_time_cnt + 1;
11331 // end
11332 // end // else
11333 // end /// always
11334  /*--------------------------------------------------------------------------------*/
11335 
11336  always@(ar_fifo_full)
11337  begin
11338  if(ar_fifo_full && DEBUG_INFO)
11339  $display("[%0d] : %0s : %0s : Reached the maximum outstanding Read transactions limit (%0d). Blocking all future Read transactions until at least 1 of the outstanding Read transaction has completed.",$time, DISP_INFO, slave_name,max_rd_outstanding_transactions);
11340  end
11341  /*--------------------------------------------------------------------------------*/
11342 
11343  always@(posedge S_ACLK)
11344  begin
11345  if(net_ARVALID == 'b1 && S_ARREADY == 'b1) begin
11346  if(S_ARQOS === 0) begin
11347  arqos[ar_cnt[int_rd_cntr_width-2:0]] = ar_qos;
11348  end else begin
11349  arqos[ar_cnt[int_rd_cntr_width-2:0]] = S_ARQOS;
11350  end
11351  end
11352  end
11353 // always@(posedge S_ACLK)
11354 // begin
11355 // if(net_ARVALID && S_ARREADY) begin
11356 // if(S_ARQOS === 0) arqos[ar_cnt[int_rd_cntr_width-2:0]] = ar_qos;
11357 // else arqos[aw_cnt[int_rd_cntr_width-2:0]] = S_ARQOS;
11358 // end
11359 // end
11360 
11361  /* Address Read Channel handshake*/
11362  always@(negedge S_RESETN or posedge S_ACLK)
11363  begin
11364  if(!S_RESETN) begin
11365  ar_cnt = 0;
11366 
11367  end else begin
11368  if(!ar_fifo_full) begin
11369  slv.monitor.axi_rd_cmd_port.get(trc);
11370  // araddr[ar_cnt[int_rd_cntr_width-2:0]] = trc.addr;
11371  arlen[ar_cnt[int_rd_cntr_width-2:0]] = trc.len;
11372  arsize[ar_cnt[int_rd_cntr_width-2:0]] = trc.size;
11373  arbrst[ar_cnt[int_rd_cntr_width-2:0]] = trc.burst;
11374  arlock[ar_cnt[int_rd_cntr_width-2:0]] = trc.lock;
11375  arcache[ar_cnt[int_rd_cntr_width-2:0]]= trc.cache;
11376  arprot[ar_cnt[int_rd_cntr_width-2:0]] = trc.prot;
11377  arid[ar_cnt[int_rd_cntr_width-2:0]] = trc.id;
11378  ar_flag[ar_cnt[int_rd_cntr_width-2:0]] = 1'b1;
11379  size_local = trc.size;
11380  addr_local = trc.addr;
11381  case(size_local)
11382  0 : addr_final = {addr_local};
11383  1 : addr_final = {addr_local[31:1],1'b0};
11384  2 : addr_final = {addr_local[31:2],2'b0};
11385  3 : addr_final = {addr_local[31:3],3'b0};
11386  4 : addr_final = {addr_local[31:4],4'b0};
11387  5 : addr_final = {addr_local[31:5],5'b0};
11388  6 : addr_final = {addr_local[31:6],6'b0};
11389  7 : addr_final = {addr_local[31:7],7'b0};
11390  endcase
11391  araddr[ar_cnt[int_rd_cntr_width-2:0]] = addr_final;
11392  ar_cnt = ar_cnt+1;
11393  if(ar_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
11394  // ar_cnt[int_rd_cntr_width-1] = ~ ar_cnt[int_rd_cntr_width-1];
11395  ar_cnt[int_rd_cntr_width-1:0] = 0;
11396  end
11397  end /// if(!ar_fifo_full)
11398  end /// if else
11399  end /// always*/
11400 
11401 // /* Address Read Channel handshake*/
11402 // always@(negedge S_RESETN or posedge S_ACLK)
11403 // begin
11404 // if(!S_RESETN) begin
11405 // ar_cnt = 0;
11406 // racount = 0;
11407 // end else begin
11408 // if(S_ARVALID && !rdfifo_full(S_ARLEN+1)) begin /// if AFI read fifo is not full
11409 // slv.monitor.axi_rd_cmd_port.get(trc);
11410 // araddr[ar_cnt[int_cntr_width-2:0]] = trc.addr;
11411 // arlen[ar_cnt[int_cntr_width-2:0]] = trc.len;
11412 // arsize[ar_cnt[int_cntr_width-2:0]] = trc.size;
11413 // arbrst[ar_cnt[int_cntr_width-2:0]] = trc.burst;
11414 // arlock[ar_cnt[int_cntr_width-2:0]] = trc.lock;
11415 // arcache[ar_cnt[int_cntr_width-2:0]]= trc.cache;
11416 // arprot[ar_cnt[int_cntr_width-2:0]] = trc.prot;
11417 // arid[ar_cnt[int_cntr_width-2:0]] = trc.id;
11418 // ar_flag[ar_cnt[int_cntr_width-2:0]] = 1'b1;
11419 // ar_cnt = ar_cnt+1;
11420 // racount = racount + 1;
11421 // end /// if(!ar_fifo_full)
11422 // end /// if else
11423 // end /// always*/
11424 
11425  /*--------------------------------------------------------------------------------*/
11426 
11427  /* Align Wrap data for read transaction*/
11428  task automatic get_wrap_aligned_rd_data;
11429  output [(data_bus_width*axi_burst_len)-1:0] aligned_data;
11430  input [addr_width-1:0] addr;
11431  input [(data_bus_width*axi_burst_len)-1:0] b_data;
11432  input [max_burst_bytes_width:0] v_bytes;
11433  reg [addr_width-1:0] start_addr;
11434  reg [(data_bus_width*axi_burst_len)-1:0] temp_data, wrp_data;
11435  integer wrp_bytes;
11436  integer i;
11437  begin
11438  start_addr = (addr/v_bytes) * v_bytes;
11439  wrp_bytes = addr - start_addr;
11440  wrp_data = b_data;
11441  temp_data = 0;
11442  while(wrp_bytes > 0) begin /// get the data that is wrapped
11443  temp_data = temp_data >> 8;
11444  temp_data[(data_bus_width*axi_burst_len)-1 : (data_bus_width*axi_burst_len)-8] = wrp_data[7:0];
11445  wrp_data = wrp_data >> 8;
11446  wrp_bytes = wrp_bytes - 1;
11447  end
11448  temp_data = temp_data >> ((data_bus_width*axi_burst_len) - (v_bytes*8));
11449  wrp_bytes = addr - start_addr;
11450  wrp_data = b_data >> (wrp_bytes*8);
11451 
11452  aligned_data = (temp_data | wrp_data);
11453  end
11454  endtask
11455  /*--------------------------------------------------------------------------------*/
11456 
11457  parameter RD_DATA_REQ = 1'b0, WAIT_RD_VALID = 1'b1;
11458  reg rd_fifo_state;
11459  reg [addr_width-1:0] temp_read_address;
11460  reg [max_burst_bytes_width:0] temp_rd_valid_bytes;
11461  /* get the data from memory && also calculate the rresp*/
11462  /* get the data from memory && also calculate the rresp*/
11463  always@(negedge S_RESETN or posedge SW_CLK)
11464  begin
11465  if(!S_RESETN)begin
11466  rd_fifo_wr_ptr = 0;
11467  wr_rresp_cnt =0;
11468  rd_fifo_state = RD_DATA_REQ;
11469  temp_rd_valid_bytes = 0;
11470  temp_read_address = 0;
11471  RD_REQ_DDR = 0;
11472  RD_REQ_OCM = 0;
11473  // RD_REQ_REG = 0;
11474 
11475  RD_QOS = 0;
11476  invalid_rd_req = 0;
11477  end else begin
11478  case(rd_fifo_state)
11479  RD_DATA_REQ : begin
11480  rd_fifo_state = RD_DATA_REQ;
11481  RD_REQ_DDR = 0;
11482  RD_REQ_OCM = 0;
11483  // RD_REQ_REG = 0;
11484  RD_QOS = 0;
11485  if(ar_flag[wr_rresp_cnt[int_rd_cntr_width-2:0]] && !read_fifo_full) begin
11486  ar_flag[wr_rresp_cnt[int_rd_cntr_width-2:0]] = 0;
11487  rresp = calculate_resp(1'b1, araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]],arprot[wr_rresp_cnt[int_rd_cntr_width-2:0]]);
11488  fifo_rresp[wr_rresp_cnt[int_rd_cntr_width-2:0]] = {arid[wr_rresp_cnt[int_rd_cntr_width-2:0]],rresp};
11489  temp_rd_valid_bytes = (arlen[wr_rresp_cnt[int_rd_cntr_width-2:0]]+1)*(2**arsize[wr_rresp_cnt[int_rd_cntr_width-2:0]]);//data_bus_width/8;
11490 
11491  if(arbrst[wr_rresp_cnt[int_rd_cntr_width-2:0]] === AXI_WRAP) /// wrap begin
11492  temp_read_address = (araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]]/temp_rd_valid_bytes) * temp_rd_valid_bytes;
11493  else
11494  temp_read_address = araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]];
11495 
11496  if(rresp === AXI_OK) begin
11497  case(decode_address(temp_read_address))//decode_address(araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]]);
11498  OCM_MEM : RD_REQ_OCM = 1;
11499  DDR_MEM : RD_REQ_DDR = 1;
11500  // REG_MEM : RD_REQ_REG = 1;
11501  default : invalid_rd_req = 1;
11502  endcase
11503  end else
11504  invalid_rd_req = 1;
11505 
11506  RD_QOS = arqos[wr_rresp_cnt[int_rd_cntr_width-2:0]];
11507  RD_ADDR = temp_read_address; ///araddr[wr_rresp_cnt[int_rd_cntr_width-2:0]];
11508  RD_BYTES = temp_rd_valid_bytes;
11509  rd_fifo_state = WAIT_RD_VALID;
11510 
11511 
11512 
11513 
11514  wr_rresp_cnt = wr_rresp_cnt + 1;
11515  if(wr_rresp_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
11516  // wr_rresp_cnt[int_rd_cntr_width-1] = ~ wr_rresp_cnt[int_rd_cntr_width-1];
11517  wr_rresp_cnt[int_rd_cntr_width-1:0] = 0;
11518  end
11519  end
11520  end
11521  WAIT_RD_VALID : begin
11522  rd_fifo_state = WAIT_RD_VALID;
11523  if(RD_DATA_VALID_OCM | RD_DATA_VALID_DDR | invalid_rd_req) begin ///temp_dec == 2'b11) begin
11524  // if(RD_DATA_VALID_OCM | RD_DATA_VALID_DDR | RD_DATA_VALID_REG | invalid_rd_req) begin ///temp_dec == 2'b11) begin
11525  if(RD_DATA_VALID_DDR)
11526  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = RD_DATA_DDR;
11527  else if(RD_DATA_VALID_OCM)
11528  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = RD_DATA_OCM;
11529  // else if(RD_DATA_VALID_REG)
11530  // read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = RD_DATA_REG;
11531  else
11532  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = 0;
11533  rd_fifo_wr_ptr = rd_fifo_wr_ptr + 1;
11534  RD_REQ_DDR = 0;
11535  RD_REQ_OCM = 0;
11536  // RD_REQ_REG = 0;
11537  RD_QOS = 0;
11538  invalid_rd_req = 0;
11539  rd_fifo_state = RD_DATA_REQ;
11540  end
11541  end
11542  endcase
11543  end /// else
11544  end /// always
11545 
11546  /*--------------------------------------------------------------------------------*/
11547 // always@(negedge S_RESETN or posedge SW_CLK)
11548 // begin
11549 // if(!S_RESETN)begin
11550 // wr_rresp_cnt =0;
11551 // rd_fifo_state = RD_DATA_REQ;
11552 // temp_rd_valid_bytes = 0;
11553 // temp_read_address = 0;
11554 // RD_REQ_DDR = 1'b0;
11555 // RD_REQ_OCM = 1'b0;
11556 // rd_req = 0;
11557 // invalid_rd_req= 0;
11558 // RD_QOS = 0;
11559 // end else begin
11560 // case(rd_fifo_state)
11561 // RD_DATA_REQ : begin
11562 // rd_fifo_state = RD_DATA_REQ;
11563 // RD_REQ_DDR = 1'b0;
11564 // RD_REQ_OCM = 1'b0;
11565 // invalid_rd_req = 0;
11566 // if(ar_flag[wr_rresp_cnt[int_cntr_width-2:0]] && !rd_intr_fifo_full) begin /// check the rd_fifo_bytes, interconnect fifo full condition
11567 // ar_flag[wr_rresp_cnt[int_cntr_width-2:0]] = 0;
11568 // rresp = calculate_resp(araddr[wr_rresp_cnt[int_cntr_width-2:0]],arprot[wr_rresp_cnt[int_cntr_width-2:0]]);
11569 // temp_rd_valid_bytes = (arlen[wr_rresp_cnt[int_cntr_width-2:0]]+1)*(2**arsize[wr_rresp_cnt[int_cntr_width-2:0]]);//data_bus_width/8;
11570 //
11571 // if(arbrst[wr_rresp_cnt[int_cntr_width-2:0]] === AXI_WRAP) /// wrap begin
11572 // temp_read_address = (araddr[wr_rresp_cnt[int_cntr_width-2:0]]/temp_rd_valid_bytes) * temp_rd_valid_bytes;
11573 // else
11574 // temp_read_address = araddr[wr_rresp_cnt[int_cntr_width-2:0]];
11575 //
11576 // if(rresp === AXI_OK) begin
11577 // case(decode_address(temp_read_address))//decode_address(araddr[wr_rresp_cnt[int_cntr_width-2:0]]);
11578 // OCM_MEM : RD_REQ_OCM = 1;
11579 // DDR_MEM : RD_REQ_DDR = 1;
11580 // default : invalid_rd_req = 1;
11581 // endcase
11582 // end else
11583 // invalid_rd_req = 1;
11584 // RD_ADDR = temp_read_address; ///araddr[wr_rresp_cnt[int_cntr_width-2:0]];
11585 // RD_BYTES = temp_rd_valid_bytes;
11586 // RD_QOS = arqos[wr_rresp_cnt[int_cntr_width-2:0]];
11587 // rd_fifo_state = WAIT_RD_VALID;
11588 // rd_req = 1;
11589 // racount = racount - 1;
11590 // read_control_info = {araddr[wr_rresp_cnt[int_cntr_width-2:0]], arsize[wr_rresp_cnt[int_cntr_width-2:0]], arbrst[wr_rresp_cnt[int_cntr_width-2:0]], arlen[wr_rresp_cnt[int_cntr_width-2:0]], arid[wr_rresp_cnt[int_cntr_width-2:0]], rresp, temp_rd_valid_bytes };
11591 // wr_rresp_cnt = wr_rresp_cnt + 1;
11592 // end
11593 // end
11594 // WAIT_RD_VALID : begin
11595 // rd_fifo_state = WAIT_RD_VALID;
11596 // rd_req = 0;
11597 // if(RD_DATA_VALID_OCM | RD_DATA_VALID_DDR | invalid_rd_req) begin ///temp_dec == 2'b11) begin
11598 // RD_REQ_DDR = 1'b0;
11599 // RD_REQ_OCM = 1'b0;
11600 // invalid_rd_req = 0;
11601 // rd_fifo_state = RD_DATA_REQ;
11602 // end
11603 // end
11604 // endcase
11605 // end /// else
11606 // end /// always
11607  /*--------------------------------------------------------------------------------*/
11608 
11609  /* thread to fill in the AFI RD_FIFO */
11610  reg[rd_afi_fifo_bits-1:0] temp_rd_data;//Read Burst Data, addr, size, burst, len, RID, RRESP, valid bytes
11611  reg tmp_state;
11612  always@(negedge S_RESETN or posedge S_ACLK)
11613  begin
11614  if(!S_RESETN)begin
11615  rd_fifo_wr_ptr = 0;
11616  rcount = 0;
11617  tmp_state = 0;
11618  end else begin
11619  case(tmp_state)
11620  0 : begin
11621  tmp_state = 0;
11622  if(!temp_rd_intr_fifo_empty) begin
11623  rd_intr_fifo.read_mem(temp_rd_data);
11624  tmp_state = 1;
11625  end
11626  end
11627  1 : begin
11628  tmp_state = 1;
11629  if(!rdfifo_full(temp_rd_data[rd_afi_ln_msb:rd_afi_ln_lsb]+1)) begin
11630  read_fifo[rd_fifo_wr_ptr[int_rd_cntr_width-2:0]] = temp_rd_data;
11631  rd_fifo_wr_ptr = rd_fifo_wr_ptr + 1;
11632  rcount = rcount + temp_rd_data[rd_afi_ln_msb:rd_afi_ln_lsb]+1; /// Burst length
11633  tmp_state = 0;
11634  end
11635  end
11636  endcase
11637  end
11638  end
11639  /*--------------------------------------------------------------------------------*/
11640 
11641  reg[max_burst_bytes_width:0] rd_v_b;
11642  reg[rd_afi_fifo_bits-1:0] tmp_fifo_rd; /// Data, addr, size, burst, len, RID, RRESP,valid_bytes
11643  reg[(data_bus_width*axi_burst_len)-1:0] temp_read_data;
11644  reg [(data_bus_width*axi_burst_len)-1:0] temp_wrap_data;
11645  reg[(axi_rsp_width*axi_burst_len)-1:0] temp_read_rsp;
11646 
11647  xil_axi_data_beat new_data;
11648  /* Read Data Channel handshake */
11649  //always@(negedge S_RESETN or posedge S_ACLK)
11650  initial begin
11651  forever begin
11652  if(!S_RESETN)begin
11653  // rd_fifo_rd_ptr = 0;
11654  trr_rd_cnt = 0;
11655  // rd_latency_count = get_rd_lat_number(1);
11656  // rd_delayed = 0;
11657  // rresp_time_cnt = 0;
11658  // rd_v_b = 0;
11659  end else begin
11660  //if(net_ARVALID && S_ARREADY)
11661  // trr_rd[trr_rd_cnt] = new("trr_rd[trr_rd_cnt]");
11662  // trr_rd[trr_rd_cnt] = new($psprintf("trr_rd[%0d]",trr_rd_cnt));
11663  slv.rd_driver.get_rd_reactive(trr);
11664  trr_rd.push_back(trr.my_clone());
11665  //$cast(trr_rd[trr_rd_cnt],trr.copy());
11666  // rd_latency_count = get_rd_lat_number(1);
11667  // $display("%m waiting for next transfer trr_rd_cnt %0d trr.size %0d " ,trr_rd_cnt,trr.size);
11668  // $display("%m waiting for next transfer trr_rd_cnt %0d trr_rd[trr_rd_cnt] %0d" ,trr_rd_cnt,trr_rd[trr_rd_cnt].size);
11669  trr_rd_cnt++;
11670  @(posedge S_ACLK);
11671  end
11672  end // forever
11673  end // initial
11674 
11675 
11676  initial begin
11677  if(DEBUG_INFO) $display($time," BEFORE checking line ...... %0d",S_RESETN);
11678  forever begin
11679  if(DEBUG_INFO) $display($time," AFTER checking line ...... %0d",S_RESETN);
11680  if(!S_RESETN)begin
11681  $monitor($time," checking line ......");
11682  rd_fifo_rd_ptr = 0;
11683  rd_cnt = 0;
11684  rd_latency_count = get_rd_lat_number(1);
11685  rd_delayed = 0;
11686  rresp_time_cnt = 0;
11687  rd_v_b = 0;
11688  end else begin
11689  $monitor($time," else checking line ......%0d",S_RESETN);
11690  //if(net_ARVALID && S_ARREADY)
11691  // slv.rd_driver.get_rd_reactive(trr_rd[rresp_time_cnt]);
11692  wait(arvalid_flag[rresp_time_cnt[int_rd_cntr_width-2:0]] == 1);
11693  // while(trr_rd[rresp_time_cnttrr_rd_cnt] == null) begin
11694  // @(posedge S_ACLK);
11695  // end
11696  rd_latency_count = get_rd_lat_number(1);
11697  // $display("%m waiting for element form vip rresp_time_cnt %0d ",rresp_time_cnt);
11698  // while(trr_rd.size()< 0 ) begin
11699  // $display("%m got the element form vip rresp_time_cnt %0d ",rresp_time_cnt);
11700  // @(posedge S_ACLK);
11701  // end
11702  // $display("%m got the element form vip rresp_time_cnt %0d ",rresp_time_cnt);
11703  wait(trr_rd.size() > 0);
11704  trr_get_rd = trr_rd.pop_front();
11705  // $display("%m waiting for next transfer trr_rd_cnt %0d trr_get_rd %0d" ,trr_rd_cnt,trr_get_rd.size);
11706  while ((arvalid_flag[rresp_time_cnt[int_rd_cntr_width-2:0]] == 'b1 )&& ((($realtime - arvalid_receive_time[rresp_time_cnt[int_rd_cntr_width-2:0]])/diff_time) < rd_latency_count)) begin
11707  @(posedge S_ACLK);
11708  end
11709 
11710  //if(arvalid_flag[rresp_time_cnt] && ((($realtime - arvalid_receive_time[rresp_time_cnt])/diff_time) >= rd_latency_count))
11711  rd_delayed = 1;
11712 
11713  if(!read_fifo_empty && rd_delayed)begin
11714  rd_delayed = 0;
11715  arvalid_flag[rresp_time_cnt[int_rd_cntr_width-2:0]] = 1'b0;
11716  rd_v_b = ((arlen[rd_cnt[int_rd_cntr_width-2:0]]+1)*(2**arsize[rd_cnt[int_rd_cntr_width-2:0]]));
11717  temp_read_data = read_fifo[rd_fifo_rd_ptr[int_rd_cntr_width-2:0]];
11718  rd_fifo_rd_ptr = rd_fifo_rd_ptr+1;
11719 
11720  if(arbrst[rd_cnt[int_rd_cntr_width-2:0]]=== AXI_WRAP) begin
11721  get_wrap_aligned_rd_data(temp_wrap_data, araddr[rd_cnt[int_rd_cntr_width-2:0]], temp_read_data, rd_v_b);
11722  temp_read_data = temp_wrap_data;
11723  end
11724  temp_read_rsp = 0;
11725  repeat(axi_burst_len) begin
11726  temp_read_rsp = temp_read_rsp >> axi_rsp_width;
11727  temp_read_rsp[(axi_rsp_width*axi_burst_len)-1:(axi_rsp_width*axi_burst_len)-axi_rsp_width] = fifo_rresp[rd_cnt[int_rd_cntr_width-2:0]][rsp_msb : rsp_lsb];
11728  end
11729  case (arsize[rd_cnt[int_rd_cntr_width-2:0]])
11730  3'b000: trr_get_rd.size = XIL_AXI_SIZE_1BYTE;
11731  3'b001: trr_get_rd.size = XIL_AXI_SIZE_2BYTE;
11732  3'b010: trr_get_rd.size = XIL_AXI_SIZE_4BYTE;
11733  3'b011: trr_get_rd.size = XIL_AXI_SIZE_8BYTE;
11734  3'b100: trr_get_rd.size = XIL_AXI_SIZE_16BYTE;
11735  3'b101: trr_get_rd.size = XIL_AXI_SIZE_32BYTE;
11736  3'b110: trr_get_rd.size = XIL_AXI_SIZE_64BYTE;
11737  3'b111: trr_get_rd.size = XIL_AXI_SIZE_128BYTE;
11738  endcase
11739  trr_get_rd.len = arlen[rd_cnt[int_rd_cntr_width-2:0]];
11740  trr_get_rd.id = (arid[rd_cnt[int_rd_cntr_width-2:0]]);
11741 // trr_get_rd.data = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
11742  trr_get_rd.rresp = new[((2**arsize[rd_cnt[int_rd_cntr_width-2:0]])*(arlen[rd_cnt[int_rd_cntr_width-2:0]]+1))];
11743  for(j = 0; j < (arlen[rd_cnt[int_rd_cntr_width-2:0]]+1); j = j+1) begin
11744  for(k = 0; k < (2**arsize[rd_cnt[int_rd_cntr_width-2:0]]); k = k+1) begin
11745  new_data[(k*8)+:8] = temp_read_data[7:0];
11746  temp_read_data = temp_read_data >> 8;
11747  end
11748  trr_get_rd.set_data_beat(j, new_data);
11749  case(temp_read_rsp[(j*2)+:2])
11750  2'b00: trr_get_rd.rresp[j] = XIL_AXI_RESP_OKAY;
11751  2'b01: trr_get_rd.rresp[j] = XIL_AXI_RESP_EXOKAY;
11752  2'b10: trr_get_rd.rresp[j] = XIL_AXI_RESP_SLVERR;
11753  2'b11: trr_get_rd.rresp[j] = XIL_AXI_RESP_DECERR;
11754  endcase
11755  end
11756  slv.rd_driver.send(trr_get_rd);
11757  rd_cnt = rd_cnt + 1;
11758 
11759  rresp_time_cnt = rresp_time_cnt+1;
11760  if(DEBUG_INFO) $display(" %m current rresp_time_cnt %0d rd_cnt %0d max_rd_outstanding_transactions %0d",rresp_time_cnt,rd_cnt,max_rd_outstanding_transactions);
11761  if(rresp_time_cnt[int_rd_cntr_width-1:0] === max_rd_outstanding_transactions) begin
11762  // rresp_time_cnt[int_rd_cntr_width-1] = ~ rresp_time_cnt[int_rd_cntr_width-1];
11763  rresp_time_cnt[int_rd_cntr_width-1:0] = 0;
11764  if(DEBUG_INFO) $display(" %m resetting rresp_time_cnt %0d max_rd_outstanding_transactions %0d",rresp_time_cnt,max_rd_outstanding_transactions);
11765  end
11766 
11767  if(rd_cnt[int_rd_cntr_width-1:0] === (max_rd_outstanding_transactions)) begin
11768  // rd_cnt[int_rd_cntr_width-1] = ~ rd_cnt[int_rd_cntr_width-1];
11769  rd_cnt[int_rd_cntr_width-1:0] = 0;
11770  if(DEBUG_INFO) $display(" %m resetting rd_cnt %0d max_rd_outstanding_transactions %0d",rd_cnt,max_rd_outstanding_transactions);
11771  end
11772  rd_latency_count = get_rd_lat_number(1);
11773 
11774  end
11775  end /// else
11776  end /// always
11777 end
11778 
11779 
11780 // /* Read Data Channel handshake */
11781 // always@(negedge S_RESETN or posedge S_ACLK)
11782 // begin
11783 // if(!S_RESETN)begin
11784 // rd_fifo_rd_ptr = 0;
11785 // rd_latency_count = get_rd_lat_number(1);
11786 // rd_delayed = 0;
11787 // rresp_time_cnt = 0;
11788 // rd_v_b = 0;
11789 // end else begin
11790 // if(net_ARVALID && S_ARREADY)
11791 // slv.rd_driver.get_rd_reactive(trr);
11792 // if(arvalid_flag[rresp_time_cnt] && ((($time - arvalid_receive_time[rresp_time_cnt])/s_aclk_period) >= rd_latency_count)) begin
11793 // rd_delayed = 1;
11794 // end
11795 // if(!read_fifo_empty && rd_delayed)begin
11796 // rd_delayed = 0;
11797 // arvalid_flag[rresp_time_cnt] = 1'b0;
11798 // tmp_fifo_rd = read_fifo[rd_fifo_rd_ptr[int_cntr_width-2:0]];
11799 // rd_v_b = (tmp_fifo_rd[rd_afi_ln_msb : rd_afi_ln_lsb]+1)*(2**tmp_fifo_rd[rd_afi_siz_msb : rd_afi_siz_lsb]);
11800 // temp_read_data = tmp_fifo_rd[rd_afi_data_msb : rd_afi_data_lsb];
11801 // if(tmp_fifo_rd[rd_afi_brst_msb : rd_afi_brst_lsb] === AXI_WRAP) begin
11802 // get_wrap_aligned_rd_data(aligned_rd_data, tmp_fifo_rd[rd_afi_addr_msb : rd_afi_addr_lsb], tmp_fifo_rd[rd_afi_data_msb : rd_afi_data_lsb], rd_v_b);
11803 // temp_read_data = aligned_rd_data;
11804 // end
11805 // temp_read_rsp = 0;
11806 // repeat(axi_burst_len) begin
11807 // temp_read_rsp = temp_read_rsp >> axi_rsp_width;
11808 // temp_read_rsp[(axi_rsp_width*axi_burst_len)-1:(axi_rsp_width*axi_burst_len)-axi_rsp_width] = tmp_fifo_rd[rd_afi_rsp_msb : rd_afi_rsp_lsb];
11809 // end
11810 // case (tmp_fifo_rd[rd_afi_siz_msb : rd_afi_siz_lsb])
11811 // 3'b000: trr.size = XIL_AXI_SIZE_1BYTE;
11812 // 3'b001: trr.size = XIL_AXI_SIZE_2BYTE;
11813 // 3'b010: trr.size = XIL_AXI_SIZE_4BYTE;
11814 // 3'b011: trr.size = XIL_AXI_SIZE_8BYTE;
11815 // 3'b100: trr.size = XIL_AXI_SIZE_16BYTE;
11816 // 3'b101: trr.size = XIL_AXI_SIZE_32BYTE;
11817 // 3'b110: trr.size = XIL_AXI_SIZE_64BYTE;
11818 // 3'b111: trr.size = XIL_AXI_SIZE_128BYTE;
11819 // endcase
11820 // trr.len = tmp_fifo_rd[rd_afi_ln_msb : rd_afi_ln_lsb];
11821 // trr.id = (tmp_fifo_rd[rd_afi_id_msb : rd_afi_id_lsb]);
11822 // // trr.data = new[((2**tmp_fifo_rd[rd_afi_siz_msb : rd_afi_siz_lsb])*(tmp_fifo_rd[rd_afi_ln_msb : rd_afi_ln_lsb]+1))];
11823 // trr.rresp = new[((2**tmp_fifo_rd[rd_afi_siz_msb : rd_afi_siz_lsb])*(tmp_fifo_rd[rd_afi_ln_msb : rd_afi_ln_lsb]+1))];
11824 // for(j = 0; j < (tmp_fifo_rd[rd_afi_ln_msb : rd_afi_ln_lsb]+1); j = j+1) begin
11825 // for(k = 0; k < (2**tmp_fifo_rd[rd_afi_siz_msb : rd_afi_siz_lsb]); k = k+1) begin
11826 // new_data[(k*8)+:8] = temp_read_data[7:0];
11827 // temp_read_data = temp_read_data >> 8;
11828 // end
11829 // trr.set_data_beat(j, new_data);
11830 // case(temp_read_rsp[(j*2)+:2])
11831 // 2'b00: trr.rresp[j] = XIL_AXI_RESP_OKAY;
11832 // 2'b01: trr.rresp[j] = XIL_AXI_RESP_EXOKAY;
11833 // 2'b10: trr.rresp[j] = XIL_AXI_RESP_SLVERR;
11834 // 2'b11: trr.rresp[j] = XIL_AXI_RESP_DECERR;
11835 // endcase
11836 // end
11837 // // trr.last = 1;
11838 // slv.rd_driver.send(trr);
11839 // rcount = rcount - (tmp_fifo_rd[rd_afi_ln_msb : rd_afi_ln_lsb]+ 1) ;
11840 // rresp_time_cnt = rresp_time_cnt+1;
11841 // rd_latency_count = get_rd_lat_number(1);
11842 // rd_fifo_rd_ptr = rd_fifo_rd_ptr+1;
11843 // end
11844 // end /// else
11845 // end /// always
11846 endmodule
11847 
11848 
11849 /*****************************************************************************
11850  * File : processing_system7_vip_v1_0_10.v
11851  *
11852  * Date : 2012-11
11853  *
11854  * Description : Processing_system7_vip Top (zynq_vip top)
11855  *
11856  *****************************************************************************/
11857  `timescale 1ns/1ps
11858 
11860  (
11861  CAN0_PHY_TX,
11862  CAN0_PHY_RX,
11863  CAN1_PHY_TX,
11864  CAN1_PHY_RX,
11868  ENET0_MDIO_O,
11869  ENET0_MDIO_T,
11878  ENET0_SOF_RX,
11879  ENET0_SOF_TX,
11888  ENET0_MDIO_I,
11893  ENET1_MDIO_O,
11894  ENET1_MDIO_T,
11903  ENET1_SOF_RX,
11904  ENET1_SOF_TX,
11913  ENET1_MDIO_I,
11915  GPIO_I,
11916  GPIO_O,
11917  GPIO_T,
11918  I2C0_SDA_I,
11919  I2C0_SDA_O,
11920  I2C0_SDA_T,
11921  I2C0_SCL_I,
11922  I2C0_SCL_O,
11923  I2C0_SCL_T,
11924  I2C1_SDA_I,
11925  I2C1_SDA_O,
11926  I2C1_SDA_T,
11927  I2C1_SCL_I,
11928  I2C1_SCL_O,
11929  I2C1_SCL_T,
11930  PJTAG_TCK,
11931  PJTAG_TMS,
11932  PJTAG_TD_I,
11933  PJTAG_TD_T,
11934  PJTAG_TD_O,
11935  SDIO0_CLK,
11936  SDIO0_CLK_FB,
11937  SDIO0_CMD_O,
11938  SDIO0_CMD_I,
11939  SDIO0_CMD_T,
11940  SDIO0_DATA_I,
11941  SDIO0_DATA_O,
11942  SDIO0_DATA_T,
11943  SDIO0_LED,
11944  SDIO0_CDN,
11945  SDIO0_WP,
11946  SDIO0_BUSPOW,
11947  SDIO0_BUSVOLT,
11948  SDIO1_CLK,
11949  SDIO1_CLK_FB,
11950  SDIO1_CMD_O,
11951  SDIO1_CMD_I,
11952  SDIO1_CMD_T,
11953  SDIO1_DATA_I,
11954  SDIO1_DATA_O,
11955  SDIO1_DATA_T,
11956  SDIO1_LED,
11957  SDIO1_CDN,
11958  SDIO1_WP,
11959  SDIO1_BUSPOW,
11960  SDIO1_BUSVOLT,
11961  SPI0_SCLK_I,
11962  SPI0_SCLK_O,
11963  SPI0_SCLK_T,
11964  SPI0_MOSI_I,
11965  SPI0_MOSI_O,
11966  SPI0_MOSI_T,
11967  SPI0_MISO_I,
11968  SPI0_MISO_O,
11969  SPI0_MISO_T,
11970  SPI0_SS_I,
11971  SPI0_SS_O,
11972  SPI0_SS1_O,
11973  SPI0_SS2_O,
11974  SPI0_SS_T,
11975  SPI1_SCLK_I,
11976  SPI1_SCLK_O,
11977  SPI1_SCLK_T,
11978  SPI1_MOSI_I,
11979  SPI1_MOSI_O,
11980  SPI1_MOSI_T,
11981  SPI1_MISO_I,
11982  SPI1_MISO_O,
11983  SPI1_MISO_T,
11984  SPI1_SS_I,
11985  SPI1_SS_O,
11986  SPI1_SS1_O,
11987  SPI1_SS2_O,
11988  SPI1_SS_T,
11989  UART0_DTRN,
11990  UART0_RTSN,
11991  UART0_TX,
11992  UART0_CTSN,
11993  UART0_DCDN,
11994  UART0_DSRN,
11995  UART0_RIN,
11996  UART0_RX,
11997  UART1_DTRN,
11998  UART1_RTSN,
11999  UART1_TX,
12000  UART1_CTSN,
12001  UART1_DCDN,
12002  UART1_DSRN,
12003  UART1_RIN,
12004  UART1_RX,
12008  TTC0_CLK0_IN,
12009  TTC0_CLK1_IN,
12010  TTC0_CLK2_IN,
12014  TTC1_CLK0_IN,
12015  TTC1_CLK1_IN,
12016  TTC1_CLK2_IN,
12017  WDT_CLK_IN,
12018  WDT_RST_OUT,
12019  TRACE_CLK,
12020  TRACE_CTL,
12021  TRACE_DATA,
12028  SRAM_INTIN,
12037  M_AXI_GP0_WID,
12063  M_AXI_GP0_BID,
12064  M_AXI_GP0_RID,
12076  M_AXI_GP1_WID,
12102  M_AXI_GP1_BID,
12103  M_AXI_GP1_RID,
12116  S_AXI_GP0_BID,
12117  S_AXI_GP0_RID,
12145  S_AXI_GP0_WID,
12155  S_AXI_GP1_BID,
12156  S_AXI_GP1_RID,
12184  S_AXI_GP1_WID,
12193  S_AXI_ACP_BID,
12194  S_AXI_ACP_RID,
12207  S_AXI_ACP_WID,
12234  S_AXI_HP0_BID,
12235  S_AXI_HP0_RID,
12268  S_AXI_HP0_WID,
12279  S_AXI_HP1_BID,
12280  S_AXI_HP1_RID,
12313  S_AXI_HP1_WID,
12324  S_AXI_HP2_BID,
12325  S_AXI_HP2_RID,
12358  S_AXI_HP2_WID,
12369  S_AXI_HP3_BID,
12370  S_AXI_HP3_RID,
12403  S_AXI_HP3_WID,
12406  DMA0_DATYPE,
12407  DMA0_DAVALID,
12408  DMA0_DRREADY,
12409  DMA0_ACLK,
12410  DMA0_DAREADY,
12411  DMA0_DRLAST,
12412  DMA0_DRVALID,
12413  DMA0_DRTYPE,
12414  DMA1_DATYPE,
12415  DMA1_DAVALID,
12416  DMA1_DRREADY,
12417  DMA1_ACLK,
12418  DMA1_DAREADY,
12419  DMA1_DRLAST,
12420  DMA1_DRVALID,
12421  DMA1_DRTYPE,
12422  DMA2_DATYPE,
12423  DMA2_DAVALID,
12424  DMA2_DRREADY,
12425  DMA2_ACLK,
12426  DMA2_DAREADY,
12427  DMA2_DRLAST,
12428  DMA2_DRVALID,
12429  DMA3_DRVALID,
12430  DMA3_DATYPE,
12431  DMA3_DAVALID,
12432  DMA3_DRREADY,
12433  DMA3_ACLK,
12434  DMA3_DAREADY,
12435  DMA3_DRLAST,
12436  DMA2_DRTYPE,
12437  DMA3_DRTYPE,
12442  FTMT_F2P_TRIG,
12443  FTMT_F2P_TRIGACK,
12445  FTMT_P2F_TRIGACK,
12446  FTMT_P2F_TRIG,
12448  FCLK_CLK3,
12449  FCLK_CLK2,
12450  FCLK_CLK1,
12451  FCLK_CLK0,
12456  FCLK_RESET3_N,
12457  FCLK_RESET2_N,
12458  FCLK_RESET1_N,
12459  FCLK_RESET0_N,
12460  FPGA_IDLE_N,
12461  DDR_ARB,
12462  IRQ_F2P,
12463  Core0_nFIQ,
12464  Core0_nIRQ,
12465  Core1_nFIQ,
12466  Core1_nIRQ,
12467  EVENT_EVENTO,
12470  EVENT_EVENTI,
12471  MIO,
12472  DDR_Clk,
12473  DDR_Clk_n,
12474  DDR_CKE,
12475  DDR_CS_n,
12476  DDR_RAS_n,
12477  DDR_CAS_n,
12478  DDR_WEB,
12479  DDR_BankAddr,
12480  DDR_Addr,
12481  DDR_ODT,
12482  DDR_DRSTB,
12483  DDR_DQ,
12484  DDR_DM,
12485  DDR_DQS,
12486  DDR_DQS_n,
12487  DDR_VRN,
12488  DDR_VRP,
12489  PS_SRSTB,
12490  PS_CLK,
12491  PS_PORB,
12493  IRQ_P2F_DMAC0,
12494  IRQ_P2F_DMAC1,
12495  IRQ_P2F_DMAC2,
12496  IRQ_P2F_DMAC3,
12497  IRQ_P2F_DMAC4,
12498  IRQ_P2F_DMAC5,
12499  IRQ_P2F_DMAC6,
12500  IRQ_P2F_DMAC7,
12501  IRQ_P2F_SMC,
12502  IRQ_P2F_QSPI,
12503  IRQ_P2F_CTI,
12504  IRQ_P2F_GPIO,
12505  IRQ_P2F_USB0,
12506  IRQ_P2F_ENET0,
12508  IRQ_P2F_SDIO0,
12509  IRQ_P2F_I2C0,
12510  IRQ_P2F_SPI0,
12511  IRQ_P2F_UART0,
12512  IRQ_P2F_CAN0,
12513  IRQ_P2F_USB1,
12514  IRQ_P2F_ENET1,
12516  IRQ_P2F_SDIO1,
12517  IRQ_P2F_I2C1,
12518  IRQ_P2F_SPI1,
12519  IRQ_P2F_UART1,
12520  IRQ_P2F_CAN1
12521  );
12522 
12523 
12524  /* parameters for gen_clk */
12525  parameter C_FCLK_CLK0_FREQ = 50;
12526  parameter C_FCLK_CLK1_FREQ = 50;
12527  parameter C_FCLK_CLK3_FREQ = 50;
12528  parameter C_FCLK_CLK2_FREQ = 50;
12529 
12530  parameter C_HIGH_OCM_EN = 0;
12531 
12532 
12533  /* parameters for HP ports */
12534  parameter C_USE_S_AXI_HP0 = 0;
12535  parameter C_USE_S_AXI_HP1 = 0;
12536  parameter C_USE_S_AXI_HP2 = 0;
12537  parameter C_USE_S_AXI_HP3 = 0;
12538 
12539  parameter C_S_AXI_HP0_DATA_WIDTH = 32;
12540  parameter C_S_AXI_HP1_DATA_WIDTH = 32;
12541  parameter C_S_AXI_HP2_DATA_WIDTH = 32;
12542  parameter C_S_AXI_HP3_DATA_WIDTH = 32;
12543 
12544  parameter C_M_AXI_GP0_THREAD_ID_WIDTH = 12;
12545  parameter C_M_AXI_GP1_THREAD_ID_WIDTH = 12;
12546  parameter C_M_AXI_GP0_ENABLE_STATIC_REMAP = 0;
12547  parameter C_M_AXI_GP1_ENABLE_STATIC_REMAP = 0;
12548 
12549 /* Do we need these
12550  parameter C_S_AXI_HP0_ENABLE_HIGHOCM = 0;
12551  parameter C_S_AXI_HP1_ENABLE_HIGHOCM = 0;
12552  parameter C_S_AXI_HP2_ENABLE_HIGHOCM = 0;
12553  parameter C_S_AXI_HP3_ENABLE_HIGHOCM = 0; */
12554 
12555  parameter C_S_AXI_HP0_BASEADDR = 32'h0000_0000;
12556  parameter C_S_AXI_HP1_BASEADDR = 32'h0000_0000;
12557  parameter C_S_AXI_HP2_BASEADDR = 32'h0000_0000;
12558  parameter C_S_AXI_HP3_BASEADDR = 32'h0000_0000;
12559 
12560  parameter C_S_AXI_HP0_HIGHADDR = 32'hFFFF_FFFF;
12561  parameter C_S_AXI_HP1_HIGHADDR = 32'hFFFF_FFFF;
12562  parameter C_S_AXI_HP2_HIGHADDR = 32'hFFFF_FFFF;
12563  parameter C_S_AXI_HP3_HIGHADDR = 32'hFFFF_FFFF;
12564 
12565  /* parameters for GP and ACP ports */
12566  parameter C_USE_M_AXI_GP0 = 0;
12567  parameter C_USE_M_AXI_GP1 = 0;
12568  parameter C_USE_S_AXI_GP0 = 1;
12569  parameter C_USE_S_AXI_GP1 = 1;
12570 
12571  /* Do we need this?
12572  parameter C_M_AXI_GP0_ENABLE_HIGHOCM = 0;
12573  parameter C_M_AXI_GP1_ENABLE_HIGHOCM = 0;
12574  parameter C_S_AXI_GP0_ENABLE_HIGHOCM = 0;
12575  parameter C_S_AXI_GP1_ENABLE_HIGHOCM = 0;
12576 
12577  parameter C_S_AXI_ACP_ENABLE_HIGHOCM = 0;*/
12578 
12579  parameter C_S_AXI_GP0_BASEADDR = 32'h0000_0000;
12580  parameter C_S_AXI_GP1_BASEADDR = 32'h0000_0000;
12581 
12582  parameter C_S_AXI_GP0_HIGHADDR = 32'hFFFF_FFFF;
12583  parameter C_S_AXI_GP1_HIGHADDR = 32'hFFFF_FFFF;
12584 
12585  parameter C_USE_S_AXI_ACP = 1;
12586  parameter C_S_AXI_ACP_BASEADDR = 32'h0000_0000;
12587  parameter C_S_AXI_ACP_HIGHADDR = 32'hFFFF_FFFF;
12588 
12589  `include "processing_system7_vip_v1_0_10_local_params.v"
12590 
12591  output CAN0_PHY_TX;
12592  input CAN0_PHY_RX;
12593  output CAN1_PHY_TX;
12594  input CAN1_PHY_RX;
12595  output ENET0_GMII_TX_EN;
12596  output ENET0_GMII_TX_ER;
12597  output ENET0_MDIO_MDC;
12598  output ENET0_MDIO_O;
12599  output ENET0_MDIO_T;
12600  output ENET0_PTP_DELAY_REQ_RX;
12601  output ENET0_PTP_DELAY_REQ_TX;
12602  output ENET0_PTP_PDELAY_REQ_RX;
12603  output ENET0_PTP_PDELAY_REQ_TX;
12604  output ENET0_PTP_PDELAY_RESP_RX;
12605  output ENET0_PTP_PDELAY_RESP_TX;
12606  output ENET0_PTP_SYNC_FRAME_RX;
12607  output ENET0_PTP_SYNC_FRAME_TX;
12608  output ENET0_SOF_RX;
12609  output ENET0_SOF_TX;
12610  output [7:0] ENET0_GMII_TXD;
12611  input ENET0_GMII_COL;
12612  input ENET0_GMII_CRS;
12613  input ENET0_EXT_INTIN;
12614  input ENET0_GMII_RX_CLK;
12615  input ENET0_GMII_RX_DV;
12616  input ENET0_GMII_RX_ER;
12617  input ENET0_GMII_TX_CLK;
12618  input ENET0_MDIO_I;
12619  input [7:0] ENET0_GMII_RXD;
12620  output ENET1_GMII_TX_EN;
12621  output ENET1_GMII_TX_ER;
12622  output ENET1_MDIO_MDC;
12623  output ENET1_MDIO_O;
12624  output ENET1_MDIO_T;
12625  output ENET1_PTP_DELAY_REQ_RX;
12626  output ENET1_PTP_DELAY_REQ_TX;
12627  output ENET1_PTP_PDELAY_REQ_RX;
12628  output ENET1_PTP_PDELAY_REQ_TX;
12629  output ENET1_PTP_PDELAY_RESP_RX;
12630  output ENET1_PTP_PDELAY_RESP_TX;
12631  output ENET1_PTP_SYNC_FRAME_RX;
12632  output ENET1_PTP_SYNC_FRAME_TX;
12633  output ENET1_SOF_RX;
12634  output ENET1_SOF_TX;
12635  output [7:0] ENET1_GMII_TXD;
12636  input ENET1_GMII_COL;
12637  input ENET1_GMII_CRS;
12638  input ENET1_EXT_INTIN;
12639  input ENET1_GMII_RX_CLK;
12640  input ENET1_GMII_RX_DV;
12641  input ENET1_GMII_RX_ER;
12642  input ENET1_GMII_TX_CLK;
12643  input ENET1_MDIO_I;
12644  input [7:0] ENET1_GMII_RXD;
12645  input [63:0] GPIO_I;
12646  output [63:0] GPIO_O;
12647  output [63:0] GPIO_T;
12648  input I2C0_SDA_I;
12649  output I2C0_SDA_O;
12650  output I2C0_SDA_T;
12651  input I2C0_SCL_I;
12652  output I2C0_SCL_O;
12653  output I2C0_SCL_T;
12654  input I2C1_SDA_I;
12655  output I2C1_SDA_O;
12656  output I2C1_SDA_T;
12657  input I2C1_SCL_I;
12658  output I2C1_SCL_O;
12659  output I2C1_SCL_T;
12660  input PJTAG_TCK;
12661  input PJTAG_TMS;
12662  input PJTAG_TD_I;
12663  output PJTAG_TD_T;
12664  output PJTAG_TD_O;
12665  output SDIO0_CLK;
12666  input SDIO0_CLK_FB;
12667  output SDIO0_CMD_O;
12668  input SDIO0_CMD_I;
12669  output SDIO0_CMD_T;
12670  input [3:0] SDIO0_DATA_I;
12671  output [3:0] SDIO0_DATA_O;
12672  output [3:0] SDIO0_DATA_T;
12673  output SDIO0_LED;
12674  input SDIO0_CDN;
12675  input SDIO0_WP;
12676  output SDIO0_BUSPOW;
12677  output [2:0] SDIO0_BUSVOLT;
12678  output SDIO1_CLK;
12679  input SDIO1_CLK_FB;
12680  output SDIO1_CMD_O;
12681  input SDIO1_CMD_I;
12682  output SDIO1_CMD_T;
12683  input [3:0] SDIO1_DATA_I;
12684  output [3:0] SDIO1_DATA_O;
12685  output [3:0] SDIO1_DATA_T;
12686  output SDIO1_LED;
12687  input SDIO1_CDN;
12688  input SDIO1_WP;
12689  output SDIO1_BUSPOW;
12690  output [2:0] SDIO1_BUSVOLT;
12691  input SPI0_SCLK_I;
12692  output SPI0_SCLK_O;
12693  output SPI0_SCLK_T;
12694  input SPI0_MOSI_I;
12695  output SPI0_MOSI_O;
12696  output SPI0_MOSI_T;
12697  input SPI0_MISO_I;
12698  output SPI0_MISO_O;
12699  output SPI0_MISO_T;
12700  input SPI0_SS_I;
12701  output SPI0_SS_O;
12702  output SPI0_SS1_O;
12703  output SPI0_SS2_O;
12704  output SPI0_SS_T;
12705  input SPI1_SCLK_I;
12706  output SPI1_SCLK_O;
12707  output SPI1_SCLK_T;
12708  input SPI1_MOSI_I;
12709  output SPI1_MOSI_O;
12710  output SPI1_MOSI_T;
12711  input SPI1_MISO_I;
12712  output SPI1_MISO_O;
12713  output SPI1_MISO_T;
12714  input SPI1_SS_I;
12715  output SPI1_SS_O;
12716  output SPI1_SS1_O;
12717  output SPI1_SS2_O;
12718  output SPI1_SS_T;
12719  output UART0_DTRN;
12720  output UART0_RTSN;
12721  output UART0_TX;
12722  input UART0_CTSN;
12723  input UART0_DCDN;
12724  input UART0_DSRN;
12725  input UART0_RIN;
12726  input UART0_RX;
12727  output UART1_DTRN;
12728  output UART1_RTSN;
12729  output UART1_TX;
12730  input UART1_CTSN;
12731  input UART1_DCDN;
12732  input UART1_DSRN;
12733  input UART1_RIN;
12734  input UART1_RX;
12735  output TTC0_WAVE0_OUT;
12736  output TTC0_WAVE1_OUT;
12737  output TTC0_WAVE2_OUT;
12738  input TTC0_CLK0_IN;
12739  input TTC0_CLK1_IN;
12740  input TTC0_CLK2_IN;
12741  output TTC1_WAVE0_OUT;
12742  output TTC1_WAVE1_OUT;
12743  output TTC1_WAVE2_OUT;
12744  input TTC1_CLK0_IN;
12745  input TTC1_CLK1_IN;
12746  input TTC1_CLK2_IN;
12747  input WDT_CLK_IN;
12748  output WDT_RST_OUT;
12749  input TRACE_CLK;
12750  output TRACE_CTL;
12751  output [31:0] TRACE_DATA;
12752  output [1:0] USB0_PORT_INDCTL;
12753  output [1:0] USB1_PORT_INDCTL;
12754  output USB0_VBUS_PWRSELECT;
12755  output USB1_VBUS_PWRSELECT;
12756  input USB0_VBUS_PWRFAULT;
12757  input USB1_VBUS_PWRFAULT;
12758  input SRAM_INTIN;
12759  output M_AXI_GP0_ARVALID;
12760  output M_AXI_GP0_AWVALID;
12761  output M_AXI_GP0_BREADY;
12762  output M_AXI_GP0_RREADY;
12763  output M_AXI_GP0_WLAST;
12764  output M_AXI_GP0_WVALID;
12765  output [C_M_AXI_GP0_THREAD_ID_WIDTH-1:0] M_AXI_GP0_ARID;
12766  output [C_M_AXI_GP0_THREAD_ID_WIDTH-1:0] M_AXI_GP0_AWID;
12767  output [C_M_AXI_GP0_THREAD_ID_WIDTH-1:0] M_AXI_GP0_WID;
12768  output [1:0] M_AXI_GP0_ARBURST;
12769  output [1:0] M_AXI_GP0_ARLOCK;
12770  output [2:0] M_AXI_GP0_ARSIZE;
12771  output [1:0] M_AXI_GP0_AWBURST;
12772  output [1:0] M_AXI_GP0_AWLOCK;
12773  output [2:0] M_AXI_GP0_AWSIZE;
12774  output [2:0] M_AXI_GP0_ARPROT;
12775  output [2:0] M_AXI_GP0_AWPROT;
12776  output [31:0] M_AXI_GP0_ARADDR;
12777  output [31:0] M_AXI_GP0_AWADDR;
12778  output [31:0] M_AXI_GP0_WDATA;
12779  output [3:0] M_AXI_GP0_ARCACHE;
12780  output [3:0] M_AXI_GP0_ARLEN;
12781  output [3:0] M_AXI_GP0_ARQOS;
12782  output [3:0] M_AXI_GP0_AWCACHE;
12783  output [3:0] M_AXI_GP0_AWLEN;
12784  output [3:0] M_AXI_GP0_AWQOS;
12785  output [3:0] M_AXI_GP0_WSTRB;
12786  input M_AXI_GP0_ACLK;
12787  input M_AXI_GP0_ARREADY;
12788  input M_AXI_GP0_AWREADY;
12789  input M_AXI_GP0_BVALID;
12790  input M_AXI_GP0_RLAST;
12791  input M_AXI_GP0_RVALID;
12792  input M_AXI_GP0_WREADY;
12793  input [C_M_AXI_GP0_THREAD_ID_WIDTH-1:0] M_AXI_GP0_BID;
12794  input [C_M_AXI_GP0_THREAD_ID_WIDTH-1:0] M_AXI_GP0_RID;
12795  input [1:0] M_AXI_GP0_BRESP;
12796  input [1:0] M_AXI_GP0_RRESP;
12797  input [31:0] M_AXI_GP0_RDATA;
12798  output M_AXI_GP1_ARVALID;
12799  output M_AXI_GP1_AWVALID;
12800  output M_AXI_GP1_BREADY;
12801  output M_AXI_GP1_RREADY;
12802  output M_AXI_GP1_WLAST;
12803  output M_AXI_GP1_WVALID;
12804  output [C_M_AXI_GP1_THREAD_ID_WIDTH-1:0] M_AXI_GP1_ARID;
12805  output [C_M_AXI_GP1_THREAD_ID_WIDTH-1:0] M_AXI_GP1_AWID;
12806  output [C_M_AXI_GP1_THREAD_ID_WIDTH-1:0] M_AXI_GP1_WID;
12807  output [1:0] M_AXI_GP1_ARBURST;
12808  output [1:0] M_AXI_GP1_ARLOCK;
12809  output [2:0] M_AXI_GP1_ARSIZE;
12810  output [1:0] M_AXI_GP1_AWBURST;
12811  output [1:0] M_AXI_GP1_AWLOCK;
12812  output [2:0] M_AXI_GP1_AWSIZE;
12813  output [2:0] M_AXI_GP1_ARPROT;
12814  output [2:0] M_AXI_GP1_AWPROT;
12815  output [31:0] M_AXI_GP1_ARADDR;
12816  output [31:0] M_AXI_GP1_AWADDR;
12817  output [31:0] M_AXI_GP1_WDATA;
12818  output [3:0] M_AXI_GP1_ARCACHE;
12819  output [3:0] M_AXI_GP1_ARLEN;
12820  output [3:0] M_AXI_GP1_ARQOS;
12821  output [3:0] M_AXI_GP1_AWCACHE;
12822  output [3:0] M_AXI_GP1_AWLEN;
12823  output [3:0] M_AXI_GP1_AWQOS;
12824  output [3:0] M_AXI_GP1_WSTRB;
12825  input M_AXI_GP1_ACLK;
12826  input M_AXI_GP1_ARREADY;
12827  input M_AXI_GP1_AWREADY;
12828  input M_AXI_GP1_BVALID;
12829  input M_AXI_GP1_RLAST;
12830  input M_AXI_GP1_RVALID;
12831  input M_AXI_GP1_WREADY;
12832  input [C_M_AXI_GP1_THREAD_ID_WIDTH-1:0] M_AXI_GP1_BID;
12833  input [C_M_AXI_GP1_THREAD_ID_WIDTH-1:0] M_AXI_GP1_RID;
12834  input [1:0] M_AXI_GP1_BRESP;
12835  input [1:0] M_AXI_GP1_RRESP;
12836  input [31:0] M_AXI_GP1_RDATA;
12837  output S_AXI_GP0_ARREADY;
12838  output S_AXI_GP0_AWREADY;
12839  output S_AXI_GP0_BVALID;
12840  output S_AXI_GP0_RLAST;
12841  output S_AXI_GP0_RVALID;
12842  output S_AXI_GP0_WREADY;
12843  output [1:0] S_AXI_GP0_BRESP;
12844  output [1:0] S_AXI_GP0_RRESP;
12845  output [31:0] S_AXI_GP0_RDATA;
12846  output [5:0] S_AXI_GP0_BID;
12847  output [5:0] S_AXI_GP0_RID;
12848  input S_AXI_GP0_ACLK;
12849  input S_AXI_GP0_ARVALID;
12850  input S_AXI_GP0_AWVALID;
12851  input S_AXI_GP0_BREADY;
12852  input S_AXI_GP0_RREADY;
12853  input S_AXI_GP0_WLAST;
12854  input S_AXI_GP0_WVALID;
12855  input [1:0] S_AXI_GP0_ARBURST;
12856  input [1:0] S_AXI_GP0_ARLOCK;
12857  input [2:0] S_AXI_GP0_ARSIZE;
12858  input [1:0] S_AXI_GP0_AWBURST;
12859  input [1:0] S_AXI_GP0_AWLOCK;
12860  input [2:0] S_AXI_GP0_AWSIZE;
12861  input [2:0] S_AXI_GP0_ARPROT;
12862  input [2:0] S_AXI_GP0_AWPROT;
12863  input [31:0] S_AXI_GP0_ARADDR;
12864  input [31:0] S_AXI_GP0_AWADDR;
12865  input [31:0] S_AXI_GP0_WDATA;
12866  input [3:0] S_AXI_GP0_ARCACHE;
12867  input [3:0] S_AXI_GP0_ARLEN;
12868  input [3:0] S_AXI_GP0_ARQOS;
12869  input [3:0] S_AXI_GP0_AWCACHE;
12870  input [3:0] S_AXI_GP0_AWLEN;
12871  input [3:0] S_AXI_GP0_AWQOS;
12872  input [3:0] S_AXI_GP0_WSTRB;
12873  input [5:0] S_AXI_GP0_ARID;
12874  input [5:0] S_AXI_GP0_AWID;
12875  input [5:0] S_AXI_GP0_WID;
12876  output S_AXI_GP1_ARREADY;
12877  output S_AXI_GP1_AWREADY;
12878  output S_AXI_GP1_BVALID;
12879  output S_AXI_GP1_RLAST;
12880  output S_AXI_GP1_RVALID;
12881  output S_AXI_GP1_WREADY;
12882  output [1:0] S_AXI_GP1_BRESP;
12883  output [1:0] S_AXI_GP1_RRESP;
12884  output [31:0] S_AXI_GP1_RDATA;
12885  output [5:0] S_AXI_GP1_BID;
12886  output [5:0] S_AXI_GP1_RID;
12887  input S_AXI_GP1_ACLK;
12888  input S_AXI_GP1_ARVALID;
12889  input S_AXI_GP1_AWVALID;
12890  input S_AXI_GP1_BREADY;
12891  input S_AXI_GP1_RREADY;
12892  input S_AXI_GP1_WLAST;
12893  input S_AXI_GP1_WVALID;
12894  input [1:0] S_AXI_GP1_ARBURST;
12895  input [1:0] S_AXI_GP1_ARLOCK;
12896  input [2:0] S_AXI_GP1_ARSIZE;
12897  input [1:0] S_AXI_GP1_AWBURST;
12898  input [1:0] S_AXI_GP1_AWLOCK;
12899  input [2:0] S_AXI_GP1_AWSIZE;
12900  input [2:0] S_AXI_GP1_ARPROT;
12901  input [2:0] S_AXI_GP1_AWPROT;
12902  input [31:0] S_AXI_GP1_ARADDR;
12903  input [31:0] S_AXI_GP1_AWADDR;
12904  input [31:0] S_AXI_GP1_WDATA;
12905  input [3:0] S_AXI_GP1_ARCACHE;
12906  input [3:0] S_AXI_GP1_ARLEN;
12907  input [3:0] S_AXI_GP1_ARQOS;
12908  input [3:0] S_AXI_GP1_AWCACHE;
12909  input [3:0] S_AXI_GP1_AWLEN;
12910  input [3:0] S_AXI_GP1_AWQOS;
12911  input [3:0] S_AXI_GP1_WSTRB;
12912  input [5:0] S_AXI_GP1_ARID;
12913  input [5:0] S_AXI_GP1_AWID;
12914  input [5:0] S_AXI_GP1_WID;
12915  output S_AXI_ACP_AWREADY;
12916  output S_AXI_ACP_ARREADY;
12917  output S_AXI_ACP_BVALID;
12918  output S_AXI_ACP_RLAST;
12919  output S_AXI_ACP_RVALID;
12920  output S_AXI_ACP_WREADY;
12921  output [1:0] S_AXI_ACP_BRESP;
12922  output [1:0] S_AXI_ACP_RRESP;
12923  output [2:0] S_AXI_ACP_BID;
12924  output [2:0] S_AXI_ACP_RID;
12925  output [63:0] S_AXI_ACP_RDATA;
12926  input S_AXI_ACP_ACLK;
12927  input S_AXI_ACP_ARVALID;
12928  input S_AXI_ACP_AWVALID;
12929  input S_AXI_ACP_BREADY;
12930  input S_AXI_ACP_RREADY;
12931  input S_AXI_ACP_WLAST;
12932  input S_AXI_ACP_WVALID;
12933  input [2:0] S_AXI_ACP_ARID;
12934  input [2:0] S_AXI_ACP_ARPROT;
12935  input [2:0] S_AXI_ACP_AWID;
12936  input [2:0] S_AXI_ACP_AWPROT;
12937  input [2:0] S_AXI_ACP_WID;
12938  input [31:0] S_AXI_ACP_ARADDR;
12939  input [31:0] S_AXI_ACP_AWADDR;
12940  input [3:0] S_AXI_ACP_ARCACHE;
12941  input [3:0] S_AXI_ACP_ARLEN;
12942  input [3:0] S_AXI_ACP_ARQOS;
12943  input [3:0] S_AXI_ACP_AWCACHE;
12944  input [3:0] S_AXI_ACP_AWLEN;
12945  input [3:0] S_AXI_ACP_AWQOS;
12946  input [1:0] S_AXI_ACP_ARBURST;
12947  input [1:0] S_AXI_ACP_ARLOCK;
12948  input [2:0] S_AXI_ACP_ARSIZE;
12949  input [1:0] S_AXI_ACP_AWBURST;
12950  input [1:0] S_AXI_ACP_AWLOCK;
12951  input [2:0] S_AXI_ACP_AWSIZE;
12952  input [4:0] S_AXI_ACP_ARUSER;
12953  input [4:0] S_AXI_ACP_AWUSER;
12954  input [63:0] S_AXI_ACP_WDATA;
12955  input [7:0] S_AXI_ACP_WSTRB;
12956  output S_AXI_HP0_ARREADY;
12957  output S_AXI_HP0_AWREADY;
12958  output S_AXI_HP0_BVALID;
12959  output S_AXI_HP0_RLAST;
12960  output S_AXI_HP0_RVALID;
12961  output S_AXI_HP0_WREADY;
12962  output [1:0] S_AXI_HP0_BRESP;
12963  output [1:0] S_AXI_HP0_RRESP;
12964  output [5:0] S_AXI_HP0_BID;
12965  output [5:0] S_AXI_HP0_RID;
12966  output [C_S_AXI_HP0_DATA_WIDTH-1:0] S_AXI_HP0_RDATA;
12967  output [7:0] S_AXI_HP0_RCOUNT;
12968  output [7:0] S_AXI_HP0_WCOUNT;
12969  output [2:0] S_AXI_HP0_RACOUNT;
12970  output [5:0] S_AXI_HP0_WACOUNT;
12971  input S_AXI_HP0_ACLK;
12972  input S_AXI_HP0_ARVALID;
12973  input S_AXI_HP0_AWVALID;
12974  input S_AXI_HP0_BREADY;
12976  input S_AXI_HP0_RREADY;
12977  input S_AXI_HP0_WLAST;
12979  input S_AXI_HP0_WVALID;
12980  input [1:0] S_AXI_HP0_ARBURST;
12981  input [1:0] S_AXI_HP0_ARLOCK;
12982  input [2:0] S_AXI_HP0_ARSIZE;
12983  input [1:0] S_AXI_HP0_AWBURST;
12984  input [1:0] S_AXI_HP0_AWLOCK;
12985  input [2:0] S_AXI_HP0_AWSIZE;
12986  input [2:0] S_AXI_HP0_ARPROT;
12987  input [2:0] S_AXI_HP0_AWPROT;
12988  input [31:0] S_AXI_HP0_ARADDR;
12989  input [31:0] S_AXI_HP0_AWADDR;
12990  input [3:0] S_AXI_HP0_ARCACHE;
12991  input [3:0] S_AXI_HP0_ARLEN;
12992  input [3:0] S_AXI_HP0_ARQOS;
12993  input [3:0] S_AXI_HP0_AWCACHE;
12994  input [3:0] S_AXI_HP0_AWLEN;
12995  input [3:0] S_AXI_HP0_AWQOS;
12996  input [5:0] S_AXI_HP0_ARID;
12997  input [5:0] S_AXI_HP0_AWID;
12998  input [5:0] S_AXI_HP0_WID;
12999  input [C_S_AXI_HP0_DATA_WIDTH-1:0] S_AXI_HP0_WDATA;
13000  input [C_S_AXI_HP0_DATA_WIDTH/8-1:0] S_AXI_HP0_WSTRB;
13001  output S_AXI_HP1_ARREADY;
13002  output S_AXI_HP1_AWREADY;
13003  output S_AXI_HP1_BVALID;
13004  output S_AXI_HP1_RLAST;
13005  output S_AXI_HP1_RVALID;
13006  output S_AXI_HP1_WREADY;
13007  output [1:0] S_AXI_HP1_BRESP;
13008  output [1:0] S_AXI_HP1_RRESP;
13009  output [5:0] S_AXI_HP1_BID;
13010  output [5:0] S_AXI_HP1_RID;
13011  output [C_S_AXI_HP1_DATA_WIDTH-1:0] S_AXI_HP1_RDATA;
13012  output [7:0] S_AXI_HP1_RCOUNT;
13013  output [7:0] S_AXI_HP1_WCOUNT;
13014  output [2:0] S_AXI_HP1_RACOUNT;
13015  output [5:0] S_AXI_HP1_WACOUNT;
13016  input S_AXI_HP1_ACLK;
13017  input S_AXI_HP1_ARVALID;
13018  input S_AXI_HP1_AWVALID;
13019  input S_AXI_HP1_BREADY;
13021  input S_AXI_HP1_RREADY;
13022  input S_AXI_HP1_WLAST;
13024  input S_AXI_HP1_WVALID;
13025  input [1:0] S_AXI_HP1_ARBURST;
13026  input [1:0] S_AXI_HP1_ARLOCK;
13027  input [2:0] S_AXI_HP1_ARSIZE;
13028  input [1:0] S_AXI_HP1_AWBURST;
13029  input [1:0] S_AXI_HP1_AWLOCK;
13030  input [2:0] S_AXI_HP1_AWSIZE;
13031  input [2:0] S_AXI_HP1_ARPROT;
13032  input [2:0] S_AXI_HP1_AWPROT;
13033  input [31:0] S_AXI_HP1_ARADDR;
13034  input [31:0] S_AXI_HP1_AWADDR;
13035  input [3:0] S_AXI_HP1_ARCACHE;
13036  input [3:0] S_AXI_HP1_ARLEN;
13037  input [3:0] S_AXI_HP1_ARQOS;
13038  input [3:0] S_AXI_HP1_AWCACHE;
13039  input [3:0] S_AXI_HP1_AWLEN;
13040  input [3:0] S_AXI_HP1_AWQOS;
13041  input [5:0] S_AXI_HP1_ARID;
13042  input [5:0] S_AXI_HP1_AWID;
13043  input [5:0] S_AXI_HP1_WID;
13044  input [C_S_AXI_HP1_DATA_WIDTH-1:0] S_AXI_HP1_WDATA;
13045  input [C_S_AXI_HP1_DATA_WIDTH/8-1:0] S_AXI_HP1_WSTRB;
13046  output S_AXI_HP2_ARREADY;
13047  output S_AXI_HP2_AWREADY;
13048  output S_AXI_HP2_BVALID;
13049  output S_AXI_HP2_RLAST;
13050  output S_AXI_HP2_RVALID;
13051  output S_AXI_HP2_WREADY;
13052  output [1:0] S_AXI_HP2_BRESP;
13053  output [1:0] S_AXI_HP2_RRESP;
13054  output [5:0] S_AXI_HP2_BID;
13055  output [5:0] S_AXI_HP2_RID;
13056  output [C_S_AXI_HP2_DATA_WIDTH-1:0] S_AXI_HP2_RDATA;
13057  output [7:0] S_AXI_HP2_RCOUNT;
13058  output [7:0] S_AXI_HP2_WCOUNT;
13059  output [2:0] S_AXI_HP2_RACOUNT;
13060  output [5:0] S_AXI_HP2_WACOUNT;
13061  input S_AXI_HP2_ACLK;
13062  input S_AXI_HP2_ARVALID;
13063  input S_AXI_HP2_AWVALID;
13064  input S_AXI_HP2_BREADY;
13066  input S_AXI_HP2_RREADY;
13067  input S_AXI_HP2_WLAST;
13069  input S_AXI_HP2_WVALID;
13070  input [1:0] S_AXI_HP2_ARBURST;
13071  input [1:0] S_AXI_HP2_ARLOCK;
13072  input [2:0] S_AXI_HP2_ARSIZE;
13073  input [1:0] S_AXI_HP2_AWBURST;
13074  input [1:0] S_AXI_HP2_AWLOCK;
13075  input [2:0] S_AXI_HP2_AWSIZE;
13076  input [2:0] S_AXI_HP2_ARPROT;
13077  input [2:0] S_AXI_HP2_AWPROT;
13078  input [31:0] S_AXI_HP2_ARADDR;
13079  input [31:0] S_AXI_HP2_AWADDR;
13080  input [3:0] S_AXI_HP2_ARCACHE;
13081  input [3:0] S_AXI_HP2_ARLEN;
13082  input [3:0] S_AXI_HP2_ARQOS;
13083  input [3:0] S_AXI_HP2_AWCACHE;
13084  input [3:0] S_AXI_HP2_AWLEN;
13085  input [3:0] S_AXI_HP2_AWQOS;
13086  input [5:0] S_AXI_HP2_ARID;
13087  input [5:0] S_AXI_HP2_AWID;
13088  input [5:0] S_AXI_HP2_WID;
13089  input [C_S_AXI_HP2_DATA_WIDTH-1:0] S_AXI_HP2_WDATA;
13090  input [C_S_AXI_HP2_DATA_WIDTH/8-1:0] S_AXI_HP2_WSTRB;
13091  output S_AXI_HP3_ARREADY;
13092  output S_AXI_HP3_AWREADY;
13093  output S_AXI_HP3_BVALID;
13094  output S_AXI_HP3_RLAST;
13095  output S_AXI_HP3_RVALID;
13096  output S_AXI_HP3_WREADY;
13097  output [1:0] S_AXI_HP3_BRESP;
13098  output [1:0] S_AXI_HP3_RRESP;
13099  output [5:0] S_AXI_HP3_BID;
13100  output [5:0] S_AXI_HP3_RID;
13101  output [C_S_AXI_HP3_DATA_WIDTH-1:0] S_AXI_HP3_RDATA;
13102  output [7:0] S_AXI_HP3_RCOUNT;
13103  output [7:0] S_AXI_HP3_WCOUNT;
13104  output [2:0] S_AXI_HP3_RACOUNT;
13105  output [5:0] S_AXI_HP3_WACOUNT;
13106  input S_AXI_HP3_ACLK;
13107  input S_AXI_HP3_ARVALID;
13108  input S_AXI_HP3_AWVALID;
13109  input S_AXI_HP3_BREADY;
13111  input S_AXI_HP3_RREADY;
13112  input S_AXI_HP3_WLAST;
13114  input S_AXI_HP3_WVALID;
13115  input [1:0] S_AXI_HP3_ARBURST;
13116  input [1:0] S_AXI_HP3_ARLOCK;
13117  input [2:0] S_AXI_HP3_ARSIZE;
13118  input [1:0] S_AXI_HP3_AWBURST;
13119  input [1:0] S_AXI_HP3_AWLOCK;
13120  input [2:0] S_AXI_HP3_AWSIZE;
13121  input [2:0] S_AXI_HP3_ARPROT;
13122  input [2:0] S_AXI_HP3_AWPROT;
13123  input [31:0] S_AXI_HP3_ARADDR;
13124  input [31:0] S_AXI_HP3_AWADDR;
13125  input [3:0] S_AXI_HP3_ARCACHE;
13126  input [3:0] S_AXI_HP3_ARLEN;
13127  input [3:0] S_AXI_HP3_ARQOS;
13128  input [3:0] S_AXI_HP3_AWCACHE;
13129  input [3:0] S_AXI_HP3_AWLEN;
13130  input [3:0] S_AXI_HP3_AWQOS;
13131  input [5:0] S_AXI_HP3_ARID;
13132  input [5:0] S_AXI_HP3_AWID;
13133  input [5:0] S_AXI_HP3_WID;
13134  input [C_S_AXI_HP3_DATA_WIDTH-1:0] S_AXI_HP3_WDATA;
13135  input [C_S_AXI_HP3_DATA_WIDTH/8-1:0] S_AXI_HP3_WSTRB;
13136  output [1:0] DMA0_DATYPE;
13137  output DMA0_DAVALID;
13138  output DMA0_DRREADY;
13139  input DMA0_ACLK;
13140  input DMA0_DAREADY;
13141  input DMA0_DRLAST;
13142  input DMA0_DRVALID;
13143  input [1:0] DMA0_DRTYPE;
13144  output [1:0] DMA1_DATYPE;
13145  output DMA1_DAVALID;
13146  output DMA1_DRREADY;
13147  input DMA1_ACLK;
13148  input DMA1_DAREADY;
13149  input DMA1_DRLAST;
13150  input DMA1_DRVALID;
13151  input [1:0] DMA1_DRTYPE;
13152  output [1:0] DMA2_DATYPE;
13153  output DMA2_DAVALID;
13154  output DMA2_DRREADY;
13155  input DMA2_ACLK;
13156  input DMA2_DAREADY;
13157  input DMA2_DRLAST;
13158  input DMA2_DRVALID;
13159  input DMA3_DRVALID;
13160  output [1:0] DMA3_DATYPE;
13161  output DMA3_DAVALID;
13162  output DMA3_DRREADY;
13163  input DMA3_ACLK;
13164  input DMA3_DAREADY;
13165  input DMA3_DRLAST;
13166  input [1:0] DMA2_DRTYPE;
13167  input [1:0] DMA3_DRTYPE;
13168  input [31:0] FTMD_TRACEIN_DATA;
13169  input FTMD_TRACEIN_VALID;
13170  input FTMD_TRACEIN_CLK;
13171  input [3:0] FTMD_TRACEIN_ATID;
13172  input [3:0] FTMT_F2P_TRIG;
13173  output [3:0] FTMT_F2P_TRIGACK;
13174  input [31:0] FTMT_F2P_DEBUG;
13175  input [3:0] FTMT_P2F_TRIGACK;
13176  output [3:0] FTMT_P2F_TRIG;
13177  output [31:0] FTMT_P2F_DEBUG;
13178  output FCLK_CLK3;
13179  output FCLK_CLK2;
13180  output FCLK_CLK1;
13181  output FCLK_CLK0;
13182  input FCLK_CLKTRIG3_N;
13183  input FCLK_CLKTRIG2_N;
13184  input FCLK_CLKTRIG1_N;
13185  input FCLK_CLKTRIG0_N;
13186  output FCLK_RESET3_N;
13187  output FCLK_RESET2_N;
13188  output FCLK_RESET1_N;
13189  output FCLK_RESET0_N;
13190  input FPGA_IDLE_N;
13191  input [3:0] DDR_ARB;
13192  input [irq_width-1:0] IRQ_F2P;
13193  input Core0_nFIQ;
13194  input Core0_nIRQ;
13195  input Core1_nFIQ;
13196  input Core1_nIRQ;
13197  output EVENT_EVENTO;
13198  output [1:0] EVENT_STANDBYWFE;
13199  output [1:0] EVENT_STANDBYWFI;
13200  input EVENT_EVENTI;
13201  inout [53:0] MIO;
13202  inout DDR_Clk;
13203  inout DDR_Clk_n;
13204  inout DDR_CKE;
13205  inout DDR_CS_n;
13206  inout DDR_RAS_n;
13207  inout DDR_CAS_n;
13208  output DDR_WEB;
13209  inout [2:0] DDR_BankAddr;
13210  inout [14:0] DDR_Addr;
13211  inout DDR_ODT;
13212  inout DDR_DRSTB;
13213  inout [31:0] DDR_DQ;
13214  inout [3:0] DDR_DM;
13215  inout [3:0] DDR_DQS;
13216  inout [3:0] DDR_DQS_n;
13217  inout DDR_VRN;
13218  inout DDR_VRP;
13219 /* Reset Input & Clock Input */
13220  input PS_SRSTB;
13221  input PS_CLK;
13222  input PS_PORB;
13223  output IRQ_P2F_DMAC_ABORT;
13224  output IRQ_P2F_DMAC0;
13225  output IRQ_P2F_DMAC1;
13226  output IRQ_P2F_DMAC2;
13227  output IRQ_P2F_DMAC3;
13228  output IRQ_P2F_DMAC4;
13229  output IRQ_P2F_DMAC5;
13230  output IRQ_P2F_DMAC6;
13231  output IRQ_P2F_DMAC7;
13232  output IRQ_P2F_SMC;
13233  output IRQ_P2F_QSPI;
13234  output IRQ_P2F_CTI;
13235  output IRQ_P2F_GPIO;
13236  output IRQ_P2F_USB0;
13237  output IRQ_P2F_ENET0;
13238  output IRQ_P2F_ENET_WAKE0;
13239  output IRQ_P2F_SDIO0;
13240  output IRQ_P2F_I2C0;
13241  output IRQ_P2F_SPI0;
13242  output IRQ_P2F_UART0;
13243  output IRQ_P2F_CAN0;
13244  output IRQ_P2F_USB1;
13245  output IRQ_P2F_ENET1;
13246  output IRQ_P2F_ENET_WAKE1;
13247  output IRQ_P2F_SDIO1;
13248  output IRQ_P2F_I2C1;
13249  output IRQ_P2F_SPI1;
13250  output IRQ_P2F_UART1;
13251  output IRQ_P2F_CAN1;
13252 
13253 
13254  /* Internal wires/nets used for connectivity */
13255  wire net_rstn;
13256  wire net_sw_clk;
13257  wire net_ocm_clk;
13258  wire net_arbiter_clk;
13259 
13260  wire net_axi_mgp0_rstn;
13261  wire net_axi_mgp1_rstn;
13262  wire net_axi_gp0_rstn;
13263  wire net_axi_gp1_rstn;
13264  wire net_axi_hp0_rstn;
13265  wire net_axi_hp1_rstn;
13266  wire net_axi_hp2_rstn;
13267  wire net_axi_hp3_rstn;
13268  wire net_axi_acp_rstn;
13269  wire [4:0] net_axi_acp_awuser;
13270  wire [4:0] net_axi_acp_aruser;
13271 
13272 
13273  /* Dummy */
13274  assign net_axi_acp_awuser = S_AXI_ACP_AWUSER;
13275  assign net_axi_acp_aruser = S_AXI_ACP_ARUSER;
13276 
13277  /* Global variables */
13278  reg DEBUG_INFO = 1;
13279  reg STOP_ON_ERROR = 1;
13280 
13281  /* local variable acting as semaphore for wait_mem_update and wait_reg_update task */
13282  reg mem_update_key = 1;
13283  reg reg_update_key_0 = 1;
13284  reg reg_update_key_1 = 1;
13285 
13286  /* assignments and semantic checks for unused ports */
13287  `include "processing_system7_vip_v1_0_10_unused_ports.v"
13288 
13289  /* include api definition */
13290  `include "processing_system7_vip_v1_0_10_apis.v"
13291 
13292  /* Reset Generator */
13294  .sys_rst_n(PS_SRSTB),
13295  .rst_out_n(net_rstn),
13296 
13297  .m_axi_gp0_clk(M_AXI_GP0_ACLK),
13298  .m_axi_gp1_clk(M_AXI_GP1_ACLK),
13299  .s_axi_gp0_clk(S_AXI_GP0_ACLK),
13300  .s_axi_gp1_clk(S_AXI_GP1_ACLK),
13301  .s_axi_hp0_clk(S_AXI_HP0_ACLK),
13302  .s_axi_hp1_clk(S_AXI_HP1_ACLK),
13303  .s_axi_hp2_clk(S_AXI_HP2_ACLK),
13304  .s_axi_hp3_clk(S_AXI_HP3_ACLK),
13305  .s_axi_acp_clk(S_AXI_ACP_ACLK),
13306 
13307  .m_axi_gp0_rstn(net_axi_mgp0_rstn),
13308  .m_axi_gp1_rstn(net_axi_mgp1_rstn),
13309  .s_axi_gp0_rstn(net_axi_gp0_rstn),
13310  .s_axi_gp1_rstn(net_axi_gp1_rstn),
13311  .s_axi_hp0_rstn(net_axi_hp0_rstn),
13312  .s_axi_hp1_rstn(net_axi_hp1_rstn),
13313  .s_axi_hp2_rstn(net_axi_hp2_rstn),
13314  .s_axi_hp3_rstn(net_axi_hp3_rstn),
13315  .s_axi_acp_rstn(net_axi_acp_rstn),
13316 
13317  .fclk_reset3_n(FCLK_RESET3_N),
13318  .fclk_reset2_n(FCLK_RESET2_N),
13319  .fclk_reset1_n(FCLK_RESET1_N),
13320  .fclk_reset0_n(FCLK_RESET0_N),
13321 
13322  .fpga_acp_reset_n(), ////S_AXI_ACP_ARESETN), (These are removed from Zynq IP)
13323  .fpga_gp_m0_reset_n(), ////M_AXI_GP0_ARESETN),
13324  .fpga_gp_m1_reset_n(), ////M_AXI_GP1_ARESETN),
13325  .fpga_gp_s0_reset_n(), ////S_AXI_GP0_ARESETN),
13326  .fpga_gp_s1_reset_n(), ////S_AXI_GP1_ARESETN),
13327  .fpga_hp_s0_reset_n(), ////S_AXI_HP0_ARESETN),
13328  .fpga_hp_s1_reset_n(), ////S_AXI_HP1_ARESETN),
13329  .fpga_hp_s2_reset_n(), ////S_AXI_HP2_ARESETN),
13330  .fpga_hp_s3_reset_n() ////S_AXI_HP3_ARESETN)
13331  );
13332 
13333  /* Clock Generator */
13334  processing_system7_vip_v1_0_10_gen_clock #(C_FCLK_CLK3_FREQ, C_FCLK_CLK2_FREQ, C_FCLK_CLK1_FREQ, C_FCLK_CLK0_FREQ)
13335  gen_clk(.ps_clk(PS_CLK),
13336  .sw_clk(net_sw_clk),
13337 
13338  .fclk_clk3(FCLK_CLK3),
13339  .fclk_clk2(FCLK_CLK2),
13340  .fclk_clk1(FCLK_CLK1),
13341  .fclk_clk0(FCLK_CLK0)
13342  );
13343 
13344  wire net_wr_ack_ocm_gp0, net_wr_ack_ddr_gp0, net_wr_ack_ocm_gp1, net_wr_ack_ddr_gp1;
13345  wire net_wr_dv_ocm_gp0, net_wr_dv_ddr_gp0, net_wr_dv_ocm_gp1, net_wr_dv_ddr_gp1;
13346  wire [max_burst_bits-1:0] net_wr_data_gp0, net_wr_data_gp1;
13347  wire [max_burst_bytes-1:0] net_wr_strb_gp0, net_wr_strb_gp1;
13348  wire [addr_width-1:0] net_wr_addr_gp0, net_wr_addr_gp1;
13349  wire [max_burst_bytes_width:0] net_wr_bytes_gp0, net_wr_bytes_gp1;
13350  wire [axi_qos_width-1:0] net_wr_qos_gp0, net_wr_qos_gp1;
13351 
13352  wire net_rd_req_ddr_gp0, net_rd_req_ddr_gp1;
13353  wire net_rd_req_ocm_gp0, net_rd_req_ocm_gp1;
13354  wire net_rd_req_reg_gp0, net_rd_req_reg_gp1;
13355  wire [addr_width-1:0] net_rd_addr_gp0, net_rd_addr_gp1;
13356  wire [max_burst_bytes_width:0] net_rd_bytes_gp0, net_rd_bytes_gp1;
13357  wire [max_burst_bits-1:0] net_rd_data_ddr_gp0, net_rd_data_ddr_gp1;
13358  wire [max_burst_bits-1:0] net_rd_data_ocm_gp0, net_rd_data_ocm_gp1;
13359  wire [max_burst_bits-1:0] net_rd_data_reg_gp0, net_rd_data_reg_gp1;
13360  wire net_rd_dv_ddr_gp0, net_rd_dv_ddr_gp1;
13361  wire net_rd_dv_ocm_gp0, net_rd_dv_ocm_gp1;
13362  wire net_rd_dv_reg_gp0, net_rd_dv_reg_gp1;
13363  wire [axi_qos_width-1:0] net_rd_qos_gp0, net_rd_qos_gp1;
13364 
13365  wire net_wr_ack_ddr_hp0, net_wr_ack_ddr_hp1, net_wr_ack_ddr_hp2, net_wr_ack_ddr_hp3;
13366  wire net_wr_ack_ocm_hp0, net_wr_ack_ocm_hp1, net_wr_ack_ocm_hp2, net_wr_ack_ocm_hp3;
13367  wire net_wr_dv_ddr_hp0, net_wr_dv_ddr_hp1, net_wr_dv_ddr_hp2, net_wr_dv_ddr_hp3;
13368  wire net_wr_dv_ocm_hp0, net_wr_dv_ocm_hp1, net_wr_dv_ocm_hp2, net_wr_dv_ocm_hp3;
13369  wire [max_burst_bits-1:0] net_wr_data_hp0, net_wr_data_hp1, net_wr_data_hp2, net_wr_data_hp3;
13370  wire [max_burst_bytes-1:0] net_wr_strb_hp0, net_wr_strb_hp1, net_wr_strb_hp2, net_wr_strb_hp3;
13371  wire [addr_width-1:0] net_wr_addr_hp0, net_wr_addr_hp1, net_wr_addr_hp2, net_wr_addr_hp3;
13372  wire [max_burst_bytes_width:0] net_wr_bytes_hp0, net_wr_bytes_hp1, net_wr_bytes_hp2, net_wr_bytes_hp3;
13373  wire [axi_qos_width-1:0] net_wr_qos_hp0, net_wr_qos_hp1, net_wr_qos_hp2, net_wr_qos_hp3;
13374 
13375  wire net_rd_req_ddr_hp0, net_rd_req_ddr_hp1, net_rd_req_ddr_hp2, net_rd_req_ddr_hp3;
13376  wire net_rd_req_ocm_hp0, net_rd_req_ocm_hp1, net_rd_req_ocm_hp2, net_rd_req_ocm_hp3;
13377  wire [addr_width-1:0] net_rd_addr_hp0, net_rd_addr_hp1, net_rd_addr_hp2, net_rd_addr_hp3;
13378  wire [max_burst_bytes_width:0] net_rd_bytes_hp0, net_rd_bytes_hp1, net_rd_bytes_hp2, net_rd_bytes_hp3;
13379  wire [max_burst_bits-1:0] net_rd_data_ddr_hp0, net_rd_data_ddr_hp1, net_rd_data_ddr_hp2, net_rd_data_ddr_hp3;
13380  wire [max_burst_bits-1:0] net_rd_data_ocm_hp0, net_rd_data_ocm_hp1, net_rd_data_ocm_hp2, net_rd_data_ocm_hp3;
13381  wire net_rd_dv_ddr_hp0, net_rd_dv_ddr_hp1, net_rd_dv_ddr_hp2, net_rd_dv_ddr_hp3;
13382  wire net_rd_dv_ocm_hp0, net_rd_dv_ocm_hp1, net_rd_dv_ocm_hp2, net_rd_dv_ocm_hp3;
13383  wire [axi_qos_width-1:0] net_rd_qos_hp0, net_rd_qos_hp1, net_rd_qos_hp2, net_rd_qos_hp3;
13384 
13385  wire net_wr_ack_ddr_acp,net_wr_ack_ocm_acp;
13386  wire net_wr_dv_ddr_acp,net_wr_dv_ocm_acp;
13387  wire [max_burst_bits-1:0] net_wr_data_acp;
13388  wire [max_burst_bytes-1:0] net_wr_strb_acp;
13389  wire [addr_width-1:0] net_wr_addr_acp;
13390  wire [max_burst_bytes_width:0] net_wr_bytes_acp;
13391  wire [axi_qos_width-1:0] net_wr_qos_acp;
13392 
13393  wire net_rd_req_ddr_acp, net_rd_req_ocm_acp;
13394  wire [addr_width-1:0] net_rd_addr_acp;
13395  wire [max_burst_bytes_width:0] net_rd_bytes_acp;
13396  wire [max_burst_bits-1:0] net_rd_data_ddr_acp;
13397  wire [max_burst_bits-1:0] net_rd_data_ocm_acp;
13398  wire net_rd_dv_ddr_acp,net_rd_dv_ocm_acp;
13399  wire [axi_qos_width-1:0] net_rd_qos_acp;
13400 
13401  wire ocm_wr_ack_port0;
13402  wire ocm_wr_dv_port0;
13403  wire ocm_rd_req_port0;
13404  wire ocm_rd_dv_port0;
13405  wire [addr_width-1:0] ocm_wr_addr_port0;
13406  wire [max_burst_bits-1:0] ocm_wr_data_port0;
13407  wire [max_burst_bytes-1:0] ocm_wr_strb_port0;
13408  wire [max_burst_bytes_width:0] ocm_wr_bytes_port0;
13409  wire [addr_width-1:0] ocm_rd_addr_port0;
13410  wire [max_burst_bits-1:0] ocm_rd_data_port0;
13411  wire [max_burst_bytes_width:0] ocm_rd_bytes_port0;
13412  wire [axi_qos_width-1:0] ocm_wr_qos_port0;
13413  wire [axi_qos_width-1:0] ocm_rd_qos_port0;
13414 
13415  wire ocm_wr_ack_port1;
13416  wire ocm_wr_dv_port1;
13417  wire ocm_rd_req_port1;
13418  wire ocm_rd_dv_port1;
13419  wire [addr_width-1:0] ocm_wr_addr_port1;
13420  wire [max_burst_bits-1:0] ocm_wr_data_port1;
13421  wire [max_burst_bytes-1:0] ocm_wr_strb_port1;
13422  wire [max_burst_bytes_width:0] ocm_wr_bytes_port1;
13423  wire [addr_width-1:0] ocm_rd_addr_port1;
13424  wire [max_burst_bits-1:0] ocm_rd_data_port1;
13425  wire [max_burst_bytes_width:0] ocm_rd_bytes_port1;
13426  wire [axi_qos_width-1:0] ocm_wr_qos_port1;
13427  wire [axi_qos_width-1:0] ocm_rd_qos_port1;
13428 
13429  wire ddr_wr_ack_port0;
13430  wire ddr_wr_dv_port0;
13431  wire ddr_rd_req_port0;
13432  wire ddr_rd_dv_port0;
13433  wire[addr_width-1:0] ddr_wr_addr_port0;
13434  wire[max_burst_bits-1:0] ddr_wr_data_port0;
13435  wire[max_burst_bytes-1:0] ddr_wr_strb_port0;
13436  wire[max_burst_bytes_width:0] ddr_wr_bytes_port0;
13437  wire[addr_width-1:0] ddr_rd_addr_port0;
13438  wire[max_burst_bits-1:0] ddr_rd_data_port0;
13439  wire[max_burst_bytes_width:0] ddr_rd_bytes_port0;
13440  wire [axi_qos_width-1:0] ddr_wr_qos_port0;
13441  wire [axi_qos_width-1:0] ddr_rd_qos_port0;
13442 
13443  wire ddr_wr_ack_port1;
13444  wire ddr_wr_dv_port1;
13445  wire ddr_rd_req_port1;
13446  wire ddr_rd_dv_port1;
13447  wire[addr_width-1:0] ddr_wr_addr_port1;
13448  wire[max_burst_bits-1:0] ddr_wr_data_port1;
13449  wire[max_burst_bytes-1:0] ddr_wr_strb_port1;
13450  wire[max_burst_bytes_width:0] ddr_wr_bytes_port1;
13451  wire[addr_width-1:0] ddr_rd_addr_port1;
13452  wire[max_burst_bits-1:0] ddr_rd_data_port1;
13453  wire[max_burst_bytes_width:0] ddr_rd_bytes_port1;
13454  wire[axi_qos_width-1:0] ddr_wr_qos_port1;
13455  wire[axi_qos_width-1:0] ddr_rd_qos_port1;
13456 
13457  wire ddr_wr_ack_port2;
13458  wire ddr_wr_dv_port2;
13459  wire ddr_rd_req_port2;
13460  wire ddr_rd_dv_port2;
13461  wire[addr_width-1:0] ddr_wr_addr_port2;
13462  wire[max_burst_bits-1:0] ddr_wr_data_port2;
13463  wire[max_burst_bytes-1:0] ddr_wr_strb_port2;
13464  wire[max_burst_bytes_width:0] ddr_wr_bytes_port2;
13465  wire[addr_width-1:0] ddr_rd_addr_port2;
13466  wire[max_burst_bits-1:0] ddr_rd_data_port2;
13467  wire[max_burst_bytes_width:0] ddr_rd_bytes_port2;
13468  wire[axi_qos_width-1:0] ddr_wr_qos_port2;
13469  wire[axi_qos_width-1:0] ddr_rd_qos_port2;
13470 
13471  wire ddr_wr_ack_port3;
13472  wire ddr_wr_dv_port3;
13473  wire ddr_rd_req_port3;
13474  wire ddr_rd_dv_port3;
13475  wire[addr_width-1:0] ddr_wr_addr_port3;
13476  wire[max_burst_bits-1:0] ddr_wr_data_port3;
13477  wire[max_burst_bytes-1:0] ddr_wr_strb_port3;
13478  wire[max_burst_bytes_width:0] ddr_wr_bytes_port3;
13479  wire[addr_width-1:0] ddr_rd_addr_port3;
13480  wire[max_burst_bits-1:0] ddr_rd_data_port3;
13481  wire[max_burst_bytes_width:0] ddr_rd_bytes_port3;
13482  wire[axi_qos_width-1:0] ddr_wr_qos_port3;
13483  wire[axi_qos_width-1:0] ddr_rd_qos_port3;
13484 
13485  wire reg_rd_req_port0;
13486  wire reg_rd_dv_port0;
13487  wire[addr_width-1:0] reg_rd_addr_port0;
13488  wire[max_burst_bits-1:0] reg_rd_data_port0;
13489  wire[max_burst_bytes_width:0] reg_rd_bytes_port0;
13490  wire [axi_qos_width-1:0] reg_rd_qos_port0;
13491 
13492  wire reg_rd_req_port1;
13493  wire reg_rd_dv_port1;
13494  wire[addr_width-1:0] reg_rd_addr_port1;
13495  wire[max_burst_bits-1:0] reg_rd_data_port1;
13496  wire[max_burst_bytes_width:0] reg_rd_bytes_port1;
13497  wire [axi_qos_width-1:0] reg_rd_qos_port1;
13498 
13499  wire [11:0] M_AXI_GP0_AWID_FULL;
13500  wire [11:0] M_AXI_GP0_WID_FULL;
13501  wire [11:0] M_AXI_GP0_ARID_FULL;
13502 
13503  wire [11:0] M_AXI_GP0_BID_FULL;
13504  wire [11:0] M_AXI_GP0_RID_FULL;
13505 
13506  wire [11:0] M_AXI_GP1_AWID_FULL;
13507  wire [11:0] M_AXI_GP1_WID_FULL;
13508  wire [11:0] M_AXI_GP1_ARID_FULL;
13509 
13510  wire [11:0] M_AXI_GP1_BID_FULL;
13511  wire [11:0] M_AXI_GP1_RID_FULL;
13512 
13513 
13514  function [5:0] compress_id;
13515  input [11:0] id;
13516  begin
13517  compress_id = id[5:0];
13518  end
13519  endfunction
13520 
13521  function [11:0] uncompress_id;
13522  input [5:0] id;
13523  begin
13524  uncompress_id = {6'b110000, id[5:0]};
13525  end
13526  endfunction
13527 
13528  assign M_AXI_GP0_AWID = (C_M_AXI_GP0_ENABLE_STATIC_REMAP == 1) ? compress_id(M_AXI_GP0_AWID_FULL) : M_AXI_GP0_AWID_FULL;
13529  assign M_AXI_GP0_WID = (C_M_AXI_GP0_ENABLE_STATIC_REMAP == 1) ? compress_id(M_AXI_GP0_WID_FULL) : M_AXI_GP0_WID_FULL;
13530  assign M_AXI_GP0_ARID = (C_M_AXI_GP0_ENABLE_STATIC_REMAP == 1) ? compress_id(M_AXI_GP0_ARID_FULL) : M_AXI_GP0_ARID_FULL;
13531  assign M_AXI_GP0_BID_FULL = (C_M_AXI_GP0_ENABLE_STATIC_REMAP == 1) ? uncompress_id(M_AXI_GP0_BID) : M_AXI_GP0_BID;
13532  assign M_AXI_GP0_RID_FULL = (C_M_AXI_GP0_ENABLE_STATIC_REMAP == 1) ? uncompress_id(M_AXI_GP0_RID) : M_AXI_GP0_RID;
13533 
13534 
13535  assign M_AXI_GP1_AWID = (C_M_AXI_GP1_ENABLE_STATIC_REMAP == 1) ? compress_id(M_AXI_GP1_AWID_FULL) : M_AXI_GP1_AWID_FULL;
13536  assign M_AXI_GP1_WID = (C_M_AXI_GP1_ENABLE_STATIC_REMAP == 1) ? compress_id(M_AXI_GP1_WID_FULL) : M_AXI_GP1_WID_FULL;
13537  assign M_AXI_GP1_ARID = (C_M_AXI_GP1_ENABLE_STATIC_REMAP == 1) ? compress_id(M_AXI_GP1_ARID_FULL) : M_AXI_GP1_ARID_FULL;
13538  assign M_AXI_GP1_BID_FULL = (C_M_AXI_GP1_ENABLE_STATIC_REMAP == 1) ? uncompress_id(M_AXI_GP1_BID) : M_AXI_GP1_BID;
13539  assign M_AXI_GP1_RID_FULL = (C_M_AXI_GP1_ENABLE_STATIC_REMAP == 1) ? uncompress_id(M_AXI_GP1_RID) : M_AXI_GP1_RID;
13540 
13541 
13542 
13543 
13544  processing_system7_vip_v1_0_10_interconnect_model icm (
13545  .rstn(net_rstn),
13546  .sw_clk(net_sw_clk),
13547 
13548  .w_qos_gp0(net_wr_qos_gp0),
13549  .w_qos_gp1(net_wr_qos_gp1),
13550  .w_qos_hp0(net_wr_qos_hp0),
13551  .w_qos_hp1(net_wr_qos_hp1),
13552  .w_qos_hp2(net_wr_qos_hp2),
13553  .w_qos_hp3(net_wr_qos_hp3),
13554 
13555  .r_qos_gp0(net_rd_qos_gp0),
13556  .r_qos_gp1(net_rd_qos_gp1),
13557  .r_qos_hp0(net_rd_qos_hp0),
13558  .r_qos_hp1(net_rd_qos_hp1),
13559  .r_qos_hp2(net_rd_qos_hp2),
13560  .r_qos_hp3(net_rd_qos_hp3),
13561 
13562  /* GP Slave ports access */
13563  .wr_ack_ddr_gp0(net_wr_ack_ddr_gp0),
13564  .wr_ack_ocm_gp0(net_wr_ack_ocm_gp0),
13565  .wr_data_gp0(net_wr_data_gp0),
13566  .wr_strb_gp0(net_wr_strb_gp0),
13567  .wr_addr_gp0(net_wr_addr_gp0),
13568  .wr_bytes_gp0(net_wr_bytes_gp0),
13569  .wr_dv_ddr_gp0(net_wr_dv_ddr_gp0),
13570  .wr_dv_ocm_gp0(net_wr_dv_ocm_gp0),
13571  .rd_req_ddr_gp0(net_rd_req_ddr_gp0),
13572  .rd_req_ocm_gp0(net_rd_req_ocm_gp0),
13573  .rd_req_reg_gp0(net_rd_req_reg_gp0),
13574  .rd_addr_gp0(net_rd_addr_gp0),
13575  .rd_bytes_gp0(net_rd_bytes_gp0),
13576  .rd_data_ddr_gp0(net_rd_data_ddr_gp0),
13577  .rd_data_ocm_gp0(net_rd_data_ocm_gp0),
13578  .rd_data_reg_gp0(net_rd_data_reg_gp0),
13579  .rd_dv_ddr_gp0(net_rd_dv_ddr_gp0),
13580  .rd_dv_ocm_gp0(net_rd_dv_ocm_gp0),
13581  .rd_dv_reg_gp0(net_rd_dv_reg_gp0),
13582 
13583  .wr_ack_ddr_gp1(net_wr_ack_ddr_gp1),
13584  .wr_ack_ocm_gp1(net_wr_ack_ocm_gp1),
13585  .wr_data_gp1(net_wr_data_gp1),
13586  .wr_strb_gp1(net_wr_strb_gp1),
13587  .wr_addr_gp1(net_wr_addr_gp1),
13588  .wr_bytes_gp1(net_wr_bytes_gp1),
13589  .wr_dv_ddr_gp1(net_wr_dv_ddr_gp1),
13590  .wr_dv_ocm_gp1(net_wr_dv_ocm_gp1),
13591  .rd_req_ddr_gp1(net_rd_req_ddr_gp1),
13592  .rd_req_ocm_gp1(net_rd_req_ocm_gp1),
13593  .rd_req_reg_gp1(net_rd_req_reg_gp1),
13594  .rd_addr_gp1(net_rd_addr_gp1),
13595  .rd_bytes_gp1(net_rd_bytes_gp1),
13596  .rd_data_ddr_gp1(net_rd_data_ddr_gp1),
13597  .rd_data_ocm_gp1(net_rd_data_ocm_gp1),
13598  .rd_data_reg_gp1(net_rd_data_reg_gp1),
13599  .rd_dv_ddr_gp1(net_rd_dv_ddr_gp1),
13600  .rd_dv_ocm_gp1(net_rd_dv_ocm_gp1),
13601  .rd_dv_reg_gp1(net_rd_dv_reg_gp1),
13602 
13603  /* HP Slave ports access */
13604  .wr_ack_ddr_hp0(net_wr_ack_ddr_hp0),
13605  .wr_ack_ocm_hp0(net_wr_ack_ocm_hp0),
13606  .wr_data_hp0(net_wr_data_hp0),
13607  .wr_strb_hp0(net_wr_strb_hp0),
13608  .wr_addr_hp0(net_wr_addr_hp0),
13609  .wr_bytes_hp0(net_wr_bytes_hp0),
13610  .wr_dv_ddr_hp0(net_wr_dv_ddr_hp0),
13611  .wr_dv_ocm_hp0(net_wr_dv_ocm_hp0),
13612  .rd_req_ddr_hp0(net_rd_req_ddr_hp0),
13613  .rd_req_ocm_hp0(net_rd_req_ocm_hp0),
13614  .rd_addr_hp0(net_rd_addr_hp0),
13615  .rd_bytes_hp0(net_rd_bytes_hp0),
13616  .rd_data_ddr_hp0(net_rd_data_ddr_hp0),
13617  .rd_data_ocm_hp0(net_rd_data_ocm_hp0),
13618  .rd_dv_ddr_hp0(net_rd_dv_ddr_hp0),
13619  .rd_dv_ocm_hp0(net_rd_dv_ocm_hp0),
13620 
13621  .wr_ack_ddr_hp1(net_wr_ack_ddr_hp1),
13622  .wr_ack_ocm_hp1(net_wr_ack_ocm_hp1),
13623  .wr_data_hp1(net_wr_data_hp1),
13624  .wr_strb_hp1(net_wr_strb_hp1),
13625  .wr_addr_hp1(net_wr_addr_hp1),
13626  .wr_bytes_hp1(net_wr_bytes_hp1),
13627  .wr_dv_ddr_hp1(net_wr_dv_ddr_hp1),
13628  .wr_dv_ocm_hp1(net_wr_dv_ocm_hp1),
13629  .rd_req_ddr_hp1(net_rd_req_ddr_hp1),
13630  .rd_req_ocm_hp1(net_rd_req_ocm_hp1),
13631  .rd_addr_hp1(net_rd_addr_hp1),
13632  .rd_bytes_hp1(net_rd_bytes_hp1),
13633  .rd_data_ddr_hp1(net_rd_data_ddr_hp1),
13634  .rd_data_ocm_hp1(net_rd_data_ocm_hp1),
13635  .rd_dv_ocm_hp1(net_rd_dv_ocm_hp1),
13636  .rd_dv_ddr_hp1(net_rd_dv_ddr_hp1),
13637 
13638  .wr_ack_ddr_hp2(net_wr_ack_ddr_hp2),
13639  .wr_ack_ocm_hp2(net_wr_ack_ocm_hp2),
13640  .wr_data_hp2(net_wr_data_hp2),
13641  .wr_strb_hp2(net_wr_strb_hp2),
13642  .wr_addr_hp2(net_wr_addr_hp2),
13643  .wr_bytes_hp2(net_wr_bytes_hp2),
13644  .wr_dv_ocm_hp2(net_wr_dv_ocm_hp2),
13645  .wr_dv_ddr_hp2(net_wr_dv_ddr_hp2),
13646  .rd_req_ddr_hp2(net_rd_req_ddr_hp2),
13647  .rd_req_ocm_hp2(net_rd_req_ocm_hp2),
13648  .rd_addr_hp2(net_rd_addr_hp2),
13649  .rd_bytes_hp2(net_rd_bytes_hp2),
13650  .rd_data_ddr_hp2(net_rd_data_ddr_hp2),
13651  .rd_data_ocm_hp2(net_rd_data_ocm_hp2),
13652  .rd_dv_ddr_hp2(net_rd_dv_ddr_hp2),
13653  .rd_dv_ocm_hp2(net_rd_dv_ocm_hp2),
13654 
13655  .wr_ack_ocm_hp3(net_wr_ack_ocm_hp3),
13656  .wr_ack_ddr_hp3(net_wr_ack_ddr_hp3),
13657  .wr_data_hp3(net_wr_data_hp3),
13658  .wr_strb_hp3(net_wr_strb_hp3),
13659  .wr_addr_hp3(net_wr_addr_hp3),
13660  .wr_bytes_hp3(net_wr_bytes_hp3),
13661  .wr_dv_ddr_hp3(net_wr_dv_ddr_hp3),
13662  .wr_dv_ocm_hp3(net_wr_dv_ocm_hp3),
13663  .rd_req_ddr_hp3(net_rd_req_ddr_hp3),
13664  .rd_req_ocm_hp3(net_rd_req_ocm_hp3),
13665  .rd_addr_hp3(net_rd_addr_hp3),
13666  .rd_bytes_hp3(net_rd_bytes_hp3),
13667  .rd_data_ddr_hp3(net_rd_data_ddr_hp3),
13668  .rd_data_ocm_hp3(net_rd_data_ocm_hp3),
13669  .rd_dv_ddr_hp3(net_rd_dv_ddr_hp3),
13670  .rd_dv_ocm_hp3(net_rd_dv_ocm_hp3),
13671 
13672  /* Goes to port 1 of DDR */
13673  .ddr_wr_ack_port1(ddr_wr_ack_port1),
13674  .ddr_wr_dv_port1(ddr_wr_dv_port1),
13675  .ddr_rd_req_port1(ddr_rd_req_port1),
13676  .ddr_rd_dv_port1 (ddr_rd_dv_port1),
13677  .ddr_wr_addr_port1(ddr_wr_addr_port1),
13678  .ddr_wr_data_port1(ddr_wr_data_port1),
13679  .ddr_wr_strb_port1(ddr_wr_strb_port1),
13680  .ddr_wr_bytes_port1(ddr_wr_bytes_port1),
13681  .ddr_rd_addr_port1(ddr_rd_addr_port1),
13682  .ddr_rd_data_port1(ddr_rd_data_port1),
13683  .ddr_rd_bytes_port1(ddr_rd_bytes_port1),
13684  .ddr_wr_qos_port1(ddr_wr_qos_port1),
13685  .ddr_rd_qos_port1(ddr_rd_qos_port1),
13686 
13687  /* Goes to port2 of DDR */
13688  .ddr_wr_ack_port2 (ddr_wr_ack_port2),
13689  .ddr_wr_dv_port2 (ddr_wr_dv_port2),
13690  .ddr_rd_req_port2 (ddr_rd_req_port2),
13691  .ddr_rd_dv_port2 (ddr_rd_dv_port2),
13692  .ddr_wr_addr_port2(ddr_wr_addr_port2),
13693  .ddr_wr_data_port2(ddr_wr_data_port2),
13694  .ddr_wr_strb_port2(ddr_wr_strb_port2),
13695  .ddr_wr_bytes_port2(ddr_wr_bytes_port2),
13696  .ddr_rd_addr_port2(ddr_rd_addr_port2),
13697  .ddr_rd_data_port2(ddr_rd_data_port2),
13698  .ddr_rd_bytes_port2(ddr_rd_bytes_port2),
13699  .ddr_wr_qos_port2 (ddr_wr_qos_port2),
13700  .ddr_rd_qos_port2 (ddr_rd_qos_port2),
13701 
13702  /* Goes to port3 of DDR */
13703  .ddr_wr_ack_port3 (ddr_wr_ack_port3),
13704  .ddr_wr_dv_port3 (ddr_wr_dv_port3),
13705  .ddr_rd_req_port3 (ddr_rd_req_port3),
13706  .ddr_rd_dv_port3 (ddr_rd_dv_port3),
13707  .ddr_wr_addr_port3(ddr_wr_addr_port3),
13708  .ddr_wr_data_port3(ddr_wr_data_port3),
13709  .ddr_wr_strb_port3(ddr_wr_strb_port3),
13710  .ddr_wr_bytes_port3(ddr_wr_bytes_port3),
13711  .ddr_rd_addr_port3(ddr_rd_addr_port3),
13712  .ddr_rd_data_port3(ddr_rd_data_port3),
13713  .ddr_rd_bytes_port3(ddr_rd_bytes_port3),
13714  .ddr_wr_qos_port3 (ddr_wr_qos_port3),
13715  .ddr_rd_qos_port3 (ddr_rd_qos_port3),
13716 
13717  /* Goes to port 0 of OCM */
13718  .ocm_wr_ack_port1 (ocm_wr_ack_port1),
13719  .ocm_wr_dv_port1 (ocm_wr_dv_port1),
13720  .ocm_rd_req_port1 (ocm_rd_req_port1),
13721  .ocm_rd_dv_port1 (ocm_rd_dv_port1),
13722  .ocm_wr_addr_port1(ocm_wr_addr_port1),
13723  .ocm_wr_data_port1(ocm_wr_data_port1),
13724  .ocm_wr_strb_port1(ocm_wr_strb_port1),
13725  .ocm_wr_bytes_port1(ocm_wr_bytes_port1),
13726  .ocm_rd_addr_port1(ocm_rd_addr_port1),
13727  .ocm_rd_data_port1(ocm_rd_data_port1),
13728  .ocm_rd_bytes_port1(ocm_rd_bytes_port1),
13729  .ocm_wr_qos_port1(ocm_wr_qos_port1),
13730  .ocm_rd_qos_port1(ocm_rd_qos_port1),
13731 
13732  /* Goes to port 0 of REG */
13733  .reg_rd_qos_port1 (reg_rd_qos_port1) ,
13734  .reg_rd_req_port1 (reg_rd_req_port1),
13735  .reg_rd_dv_port1 (reg_rd_dv_port1),
13736  .reg_rd_addr_port1(reg_rd_addr_port1),
13737  .reg_rd_data_port1(reg_rd_data_port1),
13738  .reg_rd_bytes_port1(reg_rd_bytes_port1)
13739  );
13740 
13741  processing_system7_vip_v1_0_10_ddrc ddrc (
13742  .rstn(net_rstn),
13743  .sw_clk(net_sw_clk),
13744 
13745  /* Goes to port 0 of DDR */
13746  .ddr_wr_ack_port0 (ddr_wr_ack_port0),
13747  .ddr_wr_dv_port0 (ddr_wr_dv_port0),
13748  .ddr_rd_req_port0 (ddr_rd_req_port0),
13749  .ddr_rd_dv_port0 (ddr_rd_dv_port0),
13750 
13751  .ddr_wr_addr_port0(net_wr_addr_acp),
13752  .ddr_wr_data_port0(net_wr_data_acp),
13753  .ddr_wr_strb_port0(net_wr_strb_acp),
13754  .ddr_wr_bytes_port0(net_wr_bytes_acp),
13755 
13756  .ddr_rd_addr_port0(net_rd_addr_acp),
13757  .ddr_rd_bytes_port0(net_rd_bytes_acp),
13758 
13759  .ddr_rd_data_port0(ddr_rd_data_port0),
13760 
13761  .ddr_wr_qos_port0 (net_wr_qos_acp),
13762  .ddr_rd_qos_port0 (net_rd_qos_acp),
13763 
13764 
13765  /* Goes to port 1 of DDR */
13766  .ddr_wr_ack_port1 (ddr_wr_ack_port1),
13767  .ddr_wr_dv_port1 (ddr_wr_dv_port1),
13768  .ddr_rd_req_port1 (ddr_rd_req_port1),
13769  .ddr_rd_dv_port1 (ddr_rd_dv_port1),
13770  .ddr_wr_addr_port1(ddr_wr_addr_port1),
13771  .ddr_wr_data_port1(ddr_wr_data_port1),
13772  .ddr_wr_strb_port1(ddr_wr_strb_port1),
13773  .ddr_wr_bytes_port1(ddr_wr_bytes_port1),
13774  .ddr_rd_addr_port1(ddr_rd_addr_port1),
13775  .ddr_rd_data_port1(ddr_rd_data_port1),
13776  .ddr_rd_bytes_port1(ddr_rd_bytes_port1),
13777  .ddr_wr_qos_port1 (ddr_wr_qos_port1),
13778  .ddr_rd_qos_port1 (ddr_rd_qos_port1),
13779 
13780  /* Goes to port2 of DDR */
13781  .ddr_wr_ack_port2 (ddr_wr_ack_port2),
13782  .ddr_wr_dv_port2 (ddr_wr_dv_port2),
13783  .ddr_rd_req_port2 (ddr_rd_req_port2),
13784  .ddr_rd_dv_port2 (ddr_rd_dv_port2),
13785  .ddr_wr_addr_port2(ddr_wr_addr_port2),
13786  .ddr_wr_data_port2(ddr_wr_data_port2),
13787  .ddr_wr_strb_port2(ddr_wr_strb_port2),
13788  .ddr_wr_bytes_port2(ddr_wr_bytes_port2),
13789  .ddr_rd_addr_port2(ddr_rd_addr_port2),
13790  .ddr_rd_data_port2(ddr_rd_data_port2),
13791  .ddr_rd_bytes_port2(ddr_rd_bytes_port2),
13792  .ddr_wr_qos_port2 (ddr_wr_qos_port2),
13793  .ddr_rd_qos_port2 (ddr_rd_qos_port2),
13794 
13795  /* Goes to port3 of DDR */
13796  .ddr_wr_ack_port3 (ddr_wr_ack_port3),
13797  .ddr_wr_dv_port3 (ddr_wr_dv_port3),
13798  .ddr_rd_req_port3 (ddr_rd_req_port3),
13799  .ddr_rd_dv_port3 (ddr_rd_dv_port3),
13800  .ddr_wr_addr_port3(ddr_wr_addr_port3),
13801  .ddr_wr_data_port3(ddr_wr_data_port3),
13802  .ddr_wr_strb_port3(ddr_wr_strb_port3),
13803  .ddr_wr_bytes_port3(ddr_wr_bytes_port3),
13804  .ddr_rd_addr_port3(ddr_rd_addr_port3),
13805  .ddr_rd_data_port3(ddr_rd_data_port3),
13806  .ddr_rd_bytes_port3(ddr_rd_bytes_port3),
13807  .ddr_wr_qos_port3 (ddr_wr_qos_port3),
13808  .ddr_rd_qos_port3 (ddr_rd_qos_port3)
13809 
13810  );
13811 
13812  processing_system7_vip_v1_0_10_ocmc ocmc (
13813  .rstn(net_rstn),
13814  .sw_clk(net_sw_clk),
13815 
13816  /* Goes to port 0 of OCM */
13817  .ocm_wr_ack_port0 (ocm_wr_ack_port0),
13818  .ocm_wr_dv_port0 (ocm_wr_dv_port0),
13819  .ocm_rd_req_port0 (ocm_rd_req_port0),
13820  .ocm_rd_dv_port0 (ocm_rd_dv_port0),
13821 
13822  .ocm_wr_addr_port0(net_wr_addr_acp),
13823  .ocm_wr_data_port0(net_wr_data_acp),
13824  .ocm_wr_strb_port0(net_wr_strb_acp),
13825  .ocm_wr_bytes_port0(net_wr_bytes_acp),
13826 
13827  .ocm_rd_addr_port0(net_rd_addr_acp),
13828  .ocm_rd_bytes_port0(net_rd_bytes_acp),
13829 
13830  .ocm_rd_data_port0(ocm_rd_data_port0),
13831 
13832  .ocm_wr_qos_port0 (net_wr_qos_acp),
13833  .ocm_rd_qos_port0 (net_rd_qos_acp),
13834 
13835  /* Goes to port 1 of OCM */
13836  .ocm_wr_ack_port1 (ocm_wr_ack_port1),
13837  .ocm_wr_dv_port1 (ocm_wr_dv_port1),
13838  .ocm_rd_req_port1 (ocm_rd_req_port1),
13839  .ocm_rd_dv_port1 (ocm_rd_dv_port1),
13840  .ocm_wr_addr_port1(ocm_wr_addr_port1),
13841  .ocm_wr_data_port1(ocm_wr_data_port1),
13842  .ocm_wr_strb_port1(ocm_wr_strb_port1),
13843  .ocm_wr_bytes_port1(ocm_wr_bytes_port1),
13844  .ocm_rd_addr_port1(ocm_rd_addr_port1),
13845  .ocm_rd_data_port1(ocm_rd_data_port1),
13846  .ocm_rd_bytes_port1(ocm_rd_bytes_port1),
13847  .ocm_wr_qos_port1(ocm_wr_qos_port1),
13848  .ocm_rd_qos_port1(ocm_rd_qos_port1)
13849 
13850  );
13851 
13852  processing_system7_vip_v1_0_10_regc regc (
13853  .rstn(net_rstn),
13854  .sw_clk(net_sw_clk),
13855 
13856  /* Goes to port 0 of REG */
13857  .reg_rd_req_port0 (reg_rd_req_port0),
13858  .reg_rd_dv_port0 (reg_rd_dv_port0),
13859  .reg_rd_addr_port0(net_rd_addr_acp),
13860  .reg_rd_bytes_port0(net_rd_bytes_acp),
13861  .reg_rd_data_port0(reg_rd_data_port0),
13862  .reg_rd_qos_port0 (net_rd_qos_acp),
13863 
13864  /* Goes to port 1 of REG */
13865  .reg_rd_req_port1 (reg_rd_req_port1),
13866  .reg_rd_dv_port1 (reg_rd_dv_port1),
13867  .reg_rd_addr_port1(reg_rd_addr_port1),
13868  .reg_rd_data_port1(reg_rd_data_port1),
13869  .reg_rd_bytes_port1(reg_rd_bytes_port1),
13870  .reg_rd_qos_port1(reg_rd_qos_port1)
13871 
13872  );
13873 
13874  /* include axi_gp port instantiations */
13875  `include "processing_system7_vip_v1_0_10_axi_gp.v"
13876 
13877  /* include axi_hp port instantiations */
13878  `include "processing_system7_vip_v1_0_10_axi_hp.v"
13879 
13880  /* include axi_acp port instantiations */
13881  `include "processing_system7_vip_v1_0_10_axi_acp.v"
13882 
13883 endmodule
13884 
13885 
S_AXI_HP3_ARLEN
bit< 3 :0 > S_AXI_HP3_ARLEN
Definition: design_1_processing_system7_0_0.sv:540
M_AXI_GP0_ARID
bit< 11 :0 > M_AXI_GP0_ARID
Definition: design_1_processing_system7_0_0.sv:179
IRQ_P2F_DMAC7
bit IRQ_P2F_DMAC7
Definition: design_1_processing_system7_0_0.sv:558
ENET1_PTP_PDELAY_REQ_TX
bit ENET1_PTP_PDELAY_REQ_TX
Definition: design_1_processing_system7_0_0.sv:42
SDIO1_CMD_T
bit SDIO1_CMD_T
Definition: design_1_processing_system7_0_0.sv:95
processing_system7_vip_v1_0_10_fmsw_gp
module processing_system7_vip_v1_0_10_fmsw_gp(sw_clk, rstn, w_qos_gp0, r_qos_gp0, wr_ack_ocm_gp0, wr_ack_ddr_gp0, wr_data_gp0, wr_strb_gp0, wr_addr_gp0, wr_bytes_gp0, wr_dv_ocm_gp0, wr_dv_ddr_gp0, rd_req_ocm_gp0, rd_req_ddr_gp0, rd_req_reg_gp0, rd_addr_gp0, rd_bytes_gp0, rd_data_ocm_gp0, rd_data_ddr_gp0, rd_data_reg_gp0, rd_dv_ocm_gp0, rd_dv_ddr_gp0, rd_dv_reg_gp0, w_qos_gp1, r_qos_gp1, wr_ack_ocm_gp1, wr_ack_ddr_gp1, wr_data_gp1, wr_strb_gp1, wr_addr_gp1, wr_bytes_gp1, wr_dv_ocm_gp1, wr_dv_ddr_gp1, rd_req_ocm_gp1, rd_req_ddr_gp1, rd_req_reg_gp1, rd_addr_gp1, rd_bytes_gp1, rd_data_ocm_gp1, rd_data_ddr_gp1, rd_data_reg_gp1, rd_dv_ocm_gp1, rd_dv_ddr_gp1, rd_dv_reg_gp1, ocm_wr_ack, ocm_wr_dv, ocm_rd_req, ocm_rd_dv, ddr_wr_ack, ddr_wr_dv, ddr_rd_req, ddr_rd_dv, reg_rd_req, reg_rd_dv, ocm_wr_qos, ddr_wr_qos, ocm_rd_qos, ddr_rd_qos, reg_rd_qos, ocm_wr_addr, ocm_wr_data, ocm_wr_strb, ocm_wr_bytes, ocm_rd_addr, ocm_rd_data, ocm_rd_bytes, ddr_wr_addr, ddr_wr_data, ddr_wr_strb, ddr_wr_bytes, ddr_rd_addr, ddr_rd_data, ddr_rd_bytes, reg_rd_addr, reg_rd_data, reg_rd_bytes)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:3300
DDR_DQS_n
bit< 3 :0 > DDR_DQS_n
Definition: design_1_processing_system7_0_0.sv:672
IRQ_P2F_ENET_WAKE0
bit IRQ_P2F_ENET_WAKE0
Definition: design_1_processing_system7_0_0.sv:565
M_AXI_GP0_RVALID
bit M_AXI_GP0_RVALID
Definition: design_1_processing_system7_0_0.sv:205
ENET0_SOF_RX
bit ENET0_SOF_RX
Definition: design_1_processing_system7_0_0.sv:22
M_AXI_GP0_WSTRB
bit< 3 :0 > M_AXI_GP0_WSTRB
Definition: design_1_processing_system7_0_0.sv:199
S_AXI_GP0_ARID
bit< 5 :0 > S_AXI_GP0_ARID
Definition: design_1_processing_system7_0_0.sv:287
S_AXI_HP0_AWLEN
bit< 3 :0 > S_AXI_HP0_AWLEN
Definition: design_1_processing_system7_0_0.sv:408
S_AXI_HP1_BID
bit< 5 :0 > S_AXI_HP1_BID
Definition: design_1_processing_system7_0_0.sv:423
S_AXI_HP1_ARCACHE
bit< 3 :0 > S_AXI_HP1_ARCACHE
Definition: design_1_processing_system7_0_0.sv:449
IRQ_P2F_DMAC1
bit IRQ_P2F_DMAC1
Definition: design_1_processing_system7_0_0.sv:552
SPI1_SS_I
bit SPI1_SS_I
Definition: design_1_processing_system7_0_0.sv:127
S_AXI_GP0_AWLOCK
bit< 1 :0 > S_AXI_GP0_AWLOCK
Definition: design_1_processing_system7_0_0.sv:273
s_axi_awready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire s_axi_awready
Definition: axi_vip_v1_1_vl_rfs.sv:109
S_AXI_HP0_ARLEN
bit< 3 :0 > S_AXI_HP0_ARLEN
Definition: design_1_processing_system7_0_0.sv:405
TRACE_CLK
bit TRACE_CLK
Definition: design_1_processing_system7_0_0.sv:162
S_AXI_ACP_ARLEN
bit< 3 :0 > S_AXI_ACP_ARLEN
Definition: design_1_processing_system7_0_0.sv:355
processing_system7_vip_v1_0_10_interconnect_model
module processing_system7_vip_v1_0_10_interconnect_model(rstn, sw_clk, w_qos_gp0, w_qos_gp1, w_qos_hp0, w_qos_hp1, w_qos_hp2, w_qos_hp3, r_qos_gp0, r_qos_gp1, r_qos_hp0, r_qos_hp1, r_qos_hp2, r_qos_hp3, wr_ack_ddr_gp0, wr_ack_ocm_gp0, wr_data_gp0, wr_strb_gp0, wr_addr_gp0, wr_bytes_gp0, wr_dv_ddr_gp0, wr_dv_ocm_gp0, rd_req_ddr_gp0, rd_req_ocm_gp0, rd_req_reg_gp0, rd_addr_gp0, rd_bytes_gp0, rd_data_ddr_gp0, rd_data_ocm_gp0, rd_data_reg_gp0, rd_dv_ddr_gp0, rd_dv_ocm_gp0, rd_dv_reg_gp0, wr_ack_ddr_gp1, wr_ack_ocm_gp1, wr_data_gp1, wr_strb_gp1, wr_addr_gp1, wr_bytes_gp1, wr_dv_ddr_gp1, wr_dv_ocm_gp1, rd_req_ddr_gp1, rd_req_ocm_gp1, rd_req_reg_gp1, rd_addr_gp1, rd_bytes_gp1, rd_data_ddr_gp1, rd_data_ocm_gp1, rd_data_reg_gp1, rd_dv_ddr_gp1, rd_dv_ocm_gp1, rd_dv_reg_gp1, wr_ack_ddr_hp0, wr_ack_ocm_hp0, wr_data_hp0, wr_strb_hp0, wr_addr_hp0, wr_bytes_hp0, wr_dv_ddr_hp0, wr_dv_ocm_hp0, rd_req_ddr_hp0, rd_req_ocm_hp0, rd_addr_hp0, rd_bytes_hp0, rd_data_ddr_hp0, rd_data_ocm_hp0, rd_dv_ddr_hp0, rd_dv_ocm_hp0, wr_ack_ddr_hp1, wr_ack_ocm_hp1, wr_data_hp1, wr_strb_hp1, wr_addr_hp1, wr_bytes_hp1, wr_dv_ddr_hp1, wr_dv_ocm_hp1, rd_req_ddr_hp1, rd_req_ocm_hp1, rd_addr_hp1, rd_bytes_hp1, rd_data_ddr_hp1, rd_data_ocm_hp1, rd_dv_ddr_hp1, rd_dv_ocm_hp1, wr_ack_ddr_hp2, wr_ack_ocm_hp2, wr_data_hp2, wr_strb_hp2, wr_addr_hp2, wr_bytes_hp2, wr_dv_ddr_hp2, wr_dv_ocm_hp2, rd_req_ddr_hp2, rd_req_ocm_hp2, rd_addr_hp2, rd_bytes_hp2, rd_data_ddr_hp2, rd_data_ocm_hp2, rd_dv_ddr_hp2, rd_dv_ocm_hp2, wr_ack_ddr_hp3, wr_ack_ocm_hp3, wr_data_hp3, wr_strb_hp3, wr_addr_hp3, wr_bytes_hp3, wr_dv_ddr_hp3, wr_dv_ocm_hp3, rd_req_ddr_hp3, rd_req_ocm_hp3, rd_addr_hp3, rd_bytes_hp3, rd_data_ddr_hp3, rd_data_ocm_hp3, rd_dv_ddr_hp3, rd_dv_ocm_hp3, ddr_wr_ack_port1, ddr_wr_dv_port1, ddr_rd_req_port1, ddr_rd_dv_port1, ddr_wr_addr_port1, ddr_wr_data_port1, ddr_wr_strb_port1, ddr_wr_bytes_port1, ddr_rd_addr_port1, ddr_rd_data_port1, ddr_rd_bytes_port1, ddr_wr_qos_port1, ddr_rd_qos_port1, ddr_wr_ack_port2, ddr_wr_dv_port2, ddr_rd_req_port2, ddr_rd_dv_port2, ddr_wr_addr_port2, ddr_wr_data_port2, ddr_wr_strb_port2, ddr_wr_bytes_port2, ddr_rd_addr_port2, ddr_rd_data_port2, ddr_rd_bytes_port2, ddr_wr_qos_port2, ddr_rd_qos_port2, ddr_wr_ack_port3, ddr_wr_dv_port3, ddr_rd_req_port3, ddr_rd_dv_port3, ddr_wr_addr_port3, ddr_wr_data_port3, ddr_wr_strb_port3, ddr_wr_bytes_port3, ddr_rd_addr_port3, ddr_rd_data_port3, ddr_rd_bytes_port3, ddr_wr_qos_port3, ddr_rd_qos_port3, ocm_wr_qos_port1, ocm_rd_qos_port1, ocm_wr_dv_port1, ocm_wr_data_port1, ocm_wr_strb_port1, ocm_wr_addr_port1, ocm_wr_bytes_port1, ocm_wr_ack_port1, ocm_rd_req_port1, ocm_rd_data_port1, ocm_rd_addr_port1, ocm_rd_bytes_port1, ocm_rd_dv_port1, reg_rd_qos_port1, reg_rd_req_port1, reg_rd_data_port1, reg_rd_addr_port1, reg_rd_bytes_port1, reg_rd_dv_port1)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:3939
UART0_RX
bit UART0_RX
Definition: design_1_processing_system7_0_0.sv:139
S_AXI_HP0_ARPROT
bit< 2 :0 > S_AXI_HP0_ARPROT
Definition: design_1_processing_system7_0_0.sv:400
UART0_RTSN
bit UART0_RTSN
Definition: design_1_processing_system7_0_0.sv:133
S_AXI_GP1_AWSIZE
bit< 2 :0 > S_AXI_GP1_AWSIZE
Definition: design_1_processing_system7_0_0.sv:313
S_AXI_GP1_ARVALID
bit S_AXI_GP1_ARVALID
Definition: design_1_processing_system7_0_0.sv:302
S_AXI_HP0_BID
bit< 5 :0 > S_AXI_HP0_BID
Definition: design_1_processing_system7_0_0.sv:378
S_AXI_HP3_RDISSUECAP1_EN
bit S_AXI_HP3_RDISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:524
S_AXI_HP0_AWLOCK
bit< 1 :0 > S_AXI_HP0_AWLOCK
Definition: design_1_processing_system7_0_0.sv:398
S_AXI_HP3_AWBURST
bit< 1 :0 > S_AXI_HP3_AWBURST
Definition: design_1_processing_system7_0_0.sv:532
m_axi_awregion
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > m_axi_awregion
Definition: axi_vip_v1_1_vl_rfs.sv:160
S_AXI_HP3_RRESP
bit< 1 :0 > S_AXI_HP3_RRESP
Definition: design_1_processing_system7_0_0.sv:512
m_axi_bid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > m_axi_bid
Definition: axi_vip_v1_1_vl_rfs.sv:176
S_AXI_HP2_ARBURST
bit< 1 :0 > S_AXI_HP2_ARBURST
Definition: design_1_processing_system7_0_0.sv:484
s_axi_bready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire s_axi_bready
Definition: axi_vip_v1_1_vl_rfs.sv:125
m_axi_ruser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_RDATA_WIDTH-1:0 > input wire< 2-1:0 > input wire input wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > m_axi_ruser
Definition: axi_vip_v1_1_vl_rfs.sv:202
DDR_VRP
bit DDR_VRP
Definition: design_1_processing_system7_0_0.sv:669
FTMT_F2P_DEBUG
bit< 31 :0 > FTMT_F2P_DEBUG
Definition: design_1_processing_system7_0_0.sv:640
S_AXI_HP2_AWVALID
bit S_AXI_HP2_AWVALID
Definition: design_1_processing_system7_0_0.sv:477
S_AXI_GP1_RVALID
bit S_AXI_GP1_RVALID
Definition: design_1_processing_system7_0_0.sv:294
S_AXI_HP1_WSTRB
bit< 7 :0 > S_AXI_HP1_WSTRB
Definition: design_1_processing_system7_0_0.sv:459
S_AXI_HP2_BVALID
bit S_AXI_HP2_BVALID
Definition: design_1_processing_system7_0_0.sv:462
S_AXI_ACP_RID
bit< 2 :0 > S_AXI_ACP_RID
Definition: design_1_processing_system7_0_0.sv:338
m_axi_awid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > m_axi_awid
Definition: axi_vip_v1_1_vl_rfs.sv:152
DMA1_DRVALID
bit DMA1_DRVALID
Definition: design_1_processing_system7_0_0.sv:603
DMA0_DATYPE
bit< 1 :0 > DMA0_DATYPE
Definition: design_1_processing_system7_0_0.sv:584
SDIO0_DATA_O
bit< 3 :0 > SDIO0_DATA_O
Definition: design_1_processing_system7_0_0.sv:84
IRQ_P2F_DMAC_ABORT
bit IRQ_P2F_DMAC_ABORT
Definition: design_1_processing_system7_0_0.sv:550
S_AXI_ACP_ARSIZE
bit< 2 :0 > S_AXI_ACP_ARSIZE
Definition: design_1_processing_system7_0_0.sv:362
S_AXI_GP1_WSTRB
bit< 3 :0 > S_AXI_GP1_WSTRB
Definition: design_1_processing_system7_0_0.sv:325
S_AXI_ACP_ARLOCK
bit< 1 :0 > S_AXI_ACP_ARLOCK
Definition: design_1_processing_system7_0_0.sv:361
S_AXI_GP1_RDATA
bit< 31 :0 > S_AXI_GP1_RDATA
Definition: design_1_processing_system7_0_0.sv:298
M_AXI_GP0_AWVALID
bit M_AXI_GP0_AWVALID
Definition: design_1_processing_system7_0_0.sv:174
DDR_RAS_n
bit DDR_RAS_n
Definition: design_1_processing_system7_0_0.sv:664
processing_system7_vip_v1_0_10_arb_rd
module processing_system7_vip_v1_0_10_arb_rd(rstn, sw_clk, qos1, qos2, prt_req1, prt_req2, prt_bytes1, prt_bytes2, prt_addr1, prt_addr2, prt_data1, prt_data2, prt_dv1, prt_dv2, prt_req, prt_qos, prt_addr, prt_bytes, prt_data, prt_dv)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:203
S_AXI_HP2_AWLOCK
bit< 1 :0 > S_AXI_HP2_AWLOCK
Definition: design_1_processing_system7_0_0.sv:488
CAN0_PHY_TX
bit CAN0_PHY_TX
Definition: design_1_processing_system7_0_0.sv:5
processing_system7_vip_v1_0_10_axi_master
module processing_system7_vip_v1_0_10_axi_master(M_RESETN, M_ARVALID, M_AWVALID, M_BREADY, M_RREADY, M_WLAST, M_WVALID, M_ARID, M_AWID, M_WID, M_ARBURST, M_ARLOCK, M_ARSIZE, M_AWBURST, M_AWLOCK, M_AWSIZE, M_ARPROT, M_AWPROT, M_ARADDR, M_AWADDR, M_WDATA, M_ARCACHE, M_ARLEN, M_AWCACHE, M_AWLEN, M_ARQOS, M_AWQOS, M_WSTRB, M_ACLK, M_ARREADY, M_AWREADY, M_BVALID, M_RLAST, M_RVALID, M_WREADY, M_BID, M_RID, M_BRESP, M_RRESP, M_RDATA)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:8417
m_axi_wdata
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > m_axi_wdata
Definition: axi_vip_v1_1_vl_rfs.sv:168
SDIO1_CDN
bit SDIO1_CDN
Definition: design_1_processing_system7_0_0.sv:100
SPI1_SCLK_I
bit SPI1_SCLK_I
Definition: design_1_processing_system7_0_0.sv:118
M_AXI_GP1_AWVALID
bit M_AXI_GP1_AWVALID
Definition: design_1_processing_system7_0_0.sv:213
S_AXI_HP2_RRESP
bit< 1 :0 > S_AXI_HP2_RRESP
Definition: design_1_processing_system7_0_0.sv:467
S_AXI_HP0_ARVALID
bit S_AXI_HP0_ARVALID
Definition: design_1_processing_system7_0_0.sv:386
S_AXI_ACP_AWSIZE
bit< 2 :0 > S_AXI_ACP_AWSIZE
Definition: design_1_processing_system7_0_0.sv:365
s_axi_awregion
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > s_axi_awregion
Definition: axi_vip_v1_1_vl_rfs.sv:105
DMA2_ACLK
bit DMA2_ACLK
Definition: design_1_processing_system7_0_0.sv:604
M_AXI_GP0_AWQOS
bit< 3 :0 > M_AXI_GP0_AWQOS
Definition: design_1_processing_system7_0_0.sv:198
S_AXI_ACP_BRESP
bit< 1 :0 > S_AXI_ACP_BRESP
Definition: design_1_processing_system7_0_0.sv:335
ENET0_MDIO_T
bit ENET0_MDIO_T
Definition: design_1_processing_system7_0_0.sv:13
DMA1_ACLK
bit DMA1_ACLK
Definition: design_1_processing_system7_0_0.sv:600
ENET1_GMII_COL
bit ENET1_GMII_COL
Definition: design_1_processing_system7_0_0.sv:50
S_AXI_HP1_WRISSUECAP1_EN
bit S_AXI_HP1_WRISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:437
M_AXI_GP1_WREADY
bit M_AXI_GP1_WREADY
Definition: design_1_processing_system7_0_0.sv:245
processing_system7_vip_v1_0_10_arb_rd_4
module processing_system7_vip_v1_0_10_arb_rd_4(rstn, sw_clk, qos1, qos2, qos3, qos4, prt_req1, prt_req2, prt_req3, prt_req4, prt_data1, prt_data2, prt_data3, prt_data4, prt_addr1, prt_addr2, prt_addr3, prt_addr4, prt_bytes1, prt_bytes2, prt_bytes3, prt_bytes4, prt_dv1, prt_dv2, prt_dv3, prt_dv4, prt_qos, prt_req, prt_data, prt_addr, prt_bytes, prt_dv)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:716
DDR_CAS_n
bit DDR_CAS_n
Definition: design_1_processing_system7_0_0.sv:657
WDT_RST_OUT
bit WDT_RST_OUT
Definition: design_1_processing_system7_0_0.sv:161
S_AXI_HP0_WVALID
bit S_AXI_HP0_WVALID
Definition: design_1_processing_system7_0_0.sv:393
S_AXI_HP3_AWPROT
bit< 2 :0 > S_AXI_HP3_AWPROT
Definition: design_1_processing_system7_0_0.sv:536
SDIO0_CLK
bit SDIO0_CLK
Definition: design_1_processing_system7_0_0.sv:78
S_AXI_HP2_AWBURST
bit< 1 :0 > S_AXI_HP2_AWBURST
Definition: design_1_processing_system7_0_0.sv:487
S_AXI_HP0_RRESP
bit< 1 :0 > S_AXI_HP0_RRESP
Definition: design_1_processing_system7_0_0.sv:377
S_AXI_HP0_AWREADY
bit S_AXI_HP0_AWREADY
Definition: design_1_processing_system7_0_0.sv:371
S_AXI_HP1_AWBURST
bit< 1 :0 > S_AXI_HP1_AWBURST
Definition: design_1_processing_system7_0_0.sv:442
S_AXI_HP1_AWSIZE
bit< 2 :0 > S_AXI_HP1_AWSIZE
Definition: design_1_processing_system7_0_0.sv:444
FTMD_TRACEIN_VALID
bit FTMD_TRACEIN_VALID
Definition: design_1_processing_system7_0_0.sv:629
UART0_DCDN
bit UART0_DCDN
Definition: design_1_processing_system7_0_0.sv:136
S_AXI_HP2_AWSIZE
bit< 2 :0 > S_AXI_HP2_AWSIZE
Definition: design_1_processing_system7_0_0.sv:489
DDR_ODT
bit DDR_ODT
Definition: design_1_processing_system7_0_0.sv:663
M_AXI_GP1_BREADY
bit M_AXI_GP1_BREADY
Definition: design_1_processing_system7_0_0.sv:214
s_axi_arburst
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > s_axi_arburst
Definition: axi_vip_v1_1_vl_rfs.sv:132
SPI0_SS_I
bit SPI0_SS_I
Definition: design_1_processing_system7_0_0.sv:113
M_AXI_GP1_RLAST
bit M_AXI_GP1_RLAST
Definition: design_1_processing_system7_0_0.sv:243
ENET1_PTP_DELAY_REQ_RX
bit ENET1_PTP_DELAY_REQ_RX
Definition: design_1_processing_system7_0_0.sv:39
S_AXI_GP1_AWLOCK
bit< 1 :0 > S_AXI_GP1_AWLOCK
Definition: design_1_processing_system7_0_0.sv:312
ENET0_MDIO_O
bit ENET0_MDIO_O
Definition: design_1_processing_system7_0_0.sv:12
S_AXI_HP2_WCOUNT
bit< 7 :0 > S_AXI_HP2_WCOUNT
Definition: design_1_processing_system7_0_0.sv:472
ENET1_GMII_RX_ER
bit ENET1_GMII_RX_ER
Definition: design_1_processing_system7_0_0.sv:54
UART1_RTSN
bit UART1_RTSN
Definition: design_1_processing_system7_0_0.sv:141
m_axi_wid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > m_axi_wid
Definition: axi_vip_v1_1_vl_rfs.sv:167
M_AXI_GP0_RRESP
bit< 1 :0 > M_AXI_GP0_RRESP
Definition: design_1_processing_system7_0_0.sv:210
S_AXI_ACP_AWID
bit< 2 :0 > S_AXI_ACP_AWID
Definition: design_1_processing_system7_0_0.sv:349
M_AXI_GP0_ARLOCK
bit< 1 :0 > M_AXI_GP0_ARLOCK
Definition: design_1_processing_system7_0_0.sv:183
S_AXI_ACP_AWBURST
bit< 1 :0 > S_AXI_ACP_AWBURST
Definition: design_1_processing_system7_0_0.sv:363
s_axi_arlen
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > s_axi_arlen
Definition: axi_vip_v1_1_vl_rfs.sv:130
DMA1_DAVALID
bit DMA1_DAVALID
Definition: design_1_processing_system7_0_0.sv:588
S_AXI_HP2_AWADDR
bit< 31 :0 > S_AXI_HP2_AWADDR
Definition: design_1_processing_system7_0_0.sv:493
ENET0_GMII_TXD
bit< 7 :0 > ENET0_GMII_TXD
Definition: design_1_processing_system7_0_0.sv:24
DMA2_DRVALID
bit DMA2_DRVALID
Definition: design_1_processing_system7_0_0.sv:607
S_AXI_ACP_ARQOS
bit< 3 :0 > S_AXI_ACP_ARQOS
Definition: design_1_processing_system7_0_0.sv:356
SPI1_MOSI_I
bit SPI1_MOSI_I
Definition: design_1_processing_system7_0_0.sv:121
S_AXI_GP1_BRESP
bit< 1 :0 > S_AXI_GP1_BRESP
Definition: design_1_processing_system7_0_0.sv:296
SDIO0_DATA_T
bit< 3 :0 > SDIO0_DATA_T
Definition: design_1_processing_system7_0_0.sv:85
CAN1_PHY_RX
bit CAN1_PHY_RX
Definition: design_1_processing_system7_0_0.sv:8
ARQOS
assign IF ARQOS
Definition: axi_vip_v1_1_vl_rfs.sv:293
S_AXI_HP2_AWLEN
bit< 3 :0 > S_AXI_HP2_AWLEN
Definition: design_1_processing_system7_0_0.sv:498
S_AXI_HP0_WSTRB
bit< 7 :0 > S_AXI_HP0_WSTRB
Definition: design_1_processing_system7_0_0.sv:414
S_AXI_HP3_ARSIZE
bit< 2 :0 > S_AXI_HP3_ARSIZE
Definition: design_1_processing_system7_0_0.sv:531
ENET1_GMII_TX_EN
bit< 0 :0 > ENET1_GMII_TX_EN
Definition: design_1_processing_system7_0_0.sv:34
S_AXI_HP1_ARSIZE
bit< 2 :0 > S_AXI_HP1_ARSIZE
Definition: design_1_processing_system7_0_0.sv:441
ENET0_GMII_RXD
bit< 7 :0 > ENET0_GMII_RXD
Definition: design_1_processing_system7_0_0.sv:33
S_AXI_HP2_WSTRB
bit< 7 :0 > S_AXI_HP2_WSTRB
Definition: design_1_processing_system7_0_0.sv:504
UART1_DCDN
bit UART1_DCDN
Definition: design_1_processing_system7_0_0.sv:144
UART0_DSRN
bit UART0_DSRN
Definition: design_1_processing_system7_0_0.sv:137
S_AXI_HP1_AWREADY
bit S_AXI_HP1_AWREADY
Definition: design_1_processing_system7_0_0.sv:416
S_AXI_HP0_WLAST
bit S_AXI_HP0_WLAST
Definition: design_1_processing_system7_0_0.sv:391
DDR_VRN
bit DDR_VRN
Definition: design_1_processing_system7_0_0.sv:668
DMA2_DAVALID
bit DMA2_DAVALID
Definition: design_1_processing_system7_0_0.sv:591
M_AXI_GP0_AWCACHE
bit< 3 :0 > M_AXI_GP0_AWCACHE
Definition: design_1_processing_system7_0_0.sv:196
S_AXI_HP3_WSTRB
bit< 7 :0 > S_AXI_HP3_WSTRB
Definition: design_1_processing_system7_0_0.sv:549
M_AXI_GP1_AWPROT
bit< 2 :0 > M_AXI_GP1_AWPROT
Definition: design_1_processing_system7_0_0.sv:228
S_AXI_HP1_ARBURST
bit< 1 :0 > S_AXI_HP1_ARBURST
Definition: design_1_processing_system7_0_0.sv:439
S_AXI_ACP_WSTRB
bit< 7 :0 > S_AXI_ACP_WSTRB
Definition: design_1_processing_system7_0_0.sv:369
m_axi_arsize
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > m_axi_arsize
Definition: axi_vip_v1_1_vl_rfs.sv:186
M_AXI_GP1_BID
bit< 11 :0 > M_AXI_GP1_BID
Definition: design_1_processing_system7_0_0.sv:246
S_AXI_ACP_ARID
bit< 2 :0 > S_AXI_ACP_ARID
Definition: design_1_processing_system7_0_0.sv:347
S_AXI_HP2_AWREADY
bit S_AXI_HP2_AWREADY
Definition: design_1_processing_system7_0_0.sv:461
S_AXI_GP1_WDATA
bit< 31 :0 > S_AXI_GP1_WDATA
Definition: design_1_processing_system7_0_0.sv:318
I2C0_SDA_I
bit I2C0_SDA_I
Definition: design_1_processing_system7_0_0.sv:62
TTC1_WAVE0_OUT
bit TTC1_WAVE0_OUT
Definition: design_1_processing_system7_0_0.sv:154
m_axi_wvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire m_axi_wvalid
Definition: axi_vip_v1_1_vl_rfs.sv:172
S_AXI_HP0_AWPROT
bit< 2 :0 > S_AXI_HP0_AWPROT
Definition: design_1_processing_system7_0_0.sv:401
S_AXI_HP3_RCOUNT
bit< 7 :0 > S_AXI_HP3_RCOUNT
Definition: design_1_processing_system7_0_0.sv:516
SPI0_MOSI_O
bit SPI0_MOSI_O
Definition: design_1_processing_system7_0_0.sv:108
S_AXI_ACP_ARVALID
bit S_AXI_ACP_ARVALID
Definition: design_1_processing_system7_0_0.sv:341
S_AXI_HP0_ARCACHE
bit< 3 :0 > S_AXI_HP0_ARCACHE
Definition: design_1_processing_system7_0_0.sv:404
processing_system7_vip_v1_0_10
module processing_system7_vip_v1_0_10(CAN0_PHY_TX, CAN0_PHY_RX, CAN1_PHY_TX, CAN1_PHY_RX, ENET0_GMII_TX_EN, ENET0_GMII_TX_ER, ENET0_MDIO_MDC, ENET0_MDIO_O, ENET0_MDIO_T, ENET0_PTP_DELAY_REQ_RX, ENET0_PTP_DELAY_REQ_TX, ENET0_PTP_PDELAY_REQ_RX, ENET0_PTP_PDELAY_REQ_TX, ENET0_PTP_PDELAY_RESP_RX, ENET0_PTP_PDELAY_RESP_TX, ENET0_PTP_SYNC_FRAME_RX, ENET0_PTP_SYNC_FRAME_TX, ENET0_SOF_RX, ENET0_SOF_TX, ENET0_GMII_TXD, ENET0_GMII_COL, ENET0_GMII_CRS, ENET0_EXT_INTIN, ENET0_GMII_RX_CLK, ENET0_GMII_RX_DV, ENET0_GMII_RX_ER, ENET0_GMII_TX_CLK, ENET0_MDIO_I, ENET0_GMII_RXD, ENET1_GMII_TX_EN, ENET1_GMII_TX_ER, ENET1_MDIO_MDC, ENET1_MDIO_O, ENET1_MDIO_T, ENET1_PTP_DELAY_REQ_RX, ENET1_PTP_DELAY_REQ_TX, ENET1_PTP_PDELAY_REQ_RX, ENET1_PTP_PDELAY_REQ_TX, ENET1_PTP_PDELAY_RESP_RX, ENET1_PTP_PDELAY_RESP_TX, ENET1_PTP_SYNC_FRAME_RX, ENET1_PTP_SYNC_FRAME_TX, ENET1_SOF_RX, ENET1_SOF_TX, ENET1_GMII_TXD, ENET1_GMII_COL, ENET1_GMII_CRS, ENET1_EXT_INTIN, ENET1_GMII_RX_CLK, ENET1_GMII_RX_DV, ENET1_GMII_RX_ER, ENET1_GMII_TX_CLK, ENET1_MDIO_I, ENET1_GMII_RXD, GPIO_I, GPIO_O, GPIO_T, I2C0_SDA_I, I2C0_SDA_O, I2C0_SDA_T, I2C0_SCL_I, I2C0_SCL_O, I2C0_SCL_T, I2C1_SDA_I, I2C1_SDA_O, I2C1_SDA_T, I2C1_SCL_I, I2C1_SCL_O, I2C1_SCL_T, PJTAG_TCK, PJTAG_TMS, PJTAG_TD_I, PJTAG_TD_T, PJTAG_TD_O, SDIO0_CLK, SDIO0_CLK_FB, SDIO0_CMD_O, SDIO0_CMD_I, SDIO0_CMD_T, SDIO0_DATA_I, SDIO0_DATA_O, SDIO0_DATA_T, SDIO0_LED, SDIO0_CDN, SDIO0_WP, SDIO0_BUSPOW, SDIO0_BUSVOLT, SDIO1_CLK, SDIO1_CLK_FB, SDIO1_CMD_O, SDIO1_CMD_I, SDIO1_CMD_T, SDIO1_DATA_I, SDIO1_DATA_O, SDIO1_DATA_T, SDIO1_LED, SDIO1_CDN, SDIO1_WP, SDIO1_BUSPOW, SDIO1_BUSVOLT, SPI0_SCLK_I, SPI0_SCLK_O, SPI0_SCLK_T, SPI0_MOSI_I, SPI0_MOSI_O, SPI0_MOSI_T, SPI0_MISO_I, SPI0_MISO_O, SPI0_MISO_T, SPI0_SS_I, SPI0_SS_O, SPI0_SS1_O, SPI0_SS2_O, SPI0_SS_T, SPI1_SCLK_I, SPI1_SCLK_O, SPI1_SCLK_T, SPI1_MOSI_I, SPI1_MOSI_O, SPI1_MOSI_T, SPI1_MISO_I, SPI1_MISO_O, SPI1_MISO_T, SPI1_SS_I, SPI1_SS_O, SPI1_SS1_O, SPI1_SS2_O, SPI1_SS_T, UART0_DTRN, UART0_RTSN, UART0_TX, UART0_CTSN, UART0_DCDN, UART0_DSRN, UART0_RIN, UART0_RX, UART1_DTRN, UART1_RTSN, UART1_TX, UART1_CTSN, UART1_DCDN, UART1_DSRN, UART1_RIN, UART1_RX, TTC0_WAVE0_OUT, TTC0_WAVE1_OUT, TTC0_WAVE2_OUT, TTC0_CLK0_IN, TTC0_CLK1_IN, TTC0_CLK2_IN, TTC1_WAVE0_OUT, TTC1_WAVE1_OUT, TTC1_WAVE2_OUT, TTC1_CLK0_IN, TTC1_CLK1_IN, TTC1_CLK2_IN, WDT_CLK_IN, WDT_RST_OUT, TRACE_CLK, TRACE_CTL, TRACE_DATA, USB0_PORT_INDCTL, USB1_PORT_INDCTL, USB0_VBUS_PWRSELECT, USB1_VBUS_PWRSELECT, USB0_VBUS_PWRFAULT, USB1_VBUS_PWRFAULT, SRAM_INTIN, M_AXI_GP0_ARVALID, M_AXI_GP0_AWVALID, M_AXI_GP0_BREADY, M_AXI_GP0_RREADY, M_AXI_GP0_WLAST, M_AXI_GP0_WVALID, M_AXI_GP0_ARID, M_AXI_GP0_AWID, M_AXI_GP0_WID, M_AXI_GP0_ARBURST, M_AXI_GP0_ARLOCK, M_AXI_GP0_ARSIZE, M_AXI_GP0_AWBURST, M_AXI_GP0_AWLOCK, M_AXI_GP0_AWSIZE, M_AXI_GP0_ARPROT, M_AXI_GP0_AWPROT, M_AXI_GP0_ARADDR, M_AXI_GP0_AWADDR, M_AXI_GP0_WDATA, M_AXI_GP0_ARCACHE, M_AXI_GP0_ARLEN, M_AXI_GP0_ARQOS, M_AXI_GP0_AWCACHE, M_AXI_GP0_AWLEN, M_AXI_GP0_AWQOS, M_AXI_GP0_WSTRB, M_AXI_GP0_ACLK, M_AXI_GP0_ARREADY, M_AXI_GP0_AWREADY, M_AXI_GP0_BVALID, M_AXI_GP0_RLAST, M_AXI_GP0_RVALID, M_AXI_GP0_WREADY, M_AXI_GP0_BID, M_AXI_GP0_RID, M_AXI_GP0_BRESP, M_AXI_GP0_RRESP, M_AXI_GP0_RDATA, M_AXI_GP1_ARVALID, M_AXI_GP1_AWVALID, M_AXI_GP1_BREADY, M_AXI_GP1_RREADY, M_AXI_GP1_WLAST, M_AXI_GP1_WVALID, M_AXI_GP1_ARID, M_AXI_GP1_AWID, M_AXI_GP1_WID, M_AXI_GP1_ARBURST, M_AXI_GP1_ARLOCK, M_AXI_GP1_ARSIZE, M_AXI_GP1_AWBURST, M_AXI_GP1_AWLOCK, M_AXI_GP1_AWSIZE, M_AXI_GP1_ARPROT, M_AXI_GP1_AWPROT, M_AXI_GP1_ARADDR, M_AXI_GP1_AWADDR, M_AXI_GP1_WDATA, M_AXI_GP1_ARCACHE, M_AXI_GP1_ARLEN, M_AXI_GP1_ARQOS, M_AXI_GP1_AWCACHE, M_AXI_GP1_AWLEN, M_AXI_GP1_AWQOS, M_AXI_GP1_WSTRB, M_AXI_GP1_ACLK, M_AXI_GP1_ARREADY, M_AXI_GP1_AWREADY, M_AXI_GP1_BVALID, M_AXI_GP1_RLAST, M_AXI_GP1_RVALID, M_AXI_GP1_WREADY, M_AXI_GP1_BID, M_AXI_GP1_RID, M_AXI_GP1_BRESP, M_AXI_GP1_RRESP, M_AXI_GP1_RDATA, S_AXI_GP0_ARREADY, S_AXI_GP0_AWREADY, S_AXI_GP0_BVALID, S_AXI_GP0_RLAST, S_AXI_GP0_RVALID, S_AXI_GP0_WREADY, S_AXI_GP0_BRESP, S_AXI_GP0_RRESP, S_AXI_GP0_RDATA, S_AXI_GP0_BID, S_AXI_GP0_RID, S_AXI_GP0_ACLK, S_AXI_GP0_ARVALID, S_AXI_GP0_AWVALID, S_AXI_GP0_BREADY, S_AXI_GP0_RREADY, S_AXI_GP0_WLAST, S_AXI_GP0_WVALID, S_AXI_GP0_ARBURST, S_AXI_GP0_ARLOCK, S_AXI_GP0_ARSIZE, S_AXI_GP0_AWBURST, S_AXI_GP0_AWLOCK, S_AXI_GP0_AWSIZE, S_AXI_GP0_ARPROT, S_AXI_GP0_AWPROT, S_AXI_GP0_ARADDR, S_AXI_GP0_AWADDR, S_AXI_GP0_WDATA, S_AXI_GP0_ARCACHE, S_AXI_GP0_ARLEN, S_AXI_GP0_ARQOS, S_AXI_GP0_AWCACHE, S_AXI_GP0_AWLEN, S_AXI_GP0_AWQOS, S_AXI_GP0_WSTRB, S_AXI_GP0_ARID, S_AXI_GP0_AWID, S_AXI_GP0_WID, S_AXI_GP1_ARREADY, S_AXI_GP1_AWREADY, S_AXI_GP1_BVALID, S_AXI_GP1_RLAST, S_AXI_GP1_RVALID, S_AXI_GP1_WREADY, S_AXI_GP1_BRESP, S_AXI_GP1_RRESP, S_AXI_GP1_RDATA, S_AXI_GP1_BID, S_AXI_GP1_RID, S_AXI_GP1_ACLK, S_AXI_GP1_ARVALID, S_AXI_GP1_AWVALID, S_AXI_GP1_BREADY, S_AXI_GP1_RREADY, S_AXI_GP1_WLAST, S_AXI_GP1_WVALID, S_AXI_GP1_ARBURST, S_AXI_GP1_ARLOCK, S_AXI_GP1_ARSIZE, S_AXI_GP1_AWBURST, S_AXI_GP1_AWLOCK, S_AXI_GP1_AWSIZE, S_AXI_GP1_ARPROT, S_AXI_GP1_AWPROT, S_AXI_GP1_ARADDR, S_AXI_GP1_AWADDR, S_AXI_GP1_WDATA, S_AXI_GP1_ARCACHE, S_AXI_GP1_ARLEN, S_AXI_GP1_ARQOS, S_AXI_GP1_AWCACHE, S_AXI_GP1_AWLEN, S_AXI_GP1_AWQOS, S_AXI_GP1_WSTRB, S_AXI_GP1_ARID, S_AXI_GP1_AWID, S_AXI_GP1_WID, S_AXI_ACP_AWREADY, S_AXI_ACP_ARREADY, S_AXI_ACP_BVALID, S_AXI_ACP_RLAST, S_AXI_ACP_RVALID, S_AXI_ACP_WREADY, S_AXI_ACP_BRESP, S_AXI_ACP_RRESP, S_AXI_ACP_BID, S_AXI_ACP_RID, S_AXI_ACP_RDATA, S_AXI_ACP_ACLK, S_AXI_ACP_ARVALID, S_AXI_ACP_AWVALID, S_AXI_ACP_BREADY, S_AXI_ACP_RREADY, S_AXI_ACP_WLAST, S_AXI_ACP_WVALID, S_AXI_ACP_ARID, S_AXI_ACP_ARPROT, S_AXI_ACP_AWID, S_AXI_ACP_AWPROT, S_AXI_ACP_WID, S_AXI_ACP_ARADDR, S_AXI_ACP_AWADDR, S_AXI_ACP_ARCACHE, S_AXI_ACP_ARLEN, S_AXI_ACP_ARQOS, S_AXI_ACP_AWCACHE, S_AXI_ACP_AWLEN, S_AXI_ACP_AWQOS, S_AXI_ACP_ARBURST, S_AXI_ACP_ARLOCK, S_AXI_ACP_ARSIZE, S_AXI_ACP_AWBURST, S_AXI_ACP_AWLOCK, S_AXI_ACP_AWSIZE, S_AXI_ACP_ARUSER, S_AXI_ACP_AWUSER, S_AXI_ACP_WDATA, S_AXI_ACP_WSTRB, S_AXI_HP0_ARREADY, S_AXI_HP0_AWREADY, S_AXI_HP0_BVALID, S_AXI_HP0_RLAST, S_AXI_HP0_RVALID, S_AXI_HP0_WREADY, S_AXI_HP0_BRESP, S_AXI_HP0_RRESP, S_AXI_HP0_BID, S_AXI_HP0_RID, S_AXI_HP0_RDATA, S_AXI_HP0_RCOUNT, S_AXI_HP0_WCOUNT, S_AXI_HP0_RACOUNT, S_AXI_HP0_WACOUNT, S_AXI_HP0_ACLK, S_AXI_HP0_ARVALID, S_AXI_HP0_AWVALID, S_AXI_HP0_BREADY, S_AXI_HP0_RDISSUECAP1_EN, S_AXI_HP0_RREADY, S_AXI_HP0_WLAST, S_AXI_HP0_WRISSUECAP1_EN, S_AXI_HP0_WVALID, S_AXI_HP0_ARBURST, S_AXI_HP0_ARLOCK, S_AXI_HP0_ARSIZE, S_AXI_HP0_AWBURST, S_AXI_HP0_AWLOCK, S_AXI_HP0_AWSIZE, S_AXI_HP0_ARPROT, S_AXI_HP0_AWPROT, S_AXI_HP0_ARADDR, S_AXI_HP0_AWADDR, S_AXI_HP0_ARCACHE, S_AXI_HP0_ARLEN, S_AXI_HP0_ARQOS, S_AXI_HP0_AWCACHE, S_AXI_HP0_AWLEN, S_AXI_HP0_AWQOS, S_AXI_HP0_ARID, S_AXI_HP0_AWID, S_AXI_HP0_WID, S_AXI_HP0_WDATA, S_AXI_HP0_WSTRB, S_AXI_HP1_ARREADY, S_AXI_HP1_AWREADY, S_AXI_HP1_BVALID, S_AXI_HP1_RLAST, S_AXI_HP1_RVALID, S_AXI_HP1_WREADY, S_AXI_HP1_BRESP, S_AXI_HP1_RRESP, S_AXI_HP1_BID, S_AXI_HP1_RID, S_AXI_HP1_RDATA, S_AXI_HP1_RCOUNT, S_AXI_HP1_WCOUNT, S_AXI_HP1_RACOUNT, S_AXI_HP1_WACOUNT, S_AXI_HP1_ACLK, S_AXI_HP1_ARVALID, S_AXI_HP1_AWVALID, S_AXI_HP1_BREADY, S_AXI_HP1_RDISSUECAP1_EN, S_AXI_HP1_RREADY, S_AXI_HP1_WLAST, S_AXI_HP1_WRISSUECAP1_EN, S_AXI_HP1_WVALID, S_AXI_HP1_ARBURST, S_AXI_HP1_ARLOCK, S_AXI_HP1_ARSIZE, S_AXI_HP1_AWBURST, S_AXI_HP1_AWLOCK, S_AXI_HP1_AWSIZE, S_AXI_HP1_ARPROT, S_AXI_HP1_AWPROT, S_AXI_HP1_ARADDR, S_AXI_HP1_AWADDR, S_AXI_HP1_ARCACHE, S_AXI_HP1_ARLEN, S_AXI_HP1_ARQOS, S_AXI_HP1_AWCACHE, S_AXI_HP1_AWLEN, S_AXI_HP1_AWQOS, S_AXI_HP1_ARID, S_AXI_HP1_AWID, S_AXI_HP1_WID, S_AXI_HP1_WDATA, S_AXI_HP1_WSTRB, S_AXI_HP2_ARREADY, S_AXI_HP2_AWREADY, S_AXI_HP2_BVALID, S_AXI_HP2_RLAST, S_AXI_HP2_RVALID, S_AXI_HP2_WREADY, S_AXI_HP2_BRESP, S_AXI_HP2_RRESP, S_AXI_HP2_BID, S_AXI_HP2_RID, S_AXI_HP2_RDATA, S_AXI_HP2_RCOUNT, S_AXI_HP2_WCOUNT, S_AXI_HP2_RACOUNT, S_AXI_HP2_WACOUNT, S_AXI_HP2_ACLK, S_AXI_HP2_ARVALID, S_AXI_HP2_AWVALID, S_AXI_HP2_BREADY, S_AXI_HP2_RDISSUECAP1_EN, S_AXI_HP2_RREADY, S_AXI_HP2_WLAST, S_AXI_HP2_WRISSUECAP1_EN, S_AXI_HP2_WVALID, S_AXI_HP2_ARBURST, S_AXI_HP2_ARLOCK, S_AXI_HP2_ARSIZE, S_AXI_HP2_AWBURST, S_AXI_HP2_AWLOCK, S_AXI_HP2_AWSIZE, S_AXI_HP2_ARPROT, S_AXI_HP2_AWPROT, S_AXI_HP2_ARADDR, S_AXI_HP2_AWADDR, S_AXI_HP2_ARCACHE, S_AXI_HP2_ARLEN, S_AXI_HP2_ARQOS, S_AXI_HP2_AWCACHE, S_AXI_HP2_AWLEN, S_AXI_HP2_AWQOS, S_AXI_HP2_ARID, S_AXI_HP2_AWID, S_AXI_HP2_WID, S_AXI_HP2_WDATA, S_AXI_HP2_WSTRB, S_AXI_HP3_ARREADY, S_AXI_HP3_AWREADY, S_AXI_HP3_BVALID, S_AXI_HP3_RLAST, S_AXI_HP3_RVALID, S_AXI_HP3_WREADY, S_AXI_HP3_BRESP, S_AXI_HP3_RRESP, S_AXI_HP3_BID, S_AXI_HP3_RID, S_AXI_HP3_RDATA, S_AXI_HP3_RCOUNT, S_AXI_HP3_WCOUNT, S_AXI_HP3_RACOUNT, S_AXI_HP3_WACOUNT, S_AXI_HP3_ACLK, S_AXI_HP3_ARVALID, S_AXI_HP3_AWVALID, S_AXI_HP3_BREADY, S_AXI_HP3_RDISSUECAP1_EN, S_AXI_HP3_RREADY, S_AXI_HP3_WLAST, S_AXI_HP3_WRISSUECAP1_EN, S_AXI_HP3_WVALID, S_AXI_HP3_ARBURST, S_AXI_HP3_ARLOCK, S_AXI_HP3_ARSIZE, S_AXI_HP3_AWBURST, S_AXI_HP3_AWLOCK, S_AXI_HP3_AWSIZE, S_AXI_HP3_ARPROT, S_AXI_HP3_AWPROT, S_AXI_HP3_ARADDR, S_AXI_HP3_AWADDR, S_AXI_HP3_ARCACHE, S_AXI_HP3_ARLEN, S_AXI_HP3_ARQOS, S_AXI_HP3_AWCACHE, S_AXI_HP3_AWLEN, S_AXI_HP3_AWQOS, S_AXI_HP3_ARID, S_AXI_HP3_AWID, S_AXI_HP3_WID, S_AXI_HP3_WDATA, S_AXI_HP3_WSTRB, DMA0_DATYPE, DMA0_DAVALID, DMA0_DRREADY, DMA0_ACLK, DMA0_DAREADY, DMA0_DRLAST, DMA0_DRVALID, DMA0_DRTYPE, DMA1_DATYPE, DMA1_DAVALID, DMA1_DRREADY, DMA1_ACLK, DMA1_DAREADY, DMA1_DRLAST, DMA1_DRVALID, DMA1_DRTYPE, DMA2_DATYPE, DMA2_DAVALID, DMA2_DRREADY, DMA2_ACLK, DMA2_DAREADY, DMA2_DRLAST, DMA2_DRVALID, DMA3_DRVALID, DMA3_DATYPE, DMA3_DAVALID, DMA3_DRREADY, DMA3_ACLK, DMA3_DAREADY, DMA3_DRLAST, DMA2_DRTYPE, DMA3_DRTYPE, FTMD_TRACEIN_DATA, FTMD_TRACEIN_VALID, FTMD_TRACEIN_CLK, FTMD_TRACEIN_ATID, FTMT_F2P_TRIG, FTMT_F2P_TRIGACK, FTMT_F2P_DEBUG, FTMT_P2F_TRIGACK, FTMT_P2F_TRIG, FTMT_P2F_DEBUG, FCLK_CLK3, FCLK_CLK2, FCLK_CLK1, FCLK_CLK0, FCLK_CLKTRIG3_N, FCLK_CLKTRIG2_N, FCLK_CLKTRIG1_N, FCLK_CLKTRIG0_N, FCLK_RESET3_N, FCLK_RESET2_N, FCLK_RESET1_N, FCLK_RESET0_N, FPGA_IDLE_N, DDR_ARB, IRQ_F2P, Core0_nFIQ, Core0_nIRQ, Core1_nFIQ, Core1_nIRQ, EVENT_EVENTO, EVENT_STANDBYWFE, EVENT_STANDBYWFI, EVENT_EVENTI, MIO, DDR_Clk, DDR_Clk_n, DDR_CKE, DDR_CS_n, DDR_RAS_n, DDR_CAS_n, DDR_WEB, DDR_BankAddr, DDR_Addr, DDR_ODT, DDR_DRSTB, DDR_DQ, DDR_DM, DDR_DQS, DDR_DQS_n, DDR_VRN, DDR_VRP, PS_SRSTB, PS_CLK, PS_PORB, IRQ_P2F_DMAC_ABORT, IRQ_P2F_DMAC0, IRQ_P2F_DMAC1, IRQ_P2F_DMAC2, IRQ_P2F_DMAC3, IRQ_P2F_DMAC4, IRQ_P2F_DMAC5, IRQ_P2F_DMAC6, IRQ_P2F_DMAC7, IRQ_P2F_SMC, IRQ_P2F_QSPI, IRQ_P2F_CTI, IRQ_P2F_GPIO, IRQ_P2F_USB0, IRQ_P2F_ENET0, IRQ_P2F_ENET_WAKE0, IRQ_P2F_SDIO0, IRQ_P2F_I2C0, IRQ_P2F_SPI0, IRQ_P2F_UART0, IRQ_P2F_CAN0, IRQ_P2F_USB1, IRQ_P2F_ENET1, IRQ_P2F_ENET_WAKE1, IRQ_P2F_SDIO1, IRQ_P2F_I2C1, IRQ_P2F_SPI1, IRQ_P2F_UART1, IRQ_P2F_CAN1)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:11860
S_AXI_ACP_AWUSER
bit< 4 :0 > S_AXI_ACP_AWUSER
Definition: design_1_processing_system7_0_0.sv:367
S_AXI_ACP_RVALID
bit S_AXI_ACP_RVALID
Definition: design_1_processing_system7_0_0.sv:333
SPI1_MOSI_T
bit SPI1_MOSI_T
Definition: design_1_processing_system7_0_0.sv:123
S_AXI_HP3_AWCACHE
bit< 3 :0 > S_AXI_HP3_AWCACHE
Definition: design_1_processing_system7_0_0.sv:542
processing_system7_vip_v1_0_10_ocm_mem
module processing_system7_vip_v1_0_10_ocm_mem()
Definition: processing_system7_vip_v1_0_vl_rfs.sv:2690
S_AXI_GP0_ARSIZE
bit< 2 :0 > S_AXI_GP0_ARSIZE
Definition: design_1_processing_system7_0_0.sv:271
ENET0_EXT_INTIN
bit ENET0_EXT_INTIN
Definition: design_1_processing_system7_0_0.sv:32
PS_CLK
bit PS_CLK
Definition: design_1_processing_system7_0_0.sv:675
processing_system7_vip_v1_0_10_axi_slave_acp
module processing_system7_vip_v1_0_10_axi_slave_acp(S_RESETN, S_ARREADY, S_AWREADY, S_BVALID, S_RLAST, S_RVALID, S_WREADY, S_BRESP, S_RRESP, S_RDATA, S_BID, S_RID, S_ACLK, S_ARVALID, S_AWVALID, S_BREADY, S_RREADY, S_WLAST, S_WVALID, S_ARBURST, S_ARLOCK, S_ARSIZE, S_AWBURST, S_AWLOCK, S_AWSIZE, S_ARPROT, S_AWPROT, S_ARADDR, S_AWADDR, S_WDATA, S_ARCACHE, S_ARLEN, S_AWCACHE, S_AWLEN, S_WSTRB, S_ARID, S_AWID, S_WID, S_AWQOS, S_ARQOS, SW_CLK, WR_DATA_ACK_OCM, WR_DATA_ACK_DDR, WR_ADDR, WR_DATA, WR_DATA_STRB, WR_BYTES, WR_DATA_VALID_OCM, WR_DATA_VALID_DDR, WR_QOS, RD_QOS, RD_REQ_DDR, RD_REQ_OCM, RD_REQ_REG, RD_ADDR, RD_DATA_OCM, RD_DATA_DDR, RD_DATA_REG, RD_BYTES, RD_DATA_VALID_OCM, RD_DATA_VALID_DDR, RD_DATA_VALID_REG)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:6870
S_AXI_GP0_WID
bit< 5 :0 > S_AXI_GP0_WID
Definition: design_1_processing_system7_0_0.sv:289
UART0_RIN
bit UART0_RIN
Definition: design_1_processing_system7_0_0.sv:138
m_axi_awuser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > m_axi_awuser
Definition: axi_vip_v1_1_vl_rfs.sv:162
I2C1_SCL_O
bit I2C1_SCL_O
Definition: design_1_processing_system7_0_0.sv:72
m_axi_bvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire m_axi_bvalid
Definition: axi_vip_v1_1_vl_rfs.sv:179
ENET0_GMII_TX_EN
bit< 0 :0 > ENET0_GMII_TX_EN
Definition: design_1_processing_system7_0_0.sv:9
M_AXI_GP1_AWSIZE
bit< 2 :0 > M_AXI_GP1_AWSIZE
Definition: design_1_processing_system7_0_0.sv:226
DDR_DM
bit< 3 :0 > DDR_DM
Definition: design_1_processing_system7_0_0.sv:670
S_AXI_HP3_RLAST
bit S_AXI_HP3_RLAST
Definition: design_1_processing_system7_0_0.sv:508
SPI1_SS1_O
bit SPI1_SS1_O
Definition: design_1_processing_system7_0_0.sv:129
ENET1_MDIO_I
bit ENET1_MDIO_I
Definition: design_1_processing_system7_0_0.sv:56
ENET0_GMII_RX_ER
bit ENET0_GMII_RX_ER
Definition: design_1_processing_system7_0_0.sv:29
S_AXI_HP0_RACOUNT
bit< 2 :0 > S_AXI_HP0_RACOUNT
Definition: design_1_processing_system7_0_0.sv:383
S_AXI_HP1_ARLEN
bit< 3 :0 > S_AXI_HP1_ARLEN
Definition: design_1_processing_system7_0_0.sv:450
S_AXI_HP0_RLAST
bit S_AXI_HP0_RLAST
Definition: design_1_processing_system7_0_0.sv:373
IRQ_P2F_UART1
bit IRQ_P2F_UART1
Definition: design_1_processing_system7_0_0.sv:577
ENET0_PTP_DELAY_REQ_RX
bit ENET0_PTP_DELAY_REQ_RX
Definition: design_1_processing_system7_0_0.sv:14
M_AXI_GP1_ARID
bit< 11 :0 > M_AXI_GP1_ARID
Definition: design_1_processing_system7_0_0.sv:218
M_AXI_GP1_BVALID
bit M_AXI_GP1_BVALID
Definition: design_1_processing_system7_0_0.sv:242
S_AXI_HP3_WACOUNT
bit< 5 :0 > S_AXI_HP3_WACOUNT
Definition: design_1_processing_system7_0_0.sv:519
axi_vip_v1_1_8_top
DowngradeIPIdentifiedWarnings module axi_vip_v1_1_8_top(parameter C_AXI_PROTOCOL=0, parameter C_AXI_INTERFACE_MODE=1, parameter integer C_AXI_ADDR_WIDTH=32, parameter integer C_AXI_WDATA_WIDTH=32, parameter integer C_AXI_RDATA_WIDTH=32, parameter integer C_AXI_WID_WIDTH=0, parameter integer C_AXI_RID_WIDTH=0, parameter integer C_AXI_AWUSER_WIDTH=0, parameter integer C_AXI_ARUSER_WIDTH=0, parameter integer C_AXI_WUSER_WIDTH=0, parameter integer C_AXI_RUSER_WIDTH=0, parameter integer C_AXI_BUSER_WIDTH=0, parameter integer C_AXI_SUPPORTS_NARROW=1, parameter integer C_AXI_HAS_BURST=1, parameter integer C_AXI_HAS_LOCK=1, parameter integer C_AXI_HAS_CACHE=1, parameter integer C_AXI_HAS_REGION=1, parameter integer C_AXI_HAS_PROT=1, parameter integer C_AXI_HAS_QOS=1, parameter integer C_AXI_HAS_WSTRB=1, parameter integer C_AXI_HAS_BRESP=1, parameter integer C_AXI_HAS_RRESP=1, parameter integer C_AXI_HAS_ARESETN=1)(input wire aclk
S_AXI_GP1_ARBURST
bit< 1 :0 > S_AXI_GP1_ARBURST
Definition: design_1_processing_system7_0_0.sv:308
s_axi_awqos
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > s_axi_awqos
Definition: axi_vip_v1_1_vl_rfs.sv:106
S_AXI_HP3_ARLOCK
bit< 1 :0 > S_AXI_HP3_ARLOCK
Definition: design_1_processing_system7_0_0.sv:530
processing_system7_vip_v1_0_10_reg_map
module processing_system7_vip_v1_0_10_reg_map()
Definition: processing_system7_vip_v1_0_vl_rfs.sv:2540
IRQ_P2F_DMAC6
bit IRQ_P2F_DMAC6
Definition: design_1_processing_system7_0_0.sv:557
S_AXI_HP0_ARSIZE
bit< 2 :0 > S_AXI_HP0_ARSIZE
Definition: design_1_processing_system7_0_0.sv:396
DMA2_DRREADY
bit DMA2_DRREADY
Definition: design_1_processing_system7_0_0.sv:592
S_AXI_GP0_ACLK
bit S_AXI_GP0_ACLK
Definition: design_1_processing_system7_0_0.sv:262
TTC0_CLK0_IN
bit TTC0_CLK0_IN
Definition: design_1_processing_system7_0_0.sv:151
S_AXI_HP1_AWLOCK
bit< 1 :0 > S_AXI_HP1_AWLOCK
Definition: design_1_processing_system7_0_0.sv:443
processing_system7_vip_v1_0_10_gen_clock
module processing_system7_vip_v1_0_10_gen_clock(ps_clk, sw_clk, fclk_clk3, fclk_clk2, fclk_clk1, fclk_clk0)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:4874
ENET0_MDIO_MDC
bit ENET0_MDIO_MDC
Definition: design_1_processing_system7_0_0.sv:11
SPI1_MISO_T
bit SPI1_MISO_T
Definition: design_1_processing_system7_0_0.sv:126
S_AXI_HP0_WACOUNT
bit< 5 :0 > S_AXI_HP0_WACOUNT
Definition: design_1_processing_system7_0_0.sv:384
s_axi_rvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire s_axi_rvalid
Definition: axi_vip_v1_1_vl_rfs.sv:148
S_AXI_HP1_AWCACHE
bit< 3 :0 > S_AXI_HP1_AWCACHE
Definition: design_1_processing_system7_0_0.sv:452
FCLK_RESET1_N
bit FCLK_RESET1_N
Definition: design_1_processing_system7_0_0.sv:625
S_AXI_GP1_AWLEN
bit< 3 :0 > S_AXI_GP1_AWLEN
Definition: design_1_processing_system7_0_0.sv:323
S_AXI_HP1_WLAST
bit S_AXI_HP1_WLAST
Definition: design_1_processing_system7_0_0.sv:436
M_AXI_GP0_AWLOCK
bit< 1 :0 > M_AXI_GP0_AWLOCK
Definition: design_1_processing_system7_0_0.sv:186
S_AXI_HP3_RID
bit< 5 :0 > S_AXI_HP3_RID
Definition: design_1_processing_system7_0_0.sv:514
DMA1_DRTYPE
bit< 1 :0 > DMA1_DRTYPE
Definition: design_1_processing_system7_0_0.sv:613
ENET0_SOF_TX
bit ENET0_SOF_TX
Definition: design_1_processing_system7_0_0.sv:23
S_AXI_HP3_ARBURST
bit< 1 :0 > S_AXI_HP3_ARBURST
Definition: design_1_processing_system7_0_0.sv:529
S_AXI_HP1_AWPROT
bit< 2 :0 > S_AXI_HP1_AWPROT
Definition: design_1_processing_system7_0_0.sv:446
EVENT_STANDBYWFE
bit< 1 :0 > EVENT_STANDBYWFE
Definition: design_1_processing_system7_0_0.sv:652
SDIO1_CMD_I
bit SDIO1_CMD_I
Definition: design_1_processing_system7_0_0.sv:94
PJTAG_TCK
bit PJTAG_TCK
Definition: design_1_processing_system7_0_0.sv:74
S_AXI_GP1_AWQOS
bit< 3 :0 > S_AXI_GP1_AWQOS
Definition: design_1_processing_system7_0_0.sv:324
S_AXI_HP0_ARADDR
bit< 31 :0 > S_AXI_HP0_ARADDR
Definition: design_1_processing_system7_0_0.sv:402
ENET0_PTP_PDELAY_REQ_TX
bit ENET0_PTP_PDELAY_REQ_TX
Definition: design_1_processing_system7_0_0.sv:17
IRQ_P2F_GPIO
bit IRQ_P2F_GPIO
Definition: design_1_processing_system7_0_0.sv:562
S_AXI_HP0_AWSIZE
bit< 2 :0 > S_AXI_HP0_AWSIZE
Definition: design_1_processing_system7_0_0.sv:399
FCLK_CLK1
bit FCLK_CLK1
Definition: design_1_processing_system7_0_0.sv:617
ENET1_GMII_RXD
bit< 7 :0 > ENET1_GMII_RXD
Definition: design_1_processing_system7_0_0.sv:58
S_AXI_ACP_BREADY
bit S_AXI_ACP_BREADY
Definition: design_1_processing_system7_0_0.sv:343
S_AXI_HP1_ARADDR
bit< 31 :0 > S_AXI_HP1_ARADDR
Definition: design_1_processing_system7_0_0.sv:447
EVENT_EVENTI
bit EVENT_EVENTI
Definition: design_1_processing_system7_0_0.sv:654
DMA3_DRTYPE
bit< 1 :0 > DMA3_DRTYPE
Definition: design_1_processing_system7_0_0.sv:615
S_AXI_ACP_WREADY
bit S_AXI_ACP_WREADY
Definition: design_1_processing_system7_0_0.sv:334
S_AXI_HP1_ACLK
bit S_AXI_HP1_ACLK
Definition: design_1_processing_system7_0_0.sv:430
s_axi_arregion
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > s_axi_arregion
Definition: axi_vip_v1_1_vl_rfs.sv:136
SPI0_SCLK_I
bit SPI0_SCLK_I
Definition: design_1_processing_system7_0_0.sv:104
SPI1_SS_T
bit SPI1_SS_T
Definition: design_1_processing_system7_0_0.sv:131
S_AXI_GP0_RID
bit< 5 :0 > S_AXI_GP0_RID
Definition: design_1_processing_system7_0_0.sv:261
I2C1_SCL_I
bit I2C1_SCL_I
Definition: design_1_processing_system7_0_0.sv:71
processing_system7_vip_v1_0_10_intr_rd_mem
module processing_system7_vip_v1_0_10_intr_rd_mem(sw_clk, rstn, full, empty, req, invalid_rd_req, rd_info, RD_DATA_OCM, RD_DATA_DDR, RD_DATA_VALID_OCM, RD_DATA_VALID_DDR)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:3199
S_AXI_HP3_RREADY
bit S_AXI_HP3_RREADY
Definition: design_1_processing_system7_0_0.sv:525
processing_system7_vip_v1_0_10_intr_wr_mem
module processing_system7_vip_v1_0_10_intr_wr_mem(sw_clk, rstn, full, WR_DATA_ACK_OCM, WR_DATA_ACK_DDR, WR_ADDR, WR_DATA, WR_BYTES, WR_QOS, WR_DATA_VALID_OCM, WR_DATA_VALID_DDR)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:3078
IRQ_P2F_ENET1
bit IRQ_P2F_ENET1
Definition: design_1_processing_system7_0_0.sv:572
M_AXI_GP0_AWLEN
bit< 3 :0 > M_AXI_GP0_AWLEN
Definition: design_1_processing_system7_0_0.sv:197
M_AXI_GP1_ARVALID
bit M_AXI_GP1_ARVALID
Definition: design_1_processing_system7_0_0.sv:212
s_axi_rlast
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire s_axi_rlast
Definition: axi_vip_v1_1_vl_rfs.sv:146
S_AXI_GP1_ARLEN
bit< 3 :0 > S_AXI_GP1_ARLEN
Definition: design_1_processing_system7_0_0.sv:320
DMA0_DRREADY
bit DMA0_DRREADY
Definition: design_1_processing_system7_0_0.sv:586
processing_system7_vip_v1_0_10_arb_hp0_1
module processing_system7_vip_v1_0_10_arb_hp0_1(sw_clk, rstn, w_qos_hp0, r_qos_hp0, w_qos_hp1, r_qos_hp1, wr_ack_ddr_hp0, wr_data_hp0, wr_strb_hp0, wr_addr_hp0, wr_bytes_hp0, wr_dv_ddr_hp0, rd_req_ddr_hp0, rd_addr_hp0, rd_bytes_hp0, rd_data_ddr_hp0, rd_dv_ddr_hp0, wr_ack_ddr_hp1, wr_data_hp1, wr_strb_hp1, wr_addr_hp1, wr_bytes_hp1, wr_dv_ddr_hp1, rd_req_ddr_hp1, rd_addr_hp1, rd_bytes_hp1, rd_data_ddr_hp1, rd_dv_ddr_hp1, ddr_wr_ack, ddr_wr_dv, ddr_rd_req, ddr_rd_dv, ddr_rd_qos, ddr_wr_qos, ddr_wr_addr, ddr_wr_data, ddr_wr_strb, ddr_wr_bytes, ddr_rd_addr, ddr_rd_data, ddr_rd_bytes)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:1135
SDIO0_WP
bit SDIO0_WP
Definition: design_1_processing_system7_0_0.sv:88
DMA2_DRTYPE
bit< 1 :0 > DMA2_DRTYPE
Definition: design_1_processing_system7_0_0.sv:614
IRQ_P2F_USB1
bit IRQ_P2F_USB1
Definition: design_1_processing_system7_0_0.sv:571
m_axi_arready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire m_axi_arready
Definition: axi_vip_v1_1_vl_rfs.sv:195
S_AXI_GP0_AWREADY
bit S_AXI_GP0_AWREADY
Definition: design_1_processing_system7_0_0.sv:252
S_AXI_ACP_ARCACHE
bit< 3 :0 > S_AXI_ACP_ARCACHE
Definition: design_1_processing_system7_0_0.sv:354
S_AXI_GP1_ARID
bit< 5 :0 > S_AXI_GP1_ARID
Definition: design_1_processing_system7_0_0.sv:326
processing_system7_vip_v1_0_10_regc
module processing_system7_vip_v1_0_10_regc(rstn, sw_clk, reg_rd_req_port0, reg_rd_dv_port0, reg_rd_addr_port0, reg_rd_data_port0, reg_rd_bytes_port0, reg_rd_qos_port0, reg_rd_req_port1, reg_rd_dv_port1, reg_rd_addr_port1, reg_rd_data_port1, reg_rd_bytes_port1, reg_rd_qos_port1)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:3616
m_axi_rvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_RDATA_WIDTH-1:0 > input wire< 2-1:0 > input wire input wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > input wire m_axi_rvalid
Definition: axi_vip_v1_1_vl_rfs.sv:203
IRQ_P2F_I2C0
bit IRQ_P2F_I2C0
Definition: design_1_processing_system7_0_0.sv:567
s_axi_rready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire s_axi_rready
Definition: axi_vip_v1_1_vl_rfs.sv:149
m_axi_awlock
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > m_axi_awlock
Definition: axi_vip_v1_1_vl_rfs.sv:157
SPI0_MISO_O
bit SPI0_MISO_O
Definition: design_1_processing_system7_0_0.sv:111
s_axi_arvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire s_axi_arvalid
Definition: axi_vip_v1_1_vl_rfs.sv:139
S_AXI_GP0_WLAST
bit S_AXI_GP0_WLAST
Definition: design_1_processing_system7_0_0.sv:267
FCLK_CLKTRIG0_N
bit FCLK_CLKTRIG0_N
Definition: design_1_processing_system7_0_0.sv:620
SPI0_SS_O
bit SPI0_SS_O
Definition: design_1_processing_system7_0_0.sv:114
m_axi_awburst
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > m_axi_awburst
Definition: axi_vip_v1_1_vl_rfs.sv:156
IRQ_P2F_SPI1
bit IRQ_P2F_SPI1
Definition: design_1_processing_system7_0_0.sv:576
S_AXI_GP0_ARBURST
bit< 1 :0 > S_AXI_GP0_ARBURST
Definition: design_1_processing_system7_0_0.sv:269
IRQ_P2F_ENET_WAKE1
bit IRQ_P2F_ENET_WAKE1
Definition: design_1_processing_system7_0_0.sv:573
S_AXI_HP3_BVALID
bit S_AXI_HP3_BVALID
Definition: design_1_processing_system7_0_0.sv:507
ENET0_GMII_CRS
bit ENET0_GMII_CRS
Definition: design_1_processing_system7_0_0.sv:26
processing_system7_vip_v1_0_10_axi_slave
module processing_system7_vip_v1_0_10_axi_slave(S_RESETN, S_ARREADY, S_AWREADY, S_BVALID, S_RLAST, S_RVALID, S_WREADY, S_BRESP, S_RRESP, S_RDATA, S_BID, S_RID, S_ACLK, S_ARVALID, S_AWVALID, S_BREADY, S_RREADY, S_WLAST, S_WVALID, S_ARBURST, S_ARLOCK, S_ARSIZE, S_AWBURST, S_AWLOCK, S_AWSIZE, S_ARPROT, S_AWPROT, S_ARADDR, S_AWADDR, S_WDATA, S_ARCACHE, S_ARLEN, S_AWCACHE, S_AWLEN, S_WSTRB, S_ARID, S_AWID, S_WID, S_AWQOS, S_ARQOS, SW_CLK, WR_DATA_ACK_OCM, WR_DATA_ACK_DDR, WR_ADDR, WR_DATA, WR_DATA_STRB, WR_BYTES, WR_DATA_VALID_OCM, WR_DATA_VALID_DDR, WR_QOS, RD_QOS, RD_REQ_DDR, RD_REQ_OCM, RD_REQ_REG, RD_ADDR, RD_DATA_OCM, RD_DATA_DDR, RD_DATA_REG, RD_BYTES, RD_DATA_VALID_OCM, RD_DATA_VALID_DDR, RD_DATA_VALID_REG)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:5261
ENET1_MDIO_MDC
bit ENET1_MDIO_MDC
Definition: design_1_processing_system7_0_0.sv:36
ENET0_PTP_DELAY_REQ_TX
bit ENET0_PTP_DELAY_REQ_TX
Definition: design_1_processing_system7_0_0.sv:15
M_AXI_GP1_ARREADY
bit M_AXI_GP1_ARREADY
Definition: design_1_processing_system7_0_0.sv:240
s_axi_awid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > s_axi_awid
Definition: axi_vip_v1_1_vl_rfs.sv:97
S_AXI_HP3_AWSIZE
bit< 2 :0 > S_AXI_HP3_AWSIZE
Definition: design_1_processing_system7_0_0.sv:534
M_AXI_GP1_WDATA
bit< 31 :0 > M_AXI_GP1_WDATA
Definition: design_1_processing_system7_0_0.sv:231
M_AXI_GP0_RDATA
bit< 31 :0 > M_AXI_GP0_RDATA
Definition: design_1_processing_system7_0_0.sv:211
UART0_DTRN
bit UART0_DTRN
Definition: design_1_processing_system7_0_0.sv:132
ENET0_PTP_PDELAY_RESP_TX
bit ENET0_PTP_PDELAY_RESP_TX
Definition: design_1_processing_system7_0_0.sv:19
S_AXI_GP1_WREADY
bit S_AXI_GP1_WREADY
Definition: design_1_processing_system7_0_0.sv:295
SDIO1_WP
bit SDIO1_WP
Definition: design_1_processing_system7_0_0.sv:101
IRQ_P2F_QSPI
bit IRQ_P2F_QSPI
Definition: design_1_processing_system7_0_0.sv:560
S_AXI_GP1_ARREADY
bit S_AXI_GP1_ARREADY
Definition: design_1_processing_system7_0_0.sv:290
DDR_CKE
bit DDR_CKE
Definition: design_1_processing_system7_0_0.sv:658
S_AXI_HP0_AWVALID
bit S_AXI_HP0_AWVALID
Definition: design_1_processing_system7_0_0.sv:387
S_AXI_HP1_RACOUNT
bit< 2 :0 > S_AXI_HP1_RACOUNT
Definition: design_1_processing_system7_0_0.sv:428
S_AXI_HP0_ARBURST
bit< 1 :0 > S_AXI_HP0_ARBURST
Definition: design_1_processing_system7_0_0.sv:394
ENET0_PTP_SYNC_FRAME_RX
bit ENET0_PTP_SYNC_FRAME_RX
Definition: design_1_processing_system7_0_0.sv:20
S_AXI_HP0_ARLOCK
bit< 1 :0 > S_AXI_HP0_ARLOCK
Definition: design_1_processing_system7_0_0.sv:395
S_AXI_GP0_BRESP
bit< 1 :0 > S_AXI_GP0_BRESP
Definition: design_1_processing_system7_0_0.sv:257
M_AXI_GP1_RREADY
bit M_AXI_GP1_RREADY
Definition: design_1_processing_system7_0_0.sv:215
FCLK_CLK0
bit FCLK_CLK0
Definition: design_1_processing_system7_0_0.sv:616
FCLK_RESET0_N
bit FCLK_RESET0_N
Definition: design_1_processing_system7_0_0.sv:624
S_AXI_HP0_WREADY
bit S_AXI_HP0_WREADY
Definition: design_1_processing_system7_0_0.sv:375
M_AXI_GP1_ARQOS
bit< 3 :0 > M_AXI_GP1_ARQOS
Definition: design_1_processing_system7_0_0.sv:234
S_AXI_HP1_WACOUNT
bit< 5 :0 > S_AXI_HP1_WACOUNT
Definition: design_1_processing_system7_0_0.sv:429
I2C0_SDA_O
bit I2C0_SDA_O
Definition: design_1_processing_system7_0_0.sv:63
S_AXI_ACP_ARREADY
bit S_AXI_ACP_ARREADY
Definition: design_1_processing_system7_0_0.sv:329
M_AXI_GP1_RVALID
bit M_AXI_GP1_RVALID
Definition: design_1_processing_system7_0_0.sv:244
IRQ_P2F_I2C1
bit IRQ_P2F_I2C1
Definition: design_1_processing_system7_0_0.sv:575
S_AXI_HP1_ARQOS
bit< 3 :0 > S_AXI_HP1_ARQOS
Definition: design_1_processing_system7_0_0.sv:451
M_AXI_GP1_WVALID
bit M_AXI_GP1_WVALID
Definition: design_1_processing_system7_0_0.sv:217
SDIO0_BUSPOW
bit SDIO0_BUSPOW
Definition: design_1_processing_system7_0_0.sv:89
SDIO0_CLK_FB
bit SDIO0_CLK_FB
Definition: design_1_processing_system7_0_0.sv:79
M_AXI_GP1_AWCACHE
bit< 3 :0 > M_AXI_GP1_AWCACHE
Definition: design_1_processing_system7_0_0.sv:235
ENET1_GMII_RX_CLK
bit ENET1_GMII_RX_CLK
Definition: design_1_processing_system7_0_0.sv:52
CAN1_PHY_TX
bit CAN1_PHY_TX
Definition: design_1_processing_system7_0_0.sv:7
m_axi_wuser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > m_axi_wuser
Definition: axi_vip_v1_1_vl_rfs.sv:171
S_AXI_ACP_ARPROT
bit< 2 :0 > S_AXI_ACP_ARPROT
Definition: design_1_processing_system7_0_0.sv:348
S_AXI_HP0_ARQOS
bit< 3 :0 > S_AXI_HP0_ARQOS
Definition: design_1_processing_system7_0_0.sv:406
s_axi_rresp
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > s_axi_rresp
Definition: axi_vip_v1_1_vl_rfs.sv:145
m_axi_arlock
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > m_axi_arlock
Definition: axi_vip_v1_1_vl_rfs.sv:188
m_axi_awqos
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > m_axi_awqos
Definition: axi_vip_v1_1_vl_rfs.sv:161
ENET0_GMII_COL
bit ENET0_GMII_COL
Definition: design_1_processing_system7_0_0.sv:25
IRQ_P2F_DMAC5
bit IRQ_P2F_DMAC5
Definition: design_1_processing_system7_0_0.sv:556
S_AXI_GP1_ARCACHE
bit< 3 :0 > S_AXI_GP1_ARCACHE
Definition: design_1_processing_system7_0_0.sv:319
s_axi_bresp
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > s_axi_bresp
Definition: axi_vip_v1_1_vl_rfs.sv:122
I2C0_SCL_T
bit I2C0_SCL_T
Definition: design_1_processing_system7_0_0.sv:67
s_axi_awprot
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > s_axi_awprot
Definition: axi_vip_v1_1_vl_rfs.sv:104
M_AXI_GP0_AWSIZE
bit< 2 :0 > M_AXI_GP0_AWSIZE
Definition: design_1_processing_system7_0_0.sv:187
S_AXI_GP1_RREADY
bit S_AXI_GP1_RREADY
Definition: design_1_processing_system7_0_0.sv:305
S_AXI_HP2_RDATA
bit< 63 :0 > S_AXI_HP2_RDATA
Definition: design_1_processing_system7_0_0.sv:470
S_AXI_HP1_RVALID
bit S_AXI_HP1_RVALID
Definition: design_1_processing_system7_0_0.sv:419
S_AXI_GP1_RLAST
bit S_AXI_GP1_RLAST
Definition: design_1_processing_system7_0_0.sv:293
ENET1_PTP_DELAY_REQ_TX
bit ENET1_PTP_DELAY_REQ_TX
Definition: design_1_processing_system7_0_0.sv:40
ENET1_GMII_TX_CLK
bit ENET1_GMII_TX_CLK
Definition: design_1_processing_system7_0_0.sv:55
S_AXI_ACP_RREADY
bit S_AXI_ACP_RREADY
Definition: design_1_processing_system7_0_0.sv:344
m_axi_awsize
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > m_axi_awsize
Definition: axi_vip_v1_1_vl_rfs.sv:155
M_AXI_GP0_AWADDR
bit< 31 :0 > M_AXI_GP0_AWADDR
Definition: design_1_processing_system7_0_0.sv:191
S_AXI_HP1_ARREADY
bit S_AXI_HP1_ARREADY
Definition: design_1_processing_system7_0_0.sv:415
TRACE_DATA
bit< 1 :0 > TRACE_DATA
Definition: design_1_processing_system7_0_0.sv:165
S_AXI_GP1_RID
bit< 5 :0 > S_AXI_GP1_RID
Definition: design_1_processing_system7_0_0.sv:300
S_AXI_HP3_ARQOS
bit< 3 :0 > S_AXI_HP3_ARQOS
Definition: design_1_processing_system7_0_0.sv:541
S_AXI_HP1_ARID
bit< 5 :0 > S_AXI_HP1_ARID
Definition: design_1_processing_system7_0_0.sv:455
UART1_DTRN
bit UART1_DTRN
Definition: design_1_processing_system7_0_0.sv:140
S_AXI_HP3_WCOUNT
bit< 7 :0 > S_AXI_HP3_WCOUNT
Definition: design_1_processing_system7_0_0.sv:517
M_AXI_GP0_AWID
bit< 11 :0 > M_AXI_GP0_AWID
Definition: design_1_processing_system7_0_0.sv:180
CAN0_PHY_RX
bit CAN0_PHY_RX
Definition: design_1_processing_system7_0_0.sv:6
M_AXI_GP1_ARBURST
bit< 1 :0 > M_AXI_GP1_ARBURST
Definition: design_1_processing_system7_0_0.sv:221
UART1_TX
bit UART1_TX
Definition: design_1_processing_system7_0_0.sv:142
Core0_nFIQ
bit Core0_nFIQ
Definition: design_1_processing_system7_0_0.sv:580
S_AXI_HP0_WID
bit< 5 :0 > S_AXI_HP0_WID
Definition: design_1_processing_system7_0_0.sv:412
S_AXI_GP0_ARVALID
bit S_AXI_GP0_ARVALID
Definition: design_1_processing_system7_0_0.sv:263
M_AXI_GP0_ARVALID
bit M_AXI_GP0_ARVALID
Definition: design_1_processing_system7_0_0.sv:173
SDIO0_DATA_I
bit< 3 :0 > SDIO0_DATA_I
Definition: design_1_processing_system7_0_0.sv:83
USB1_VBUS_PWRFAULT
bit USB1_VBUS_PWRFAULT
Definition: design_1_processing_system7_0_0.sv:171
Core1_nFIQ
bit Core1_nFIQ
Definition: design_1_processing_system7_0_0.sv:582
s_axi_arid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > s_axi_arid
Definition: axi_vip_v1_1_vl_rfs.sv:128
Core0_nIRQ
bit Core0_nIRQ
Definition: design_1_processing_system7_0_0.sv:581
I2C1_SDA_O
bit I2C1_SDA_O
Definition: design_1_processing_system7_0_0.sv:69
M_AXI_GP1_WSTRB
bit< 3 :0 > M_AXI_GP1_WSTRB
Definition: design_1_processing_system7_0_0.sv:238
S_AXI_HP0_RID
bit< 5 :0 > S_AXI_HP0_RID
Definition: design_1_processing_system7_0_0.sv:379
M_AXI_GP1_AWQOS
bit< 3 :0 > M_AXI_GP1_AWQOS
Definition: design_1_processing_system7_0_0.sv:237
S_AXI_HP2_WREADY
bit S_AXI_HP2_WREADY
Definition: design_1_processing_system7_0_0.sv:465
S_AXI_GP1_AWPROT
bit< 2 :0 > S_AXI_GP1_AWPROT
Definition: design_1_processing_system7_0_0.sv:315
S_AXI_GP0_BREADY
bit S_AXI_GP0_BREADY
Definition: design_1_processing_system7_0_0.sv:265
S_AXI_HP2_ARQOS
bit< 3 :0 > S_AXI_HP2_ARQOS
Definition: design_1_processing_system7_0_0.sv:496
m_axi_arregion
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > m_axi_arregion
Definition: axi_vip_v1_1_vl_rfs.sv:191
DMA3_DRLAST
bit DMA3_DRLAST
Definition: design_1_processing_system7_0_0.sv:610
S_AXI_HP3_AWVALID
bit S_AXI_HP3_AWVALID
Definition: design_1_processing_system7_0_0.sv:522
M_AXI_GP0_ARPROT
bit< 2 :0 > M_AXI_GP0_ARPROT
Definition: design_1_processing_system7_0_0.sv:188
SPI0_SCLK_T
bit SPI0_SCLK_T
Definition: design_1_processing_system7_0_0.sv:106
DMA2_DATYPE
bit< 1 :0 > DMA2_DATYPE
Definition: design_1_processing_system7_0_0.sv:590
ENET1_PTP_PDELAY_RESP_RX
bit ENET1_PTP_PDELAY_RESP_RX
Definition: design_1_processing_system7_0_0.sv:43
S_AXI_HP1_AWLEN
bit< 3 :0 > S_AXI_HP1_AWLEN
Definition: design_1_processing_system7_0_0.sv:453
S_AXI_HP3_AWQOS
bit< 3 :0 > S_AXI_HP3_AWQOS
Definition: design_1_processing_system7_0_0.sv:544
m_axi_arburst
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > m_axi_arburst
Definition: axi_vip_v1_1_vl_rfs.sv:187
DMA1_DATYPE
bit< 1 :0 > DMA1_DATYPE
Definition: design_1_processing_system7_0_0.sv:587
M_AXI_GP1_AWADDR
bit< 31 :0 > M_AXI_GP1_AWADDR
Definition: design_1_processing_system7_0_0.sv:230
IRQ_P2F_SPI0
bit IRQ_P2F_SPI0
Definition: design_1_processing_system7_0_0.sv:568
S_AXI_GP0_ARLEN
bit< 3 :0 > S_AXI_GP0_ARLEN
Definition: design_1_processing_system7_0_0.sv:281
S_AXI_HP3_ARVALID
bit S_AXI_HP3_ARVALID
Definition: design_1_processing_system7_0_0.sv:521
ENET1_GMII_TX_ER
bit< 0 :0 > ENET1_GMII_TX_ER
Definition: design_1_processing_system7_0_0.sv:35
processing_system7_vip_v1_0_10_arb_wr
module processing_system7_vip_v1_0_10_arb_wr(rstn, sw_clk, qos1, qos2, prt_dv1, prt_dv2, prt_data1, prt_data2, prt_addr1, prt_addr2, prt_bytes1, prt_bytes2, prt_strb1, prt_strb2, prt_ack1, prt_ack2, prt_qos, prt_req, prt_data, prt_strb, prt_addr, prt_bytes, prt_ack)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:11
SPI0_MOSI_T
bit SPI0_MOSI_T
Definition: design_1_processing_system7_0_0.sv:109
S_AXI_GP1_AWBURST
bit< 1 :0 > S_AXI_GP1_AWBURST
Definition: design_1_processing_system7_0_0.sv:311
SDIO1_DATA_I
bit< 3 :0 > SDIO1_DATA_I
Definition: design_1_processing_system7_0_0.sv:96
S_AXI_HP0_BVALID
bit S_AXI_HP0_BVALID
Definition: design_1_processing_system7_0_0.sv:372
ENET1_GMII_RX_DV
bit ENET1_GMII_RX_DV
Definition: design_1_processing_system7_0_0.sv:53
EVENT_STANDBYWFI
bit< 1 :0 > EVENT_STANDBYWFI
Definition: design_1_processing_system7_0_0.sv:653
processing_system7_vip_v1_0_10_arb_hp2_3
module processing_system7_vip_v1_0_10_arb_hp2_3(sw_clk, rstn, w_qos_hp2, r_qos_hp2, w_qos_hp3, r_qos_hp3, wr_ack_ddr_hp2, wr_data_hp2, wr_strb_hp2, wr_addr_hp2, wr_bytes_hp2, wr_dv_ddr_hp2, rd_req_ddr_hp2, rd_addr_hp2, rd_bytes_hp2, rd_data_ddr_hp2, rd_dv_ddr_hp2, wr_ack_ddr_hp3, wr_data_hp3, wr_strb_hp3, wr_addr_hp3, wr_bytes_hp3, wr_dv_ddr_hp3, rd_req_ddr_hp3, rd_addr_hp3, rd_bytes_hp3, rd_data_ddr_hp3, rd_dv_ddr_hp3, ddr_wr_ack, ddr_wr_dv, ddr_rd_req, ddr_rd_dv, ddr_rd_qos, ddr_wr_qos, ddr_wr_addr, ddr_wr_data, ddr_wr_strb, ddr_wr_bytes, ddr_rd_addr, ddr_rd_data, ddr_rd_bytes)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:973
S_AXI_ACP_AWREADY
bit S_AXI_ACP_AWREADY
Definition: design_1_processing_system7_0_0.sv:330
S_AXI_ACP_RLAST
bit S_AXI_ACP_RLAST
Definition: design_1_processing_system7_0_0.sv:332
USB0_VBUS_PWRFAULT
bit USB0_VBUS_PWRFAULT
Definition: design_1_processing_system7_0_0.sv:168
SPI1_MISO_I
bit SPI1_MISO_I
Definition: design_1_processing_system7_0_0.sv:124
SPI0_SS2_O
bit SPI0_SS2_O
Definition: design_1_processing_system7_0_0.sv:116
USB0_VBUS_PWRSELECT
bit USB0_VBUS_PWRSELECT
Definition: design_1_processing_system7_0_0.sv:167
S_AXI_GP1_ARLOCK
bit< 1 :0 > S_AXI_GP1_ARLOCK
Definition: design_1_processing_system7_0_0.sv:309
ENET0_PTP_PDELAY_REQ_RX
bit ENET0_PTP_PDELAY_REQ_RX
Definition: design_1_processing_system7_0_0.sv:16
s_axi_arready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire s_axi_arready
Definition: axi_vip_v1_1_vl_rfs.sv:140
IRQ_P2F_SDIO0
bit IRQ_P2F_SDIO0
Definition: design_1_processing_system7_0_0.sv:566
S_AXI_HP2_ACLK
bit S_AXI_HP2_ACLK
Definition: design_1_processing_system7_0_0.sv:475
DDR_DQ
bit< 31 :0 > DDR_DQ
Definition: design_1_processing_system7_0_0.sv:671
s_axi_wdata
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > s_axi_wdata
Definition: axi_vip_v1_1_vl_rfs.sv:113
S_AXI_ACP_WLAST
bit S_AXI_ACP_WLAST
Definition: design_1_processing_system7_0_0.sv:345
UART1_DSRN
bit UART1_DSRN
Definition: design_1_processing_system7_0_0.sv:145
S_AXI_HP0_AWADDR
bit< 31 :0 > S_AXI_HP0_AWADDR
Definition: design_1_processing_system7_0_0.sv:403
ENET0_GMII_TX_CLK
bit ENET0_GMII_TX_CLK
Definition: design_1_processing_system7_0_0.sv:30
IRQ_P2F_DMAC2
bit IRQ_P2F_DMAC2
Definition: design_1_processing_system7_0_0.sv:553
S_AXI_GP1_AWADDR
bit< 31 :0 > S_AXI_GP1_AWADDR
Definition: design_1_processing_system7_0_0.sv:317
m_axi_rready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_RDATA_WIDTH-1:0 > input wire< 2-1:0 > input wire input wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > input wire output wire m_axi_rready
Definition: axi_vip_v1_1_vl_rfs.sv:205
FCLK_CLK3
bit FCLK_CLK3
Definition: design_1_processing_system7_0_0.sv:619
S_AXI_HP3_ARCACHE
bit< 3 :0 > S_AXI_HP3_ARCACHE
Definition: design_1_processing_system7_0_0.sv:539
s_axi_aruser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > s_axi_aruser
Definition: axi_vip_v1_1_vl_rfs.sv:138
S_AXI_HP2_ARREADY
bit S_AXI_HP2_ARREADY
Definition: design_1_processing_system7_0_0.sv:460
M_AXI_GP1_ARCACHE
bit< 3 :0 > M_AXI_GP1_ARCACHE
Definition: design_1_processing_system7_0_0.sv:232
DDR_WEB
bit DDR_WEB
Definition: design_1_processing_system7_0_0.sv:665
m_axi_awaddr
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > m_axi_awaddr
Definition: axi_vip_v1_1_vl_rfs.sv:153
s_axi_araddr
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > s_axi_araddr
Definition: axi_vip_v1_1_vl_rfs.sv:129
M_AXI_GP1_AWBURST
bit< 1 :0 > M_AXI_GP1_AWBURST
Definition: design_1_processing_system7_0_0.sv:224
S_AXI_GP0_RREADY
bit S_AXI_GP0_RREADY
Definition: design_1_processing_system7_0_0.sv:266
S_AXI_GP1_AWREADY
bit S_AXI_GP1_AWREADY
Definition: design_1_processing_system7_0_0.sv:291
M_AXI_GP0_ARQOS
bit< 3 :0 > M_AXI_GP0_ARQOS
Definition: design_1_processing_system7_0_0.sv:195
DMA0_DRLAST
bit DMA0_DRLAST
Definition: design_1_processing_system7_0_0.sv:598
S_AXI_GP1_WID
bit< 5 :0 > S_AXI_GP1_WID
Definition: design_1_processing_system7_0_0.sv:328
S_AXI_HP0_RREADY
bit S_AXI_HP0_RREADY
Definition: design_1_processing_system7_0_0.sv:390
SPI1_SS2_O
bit SPI1_SS2_O
Definition: design_1_processing_system7_0_0.sv:130
processing_system7_vip_v1_0_10_ddrc
module processing_system7_vip_v1_0_10_ddrc(rstn, sw_clk, ddr_wr_ack_port0, ddr_wr_dv_port0, ddr_rd_req_port0, ddr_rd_dv_port0, ddr_wr_addr_port0, ddr_wr_data_port0, ddr_wr_strb_port0, ddr_wr_bytes_port0, ddr_rd_addr_port0, ddr_rd_data_port0, ddr_rd_bytes_port0, ddr_wr_qos_port0, ddr_rd_qos_port0, ddr_wr_ack_port1, ddr_wr_dv_port1, ddr_rd_req_port1, ddr_rd_dv_port1, ddr_wr_addr_port1, ddr_wr_data_port1, ddr_wr_strb_port1, ddr_wr_bytes_port1, ddr_rd_addr_port1, ddr_rd_data_port1, ddr_rd_bytes_port1, ddr_wr_qos_port1, ddr_rd_qos_port1, ddr_wr_ack_port2, ddr_wr_dv_port2, ddr_rd_req_port2, ddr_rd_dv_port2, ddr_wr_addr_port2, ddr_wr_data_port2, ddr_wr_strb_port2, ddr_wr_bytes_port2, ddr_rd_addr_port2, ddr_rd_data_port2, ddr_rd_bytes_port2, ddr_wr_qos_port2, ddr_rd_qos_port2, ddr_wr_ack_port3, ddr_wr_dv_port3, ddr_rd_req_port3, ddr_rd_dv_port3, ddr_wr_addr_port3, ddr_wr_data_port3, ddr_wr_strb_port3, ddr_wr_bytes_port3, ddr_rd_addr_port3, ddr_rd_data_port3, ddr_rd_bytes_port3, ddr_wr_qos_port3, ddr_rd_qos_port3)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:4934
ENET1_MDIO_O
bit ENET1_MDIO_O
Definition: design_1_processing_system7_0_0.sv:37
s_axi_awaddr
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > s_axi_awaddr
Definition: axi_vip_v1_1_vl_rfs.sv:98
DMA3_ACLK
bit DMA3_ACLK
Definition: design_1_processing_system7_0_0.sv:608
m_axi_rresp
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_RDATA_WIDTH-1:0 > input wire< 2-1:0 > m_axi_rresp
Definition: axi_vip_v1_1_vl_rfs.sv:200
M_AXI_GP1_AWID
bit< 11 :0 > M_AXI_GP1_AWID
Definition: design_1_processing_system7_0_0.sv:219
M_AXI_GP0_AWREADY
bit M_AXI_GP0_AWREADY
Definition: design_1_processing_system7_0_0.sv:202
S_AXI_GP0_BID
bit< 5 :0 > S_AXI_GP0_BID
Definition: design_1_processing_system7_0_0.sv:260
m_axi_arvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire m_axi_arvalid
Definition: axi_vip_v1_1_vl_rfs.sv:194
S_AXI_GP0_AWADDR
bit< 31 :0 > S_AXI_GP0_AWADDR
Definition: design_1_processing_system7_0_0.sv:278
SPI1_SCLK_T
bit SPI1_SCLK_T
Definition: design_1_processing_system7_0_0.sv:120
s_axi_wstrb
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > s_axi_wstrb
Definition: axi_vip_v1_1_vl_rfs.sv:114
IRQ_F2P
bit< 0 :0 > IRQ_F2P
Definition: design_1_processing_system7_0_0.sv:579
USB0_PORT_INDCTL
bit< 1 :0 > USB0_PORT_INDCTL
Definition: design_1_processing_system7_0_0.sv:166
S_AXI_ACP_ARBURST
bit< 1 :0 > S_AXI_ACP_ARBURST
Definition: design_1_processing_system7_0_0.sv:360
S_AXI_GP0_WREADY
bit S_AXI_GP0_WREADY
Definition: design_1_processing_system7_0_0.sv:256
FPGA_IDLE_N
bit FPGA_IDLE_N
Definition: design_1_processing_system7_0_0.sv:650
I2C1_SDA_I
bit I2C1_SDA_I
Definition: design_1_processing_system7_0_0.sv:68
I2C1_SDA_T
bit I2C1_SDA_T
Definition: design_1_processing_system7_0_0.sv:70
S_AXI_GP1_BID
bit< 5 :0 > S_AXI_GP1_BID
Definition: design_1_processing_system7_0_0.sv:299
IRQ_P2F_DMAC0
bit IRQ_P2F_DMAC0
Definition: design_1_processing_system7_0_0.sv:551
PS_SRSTB
bit PS_SRSTB
Definition: design_1_processing_system7_0_0.sv:674
TTC0_WAVE0_OUT
bit TTC0_WAVE0_OUT
Definition: design_1_processing_system7_0_0.sv:148
S_AXI_ACP_BVALID
bit S_AXI_ACP_BVALID
Definition: design_1_processing_system7_0_0.sv:331
aresetn
DowngradeIPIdentifiedWarnings module input wire input wire aresetn
Definition: axi_vip_v1_1_vl_rfs.sv:94
ENET1_SOF_RX
bit ENET1_SOF_RX
Definition: design_1_processing_system7_0_0.sv:47
S_AXI_HP3_WID
bit< 5 :0 > S_AXI_HP3_WID
Definition: design_1_processing_system7_0_0.sv:547
S_AXI_HP1_RDATA
bit< 63 :0 > S_AXI_HP1_RDATA
Definition: design_1_processing_system7_0_0.sv:425
S_AXI_GP0_RDATA
bit< 31 :0 > S_AXI_GP0_RDATA
Definition: design_1_processing_system7_0_0.sv:259
s_axi_arlock
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > s_axi_arlock
Definition: axi_vip_v1_1_vl_rfs.sv:133
S_AXI_HP2_RVALID
bit S_AXI_HP2_RVALID
Definition: design_1_processing_system7_0_0.sv:464
SDIO0_CMD_O
bit SDIO0_CMD_O
Definition: design_1_processing_system7_0_0.sv:80
SDIO0_BUSVOLT
bit< 2 :0 > SDIO0_BUSVOLT
Definition: design_1_processing_system7_0_0.sv:90
S_AXI_HP2_ARSIZE
bit< 2 :0 > S_AXI_HP2_ARSIZE
Definition: design_1_processing_system7_0_0.sv:486
Core1_nIRQ
bit Core1_nIRQ
Definition: design_1_processing_system7_0_0.sv:583
SPI0_MISO_T
bit SPI0_MISO_T
Definition: design_1_processing_system7_0_0.sv:112
IRQ_P2F_CTI
bit IRQ_P2F_CTI
Definition: design_1_processing_system7_0_0.sv:561
UART0_CTSN
bit UART0_CTSN
Definition: design_1_processing_system7_0_0.sv:135
processing_system7_vip_v1_0_10_arb_wr_4
module processing_system7_vip_v1_0_10_arb_wr_4(rstn, sw_clk, qos1, qos2, qos3, qos4, prt_dv1, prt_dv2, prt_dv3, prt_dv4, prt_data1, prt_data2, prt_data3, prt_data4, prt_strb1, prt_strb2, prt_strb3, prt_strb4, prt_addr1, prt_addr2, prt_addr3, prt_addr4, prt_bytes1, prt_bytes2, prt_bytes3, prt_bytes4, prt_ack1, prt_ack2, prt_ack3, prt_ack4, prt_qos, prt_req, prt_data, prt_strb, prt_addr, prt_bytes, prt_ack)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:360
IRQ_P2F_CAN0
bit IRQ_P2F_CAN0
Definition: design_1_processing_system7_0_0.sv:570
TTC0_WAVE2_OUT
bit TTC0_WAVE2_OUT
Definition: design_1_processing_system7_0_0.sv:150
processing_system7_vip_v1_0_10_sparse_mem
module processing_system7_vip_v1_0_10_sparse_mem()
Definition: processing_system7_vip_v1_0_vl_rfs.sv:1776
FCLK_RESET3_N
bit FCLK_RESET3_N
Definition: design_1_processing_system7_0_0.sv:627
processing_system7_vip_v1_0_10_afi_slave
module processing_system7_vip_v1_0_10_afi_slave(S_RESETN, S_ARREADY, S_AWREADY, S_BVALID, S_RLAST, S_RVALID, S_WREADY, S_BRESP, S_RRESP, S_RDATA, S_BID, S_RID, S_ACLK, S_ARVALID, S_AWVALID, S_BREADY, S_RREADY, S_WLAST, S_WVALID, S_ARBURST, S_ARLOCK, S_ARSIZE, S_AWBURST, S_AWLOCK, S_AWSIZE, S_ARPROT, S_AWPROT, S_ARADDR, S_AWADDR, S_WDATA, S_ARCACHE, S_ARLEN, S_AWCACHE, S_AWLEN, S_WSTRB, S_ARID, S_AWID, S_WID, S_AWQOS, S_ARQOS, SW_CLK, WR_DATA_ACK_OCM, WR_DATA_ACK_DDR, WR_ADDR, WR_DATA, WR_BYTES, WR_DATA_STRB, WR_DATA_VALID_OCM, WR_DATA_VALID_DDR, WR_QOS, RD_REQ_DDR, RD_REQ_OCM, RD_ADDR, RD_DATA_OCM, RD_DATA_DDR, RD_BYTES, RD_QOS, RD_DATA_VALID_OCM, RD_DATA_VALID_DDR, S_RDISSUECAP1_EN, S_WRISSUECAP1_EN, S_RCOUNT, S_WCOUNT, S_RACOUNT, S_WACOUNT)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:9948
s_axi_rid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > s_axi_rid
Definition: axi_vip_v1_1_vl_rfs.sv:143
s_axi_awvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire s_axi_awvalid
Definition: axi_vip_v1_1_vl_rfs.sv:108
S_AXI_GP1_WLAST
bit S_AXI_GP1_WLAST
Definition: design_1_processing_system7_0_0.sv:306
S_AXI_HP1_AWID
bit< 5 :0 > S_AXI_HP1_AWID
Definition: design_1_processing_system7_0_0.sv:456
WDT_CLK_IN
bit WDT_CLK_IN
Definition: design_1_processing_system7_0_0.sv:160
SDIO1_CLK_FB
bit SDIO1_CLK_FB
Definition: design_1_processing_system7_0_0.sv:92
M_AXI_GP0_ARADDR
bit< 31 :0 > M_AXI_GP0_ARADDR
Definition: design_1_processing_system7_0_0.sv:190
DMA1_DRLAST
bit DMA1_DRLAST
Definition: design_1_processing_system7_0_0.sv:602
SPI1_MOSI_O
bit SPI1_MOSI_O
Definition: design_1_processing_system7_0_0.sv:122
SPI1_SS_O
bit SPI1_SS_O
Definition: design_1_processing_system7_0_0.sv:128
FCLK_CLKTRIG1_N
bit FCLK_CLKTRIG1_N
Definition: design_1_processing_system7_0_0.sv:621
S_AXI_HP2_AWCACHE
bit< 3 :0 > S_AXI_HP2_AWCACHE
Definition: design_1_processing_system7_0_0.sv:497
S_AXI_GP1_ARQOS
bit< 3 :0 > S_AXI_GP1_ARQOS
Definition: design_1_processing_system7_0_0.sv:321
S_AXI_HP2_ARLEN
bit< 3 :0 > S_AXI_HP2_ARLEN
Definition: design_1_processing_system7_0_0.sv:495
S_AXI_ACP_ARADDR
bit< 31 :0 > S_AXI_ACP_ARADDR
Definition: design_1_processing_system7_0_0.sv:352
IRQ_P2F_SDIO1
bit IRQ_P2F_SDIO1
Definition: design_1_processing_system7_0_0.sv:574
DDR_ARB
bit< 3 :0 > DDR_ARB
Definition: design_1_processing_system7_0_0.sv:655
M_AXI_GP0_ARCACHE
bit< 3 :0 > M_AXI_GP0_ARCACHE
Definition: design_1_processing_system7_0_0.sv:193
SDIO1_DATA_O
bit< 3 :0 > SDIO1_DATA_O
Definition: design_1_processing_system7_0_0.sv:97
s_axi_wready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire s_axi_wready
Definition: axi_vip_v1_1_vl_rfs.sv:118
S_AXI_GP0_ARLOCK
bit< 1 :0 > S_AXI_GP0_ARLOCK
Definition: design_1_processing_system7_0_0.sv:270
S_AXI_HP2_ARPROT
bit< 2 :0 > S_AXI_HP2_ARPROT
Definition: design_1_processing_system7_0_0.sv:490
S_AXI_HP3_AWID
bit< 5 :0 > S_AXI_HP3_AWID
Definition: design_1_processing_system7_0_0.sv:546
S_AXI_HP1_BRESP
bit< 1 :0 > S_AXI_HP1_BRESP
Definition: design_1_processing_system7_0_0.sv:421
M_AXI_GP0_WVALID
bit M_AXI_GP0_WVALID
Definition: design_1_processing_system7_0_0.sv:178
S_AXI_ACP_AWLEN
bit< 3 :0 > S_AXI_ACP_AWLEN
Definition: design_1_processing_system7_0_0.sv:358
S_AXI_HP3_WVALID
bit S_AXI_HP3_WVALID
Definition: design_1_processing_system7_0_0.sv:528
S_AXI_GP0_RRESP
bit< 1 :0 > S_AXI_GP0_RRESP
Definition: design_1_processing_system7_0_0.sv:258
ENET0_MDIO_I
bit ENET0_MDIO_I
Definition: design_1_processing_system7_0_0.sv:31
S_AXI_HP1_ARVALID
bit S_AXI_HP1_ARVALID
Definition: design_1_processing_system7_0_0.sv:431
S_AXI_HP3_ARID
bit< 5 :0 > S_AXI_HP3_ARID
Definition: design_1_processing_system7_0_0.sv:545
S_AXI_GP1_AWID
bit< 5 :0 > S_AXI_GP1_AWID
Definition: design_1_processing_system7_0_0.sv:327
ENET1_PTP_PDELAY_REQ_RX
bit ENET1_PTP_PDELAY_REQ_RX
Definition: design_1_processing_system7_0_0.sv:41
DMA0_ACLK
bit DMA0_ACLK
Definition: design_1_processing_system7_0_0.sv:596
MIO
bit< 53 :0 > MIO
Definition: design_1_processing_system7_0_0.sv:656
TTC1_CLK2_IN
bit TTC1_CLK2_IN
Definition: design_1_processing_system7_0_0.sv:159
SPI1_SCLK_O
bit SPI1_SCLK_O
Definition: design_1_processing_system7_0_0.sv:119
m_axi_bresp
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > m_axi_bresp
Definition: axi_vip_v1_1_vl_rfs.sv:177
GPIO_I
bit< 7 :0 > GPIO_I
Definition: design_1_processing_system7_0_0.sv:59
S_AXI_HP0_RVALID
bit S_AXI_HP0_RVALID
Definition: design_1_processing_system7_0_0.sv:374
S_AXI_HP2_WLAST
bit S_AXI_HP2_WLAST
Definition: design_1_processing_system7_0_0.sv:481
ENET0_GMII_RX_DV
bit ENET0_GMII_RX_DV
Definition: design_1_processing_system7_0_0.sv:28
S_AXI_GP0_AWVALID
bit S_AXI_GP0_AWVALID
Definition: design_1_processing_system7_0_0.sv:264
PJTAG_TMS
bit PJTAG_TMS
Definition: design_1_processing_system7_0_0.sv:75
S_AXI_HP3_AWLOCK
bit< 1 :0 > S_AXI_HP3_AWLOCK
Definition: design_1_processing_system7_0_0.sv:533
DDR_BankAddr
bit< 2 :0 > DDR_BankAddr
Definition: design_1_processing_system7_0_0.sv:666
S_AXI_GP0_WVALID
bit S_AXI_GP0_WVALID
Definition: design_1_processing_system7_0_0.sv:268
PS_PORB
bit PS_PORB
Definition: design_1_processing_system7_0_0.sv:676
GPIO_O
bit< 7 :0 > GPIO_O
Definition: design_1_processing_system7_0_0.sv:60
S_AXI_HP3_RDATA
bit< 63 :0 > S_AXI_HP3_RDATA
Definition: design_1_processing_system7_0_0.sv:515
m_axi_rdata
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_RDATA_WIDTH-1:0 > m_axi_rdata
Definition: axi_vip_v1_1_vl_rfs.sv:199
S_AXI_GP1_BVALID
bit S_AXI_GP1_BVALID
Definition: design_1_processing_system7_0_0.sv:292
S_AXI_HP2_ARID
bit< 5 :0 > S_AXI_HP2_ARID
Definition: design_1_processing_system7_0_0.sv:500
S_AXI_HP0_WRISSUECAP1_EN
bit S_AXI_HP0_WRISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:392
SPI0_SS1_O
bit SPI0_SS1_O
Definition: design_1_processing_system7_0_0.sv:115
S_AXI_GP0_RVALID
bit S_AXI_GP0_RVALID
Definition: design_1_processing_system7_0_0.sv:255
TTC0_CLK1_IN
bit TTC0_CLK1_IN
Definition: design_1_processing_system7_0_0.sv:152
m_axi_araddr
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > m_axi_araddr
Definition: axi_vip_v1_1_vl_rfs.sv:184
S_AXI_GP1_ARSIZE
bit< 2 :0 > S_AXI_GP1_ARSIZE
Definition: design_1_processing_system7_0_0.sv:310
s_axi_wlast
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire s_axi_wlast
Definition: axi_vip_v1_1_vl_rfs.sv:115
ENET1_MDIO_T
bit ENET1_MDIO_T
Definition: design_1_processing_system7_0_0.sv:38
m_axi_awvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire m_axi_awvalid
Definition: axi_vip_v1_1_vl_rfs.sv:163
S_AXI_HP0_WDATA
bit< 63 :0 > S_AXI_HP0_WDATA
Definition: design_1_processing_system7_0_0.sv:413
S_AXI_HP2_WID
bit< 5 :0 > S_AXI_HP2_WID
Definition: design_1_processing_system7_0_0.sv:502
TTC1_CLK0_IN
bit TTC1_CLK0_IN
Definition: design_1_processing_system7_0_0.sv:157
S_AXI_HP0_BREADY
bit S_AXI_HP0_BREADY
Definition: design_1_processing_system7_0_0.sv:388
DDR_DQS
bit< 3 :0 > DDR_DQS
Definition: design_1_processing_system7_0_0.sv:673
I2C0_SDA_T
bit I2C0_SDA_T
Definition: design_1_processing_system7_0_0.sv:64
s_axi_awsize
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > s_axi_awsize
Definition: axi_vip_v1_1_vl_rfs.sv:100
IRQ_P2F_USB0
bit IRQ_P2F_USB0
Definition: design_1_processing_system7_0_0.sv:563
S_AXI_HP1_AWQOS
bit< 3 :0 > S_AXI_HP1_AWQOS
Definition: design_1_processing_system7_0_0.sv:454
S_AXI_ACP_RDATA
bit< 63 :0 > S_AXI_ACP_RDATA
Definition: design_1_processing_system7_0_0.sv:339
S_AXI_HP1_WID
bit< 5 :0 > S_AXI_HP1_WID
Definition: design_1_processing_system7_0_0.sv:457
S_AXI_HP3_WDATA
bit< 63 :0 > S_AXI_HP3_WDATA
Definition: design_1_processing_system7_0_0.sv:548
m_axi_bready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire m_axi_bready
Definition: axi_vip_v1_1_vl_rfs.sv:180
S_AXI_HP3_RACOUNT
bit< 2 :0 > S_AXI_HP3_RACOUNT
Definition: design_1_processing_system7_0_0.sv:518
s_axi_wvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire s_axi_wvalid
Definition: axi_vip_v1_1_vl_rfs.sv:117
SDIO1_CMD_O
bit SDIO1_CMD_O
Definition: design_1_processing_system7_0_0.sv:93
SDIO0_LED
bit SDIO0_LED
Definition: design_1_processing_system7_0_0.sv:86
S_AXI_HP2_ARADDR
bit< 31 :0 > S_AXI_HP2_ARADDR
Definition: design_1_processing_system7_0_0.sv:492
M_AXI_GP1_RRESP
bit< 1 :0 > M_AXI_GP1_RRESP
Definition: design_1_processing_system7_0_0.sv:249
S_AXI_HP0_RDISSUECAP1_EN
bit S_AXI_HP0_RDISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:389
FCLK_RESET2_N
bit FCLK_RESET2_N
Definition: design_1_processing_system7_0_0.sv:626
IRQ_P2F_CAN1
bit IRQ_P2F_CAN1
Definition: design_1_processing_system7_0_0.sv:578
DMA1_DAREADY
bit DMA1_DAREADY
Definition: design_1_processing_system7_0_0.sv:601
SPI0_SS_T
bit SPI0_SS_T
Definition: design_1_processing_system7_0_0.sv:117
s_axi_bid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > s_axi_bid
Definition: axi_vip_v1_1_vl_rfs.sv:121
S_AXI_HP3_ACLK
bit S_AXI_HP3_ACLK
Definition: design_1_processing_system7_0_0.sv:520
m_axi_arlen
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > m_axi_arlen
Definition: axi_vip_v1_1_vl_rfs.sv:185
ENET1_SOF_TX
bit ENET1_SOF_TX
Definition: design_1_processing_system7_0_0.sv:48
processing_system7_vip_v1_0_10_ssw_hp
module processing_system7_vip_v1_0_10_ssw_hp(sw_clk, rstn, w_qos_hp0, r_qos_hp0, w_qos_hp1, r_qos_hp1, w_qos_hp2, r_qos_hp2, w_qos_hp3, r_qos_hp3, wr_ack_ddr_hp0, wr_data_hp0, wr_strb_hp0, wr_addr_hp0, wr_bytes_hp0, wr_dv_ddr_hp0, rd_req_ddr_hp0, rd_addr_hp0, rd_bytes_hp0, rd_data_ddr_hp0, rd_dv_ddr_hp0, rd_data_ocm_hp0, wr_ack_ocm_hp0, wr_dv_ocm_hp0, rd_req_ocm_hp0, rd_dv_ocm_hp0, wr_ack_ddr_hp1, wr_data_hp1, wr_strb_hp1, wr_addr_hp1, wr_bytes_hp1, wr_dv_ddr_hp1, rd_req_ddr_hp1, rd_addr_hp1, rd_bytes_hp1, rd_data_ddr_hp1, rd_data_ocm_hp1, rd_dv_ddr_hp1, wr_ack_ocm_hp1, wr_dv_ocm_hp1, rd_req_ocm_hp1, rd_dv_ocm_hp1, wr_ack_ddr_hp2, wr_data_hp2, wr_strb_hp2, wr_addr_hp2, wr_bytes_hp2, wr_dv_ddr_hp2, rd_req_ddr_hp2, rd_addr_hp2, rd_bytes_hp2, rd_data_ddr_hp2, rd_data_ocm_hp2, rd_dv_ddr_hp2, wr_ack_ocm_hp2, wr_dv_ocm_hp2, rd_req_ocm_hp2, rd_dv_ocm_hp2, wr_ack_ddr_hp3, wr_data_hp3, wr_strb_hp3, wr_addr_hp3, wr_bytes_hp3, wr_dv_ddr_hp3, rd_req_ddr_hp3, rd_addr_hp3, rd_bytes_hp3, rd_data_ocm_hp3, rd_data_ddr_hp3, rd_dv_ddr_hp3, wr_ack_ocm_hp3, wr_dv_ocm_hp3, rd_req_ocm_hp3, rd_dv_ocm_hp3, ddr_wr_ack0, ddr_wr_dv0, ddr_rd_req0, ddr_rd_dv0, ddr_rd_qos0, ddr_wr_qos0, ddr_wr_addr0, ddr_wr_data0, ddr_wr_strb0, ddr_wr_bytes0, ddr_rd_addr0, ddr_rd_data0, ddr_rd_bytes0, ddr_wr_ack1, ddr_wr_dv1, ddr_rd_req1, ddr_rd_dv1, ddr_rd_qos1, ddr_wr_qos1, ddr_wr_addr1, ddr_wr_data1, ddr_wr_strb1, ddr_wr_bytes1, ddr_rd_addr1, ddr_rd_data1, ddr_rd_bytes1, ocm_wr_ack, ocm_wr_dv, ocm_rd_req, ocm_rd_dv, ocm_wr_qos, ocm_rd_qos, ocm_wr_addr, ocm_wr_data, ocm_wr_strb, ocm_wr_bytes, ocm_rd_addr, ocm_rd_data, ocm_rd_bytes)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:1297
m_axi_rid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > m_axi_rid
Definition: axi_vip_v1_1_vl_rfs.sv:198
S_AXI_HP3_AWADDR
bit< 31 :0 > S_AXI_HP3_AWADDR
Definition: design_1_processing_system7_0_0.sv:538
S_AXI_ACP_AWVALID
bit S_AXI_ACP_AWVALID
Definition: design_1_processing_system7_0_0.sv:342
AWQOS
assign IF AWQOS
Definition: axi_vip_v1_1_vl_rfs.sv:262
S_AXI_HP0_RCOUNT
bit< 7 :0 > S_AXI_HP0_RCOUNT
Definition: design_1_processing_system7_0_0.sv:381
S_AXI_GP1_RRESP
bit< 1 :0 > S_AXI_GP1_RRESP
Definition: design_1_processing_system7_0_0.sv:297
ENET1_GMII_CRS
bit ENET1_GMII_CRS
Definition: design_1_processing_system7_0_0.sv:51
S_AXI_ACP_AWCACHE
bit< 3 :0 > S_AXI_ACP_AWCACHE
Definition: design_1_processing_system7_0_0.sv:357
M_AXI_GP0_WDATA
bit< 31 :0 > M_AXI_GP0_WDATA
Definition: design_1_processing_system7_0_0.sv:192
FTMD_TRACEIN_ATID
bit< 3 :0 > FTMD_TRACEIN_ATID
Definition: design_1_processing_system7_0_0.sv:631
S_AXI_GP1_ARPROT
bit< 2 :0 > S_AXI_GP1_ARPROT
Definition: design_1_processing_system7_0_0.sv:314
S_AXI_HP0_WCOUNT
bit< 7 :0 > S_AXI_HP0_WCOUNT
Definition: design_1_processing_system7_0_0.sv:382
s_axi_awburst
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > s_axi_awburst
Definition: axi_vip_v1_1_vl_rfs.sv:101
UART1_CTSN
bit UART1_CTSN
Definition: design_1_processing_system7_0_0.sv:143
s_axi_buser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > s_axi_buser
Definition: axi_vip_v1_1_vl_rfs.sv:123
M_AXI_GP0_BID
bit< 11 :0 > M_AXI_GP0_BID
Definition: design_1_processing_system7_0_0.sv:207
S_AXI_HP0_RDATA
bit< 63 :0 > S_AXI_HP0_RDATA
Definition: design_1_processing_system7_0_0.sv:380
m_axi_wready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire m_axi_wready
Definition: axi_vip_v1_1_vl_rfs.sv:173
USB1_VBUS_PWRSELECT
bit USB1_VBUS_PWRSELECT
Definition: design_1_processing_system7_0_0.sv:170
S_AXI_HP1_RCOUNT
bit< 7 :0 > S_AXI_HP1_RCOUNT
Definition: design_1_processing_system7_0_0.sv:426
S_AXI_HP2_RREADY
bit S_AXI_HP2_RREADY
Definition: design_1_processing_system7_0_0.sv:480
M_AXI_GP1_RDATA
bit< 31 :0 > M_AXI_GP1_RDATA
Definition: design_1_processing_system7_0_0.sv:250
S_AXI_HP3_AWLEN
bit< 3 :0 > S_AXI_HP3_AWLEN
Definition: design_1_processing_system7_0_0.sv:543
M_AXI_GP0_WREADY
bit M_AXI_GP0_WREADY
Definition: design_1_processing_system7_0_0.sv:206
M_AXI_GP1_RID
bit< 11 :0 > M_AXI_GP1_RID
Definition: design_1_processing_system7_0_0.sv:247
SDIO1_LED
bit SDIO1_LED
Definition: design_1_processing_system7_0_0.sv:99
M_AXI_GP0_AWBURST
bit< 1 :0 > M_AXI_GP0_AWBURST
Definition: design_1_processing_system7_0_0.sv:185
M_AXI_GP0_ARREADY
bit M_AXI_GP0_ARREADY
Definition: design_1_processing_system7_0_0.sv:201
DMA2_DRLAST
bit DMA2_DRLAST
Definition: design_1_processing_system7_0_0.sv:606
M_AXI_GP0_RID
bit< 11 :0 > M_AXI_GP0_RID
Definition: design_1_processing_system7_0_0.sv:208
IRQ_P2F_SMC
bit IRQ_P2F_SMC
Definition: design_1_processing_system7_0_0.sv:559
processing_system7_vip_v1_0_10_ocmc
module processing_system7_vip_v1_0_10_ocmc(rstn, sw_clk, ocm_wr_ack_port0, ocm_wr_dv_port0, ocm_rd_req_port0, ocm_rd_dv_port0, ocm_wr_addr_port0, ocm_wr_data_port0, ocm_wr_strb_port0, ocm_wr_bytes_port0, ocm_rd_addr_port0, ocm_rd_data_port0, ocm_rd_bytes_port0, ocm_wr_qos_port0, ocm_rd_qos_port0, ocm_wr_ack_port1, ocm_wr_dv_port1, ocm_rd_req_port1, ocm_rd_dv_port1, ocm_wr_addr_port1, ocm_wr_data_port1, ocm_wr_strb_port1, ocm_wr_bytes_port1, ocm_rd_addr_port1, ocm_rd_data_port1, ocm_rd_bytes_port1, ocm_wr_qos_port1, ocm_rd_qos_port1)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:3736
DMA3_DAVALID
bit DMA3_DAVALID
Definition: design_1_processing_system7_0_0.sv:594
S_AXI_HP1_AWADDR
bit< 31 :0 > S_AXI_HP1_AWADDR
Definition: design_1_processing_system7_0_0.sv:448
S_AXI_HP3_ARPROT
bit< 2 :0 > S_AXI_HP3_ARPROT
Definition: design_1_processing_system7_0_0.sv:535
SDIO1_BUSPOW
bit SDIO1_BUSPOW
Definition: design_1_processing_system7_0_0.sv:102
S_AXI_GP0_RLAST
bit S_AXI_GP0_RLAST
Definition: design_1_processing_system7_0_0.sv:254
DMA3_DRVALID
bit DMA3_DRVALID
Definition: design_1_processing_system7_0_0.sv:611
ENET0_PTP_PDELAY_RESP_RX
bit ENET0_PTP_PDELAY_RESP_RX
Definition: design_1_processing_system7_0_0.sv:18
S_AXI_HP1_WCOUNT
bit< 7 :0 > S_AXI_HP1_WCOUNT
Definition: design_1_processing_system7_0_0.sv:427
SDIO0_CMD_T
bit SDIO0_CMD_T
Definition: design_1_processing_system7_0_0.sv:82
M_AXI_GP1_ARSIZE
bit< 2 :0 > M_AXI_GP1_ARSIZE
Definition: design_1_processing_system7_0_0.sv:223
IRQ_P2F_DMAC4
bit IRQ_P2F_DMAC4
Definition: design_1_processing_system7_0_0.sv:555
S_AXI_GP1_ARADDR
bit< 31 :0 > S_AXI_GP1_ARADDR
Definition: design_1_processing_system7_0_0.sv:316
m_axi_rlast
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_RDATA_WIDTH-1:0 > input wire< 2-1:0 > input wire m_axi_rlast
Definition: axi_vip_v1_1_vl_rfs.sv:201
S_AXI_HP1_BVALID
bit S_AXI_HP1_BVALID
Definition: design_1_processing_system7_0_0.sv:417
S_AXI_HP2_RLAST
bit S_AXI_HP2_RLAST
Definition: design_1_processing_system7_0_0.sv:463
SDIO1_CLK
bit SDIO1_CLK
Definition: design_1_processing_system7_0_0.sv:91
S_AXI_GP0_AWBURST
bit< 1 :0 > S_AXI_GP0_AWBURST
Definition: design_1_processing_system7_0_0.sv:272
M_AXI_GP1_AWREADY
bit M_AXI_GP1_AWREADY
Definition: design_1_processing_system7_0_0.sv:241
TTC0_CLK2_IN
bit TTC0_CLK2_IN
Definition: design_1_processing_system7_0_0.sv:153
m_axi_arid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > m_axi_arid
Definition: axi_vip_v1_1_vl_rfs.sv:183
S_AXI_HP2_ARCACHE
bit< 3 :0 > S_AXI_HP2_ARCACHE
Definition: design_1_processing_system7_0_0.sv:494
ENET0_GMII_TX_ER
bit< 0 :0 > ENET0_GMII_TX_ER
Definition: design_1_processing_system7_0_0.sv:10
I2C0_SCL_I
bit I2C0_SCL_I
Definition: design_1_processing_system7_0_0.sv:65
S_AXI_HP2_WRISSUECAP1_EN
bit S_AXI_HP2_WRISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:482
M_AXI_GP0_AWPROT
bit< 2 :0 > M_AXI_GP0_AWPROT
Definition: design_1_processing_system7_0_0.sv:189
S_AXI_ACP_WVALID
bit S_AXI_ACP_WVALID
Definition: design_1_processing_system7_0_0.sv:346
S_AXI_HP2_ARVALID
bit S_AXI_HP2_ARVALID
Definition: design_1_processing_system7_0_0.sv:476
M_AXI_GP1_ARPROT
bit< 2 :0 > M_AXI_GP1_ARPROT
Definition: design_1_processing_system7_0_0.sv:227
s_axi_arcache
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > s_axi_arcache
Definition: axi_vip_v1_1_vl_rfs.sv:134
SDIO1_BUSVOLT
bit< 2 :0 > SDIO1_BUSVOLT
Definition: design_1_processing_system7_0_0.sv:103
S_AXI_HP2_RACOUNT
bit< 2 :0 > S_AXI_HP2_RACOUNT
Definition: design_1_processing_system7_0_0.sv:473
S_AXI_HP3_WLAST
bit S_AXI_HP3_WLAST
Definition: design_1_processing_system7_0_0.sv:526
m_axi_buser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > m_axi_buser
Definition: axi_vip_v1_1_vl_rfs.sv:178
S_AXI_GP0_ARADDR
bit< 31 :0 > S_AXI_GP0_ARADDR
Definition: design_1_processing_system7_0_0.sv:277
ENET1_EXT_INTIN
bit ENET1_EXT_INTIN
Definition: design_1_processing_system7_0_0.sv:57
M_AXI_GP1_BRESP
bit< 1 :0 > M_AXI_GP1_BRESP
Definition: design_1_processing_system7_0_0.sv:248
S_AXI_HP1_WVALID
bit S_AXI_HP1_WVALID
Definition: design_1_processing_system7_0_0.sv:438
SPI1_MISO_O
bit SPI1_MISO_O
Definition: design_1_processing_system7_0_0.sv:125
S_AXI_HP3_BREADY
bit S_AXI_HP3_BREADY
Definition: design_1_processing_system7_0_0.sv:523
S_AXI_ACP_AWPROT
bit< 2 :0 > S_AXI_ACP_AWPROT
Definition: design_1_processing_system7_0_0.sv:350
ENET0_GMII_RX_CLK
bit ENET0_GMII_RX_CLK
Definition: design_1_processing_system7_0_0.sv:27
M_AXI_GP1_ACLK
bit M_AXI_GP1_ACLK
Definition: design_1_processing_system7_0_0.sv:239
TRACE_CTL
bit TRACE_CTL
Definition: design_1_processing_system7_0_0.sv:164
M_AXI_GP0_RREADY
bit M_AXI_GP0_RREADY
Definition: design_1_processing_system7_0_0.sv:176
TTC1_WAVE1_OUT
bit TTC1_WAVE1_OUT
Definition: design_1_processing_system7_0_0.sv:155
I2C0_SCL_O
bit I2C0_SCL_O
Definition: design_1_processing_system7_0_0.sv:66
ENET1_PTP_PDELAY_RESP_TX
bit ENET1_PTP_PDELAY_RESP_TX
Definition: design_1_processing_system7_0_0.sv:44
S_AXI_HP2_WVALID
bit S_AXI_HP2_WVALID
Definition: design_1_processing_system7_0_0.sv:483
m_axi_wlast
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire m_axi_wlast
Definition: axi_vip_v1_1_vl_rfs.sv:170
S_AXI_GP0_ARCACHE
bit< 3 :0 > S_AXI_GP0_ARCACHE
Definition: design_1_processing_system7_0_0.sv:280
TTC1_CLK1_IN
bit TTC1_CLK1_IN
Definition: design_1_processing_system7_0_0.sv:158
S_AXI_ACP_AWADDR
bit< 31 :0 > S_AXI_ACP_AWADDR
Definition: design_1_processing_system7_0_0.sv:353
s_axi_awcache
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > s_axi_awcache
Definition: axi_vip_v1_1_vl_rfs.sv:103
S_AXI_GP1_ACLK
bit S_AXI_GP1_ACLK
Definition: design_1_processing_system7_0_0.sv:301
S_AXI_ACP_AWLOCK
bit< 1 :0 > S_AXI_ACP_AWLOCK
Definition: design_1_processing_system7_0_0.sv:364
DMA0_DAREADY
bit DMA0_DAREADY
Definition: design_1_processing_system7_0_0.sv:597
s_axi_awuser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > s_axi_awuser
Definition: axi_vip_v1_1_vl_rfs.sv:107
S_AXI_HP0_ARID
bit< 5 :0 > S_AXI_HP0_ARID
Definition: design_1_processing_system7_0_0.sv:410
M_AXI_GP1_ARLEN
bit< 3 :0 > M_AXI_GP1_ARLEN
Definition: design_1_processing_system7_0_0.sv:233
S_AXI_ACP_RRESP
bit< 1 :0 > S_AXI_ACP_RRESP
Definition: design_1_processing_system7_0_0.sv:336
S_AXI_HP3_ARADDR
bit< 31 :0 > S_AXI_HP3_ARADDR
Definition: design_1_processing_system7_0_0.sv:537
S_AXI_HP1_RID
bit< 5 :0 > S_AXI_HP1_RID
Definition: design_1_processing_system7_0_0.sv:424
DDR_Clk
bit DDR_Clk
Definition: design_1_processing_system7_0_0.sv:660
M_AXI_GP1_WLAST
bit M_AXI_GP1_WLAST
Definition: design_1_processing_system7_0_0.sv:216
S_AXI_GP0_ARQOS
bit< 3 :0 > S_AXI_GP0_ARQOS
Definition: design_1_processing_system7_0_0.sv:282
S_AXI_HP3_ARREADY
bit S_AXI_HP3_ARREADY
Definition: design_1_processing_system7_0_0.sv:505
m_axi_arcache
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > m_axi_arcache
Definition: axi_vip_v1_1_vl_rfs.sv:189
FTMT_P2F_DEBUG
bit< 31 :0 > FTMT_P2F_DEBUG
Definition: design_1_processing_system7_0_0.sv:649
m_axi_awready
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire m_axi_awready
Definition: axi_vip_v1_1_vl_rfs.sv:164
M_AXI_GP1_ARLOCK
bit< 1 :0 > M_AXI_GP1_ARLOCK
Definition: design_1_processing_system7_0_0.sv:222
SDIO1_DATA_T
bit< 3 :0 > SDIO1_DATA_T
Definition: design_1_processing_system7_0_0.sv:98
m_axi_awcache
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > m_axi_awcache
Definition: axi_vip_v1_1_vl_rfs.sv:158
EVENT_EVENTO
bit EVENT_EVENTO
Definition: design_1_processing_system7_0_0.sv:651
M_AXI_GP1_WID
bit< 11 :0 > M_AXI_GP1_WID
Definition: design_1_processing_system7_0_0.sv:220
S_AXI_HP2_BID
bit< 5 :0 > S_AXI_HP2_BID
Definition: design_1_processing_system7_0_0.sv:468
S_AXI_ACP_AWQOS
bit< 3 :0 > S_AXI_ACP_AWQOS
Definition: design_1_processing_system7_0_0.sv:359
DDR_Clk_n
bit DDR_Clk_n
Definition: design_1_processing_system7_0_0.sv:659
S_AXI_GP0_AWSIZE
bit< 2 :0 > S_AXI_GP0_AWSIZE
Definition: design_1_processing_system7_0_0.sv:274
DDR_Addr
bit< 14 :0 > DDR_Addr
Definition: design_1_processing_system7_0_0.sv:667
UART1_RIN
bit UART1_RIN
Definition: design_1_processing_system7_0_0.sv:146
S_AXI_HP1_WREADY
bit S_AXI_HP1_WREADY
Definition: design_1_processing_system7_0_0.sv:420
S_AXI_GP1_AWCACHE
bit< 3 :0 > S_AXI_GP1_AWCACHE
Definition: design_1_processing_system7_0_0.sv:322
S_AXI_GP0_ARREADY
bit S_AXI_GP0_ARREADY
Definition: design_1_processing_system7_0_0.sv:251
S_AXI_GP0_AWCACHE
bit< 3 :0 > S_AXI_GP0_AWCACHE
Definition: design_1_processing_system7_0_0.sv:283
m_axi_awprot
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > m_axi_awprot
Definition: axi_vip_v1_1_vl_rfs.sv:159
S_AXI_HP1_ARPROT
bit< 2 :0 > S_AXI_HP1_ARPROT
Definition: design_1_processing_system7_0_0.sv:445
S_AXI_HP3_BRESP
bit< 1 :0 > S_AXI_HP3_BRESP
Definition: design_1_processing_system7_0_0.sv:511
M_AXI_GP0_WID
bit< 11 :0 > M_AXI_GP0_WID
Definition: design_1_processing_system7_0_0.sv:181
S_AXI_HP2_BREADY
bit S_AXI_HP2_BREADY
Definition: design_1_processing_system7_0_0.sv:478
S_AXI_HP3_WREADY
bit S_AXI_HP3_WREADY
Definition: design_1_processing_system7_0_0.sv:510
S_AXI_GP0_AWID
bit< 5 :0 > S_AXI_GP0_AWID
Definition: design_1_processing_system7_0_0.sv:288
M_AXI_GP0_BRESP
bit< 1 :0 > M_AXI_GP0_BRESP
Definition: design_1_processing_system7_0_0.sv:209
DMA3_DATYPE
bit< 1 :0 > DMA3_DATYPE
Definition: design_1_processing_system7_0_0.sv:593
FTMD_TRACEIN_CLK
bit FTMD_TRACEIN_CLK
Definition: design_1_processing_system7_0_0.sv:630
S_AXI_HP1_WDATA
bit< 63 :0 > S_AXI_HP1_WDATA
Definition: design_1_processing_system7_0_0.sv:458
M_AXI_GP0_RLAST
bit M_AXI_GP0_RLAST
Definition: design_1_processing_system7_0_0.sv:204
S_AXI_HP1_RREADY
bit S_AXI_HP1_RREADY
Definition: design_1_processing_system7_0_0.sv:435
S_AXI_HP1_ARLOCK
bit< 1 :0 > S_AXI_HP1_ARLOCK
Definition: design_1_processing_system7_0_0.sv:440
M_AXI_GP0_WLAST
bit M_AXI_GP0_WLAST
Definition: design_1_processing_system7_0_0.sv:177
IRQ_P2F_DMAC3
bit IRQ_P2F_DMAC3
Definition: design_1_processing_system7_0_0.sv:554
S_AXI_HP3_AWREADY
bit S_AXI_HP3_AWREADY
Definition: design_1_processing_system7_0_0.sv:506
S_AXI_HP2_RCOUNT
bit< 7 :0 > S_AXI_HP2_RCOUNT
Definition: design_1_processing_system7_0_0.sv:471
UART1_RX
bit UART1_RX
Definition: design_1_processing_system7_0_0.sv:147
SPI0_MOSI_I
bit SPI0_MOSI_I
Definition: design_1_processing_system7_0_0.sv:107
S_AXI_HP0_ACLK
bit S_AXI_HP0_ACLK
Definition: design_1_processing_system7_0_0.sv:385
S_AXI_HP1_RLAST
bit S_AXI_HP1_RLAST
Definition: design_1_processing_system7_0_0.sv:418
TTC1_WAVE2_OUT
bit TTC1_WAVE2_OUT
Definition: design_1_processing_system7_0_0.sv:156
SPI0_SCLK_O
bit SPI0_SCLK_O
Definition: design_1_processing_system7_0_0.sv:105
ENET0_PTP_SYNC_FRAME_TX
bit ENET0_PTP_SYNC_FRAME_TX
Definition: design_1_processing_system7_0_0.sv:21
IRQ_P2F_UART0
bit IRQ_P2F_UART0
Definition: design_1_processing_system7_0_0.sv:569
s_axi_wid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > s_axi_wid
Definition: axi_vip_v1_1_vl_rfs.sv:112
S_AXI_HP0_AWCACHE
bit< 3 :0 > S_AXI_HP0_AWCACHE
Definition: design_1_processing_system7_0_0.sv:407
S_AXI_HP1_BREADY
bit S_AXI_HP1_BREADY
Definition: design_1_processing_system7_0_0.sv:433
m_axi_arprot
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > m_axi_arprot
Definition: axi_vip_v1_1_vl_rfs.sv:190
s_axi_wuser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > s_axi_wuser
Definition: axi_vip_v1_1_vl_rfs.sv:116
m_axi_awlen
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > m_axi_awlen
Definition: axi_vip_v1_1_vl_rfs.sv:154
processing_system7_vip_v1_0_10_gen_reset
module processing_system7_vip_v1_0_10_gen_reset(por_rst_n, sys_rst_n, rst_out_n, m_axi_gp0_clk, m_axi_gp1_clk, s_axi_gp0_clk, s_axi_gp1_clk, s_axi_hp0_clk, s_axi_hp1_clk, s_axi_hp2_clk, s_axi_hp3_clk, s_axi_acp_clk, m_axi_gp0_rstn, m_axi_gp1_rstn, s_axi_gp0_rstn, s_axi_gp1_rstn, s_axi_hp0_rstn, s_axi_hp1_rstn, s_axi_hp2_rstn, s_axi_hp3_rstn, s_axi_acp_rstn, fclk_reset3_n, fclk_reset2_n, fclk_reset1_n, fclk_reset0_n, fpga_acp_reset_n, fpga_gp_m0_reset_n, fpga_gp_m1_reset_n, fpga_gp_s0_reset_n, fpga_gp_s1_reset_n, fpga_hp_s0_reset_n, fpga_hp_s1_reset_n, fpga_hp_s2_reset_n, fpga_hp_s3_reset_n)
Definition: processing_system7_vip_v1_0_vl_rfs.sv:4638
S_AXI_GP0_AWPROT
bit< 2 :0 > S_AXI_GP0_AWPROT
Definition: design_1_processing_system7_0_0.sv:276
M_AXI_GP0_ARBURST
bit< 1 :0 > M_AXI_GP0_ARBURST
Definition: design_1_processing_system7_0_0.sv:182
S_AXI_GP1_BREADY
bit S_AXI_GP1_BREADY
Definition: design_1_processing_system7_0_0.sv:304
s_axi_rdata
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > s_axi_rdata
Definition: axi_vip_v1_1_vl_rfs.sv:144
S_AXI_HP2_AWQOS
bit< 3 :0 > S_AXI_HP2_AWQOS
Definition: design_1_processing_system7_0_0.sv:499
m_axi_arqos
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > m_axi_arqos
Definition: axi_vip_v1_1_vl_rfs.sv:192
DMA3_DAREADY
bit DMA3_DAREADY
Definition: design_1_processing_system7_0_0.sv:609
SDIO0_CMD_I
bit SDIO0_CMD_I
Definition: design_1_processing_system7_0_0.sv:81
DMA1_DRREADY
bit DMA1_DRREADY
Definition: design_1_processing_system7_0_0.sv:589
m_axi_wstrb
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > m_axi_wstrb
Definition: axi_vip_v1_1_vl_rfs.sv:169
M_AXI_GP1_AWLEN
bit< 3 :0 > M_AXI_GP1_AWLEN
Definition: design_1_processing_system7_0_0.sv:236
S_AXI_HP0_BRESP
bit< 1 :0 > S_AXI_HP0_BRESP
Definition: design_1_processing_system7_0_0.sv:376
S_AXI_HP3_WRISSUECAP1_EN
bit S_AXI_HP3_WRISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:527
s_axi_awlen
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > s_axi_awlen
Definition: axi_vip_v1_1_vl_rfs.sv:99
DDR_DRSTB
bit DDR_DRSTB
Definition: design_1_processing_system7_0_0.sv:662
SDIO0_CDN
bit SDIO0_CDN
Definition: design_1_processing_system7_0_0.sv:87
S_AXI_HP2_RDISSUECAP1_EN
bit S_AXI_HP2_RDISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:479
aclken
DowngradeIPIdentifiedWarnings module input wire aclken
Definition: axi_vip_v1_1_vl_rfs.sv:93
S_AXI_HP1_RRESP
bit< 1 :0 > S_AXI_HP1_RRESP
Definition: design_1_processing_system7_0_0.sv:422
s_axi_ruser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > s_axi_ruser
Definition: axi_vip_v1_1_vl_rfs.sv:147
S_AXI_HP2_BRESP
bit< 1 :0 > S_AXI_HP2_BRESP
Definition: design_1_processing_system7_0_0.sv:466
s_axi_arsize
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > s_axi_arsize
Definition: axi_vip_v1_1_vl_rfs.sv:131
DMA0_DRTYPE
bit< 1 :0 > DMA0_DRTYPE
Definition: design_1_processing_system7_0_0.sv:612
S_AXI_HP2_RID
bit< 5 :0 > S_AXI_HP2_RID
Definition: design_1_processing_system7_0_0.sv:469
FCLK_CLKTRIG2_N
bit FCLK_CLKTRIG2_N
Definition: design_1_processing_system7_0_0.sv:622
m_axi_aruser
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_RDATA_WIDTH-1:0 > output wire< 2-1:0 > output wire output wire< C_AXI_RUSER_WIDTH==0?0:C_AXI_RUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > output wire input wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH-1:0 > output wire< C_AXI_WDATA_WIDTH/8==0?0:C_AXI_WDATA_WIDTH/8-1:0 > output wire output wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< 2-1:0 > input wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > output wire< C_AXI_ADDR_WIDTH-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > output wire< 3-1:0 > output wire< 2-1:0 > output wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > output wire< 4-1:0 > output wire< 3-1:0 > output wire< 4-1:0 > output wire< 4-1:0 > output wire< C_AXI_ARUSER_WIDTH==0?0:C_AXI_ARUSER_WIDTH-1:0 > m_axi_aruser
Definition: axi_vip_v1_1_vl_rfs.sv:193
S_AXI_HP2_AWID
bit< 5 :0 > S_AXI_HP2_AWID
Definition: design_1_processing_system7_0_0.sv:501
s_axi_awlock
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > s_axi_awlock
Definition: axi_vip_v1_1_vl_rfs.sv:102
GPIO_T
bit< 7 :0 > GPIO_T
Definition: design_1_processing_system7_0_0.sv:61
S_AXI_ACP_ARUSER
bit< 4 :0 > S_AXI_ACP_ARUSER
Definition: design_1_processing_system7_0_0.sv:366
DMA0_DRVALID
bit DMA0_DRVALID
Definition: design_1_processing_system7_0_0.sv:599
S_AXI_ACP_WDATA
bit< 63 :0 > S_AXI_ACP_WDATA
Definition: design_1_processing_system7_0_0.sv:368
S_AXI_HP0_AWQOS
bit< 3 :0 > S_AXI_HP0_AWQOS
Definition: design_1_processing_system7_0_0.sv:409
s_axi_arqos
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > s_axi_arqos
Definition: axi_vip_v1_1_vl_rfs.sv:137
S_AXI_HP2_WDATA
bit< 63 :0 > S_AXI_HP2_WDATA
Definition: design_1_processing_system7_0_0.sv:503
ENET1_GMII_TXD
bit< 7 :0 > ENET1_GMII_TXD
Definition: design_1_processing_system7_0_0.sv:49
S_AXI_HP2_WACOUNT
bit< 5 :0 > S_AXI_HP2_WACOUNT
Definition: design_1_processing_system7_0_0.sv:474
S_AXI_HP1_RDISSUECAP1_EN
bit S_AXI_HP1_RDISSUECAP1_EN
Definition: design_1_processing_system7_0_0.sv:434
S_AXI_GP1_WVALID
bit S_AXI_GP1_WVALID
Definition: design_1_processing_system7_0_0.sv:307
I2C1_SCL_T
bit I2C1_SCL_T
Definition: design_1_processing_system7_0_0.sv:73
SPI0_MISO_I
bit SPI0_MISO_I
Definition: design_1_processing_system7_0_0.sv:110
FCLK_CLK2
bit FCLK_CLK2
Definition: design_1_processing_system7_0_0.sv:618
USB1_PORT_INDCTL
bit< 1 :0 > USB1_PORT_INDCTL
Definition: design_1_processing_system7_0_0.sv:169
S_AXI_HP0_ARREADY
bit S_AXI_HP0_ARREADY
Definition: design_1_processing_system7_0_0.sv:370
M_AXI_GP0_BREADY
bit M_AXI_GP0_BREADY
Definition: design_1_processing_system7_0_0.sv:175
FCLK_CLKTRIG3_N
bit FCLK_CLKTRIG3_N
Definition: design_1_processing_system7_0_0.sv:623
S_AXI_HP3_RVALID
bit S_AXI_HP3_RVALID
Definition: design_1_processing_system7_0_0.sv:509
M_AXI_GP0_ARSIZE
bit< 2 :0 > M_AXI_GP0_ARSIZE
Definition: design_1_processing_system7_0_0.sv:184
S_AXI_HP0_AWBURST
bit< 1 :0 > S_AXI_HP0_AWBURST
Definition: design_1_processing_system7_0_0.sv:397
M_AXI_GP0_ACLK
bit M_AXI_GP0_ACLK
Definition: design_1_processing_system7_0_0.sv:200
FTMD_TRACEIN_DATA
bit< 31 :0 > FTMD_TRACEIN_DATA
Definition: design_1_processing_system7_0_0.sv:628
S_AXI_HP0_AWID
bit< 5 :0 > S_AXI_HP0_AWID
Definition: design_1_processing_system7_0_0.sv:411
S_AXI_GP0_WDATA
bit< 31 :0 > S_AXI_GP0_WDATA
Definition: design_1_processing_system7_0_0.sv:279
s_axi_arprot
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire input wire input wire< C_AXI_RID_WIDTH==0?0:C_AXI_RID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > s_axi_arprot
Definition: axi_vip_v1_1_vl_rfs.sv:135
DMA3_DRREADY
bit DMA3_DRREADY
Definition: design_1_processing_system7_0_0.sv:595
ENET1_PTP_SYNC_FRAME_TX
bit ENET1_PTP_SYNC_FRAME_TX
Definition: design_1_processing_system7_0_0.sv:46
S_AXI_GP0_BVALID
bit S_AXI_GP0_BVALID
Definition: design_1_processing_system7_0_0.sv:253
ENET1_PTP_SYNC_FRAME_RX
bit ENET1_PTP_SYNC_FRAME_RX
Definition: design_1_processing_system7_0_0.sv:45
S_AXI_HP2_AWPROT
bit< 2 :0 > S_AXI_HP2_AWPROT
Definition: design_1_processing_system7_0_0.sv:491
DDR_CS_n
bit DDR_CS_n
Definition: design_1_processing_system7_0_0.sv:661
S_AXI_ACP_BID
bit< 2 :0 > S_AXI_ACP_BID
Definition: design_1_processing_system7_0_0.sv:337
IRQ_P2F_ENET0
bit IRQ_P2F_ENET0
Definition: design_1_processing_system7_0_0.sv:564
M_AXI_GP1_ARADDR
bit< 31 :0 > M_AXI_GP1_ARADDR
Definition: design_1_processing_system7_0_0.sv:229
s_axi_bvalid
DowngradeIPIdentifiedWarnings module input wire input wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_ADDR_WIDTH-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 4 :8) -1:0 > input wire< 3-1:0 > input wire< 2-1:0 > input wire<((C_AXI_PROTOCOL==1) ? 2 :1) -1:0 > input wire< 4-1:0 > input wire< 3-1:0 > input wire< 4-1:0 > input wire< 4-1:0 > input wire< C_AXI_AWUSER_WIDTH==0?0:C_AXI_AWUSER_WIDTH-1:0 > input wire output wire input wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH-1:0 > input wire< C_AXI_WDATA_WIDTH/8==0 ?0:C_AXI_WDATA_WIDTH/8-1:0 > input wire input wire< C_AXI_WUSER_WIDTH==0?0:C_AXI_WUSER_WIDTH-1:0 > input wire output wire output wire< C_AXI_WID_WIDTH==0?0:C_AXI_WID_WIDTH-1:0 > output wire< 2-1:0 > output wire< C_AXI_BUSER_WIDTH==0?0:C_AXI_BUSER_WIDTH-1:0 > output wire s_axi_bvalid
Definition: axi_vip_v1_1_vl_rfs.sv:124
DMA0_DAVALID
bit DMA0_DAVALID
Definition: design_1_processing_system7_0_0.sv:585
UART0_TX
bit UART0_TX
Definition: design_1_processing_system7_0_0.sv:134
S_AXI_ACP_WID
bit< 2 :0 > S_AXI_ACP_WID
Definition: design_1_processing_system7_0_0.sv:351
S_AXI_HP3_BID
bit< 5 :0 > S_AXI_HP3_BID
Definition: design_1_processing_system7_0_0.sv:513
S_AXI_GP0_AWLEN
bit< 3 :0 > S_AXI_GP0_AWLEN
Definition: design_1_processing_system7_0_0.sv:284
TTC0_WAVE1_OUT
bit TTC0_WAVE1_OUT
Definition: design_1_processing_system7_0_0.sv:149
S_AXI_HP2_ARLOCK
bit< 1 :0 > S_AXI_HP2_ARLOCK
Definition: design_1_processing_system7_0_0.sv:485
S_AXI_GP1_AWVALID
bit S_AXI_GP1_AWVALID
Definition: design_1_processing_system7_0_0.sv:303
S_AXI_ACP_ACLK
bit S_AXI_ACP_ACLK
Definition: design_1_processing_system7_0_0.sv:340
M_AXI_GP0_ARLEN
bit< 3 :0 > M_AXI_GP0_ARLEN
Definition: design_1_processing_system7_0_0.sv:194
S_AXI_GP0_ARPROT
bit< 2 :0 > S_AXI_GP0_ARPROT
Definition: design_1_processing_system7_0_0.sv:275
DMA2_DAREADY
bit DMA2_DAREADY
Definition: design_1_processing_system7_0_0.sv:605
S_AXI_HP1_AWVALID
bit S_AXI_HP1_AWVALID
Definition: design_1_processing_system7_0_0.sv:432
M_AXI_GP0_BVALID
bit M_AXI_GP0_BVALID
Definition: design_1_processing_system7_0_0.sv:203
S_AXI_GP0_WSTRB
bit< 3 :0 > S_AXI_GP0_WSTRB
Definition: design_1_processing_system7_0_0.sv:286
M_AXI_GP1_AWLOCK
bit< 1 :0 > M_AXI_GP1_AWLOCK
Definition: design_1_processing_system7_0_0.sv:225
S_AXI_GP0_AWQOS
bit< 3 :0 > S_AXI_GP0_AWQOS
Definition: design_1_processing_system7_0_0.sv:285
SRAM_INTIN
bit SRAM_INTIN
Definition: design_1_processing_system7_0_0.sv:172