-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHLS_cdp_ocvt.v
2824 lines (2624 loc) · 129 KB
/
HLS_cdp_ocvt.v
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// ================================================================
// NVDLA Open Source Project
//
// Copyright(c) 2016 - 2017 NVIDIA Corporation. Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with
// this distribution for more information.
// ================================================================
// File Name: HLS_cdp_ocvt.v
module CDP_OCVT_mgc_in_wire_wait_v1 (ld, vd, d, lz, vz, z);
parameter integer rscid = 1;
parameter integer width = 8;
input ld;
output vd;
output [width-1:0] d;
output lz;
input vz;
input [width-1:0] z;
wire vd;
wire [width-1:0] d;
wire lz;
assign d = z;
assign lz = ld;
assign vd = vz;
endmodule
//------> /home/tools/calypto/catapult-10.0-264918/Mgc_home/pkgs/siflibs/CDP_OCVT_mgc_out_stdreg_wait_v1.v
//------------------------------------------------------------------------------
// Catapult Synthesis - Sample I/O Port Library
//
// Copyright (c) 2003-2015 Mentor Graphics Corp.
// All Rights Reserved
//
// This document may be used and distributed without restriction provided that
// this copyright statement is not removed from the file and that any derivative
// work contains this copyright notice.
//
// The design information contained in this file is intended to be an example
// of the functionality which the end user may study in preparation for creating
// their own custom interfaces. This design does not necessarily present a
// complete implementation of the named protocol or standard.
//
//------------------------------------------------------------------------------
module CDP_OCVT_mgc_out_stdreg_wait_v1 (ld, vd, d, lz, vz, z);
parameter integer rscid = 1;
parameter integer width = 8;
input ld;
output vd;
input [width-1:0] d;
output lz;
input vz;
output [width-1:0] z;
wire vd;
wire lz;
wire [width-1:0] z;
assign z = d;
assign lz = ld;
assign vd = vz;
endmodule
//------> /home/tools/calypto/catapult-10.0-264918/Mgc_home/pkgs/siflibs/CDP_OCVT_mgc_in_wire_v1.v
//------------------------------------------------------------------------------
// Catapult Synthesis - Sample I/O Port Library
//
// Copyright (c) 2003-2015 Mentor Graphics Corp.
// All Rights Reserved
//
// This document may be used and distributed without restriction provided that
// this copyright statement is not removed from the file and that any derivative
// work contains this copyright notice.
//
// The design information contained in this file is intended to be an example
// of the functionality which the end user may study in preparation for creating
// their own custom interfaces. This design does not necessarily present a
// complete implementation of the named protocol or standard.
//
//------------------------------------------------------------------------------
module CDP_OCVT_mgc_in_wire_v1 (d, z);
parameter integer rscid = 1;
parameter integer width = 8;
output [width-1:0] d;
input [width-1:0] z;
wire [width-1:0] d;
assign d = z;
endmodule
//------> /home/tools/calypto/catapult-10.0-264918/Mgc_home/pkgs/siflibs/mgc_shift_r_beh_v4.v
module CDP_OCVT_mgc_shift_r_v4(a,s,z);
parameter width_a = 4;
parameter signd_a = 1;
parameter width_s = 2;
parameter width_z = 8;
input [width_a-1:0] a;
input [width_s-1:0] s;
output [width_z -1:0] z;
generate
if (signd_a)
begin: SIGNED
assign z = fshr_u(a,s,a[width_a-1]);
end
else
begin: UNSIGNED
assign z = fshr_u(a,s,1'b0);
end
endgenerate
//Shift right - unsigned shift argument
function [width_z-1:0] fshr_u;
input [width_a-1:0] arg1;
input [width_s-1:0] arg2;
input sbit;
parameter olen = width_z;
parameter ilen = signd_a ? width_a : width_a+1;
parameter len = (ilen >= olen) ? ilen : olen;
reg signed [len-1:0] result;
reg signed [len-1:0] result_t;
begin
result_t = $signed( {(len){sbit}} );
result_t[width_a-1:0] = arg1;
result = result_t >>> arg2;
fshr_u = result[olen-1:0];
end
endfunction // fshl_u
endmodule
//------> /home/tools/calypto/catapult-10.0-264918/Mgc_home/pkgs/siflibs/mgc_shift_bl_beh_v4.v
module CDP_OCVT_mgc_shift_bl_v4(a,s,z);
parameter width_a = 4;
parameter signd_a = 1;
parameter width_s = 2;
parameter width_z = 8;
input [width_a-1:0] a;
input [width_s-1:0] s;
output [width_z -1:0] z;
generate if ( signd_a )
begin: SIGNED
assign z = fshl_s(a,s,a[width_a-1]);
end
else
begin: UNSIGNED
assign z = fshl_s(a,s,1'b0);
end
endgenerate
//Shift-left - unsigned shift argument one bit more
function [width_z-1:0] fshl_u_1;
input [width_a :0] arg1;
input [width_s-1:0] arg2;
input sbit;
parameter olen = width_z;
parameter ilen = width_a+1;
parameter len = (ilen >= olen) ? ilen : olen;
reg [len-1:0] result;
reg [len-1:0] result_t;
begin
result_t = {(len){sbit}};
result_t[ilen-1:0] = arg1;
result = result_t <<< arg2;
fshl_u_1 = result[olen-1:0];
end
endfunction // fshl_u
//Shift-left - unsigned shift argument
function [width_z-1:0] fshl_u;
input [width_a-1:0] arg1;
input [width_s-1:0] arg2;
input sbit;
fshl_u = fshl_u_1({sbit,arg1} ,arg2, sbit);
endfunction // fshl_u
//Shift right - unsigned shift argument
function [width_z-1:0] fshr_u;
input [width_a-1:0] arg1;
input [width_s-1:0] arg2;
input sbit;
parameter olen = width_z;
parameter ilen = signd_a ? width_a : width_a+1;
parameter len = (ilen >= olen) ? ilen : olen;
reg signed [len-1:0] result;
reg signed [len-1:0] result_t;
begin
result_t = $signed( {(len){sbit}} );
result_t[width_a-1:0] = arg1;
result = result_t >>> arg2;
fshr_u = result[olen-1:0];
end
endfunction // fshl_u
//Shift left - signed shift argument
function [width_z-1:0] fshl_s;
input [width_a-1:0] arg1;
input [width_s-1:0] arg2;
input sbit;
reg [width_a:0] sbit_arg1;
begin
// Ignoring the possibility that arg2[width_s-1] could be X
// because of customer complaints regarding X'es in simulation results
if ( arg2[width_s-1] == 1'b0 )
begin
sbit_arg1[width_a:0] = {(width_a+1){1'b0}};
fshl_s = fshl_u(arg1, arg2, sbit);
end
else
begin
sbit_arg1[width_a] = sbit;
sbit_arg1[width_a-1:0] = arg1;
fshl_s = fshr_u(sbit_arg1[width_a:1], ~arg2, sbit);
end
end
endfunction
endmodule
//------> /home/tools/calypto/catapult-10.0-264918/Mgc_home/pkgs/siflibs/mgc_shift_l_beh_v4.v
module CDP_OCVT_mgc_shift_l_v4(a,s,z);
parameter width_a = 4;
parameter signd_a = 1;
parameter width_s = 2;
parameter width_z = 8;
input [width_a-1:0] a;
input [width_s-1:0] s;
output [width_z -1:0] z;
generate
if (signd_a)
begin: SIGNED
assign z = fshl_u(a,s,a[width_a-1]);
end
else
begin: UNSIGNED
assign z = fshl_u(a,s,1'b0);
end
endgenerate
//Shift-left - unsigned shift argument one bit more
function [width_z-1:0] fshl_u_1;
input [width_a :0] arg1;
input [width_s-1:0] arg2;
input sbit;
parameter olen = width_z;
parameter ilen = width_a+1;
parameter len = (ilen >= olen) ? ilen : olen;
reg [len-1:0] result;
reg [len-1:0] result_t;
begin
result_t = {(len){sbit}};
result_t[ilen-1:0] = arg1;
result = result_t <<< arg2;
fshl_u_1 = result[olen-1:0];
end
endfunction // fshl_u
//Shift-left - unsigned shift argument
function [width_z-1:0] fshl_u;
input [width_a-1:0] arg1;
input [width_s-1:0] arg2;
input sbit;
fshl_u = fshl_u_1({sbit,arg1} ,arg2, sbit);
endfunction // fshl_u
endmodule
//------> ./rtl.v
// ----------------------------------------------------------------------
// HLS HDL: Verilog Netlister
// HLS Version: 10.0/264918 Production Release
// HLS Date: Mon Aug 8 13:35:54 PDT 2016
//
// Generated by: ezhang@hk-sim-11-186
// Generated date: Tue Jul 4 15:52:44 2017
// ----------------------------------------------------------------------
//
// ------------------------------------------------------------------
// Design Unit: CDP_OCVT_chn_data_out_rsci_unreg
// ------------------------------------------------------------------
module CDP_OCVT_chn_data_out_rsci_unreg (
in_0, outsig
);
input in_0;
output outsig;
// Interconnect Declarations for Component Instantiations
assign outsig = in_0;
endmodule
// ------------------------------------------------------------------
// Design Unit: CDP_OCVT_chn_data_in_rsci_unreg
// ------------------------------------------------------------------
module CDP_OCVT_chn_data_in_rsci_unreg (
in_0, outsig
);
input in_0;
output outsig;
// Interconnect Declarations for Component Instantiations
assign outsig = in_0;
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_core_fsm
// FSM Module
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_core_fsm (
nvdla_core_clk, nvdla_core_rstn, core_wen, fsm_output
);
input nvdla_core_clk;
input nvdla_core_rstn;
input core_wen;
output [1:0] fsm_output;
reg [1:0] fsm_output;
// FSM State Type Declaration for HLS_cdp_ocvt_core_core_fsm_1
parameter
core_rlp_C_0 = 1'd0,
main_C_0 = 1'd1;
reg [0:0] state_var;
reg [0:0] state_var_NS;
// Interconnect Declarations for Component Instantiations
always @(*)
begin : HLS_cdp_ocvt_core_core_fsm_1
case (state_var)
main_C_0 : begin
fsm_output = 2'b10;
state_var_NS = main_C_0;
end
// core_rlp_C_0
default : begin
fsm_output = 2'b1;
state_var_NS = main_C_0;
end
endcase
end
always @(posedge nvdla_core_clk or negedge nvdla_core_rstn) begin
if ( ~ nvdla_core_rstn ) begin
state_var <= core_rlp_C_0;
end
else if ( core_wen ) begin
state_var <= state_var_NS;
end
end
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_staller
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_staller (
nvdla_core_clk, nvdla_core_rstn, core_wen, chn_data_in_rsci_wen_comp, core_wten,
chn_data_out_rsci_wen_comp
);
input nvdla_core_clk;
input nvdla_core_rstn;
output core_wen;
input chn_data_in_rsci_wen_comp;
output core_wten;
reg core_wten;
input chn_data_out_rsci_wen_comp;
// Interconnect Declarations for Component Instantiations
assign core_wen = chn_data_in_rsci_wen_comp & chn_data_out_rsci_wen_comp;
always @(posedge nvdla_core_clk or negedge nvdla_core_rstn) begin
if ( ~ nvdla_core_rstn ) begin
core_wten <= 1'b0;
end
else begin
core_wten <= ~ core_wen;
end
end
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_dp
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_dp (
nvdla_core_clk, nvdla_core_rstn, chn_data_out_rsci_oswt, chn_data_out_rsci_bawt,
chn_data_out_rsci_wen_comp, chn_data_out_rsci_biwt, chn_data_out_rsci_bdwt
);
input nvdla_core_clk;
input nvdla_core_rstn;
input chn_data_out_rsci_oswt;
output chn_data_out_rsci_bawt;
output chn_data_out_rsci_wen_comp;
input chn_data_out_rsci_biwt;
input chn_data_out_rsci_bdwt;
// Interconnect Declarations
reg chn_data_out_rsci_bcwt;
// Interconnect Declarations for Component Instantiations
assign chn_data_out_rsci_bawt = chn_data_out_rsci_biwt | chn_data_out_rsci_bcwt;
assign chn_data_out_rsci_wen_comp = (~ chn_data_out_rsci_oswt) | chn_data_out_rsci_bawt;
always @(posedge nvdla_core_clk or negedge nvdla_core_rstn) begin
if ( ~ nvdla_core_rstn ) begin
chn_data_out_rsci_bcwt <= 1'b0;
end
else begin
chn_data_out_rsci_bcwt <= ~((~(chn_data_out_rsci_bcwt | chn_data_out_rsci_biwt))
| chn_data_out_rsci_bdwt);
end
end
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_ctrl
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_ctrl (
nvdla_core_clk, nvdla_core_rstn, chn_data_out_rsci_oswt, core_wen, core_wten, chn_data_out_rsci_iswt0,
chn_data_out_rsci_ld_core_psct, chn_data_out_rsci_biwt, chn_data_out_rsci_bdwt,
chn_data_out_rsci_ld_core_sct, chn_data_out_rsci_vd
);
input nvdla_core_clk;
input nvdla_core_rstn;
input chn_data_out_rsci_oswt;
input core_wen;
input core_wten;
input chn_data_out_rsci_iswt0;
input chn_data_out_rsci_ld_core_psct;
output chn_data_out_rsci_biwt;
output chn_data_out_rsci_bdwt;
output chn_data_out_rsci_ld_core_sct;
input chn_data_out_rsci_vd;
// Interconnect Declarations
wire chn_data_out_rsci_ogwt;
wire chn_data_out_rsci_pdswt0;
reg chn_data_out_rsci_icwt;
// Interconnect Declarations for Component Instantiations
assign chn_data_out_rsci_pdswt0 = (~ core_wten) & chn_data_out_rsci_iswt0;
assign chn_data_out_rsci_biwt = chn_data_out_rsci_ogwt & chn_data_out_rsci_vd;
assign chn_data_out_rsci_ogwt = chn_data_out_rsci_pdswt0 | chn_data_out_rsci_icwt;
assign chn_data_out_rsci_bdwt = chn_data_out_rsci_oswt & core_wen;
assign chn_data_out_rsci_ld_core_sct = chn_data_out_rsci_ld_core_psct & chn_data_out_rsci_ogwt;
always @(posedge nvdla_core_clk or negedge nvdla_core_rstn) begin
if ( ~ nvdla_core_rstn ) begin
chn_data_out_rsci_icwt <= 1'b0;
end
else begin
chn_data_out_rsci_icwt <= ~((~(chn_data_out_rsci_icwt | chn_data_out_rsci_pdswt0))
| chn_data_out_rsci_biwt);
end
end
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_dp
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_dp (
nvdla_core_clk, nvdla_core_rstn, chn_data_in_rsci_oswt, chn_data_in_rsci_bawt,
chn_data_in_rsci_wen_comp, chn_data_in_rsci_d_mxwt, chn_data_in_rsci_biwt,
chn_data_in_rsci_bdwt, chn_data_in_rsci_d
);
input nvdla_core_clk;
input nvdla_core_rstn;
input chn_data_in_rsci_oswt;
output chn_data_in_rsci_bawt;
output chn_data_in_rsci_wen_comp;
output [49:0] chn_data_in_rsci_d_mxwt;
input chn_data_in_rsci_biwt;
input chn_data_in_rsci_bdwt;
input [49:0] chn_data_in_rsci_d;
// Interconnect Declarations
reg chn_data_in_rsci_bcwt;
reg [49:0] chn_data_in_rsci_d_bfwt;
// Interconnect Declarations for Component Instantiations
assign chn_data_in_rsci_bawt = chn_data_in_rsci_biwt | chn_data_in_rsci_bcwt;
assign chn_data_in_rsci_wen_comp = (~ chn_data_in_rsci_oswt) | chn_data_in_rsci_bawt;
assign chn_data_in_rsci_d_mxwt = MUX_v_50_2_2(chn_data_in_rsci_d, chn_data_in_rsci_d_bfwt,
chn_data_in_rsci_bcwt);
always @(posedge nvdla_core_clk or negedge nvdla_core_rstn) begin
if ( ~ nvdla_core_rstn ) begin
chn_data_in_rsci_bcwt <= 1'b0;
chn_data_in_rsci_d_bfwt <= 50'b0;
end
else begin
chn_data_in_rsci_bcwt <= ~((~(chn_data_in_rsci_bcwt | chn_data_in_rsci_biwt))
| chn_data_in_rsci_bdwt);
chn_data_in_rsci_d_bfwt <= chn_data_in_rsci_d_mxwt;
end
end
function [49:0] MUX_v_50_2_2;
input [49:0] input_0;
input [49:0] input_1;
input [0:0] sel;
reg [49:0] result;
begin
case (sel)
1'b0 : begin
result = input_0;
end
default : begin
result = input_1;
end
endcase
MUX_v_50_2_2 = result;
end
endfunction
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_ctrl
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_ctrl (
nvdla_core_clk, nvdla_core_rstn, chn_data_in_rsci_oswt, core_wen, chn_data_in_rsci_iswt0,
chn_data_in_rsci_ld_core_psct, core_wten, chn_data_in_rsci_biwt, chn_data_in_rsci_bdwt,
chn_data_in_rsci_ld_core_sct, chn_data_in_rsci_vd
);
input nvdla_core_clk;
input nvdla_core_rstn;
input chn_data_in_rsci_oswt;
input core_wen;
input chn_data_in_rsci_iswt0;
input chn_data_in_rsci_ld_core_psct;
input core_wten;
output chn_data_in_rsci_biwt;
output chn_data_in_rsci_bdwt;
output chn_data_in_rsci_ld_core_sct;
input chn_data_in_rsci_vd;
// Interconnect Declarations
wire chn_data_in_rsci_ogwt;
wire chn_data_in_rsci_pdswt0;
reg chn_data_in_rsci_icwt;
// Interconnect Declarations for Component Instantiations
assign chn_data_in_rsci_pdswt0 = (~ core_wten) & chn_data_in_rsci_iswt0;
assign chn_data_in_rsci_biwt = chn_data_in_rsci_ogwt & chn_data_in_rsci_vd;
assign chn_data_in_rsci_ogwt = chn_data_in_rsci_pdswt0 | chn_data_in_rsci_icwt;
assign chn_data_in_rsci_bdwt = chn_data_in_rsci_oswt & core_wen;
assign chn_data_in_rsci_ld_core_sct = chn_data_in_rsci_ld_core_psct & chn_data_in_rsci_ogwt;
always @(posedge nvdla_core_clk or negedge nvdla_core_rstn) begin
if ( ~ nvdla_core_rstn ) begin
chn_data_in_rsci_icwt <= 1'b0;
end
else begin
chn_data_in_rsci_icwt <= ~((~(chn_data_in_rsci_icwt | chn_data_in_rsci_pdswt0))
| chn_data_in_rsci_biwt);
end
end
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_chn_data_out_rsci
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_chn_data_out_rsci (
nvdla_core_clk, nvdla_core_rstn, chn_data_out_rsc_z, chn_data_out_rsc_vz, chn_data_out_rsc_lz,
chn_data_out_rsci_oswt, core_wen, core_wten, chn_data_out_rsci_iswt0, chn_data_out_rsci_bawt,
chn_data_out_rsci_wen_comp, chn_data_out_rsci_ld_core_psct, chn_data_out_rsci_d
);
input nvdla_core_clk;
input nvdla_core_rstn;
output [17:0] chn_data_out_rsc_z;
input chn_data_out_rsc_vz;
output chn_data_out_rsc_lz;
input chn_data_out_rsci_oswt;
input core_wen;
input core_wten;
input chn_data_out_rsci_iswt0;
output chn_data_out_rsci_bawt;
output chn_data_out_rsci_wen_comp;
input chn_data_out_rsci_ld_core_psct;
input [17:0] chn_data_out_rsci_d;
// Interconnect Declarations
wire chn_data_out_rsci_biwt;
wire chn_data_out_rsci_bdwt;
wire chn_data_out_rsci_ld_core_sct;
wire chn_data_out_rsci_vd;
// Interconnect Declarations for Component Instantiations
CDP_OCVT_mgc_out_stdreg_wait_v1 #(.rscid(32'sd6),
.width(32'sd18)) chn_data_out_rsci (
.ld(chn_data_out_rsci_ld_core_sct),
.vd(chn_data_out_rsci_vd),
.d(chn_data_out_rsci_d),
.lz(chn_data_out_rsc_lz),
.vz(chn_data_out_rsc_vz),
.z(chn_data_out_rsc_z)
);
HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_ctrl HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_ctrl_inst
(
.nvdla_core_clk(nvdla_core_clk),
.nvdla_core_rstn(nvdla_core_rstn),
.chn_data_out_rsci_oswt(chn_data_out_rsci_oswt),
.core_wen(core_wen),
.core_wten(core_wten),
.chn_data_out_rsci_iswt0(chn_data_out_rsci_iswt0),
.chn_data_out_rsci_ld_core_psct(chn_data_out_rsci_ld_core_psct),
.chn_data_out_rsci_biwt(chn_data_out_rsci_biwt),
.chn_data_out_rsci_bdwt(chn_data_out_rsci_bdwt),
.chn_data_out_rsci_ld_core_sct(chn_data_out_rsci_ld_core_sct),
.chn_data_out_rsci_vd(chn_data_out_rsci_vd)
);
HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_dp HLS_cdp_ocvt_core_chn_data_out_rsci_chn_data_out_wait_dp_inst
(
.nvdla_core_clk(nvdla_core_clk),
.nvdla_core_rstn(nvdla_core_rstn),
.chn_data_out_rsci_oswt(chn_data_out_rsci_oswt),
.chn_data_out_rsci_bawt(chn_data_out_rsci_bawt),
.chn_data_out_rsci_wen_comp(chn_data_out_rsci_wen_comp),
.chn_data_out_rsci_biwt(chn_data_out_rsci_biwt),
.chn_data_out_rsci_bdwt(chn_data_out_rsci_bdwt)
);
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core_chn_data_in_rsci
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core_chn_data_in_rsci (
nvdla_core_clk, nvdla_core_rstn, chn_data_in_rsc_z, chn_data_in_rsc_vz, chn_data_in_rsc_lz,
chn_data_in_rsci_oswt, core_wen, chn_data_in_rsci_iswt0, chn_data_in_rsci_bawt,
chn_data_in_rsci_wen_comp, chn_data_in_rsci_ld_core_psct, chn_data_in_rsci_d_mxwt,
core_wten
);
input nvdla_core_clk;
input nvdla_core_rstn;
input [49:0] chn_data_in_rsc_z;
input chn_data_in_rsc_vz;
output chn_data_in_rsc_lz;
input chn_data_in_rsci_oswt;
input core_wen;
input chn_data_in_rsci_iswt0;
output chn_data_in_rsci_bawt;
output chn_data_in_rsci_wen_comp;
input chn_data_in_rsci_ld_core_psct;
output [49:0] chn_data_in_rsci_d_mxwt;
input core_wten;
// Interconnect Declarations
wire chn_data_in_rsci_biwt;
wire chn_data_in_rsci_bdwt;
wire chn_data_in_rsci_ld_core_sct;
wire chn_data_in_rsci_vd;
wire [49:0] chn_data_in_rsci_d;
// Interconnect Declarations for Component Instantiations
CDP_OCVT_mgc_in_wire_wait_v1 #(.rscid(32'sd1),
.width(32'sd50)) chn_data_in_rsci (
.ld(chn_data_in_rsci_ld_core_sct),
.vd(chn_data_in_rsci_vd),
.d(chn_data_in_rsci_d),
.lz(chn_data_in_rsc_lz),
.vz(chn_data_in_rsc_vz),
.z(chn_data_in_rsc_z)
);
HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_ctrl HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_ctrl_inst
(
.nvdla_core_clk(nvdla_core_clk),
.nvdla_core_rstn(nvdla_core_rstn),
.chn_data_in_rsci_oswt(chn_data_in_rsci_oswt),
.core_wen(core_wen),
.chn_data_in_rsci_iswt0(chn_data_in_rsci_iswt0),
.chn_data_in_rsci_ld_core_psct(chn_data_in_rsci_ld_core_psct),
.core_wten(core_wten),
.chn_data_in_rsci_biwt(chn_data_in_rsci_biwt),
.chn_data_in_rsci_bdwt(chn_data_in_rsci_bdwt),
.chn_data_in_rsci_ld_core_sct(chn_data_in_rsci_ld_core_sct),
.chn_data_in_rsci_vd(chn_data_in_rsci_vd)
);
HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_dp HLS_cdp_ocvt_core_chn_data_in_rsci_chn_data_in_wait_dp_inst
(
.nvdla_core_clk(nvdla_core_clk),
.nvdla_core_rstn(nvdla_core_rstn),
.chn_data_in_rsci_oswt(chn_data_in_rsci_oswt),
.chn_data_in_rsci_bawt(chn_data_in_rsci_bawt),
.chn_data_in_rsci_wen_comp(chn_data_in_rsci_wen_comp),
.chn_data_in_rsci_d_mxwt(chn_data_in_rsci_d_mxwt),
.chn_data_in_rsci_biwt(chn_data_in_rsci_biwt),
.chn_data_in_rsci_bdwt(chn_data_in_rsci_bdwt),
.chn_data_in_rsci_d(chn_data_in_rsci_d)
);
endmodule
// ------------------------------------------------------------------
// Design Unit: HLS_cdp_ocvt_core
// ------------------------------------------------------------------
module HLS_cdp_ocvt_core (
nvdla_core_clk, nvdla_core_rstn, chn_data_in_rsc_z, chn_data_in_rsc_vz, chn_data_in_rsc_lz,
cfg_alu_in_rsc_z, cfg_mul_in_rsc_z, cfg_truncate_rsc_z, cfg_precision_rsc_z,
chn_data_out_rsc_z, chn_data_out_rsc_vz, chn_data_out_rsc_lz, chn_data_in_rsci_oswt,
chn_data_in_rsci_oswt_unreg, chn_data_out_rsci_oswt, chn_data_out_rsci_oswt_unreg
);
input nvdla_core_clk;
input nvdla_core_rstn;
input [49:0] chn_data_in_rsc_z;
input chn_data_in_rsc_vz;
output chn_data_in_rsc_lz;
input [31:0] cfg_alu_in_rsc_z;
input [15:0] cfg_mul_in_rsc_z;
input [5:0] cfg_truncate_rsc_z;
input [1:0] cfg_precision_rsc_z;
output [17:0] chn_data_out_rsc_z;
input chn_data_out_rsc_vz;
output chn_data_out_rsc_lz;
input chn_data_in_rsci_oswt;
output chn_data_in_rsci_oswt_unreg;
input chn_data_out_rsci_oswt;
output chn_data_out_rsci_oswt_unreg;
// Interconnect Declarations
wire core_wen;
reg chn_data_in_rsci_iswt0;
wire chn_data_in_rsci_bawt;
wire chn_data_in_rsci_wen_comp;
reg chn_data_in_rsci_ld_core_psct;
wire [49:0] chn_data_in_rsci_d_mxwt;
wire core_wten;
wire [31:0] cfg_alu_in_rsci_d;
wire [15:0] cfg_mul_in_rsci_d;
wire [5:0] cfg_truncate_rsci_d;
wire [1:0] cfg_precision_rsci_d;
reg chn_data_out_rsci_iswt0;
wire chn_data_out_rsci_bawt;
wire chn_data_out_rsci_wen_comp;
reg chn_data_out_rsci_d_17;
reg chn_data_out_rsci_d_16;
reg chn_data_out_rsci_d_15;
reg chn_data_out_rsci_d_14;
reg [3:0] chn_data_out_rsci_d_13_10;
reg chn_data_out_rsci_d_9;
reg chn_data_out_rsci_d_8;
reg chn_data_out_rsci_d_7;
reg [5:0] chn_data_out_rsci_d_6_1;
reg chn_data_out_rsci_d_0;
wire [1:0] fsm_output;
wire IntShiftRightSat_50U_6U_16U_IntShiftRightSat_50U_6U_16U_oelse_IntShiftRightSat_50U_6U_16U_if_unequal_tmp;
wire IntShiftRight_42U_6U_8U_1_obits_fixed_nand_tmp;
wire [42:0] IntShiftRight_42U_6U_8U_1_obits_fixed_acc_tmp;
wire [43:0] nl_IntShiftRight_42U_6U_8U_1_obits_fixed_acc_tmp;
wire IntShiftRight_42U_6U_8U_obits_fixed_nand_tmp;
wire [42:0] IntShiftRight_42U_6U_8U_obits_fixed_acc_tmp;
wire [43:0] nl_IntShiftRight_42U_6U_8U_obits_fixed_acc_tmp;
wire and_dcpl_6;
wire and_dcpl_9;
wire and_dcpl_10;
wire and_dcpl_12;
wire and_dcpl_15;
wire and_dcpl_16;
wire or_tmp_11;
wire or_tmp_17;
wire or_tmp_25;
wire or_tmp_28;
wire not_tmp_24;
wire not_tmp_25;
wire mux_tmp_22;
wire or_tmp_39;
wire or_tmp_59;
wire not_tmp_42;
wire mux_tmp_41;
wire or_tmp_71;
wire nor_tmp_26;
wire mux_tmp_50;
wire nor_tmp_29;
wire not_tmp_57;
wire or_tmp_94;
wire and_tmp_6;
wire or_tmp_117;
wire mux_tmp_66;
wire and_dcpl_22;
wire and_dcpl_24;
wire and_dcpl_25;
wire and_dcpl_35;
wire and_dcpl_40;
wire and_dcpl_41;
wire or_dcpl_10;
wire or_tmp_146;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_acc_5_svs;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_acc_6_svs;
reg IntShiftRightSat_42U_6U_8U_1_lor_lpi_1_dfm;
reg main_stage_v_1;
reg main_stage_v_2;
reg main_stage_v_3;
reg IsNaN_6U_10U_land_lpi_1_dfm_4;
reg IsNaN_6U_10U_land_lpi_1_dfm_5;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_acc_6_svs_4;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_acc_6_svs_5;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_acc_6_svs_6;
reg IntShiftRightSat_50U_6U_16U_o_15_sva_3;
reg IntShiftRightSat_50U_6U_16U_o_15_sva_4;
reg IntShiftRightSat_50U_6U_16U_o_0_sva_3;
reg IntShiftRightSat_50U_6U_16U_o_0_sva_4;
reg [15:0] cfg_mul_in_1_sva_3;
reg [5:0] cfg_truncate_1_sva_3;
reg [5:0] cfg_truncate_1_sva_4;
reg equal_tmp_2;
reg nor_tmp_42;
reg nor_tmp_43;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_acc_5_svs_3;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_acc_5_svs_4;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_acc_6_svs_3;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_acc_6_svs_4;
reg [9:0] FpMantDecShiftRight_10U_6U_10U_least_bits_9_0_sva_2;
reg [41:0] IntMulExt_26U_16U_42U_return_sva_2;
reg IntShiftRight_42U_6U_8U_obits_fixed_nor_ovfl_sva_2;
reg [41:0] IntShiftRightSat_42U_6U_8U_i_sva_2;
reg IntShiftRight_42U_6U_8U_1_obits_fixed_nor_ovfl_sva_2;
reg [41:0] IntShiftRightSat_42U_6U_8U_1_i_sva_2;
reg [49:0] IntMulExt_34U_16U_50U_return_sva_2;
reg [10:0] FpMantDecShiftRight_10U_6U_10U_i_mant_s_rshift_itm_2;
reg FpMantDecShiftRight_10U_6U_10U_guard_or_itm_2;
reg FpMantDecShiftRight_10U_6U_10U_least_bits_slc_FpMantDecShiftRight_10U_6U_10U_least_mask_10_itm_2;
reg IsNaN_6U_10U_nor_itm_2;
reg IsNaN_6U_10U_IsNaN_6U_10U_nand_itm_2;
reg [25:0] IntSubExt_25U_25U_26U_o_acc_itm_2;
wire [26:0] nl_IntSubExt_25U_25U_26U_o_acc_itm_2;
reg IntShiftRight_42U_6U_8U_obits_fixed_nand_itm_2;
reg [5:0] IntShiftRight_42U_6U_8U_obits_fixed_nor_2_itm_2;
reg [25:0] IntSubExt_25U_25U_26U_1_o_acc_itm_2;
wire [26:0] nl_IntSubExt_25U_25U_26U_1_o_acc_itm_2;
reg IntShiftRight_42U_6U_8U_1_obits_fixed_nand_itm_2;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_FpExpoWidthDec_6U_5U_10U_1U_1U_or_2_itm_2;
reg [1:0] io_read_cfg_precision_rsc_svs_st_4;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_acc_5_svs_st_3;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_acc_6_svs_st_3;
reg [1:0] io_read_cfg_precision_rsc_svs_st_5;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_acc_6_svs_st_4;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_if_acc_5_svs_st_4;
reg FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_slc_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_acc_6_svs_st_4;
reg [1:0] io_read_cfg_precision_rsc_svs_st_6;
reg [16:0] i_data_sva_1_16_0_1;
reg i_data_sva_2_16_1;
reg [14:0] i_data_sva_2_14_0_1;
reg IntShiftRight_42U_6U_8U_obits_fixed_acc_sat_sva_1_42_1;
reg IntShiftRight_42U_6U_8U_obits_fixed_acc_sat_sva_1_7_1;
reg IntShiftRight_42U_6U_8U_obits_fixed_acc_sat_sva_1_0_1;
reg IntShiftRight_42U_6U_8U_1_obits_fixed_acc_sat_sva_1_42_1;
reg IntShiftRight_42U_6U_8U_1_obits_fixed_acc_sat_sva_1_7_1;
reg IntShiftRight_42U_6U_8U_1_obits_fixed_acc_sat_sva_1_0_1;
wire main_stage_en_1;
wire [112:0] IntShiftRight_50U_6U_16U_obits_fixed_asn_rndi_sva;
wire [50:0] IntShiftRight_50U_6U_16U_obits_fixed_acc_sat_sva;
wire [51:0] nl_IntShiftRight_50U_6U_16U_obits_fixed_acc_sat_sva;
wire IntShiftRightSat_42U_6U_8U_1_o_7_sva;
wire IntShiftRightSat_42U_6U_8U_o_7_sva;
wire [5:0] IntShiftRightSat_42U_6U_8U_1_o_6_1_sva;
wire IntShiftRightSat_42U_6U_8U_1_o_0_sva;
wire [5:0] IntShiftRightSat_42U_6U_8U_o_6_1_sva;
wire IntShiftRightSat_42U_6U_8U_o_0_sva;
wire chn_data_out_and_cse;
wire or_2_cse;
wire nor_82_cse;
wire or_28_cse;
wire or_27_cse;
wire and_133_cse;
wire nor_10_cse;
reg reg_chn_data_out_rsci_ld_core_psct_cse;
wire or_16_cse;
wire and_137_cse;
wire and_135_cse;
wire or_64_cse;
wire or_112_cse;
wire and_70_cse;
wire or_7_cse;
wire and_dcpl_52;
wire nor_tmp;
wire or_tmp_164;
wire and_89_rgt;
wire and_92_rgt;
wire [49:0] IntShiftRightSat_50U_6U_16U_i_mux1h_1_itm;
reg [7:0] reg_IntShiftRightSat_50U_6U_16U_i_itm;
reg [41:0] reg_IntShiftRightSat_50U_6U_16U_i_1_itm;
wire [13:0] IntShiftRightSat_50U_6U_16U_o_mux1h_2_itm;
reg [2:0] reg_IntShiftRightSat_50U_6U_16U_o_14_1_itm;
reg [10:0] reg_IntShiftRightSat_50U_6U_16U_o_14_1_2_itm;
wire [41:0] IntShiftRightSat_42U_6U_8U_i_rshift_itm;
wire [41:0] IntShiftRightSat_42U_6U_8U_1_i_rshift_itm;
wire [5:0] IntShiftRight_42U_6U_8U_1_obits_fixed_mux1h_4_itm;
reg [1:0] reg_IntShiftRight_42U_6U_8U_1_obits_fixed_nor_2_itm;
reg [3:0] reg_IntShiftRight_42U_6U_8U_1_obits_fixed_nor_2_1_itm;
reg [9:0] reg_IntShiftRightSat_50U_6U_16U_o_14_1_3_itm;
wire [10:0] FpMantDecShiftRight_10U_6U_10U_i_mant_s_rshift_itm;
wire mux_75_itm;
wire chn_data_in_rsci_ld_core_psct_mx0c0;
wire HLS_cdp_ocvt_core_nvdla_int_h_ln346_assert_oWidth_ge_aWidth_p_bWidth_1_sig_mx0w1;
wire HLS_cdp_ocvt_core_nvdla_int_h_ln346_assert_oWidth_ge_aWidth_p_bWidth_2_sig_mx0w1;
wire main_stage_v_1_mx0c1;
wire main_stage_v_2_mx0c1;
wire [49:0] IntShiftRightSat_50U_6U_16U_i_sva_mx0w0;
wire IntShiftRightSat_50U_6U_16U_o_15_sva_mx0w0;
wire [13:0] IntShiftRightSat_50U_6U_16U_o_14_1_sva_mx0w0;
wire IntShiftRightSat_50U_6U_16U_o_0_sva_mx0w0;
wire main_stage_v_3_mx0c1;
wire IntShiftRightSat_42U_6U_8U_1_lor_lpi_1_dfm_mx1w0;
wire IntShiftRight_42U_6U_8U_1_obits_fixed_nor_ovfl_sva_mx0w0;
wire IntShiftRight_42U_6U_8U_obits_fixed_nor_ovfl_sva_mx0w0;
wire [10:0] FpMantDecShiftRight_10U_6U_10U_guard_mask_sva_mx0w0;
wire [4:0] FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_i_shift_acc_psp_sva;
wire [5:0] nl_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_i_shift_acc_psp_sva;
wire nor_dfs;
wire IntShiftRight_50U_6U_16U_obits_fixed_and_unfl_sva;
wire IntShiftRight_50U_6U_16U_obits_fixed_nor_ovfl_sva;
wire [10:0] FpMantDecShiftRight_10U_6U_10U_o_mant_sum_sva;
wire [11:0] nl_FpMantDecShiftRight_10U_6U_10U_o_mant_sum_sva;
wire [9:0] FpMantDecShiftRight_10U_6U_10U_stick_bits_9_0_sva;
wire [10:0] FpMantDecShiftRight_10U_6U_10U_stick_mask_sva;
wire [11:0] nl_FpMantDecShiftRight_10U_6U_10U_stick_mask_sva;
wire [104:0] IntShiftRight_42U_6U_8U_1_obits_fixed_asn_rndi_sva;
wire [104:0] IntShiftRight_42U_6U_8U_obits_fixed_asn_rndi_sva;
wire [10:0] FpMantDecShiftRight_10U_6U_10U_least_mask_sva;
wire [9:0] FpMantDecShiftRight_10U_6U_10U_guard_bits_9_0_sva;
wire mux_84_tmp;
wire and_86_tmp;
wire and_187_ssc;
reg [2:0] reg_IntShiftRightSat_50U_6U_16U_o_14_1_1_itm_3_1;
reg reg_IntShiftRightSat_50U_6U_16U_o_14_1_1_itm_0;
wire FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_if_or_1_cse;
wire IntShiftRightSat_50U_6U_16U_o_and_cse;
wire IntShiftRightSat_42U_6U_8U_i_and_cse;
wire and_183_cse;
wire FpExpoWidthDec_6U_5U_10U_1U_1U_if_FpExpoWidthDec_6U_5U_10U_1U_1U_if_or_cse;
wire FpExpoWidthDec_6U_5U_10U_1U_1U_if_and_3_cse;
wire and_173_cse;
wire FpMantDecShiftRight_10U_6U_10U_i_mant_s_and_cse;
wire cfg_truncate_and_1_cse;
wire IsNaN_6U_10U_and_cse;
wire IntSubExt_25U_25U_26U_1_o_and_cse;
wire or_209_cse;
wire nor_77_cse;
wire FpExpoWidthDec_6U_5U_10U_1U_1U_else_else_acc_itm_6;