OpenCores
URL https://opencores.org/ocsvn/s1_core/s1_core/trunk

Subversion Repositories s1_core

[/] [s1_core/] [trunk/] [hdl/] [rtl/] [sparc_core/] [u1_lib.v] - Blame information for rev 113

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 113 albert.wat
// ========== Copyright Header Begin ==========================================
2
// 
3
// OpenSPARC T1 Processor File: u1.behV
4
// Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
5
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
6
// 
7
// The above named program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public
9
// License version 2 as published by the Free Software Foundation.
10
// 
11
// The above named program is distributed in the hope that it will be 
12
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
// General Public License for more details.
15
// 
16
// You should have received a copy of the GNU General Public
17
// License along with this work; if not, write to the Free Software
18
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
19
// 
20
// ========== Copyright Header End ============================================
21
////////////////////////////////////////////////////////////////////////
22
//
23
// basic gates {
24
//
25
////////////////////////////////////////////////////////////////////////
26
 
27
 
28
`ifndef SIMPLY_RISC_TWEAKS
29
//bw_u1_inv_0p6x
30
//
31
//
32
 
33
module bw_u1_inv_0p6x (
34
    z,
35
    a );
36
 
37
    output z;
38
    input  a;
39
 
40
    assign z = ~( a );
41
 
42
endmodule
43
 
44
 
45
//bw_u1_inv_1x
46
//
47
//
48
 
49
module bw_u1_inv_1x (
50
    z,
51
    a );
52
 
53
    output z;
54
    input  a;
55
 
56
    assign z = ~( a );
57
 
58
endmodule
59
 
60
 
61
//bw_u1_inv_1p4x
62
//
63
//
64
 
65
module bw_u1_inv_1p4x (
66
    z,
67
    a );
68
 
69
    output z;
70
    input  a;
71
 
72
    assign z = ~( a );
73
 
74
endmodule
75
 
76
 
77
//bw_u1_inv_2x
78
//
79
//
80
 
81
module bw_u1_inv_2x (
82
    z,
83
    a );
84
 
85
    output z;
86
    input  a;
87
 
88
    assign z = ~( a );
89
 
90
endmodule
91
 
92
 
93
//bw_u1_inv_3x
94
//
95
//
96
 
97
module bw_u1_inv_3x (
98
    z,
99
    a );
100
 
101
    output z;
102
    input  a;
103
 
104
    assign z = ~( a );
105
 
106
endmodule
107
 
108
 
109
//bw_u1_inv_4x
110
//
111
//
112
 
113
module bw_u1_inv_4x (
114
    z,
115
    a );
116
 
117
    output z;
118
    input  a;
119
 
120
    assign z = ~( a );
121
 
122
endmodule
123
 
124
 
125
 
126
//bw_u1_inv_5x
127
//
128
//
129
 
130
module bw_u1_inv_5x (
131
    z,
132
    a );
133
 
134
    output z;
135
    input  a;
136
 
137
    assign z = ~( a );
138
 
139
endmodule
140
`endif
141
 
142
//bw_u1_inv_8x
143
//
144
//
145
 
146
module bw_u1_inv_8x (
147
    z,
148
    a );
149
 
150
    output z;
151
    input  a;
152
 
153
    assign z = ~( a );
154
 
155
endmodule
156
 
157
 
158
//bw_u1_inv_10x
159
//
160
//
161
 
162
module bw_u1_inv_10x (
163
    z,
164
    a );
165
 
166
    output z;
167
    input  a;
168
 
169
    assign z = ~( a );
170
 
171
endmodule
172
 
173
 
174
//bw_u1_inv_15x
175
//
176
//
177
 
178
module bw_u1_inv_15x (
179
    z,
180
    a );
181
 
182
    output z;
183
    input  a;
184
 
185
    assign z = ~( a );
186
 
187
endmodule
188
 
189
 
190
//bw_u1_inv_20x
191
//
192
//
193
 
194
module bw_u1_inv_20x (
195
    z,
196
    a );
197
 
198
    output z;
199
    input  a;
200
 
201
    assign z = ~( a );
202
 
203
endmodule
204
 
205
 
206
//bw_u1_inv_30x
207
//
208
//
209
 
210
module bw_u1_inv_30x (
211
    z,
212
    a );
213
 
214
    output z;
215
    input  a;
216
 
217
    assign z = ~( a );
218
 
219
endmodule
220
 
221
`ifndef SIMPLY_RISC_TWEAKS
222
//bw_u1_inv_40x
223
//
224
//
225
 
226
module bw_u1_inv_40x (
227
    z,
228
    a );
229
 
230
    output z;
231
    input  a;
232
 
233
    assign z = ~( a );
234
 
235
endmodule
236
 
237
//bw_u1_invh_15x
238
//
239
//
240
 
241
module bw_u1_invh_15x (
242
    z,
243
    a );
244
 
245
    output z;
246
    input  a;
247
 
248
    assign z = ~( a );
249
 
250
endmodule
251
 
252
//bw_u1_invh_25x
253
//
254
//
255
 
256
module bw_u1_invh_25x (
257
    z,
258
    a );
259
 
260
    output z;
261
    input  a;
262
 
263
    assign z = ~( a );
264
 
265
endmodule
266
 
267
 
268
//bw_u1_invh_30x
269
//
270
//
271
 
272
module bw_u1_invh_30x (
273
    z,
274
    a );
275
 
276
    output z;
277
    input  a;
278
 
279
    assign z = ~( a );
280
 
281
endmodule
282
 
283
 
284
//bw_u1_invh_50x
285
//
286
//
287
 
288
module bw_u1_invh_50x (
289
    z,
290
    a );
291
 
292
    output z;
293
    input  a;
294
 
295
    assign z = ~( a );
296
 
297
endmodule
298
 
299
 
300
//bw_u1_invh_60x
301
//
302
//
303
 
304
module bw_u1_invh_60x (
305
    z,
306
    a );
307
 
308
    output z;
309
    input  a;
310
 
311
    assign z = ~( a );
312
 
313
endmodule
314
 
315
 
316
 
317
//bw_u1_nand2_0p4x
318
//
319
//
320
module bw_u1_nand2_0p4x (
321
    z,
322
    a,
323
    b );
324
 
325
    output z;
326
    input  a;
327
    input  b;
328
 
329
    assign z = ~( a & b );
330
 
331
endmodule
332
 
333
 
334
//bw_u1_nand2_0p6x
335
//
336
//
337
module bw_u1_nand2_0p6x (
338
    z,
339
    a,
340
    b );
341
 
342
    output z;
343
    input  a;
344
    input  b;
345
 
346
    assign z = ~( a & b );
347
 
348
endmodule
349
 
350
//bw_u1_nand2_1x
351
//
352
//
353
module bw_u1_nand2_1x (
354
    z,
355
    a,
356
    b );
357
 
358
    output z;
359
    input  a;
360
    input  b;
361
 
362
    assign z = ~( a & b );
363
 
364
endmodule
365
 
366
//bw_u1_nand2_1p4x
367
//
368
//
369
module bw_u1_nand2_1p4x (
370
    z,
371
    a,
372
    b );
373
 
374
    output z;
375
    input  a;
376
    input  b;
377
 
378
    assign z = ~( a & b );
379
 
380
endmodule
381
`endif
382
 
383
//bw_u1_nand2_2x
384
//
385
//
386
module bw_u1_nand2_2x (
387
    z,
388
    a,
389
    b );
390
 
391
    output z;
392
    input  a;
393
    input  b;
394
 
395
    assign z = ~( a & b );
396
 
397
endmodule
398
 
399
`ifndef SIMPLY_RISC_TWEAKS
400
//bw_u1_nand2_3x
401
//
402
//
403
module bw_u1_nand2_3x (
404
    z,
405
    a,
406
    b );
407
 
408
    output z;
409
    input  a;
410
    input  b;
411
 
412
    assign z = ~( a & b );
413
 
414
endmodule
415
`endif
416
 
417
//bw_u1_nand2_4x
418
//
419
//
420
module bw_u1_nand2_4x (
421
    z,
422
    a,
423
    b );
424
 
425
    output z;
426
    input  a;
427
    input  b;
428
 
429
    assign z = ~( a & b );
430
 
431
endmodule
432
 
433
`ifndef SIMPLY_RISC_TWEAKS
434
//bw_u1_nand2_5x
435
//
436
//
437
module bw_u1_nand2_5x (
438
    z,
439
    a,
440
    b );
441
 
442
    output z;
443
    input  a;
444
    input  b;
445
 
446
    assign z = ~( a & b );
447
 
448
endmodule
449
 
450
 
451
//bw_u1_nand2_7x
452
//
453
//
454
module bw_u1_nand2_7x (
455
    z,
456
    a,
457
    b );
458
 
459
    output z;
460
    input  a;
461
    input  b;
462
 
463
    assign z = ~( a & b );
464
 
465
endmodule
466
`endif
467
 
468
//bw_u1_nand2_10x
469
//
470
//
471
module bw_u1_nand2_10x (
472
    z,
473
    a,
474
    b );
475
 
476
    output z;
477
    input  a;
478
    input  b;
479
 
480
    assign z = ~( a & b );
481
 
482
endmodule
483
 
484
 
485
//bw_u1_nand2_15x
486
//
487
//
488
module bw_u1_nand2_15x (
489
    z,
490
    a,
491
    b );
492
 
493
    output z;
494
    input  a;
495
    input  b;
496
 
497
    assign z = ~( a & b );
498
 
499
endmodule
500
 
501
`ifndef SIMPLY_RISC_TWEAKS
502
//bw_u1_nand3_0p4x
503
//
504
//
505
module bw_u1_nand3_0p4x (
506
    z,
507
    a,
508
    b,
509
    c );
510
 
511
    output z;
512
    input  a;
513
    input  b;
514
    input  c;
515
 
516
    assign z = ~( a & b & c );
517
 
518
endmodule
519
 
520
 
521
 
522
 
523
//bw_u1_nand3_0p6x
524
//
525
//
526
module bw_u1_nand3_0p6x (
527
    z,
528
    a,
529
    b,
530
    c );
531
 
532
    output z;
533
    input  a;
534
    input  b;
535
    input  c;
536
 
537
    assign z = ~( a & b & c );
538
 
539
endmodule
540
 
541
 
542
 
543
//bw_u1_nand3_1x
544
 
545
//
546
//
547
module bw_u1_nand3_1x (
548
    z,
549
    a,
550
    b,
551
    c );
552
 
553
    output z;
554
    input  a;
555
    input  b;
556
    input  c;
557
 
558
    assign z = ~( a & b & c );
559
 
560
endmodule
561
 
562
 
563
//bw_u1_nand3_1p4x
564
 
565
//
566
//
567
module bw_u1_nand3_1p4x (
568
    z,
569
    a,
570
    b,
571
    c );
572
 
573
    output z;
574
    input  a;
575
    input  b;
576
    input  c;
577
 
578
    assign z = ~( a & b & c );
579
 
580
endmodule
581
 
582
 
583
//bw_u1_nand3_2x
584
 
585
//
586
//
587
module bw_u1_nand3_2x (
588
    z,
589
    a,
590
    b,
591
    c );
592
 
593
    output z;
594
    input  a;
595
    input  b;
596
    input  c;
597
 
598
    assign z = ~( a & b & c );
599
 
600
endmodule
601
 
602
 
603
//bw_u1_nand3_3x
604
 
605
//
606
//
607
module bw_u1_nand3_3x (
608
    z,
609
    a,
610
    b,
611
    c );
612
 
613
    output z;
614
    input  a;
615
    input  b;
616
    input  c;
617
 
618
    assign z = ~( a & b & c );
619
 
620
endmodule
621
`endif
622
 
623
//bw_u1_nand3_4x
624
 
625
//
626
//
627
module bw_u1_nand3_4x (
628
    z,
629
    a,
630
    b,
631
    c );
632
 
633
    output z;
634
    input  a;
635
    input  b;
636
    input  c;
637
 
638
    assign z = ~( a & b & c );
639
 
640
endmodule
641
 
642
`ifndef SIMPLY_RISC_TWEAKS
643
//bw_u1_nand3_5x
644
 
645
//
646
//
647
module bw_u1_nand3_5x (
648
    z,
649
    a,
650
    b,
651
    c );
652
 
653
    output z;
654
    input  a;
655
    input  b;
656
    input  c;
657
 
658
    assign z = ~( a & b & c );
659
 
660
endmodule
661
 
662
 
663
//bw_u1_nand3_7x
664
 
665
//
666
//
667
module bw_u1_nand3_7x (
668
    z,
669
    a,
670
    b,
671
    c );
672
 
673
    output z;
674
    input  a;
675
    input  b;
676
    input  c;
677
 
678
    assign z = ~( a & b & c );
679
 
680
endmodule
681
 
682
 
683
//bw_u1_nand3_10x
684
 
685
//
686
//
687
module bw_u1_nand3_10x (
688
    z,
689
    a,
690
    b,
691
    c );
692
 
693
    output z;
694
    input  a;
695
    input  b;
696
    input  c;
697
 
698
    assign z = ~( a & b & c );
699
 
700
endmodule
701
 
702
 
703
//bw_u1_nand4_0p6x
704
 
705
//
706
//
707
module bw_u1_nand4_0p6x (
708
    z,
709
    a,
710
    b,
711
    c,
712
    d );
713
 
714
    output z;
715
    input  a;
716
    input  b;
717
    input  c;
718
    input  d;
719
 
720
    assign z = ~( a & b & c & d );
721
 
722
endmodule
723
 
724
 
725
//bw_u1_nand4_1x
726
//
727
//
728
module bw_u1_nand4_1x (
729
    z,
730
    a,
731
    b,
732
    c,
733
    d );
734
 
735
    output z;
736
    input  a;
737
    input  b;
738
    input  c;
739
    input  d;
740
 
741
    assign z = ~( a & b & c & d );
742
 
743
endmodule
744
 
745
 
746
//bw_u1_nand4_1p4x
747
//
748
//
749
module bw_u1_nand4_1p4x (
750
    z,
751
    a,
752
    b,
753
    c,
754
    d );
755
 
756
    output z;
757
    input  a;
758
    input  b;
759
    input  c;
760
    input  d;
761
 
762
    assign z = ~( a & b & c & d );
763
 
764
endmodule
765
 
766
 
767
//bw_u1_nand4_2x
768
//
769
//
770
module bw_u1_nand4_2x (
771
    z,
772
    a,
773
    b,
774
    c,
775
    d );
776
 
777
    output z;
778
    input  a;
779
    input  b;
780
    input  c;
781
    input  d;
782
 
783
    assign z = ~( a & b & c & d );
784
 
785
endmodule
786
 
787
 
788
//bw_u1_nand4_3x
789
//
790
//
791
module bw_u1_nand4_3x (
792
    z,
793
    a,
794
    b,
795
    c,
796
    d );
797
 
798
    output z;
799
    input  a;
800
    input  b;
801
    input  c;
802
    input  d;
803
 
804
    assign z = ~( a & b & c & d );
805
 
806
endmodule
807
 
808
 
809
//bw_u1_nand4_4x
810
//
811
//
812
module bw_u1_nand4_4x (
813
    z,
814
    a,
815
    b,
816
    c,
817
    d );
818
 
819
    output z;
820
    input  a;
821
    input  b;
822
    input  c;
823
    input  d;
824
 
825
    assign z = ~( a & b & c & d );
826
 
827
endmodule
828
 
829
 
830
//bw_u1_nand4_6x
831
//
832
//
833
 
834
module bw_u1_nand4_6x (
835
    z,
836
    a,
837
    b,
838
    c,
839
    d );
840
 
841
    output z;
842
    input  a;
843
    input  b;
844
    input  c;
845
    input  d;
846
 
847
 
848
    nand( z, a, b,c,d);
849
 
850
endmodule
851
 
852
//bw_u1_nand4_8x
853
//
854
//
855
 
856
module bw_u1_nand4_8x (
857
    z,
858
    a,
859
    b,
860
    c,
861
    d );
862
 
863
    output z;
864
    input  a;
865
    input  b;
866
    input  c;
867
    input  d;
868
 
869
 
870
    nand( z, a, b,c,d);
871
 
872
endmodule
873
 
874
//bw_u1_nor2_0p6x
875
//
876
//
877
 
878
module bw_u1_nor2_0p6x (
879
    z,
880
    a,
881
    b );
882
 
883
    output z;
884
    input  a;
885
    input  b;
886
 
887
    assign z = ~( a | b );
888
 
889
endmodule
890
 
891
 
892
//bw_u1_nor2_1x
893
//
894
//
895
 
896
module bw_u1_nor2_1x (
897
    z,
898
    a,
899
    b );
900
 
901
    output z;
902
    input  a;
903
    input  b;
904
 
905
    assign z = ~( a | b );
906
 
907
endmodule
908
 
909
 
910
//bw_u1_nor2_1p4x
911
//
912
//
913
 
914
module bw_u1_nor2_1p4x (
915
    z,
916
    a,
917
    b );
918
 
919
    output z;
920
    input  a;
921
    input  b;
922
 
923
    assign z = ~( a | b );
924
 
925
endmodule
926
 
927
 
928
//bw_u1_nor2_2x
929
//
930
//
931
 
932
module bw_u1_nor2_2x (
933
    z,
934
    a,
935
    b );
936
 
937
    output z;
938
    input  a;
939
    input  b;
940
 
941
    assign z = ~( a | b );
942
 
943
endmodule
944
 
945
 
946
//bw_u1_nor2_3x
947
//
948
//
949
 
950
module bw_u1_nor2_3x (
951
    z,
952
    a,
953
    b );
954
 
955
    output z;
956
    input  a;
957
    input  b;
958
 
959
    assign z = ~( a | b );
960
 
961
endmodule
962
 
963
 
964
//bw_u1_nor2_4x
965
//
966
//
967
 
968
module bw_u1_nor2_4x (
969
    z,
970
    a,
971
    b );
972
 
973
    output z;
974
    input  a;
975
    input  b;
976
 
977
    assign z = ~( a | b );
978
 
979
endmodule
980
 
981
 
982
//bw_u1_nor2_6x
983
//
984
//
985
 
986
module bw_u1_nor2_6x (
987
    z,
988
    a,
989
    b );
990
 
991
    output z;
992
    input  a;
993
    input  b;
994
 
995
    assign z = ~( a | b );
996
 
997
endmodule
998
 
999
 
1000
//bw_u1_nor2_8x
1001
//
1002
//
1003
 
1004
module bw_u1_nor2_8x (
1005
    z,
1006
    a,
1007
    b );
1008
 
1009
    output z;
1010
    input  a;
1011
    input  b;
1012
 
1013
    assign z = ~( a | b );
1014
 
1015
endmodule
1016
 
1017
 
1018
//bw_u1_nor2_12x
1019
//
1020
//
1021
 
1022
module bw_u1_nor2_12x (
1023
    z,
1024
    a,
1025
    b );
1026
 
1027
    output z;
1028
    input  a;
1029
    input  b;
1030
 
1031
    assign z = ~( a | b );
1032
 
1033
endmodule
1034
 
1035
 
1036
 
1037
 
1038
//bw_u1_nor3_0p6x
1039
//
1040
//
1041
 
1042
module bw_u1_nor3_0p6x (
1043
    z,
1044
    a,
1045
    b,
1046
    c );
1047
 
1048
    output z;
1049
    input  a;
1050
    input  b;
1051
    input  c;
1052
 
1053
    assign z = ~( a | b | c );
1054
 
1055
endmodule
1056
 
1057
 
1058
//bw_u1_nor3_1x
1059
//
1060
//
1061
 
1062
module bw_u1_nor3_1x (
1063
    z,
1064
    a,
1065
    b,
1066
    c );
1067
 
1068
    output z;
1069
    input  a;
1070
    input  b;
1071
    input  c;
1072
 
1073
    assign z = ~( a | b | c );
1074
 
1075
endmodule
1076
 
1077
 
1078
//bw_u1_nor3_1p4x
1079
//
1080
//
1081
 
1082
module bw_u1_nor3_1p4x (
1083
    z,
1084
    a,
1085
    b,
1086
    c );
1087
 
1088
    output z;
1089
    input  a;
1090
    input  b;
1091
    input  c;
1092
 
1093
    assign z = ~( a | b | c );
1094
 
1095
endmodule
1096
 
1097
 
1098
//bw_u1_nor3_2x
1099
//
1100
//
1101
 
1102
module bw_u1_nor3_2x (
1103
    z,
1104
    a,
1105
    b,
1106
    c );
1107
 
1108
    output z;
1109
    input  a;
1110
    input  b;
1111
    input  c;
1112
 
1113
    assign z = ~( a | b | c );
1114
 
1115
endmodule
1116
 
1117
 
1118
//bw_u1_nor3_3x
1119
//
1120
//
1121
 
1122
module bw_u1_nor3_3x (
1123
    z,
1124
    a,
1125
    b,
1126
    c );
1127
 
1128
    output z;
1129
    input  a;
1130
    input  b;
1131
    input  c;
1132
 
1133
    assign z = ~( a | b | c );
1134
 
1135
endmodule
1136
 
1137
 
1138
//bw_u1_nor3_4x
1139
//
1140
//
1141
 
1142
module bw_u1_nor3_4x (
1143
    z,
1144
    a,
1145
    b,
1146
    c );
1147
 
1148
    output z;
1149
    input  a;
1150
    input  b;
1151
    input  c;
1152
 
1153
    assign z = ~( a | b | c );
1154
 
1155
endmodule
1156
 
1157
 
1158
//bw_u1_nor3_6x
1159
//
1160
//
1161
 
1162
module bw_u1_nor3_6x (
1163
    z,
1164
    a,
1165
    b,
1166
    c );
1167
 
1168
    output z;
1169
    input  a;
1170
    input  b;
1171
    input  c;
1172
 
1173
    assign z = ~( a | b | c );
1174
 
1175
endmodule
1176
`endif
1177
 
1178
//bw_u1_nor3_8x
1179
//
1180
//
1181
 
1182
module bw_u1_nor3_8x (
1183
    z,
1184
    a,
1185
    b,
1186
    c );
1187
 
1188
    output z;
1189
    input  a;
1190
    input  b;
1191
    input  c;
1192
 
1193
    assign z = ~( a | b | c );
1194
 
1195
endmodule
1196
 
1197
`ifndef SIMPLY_RISC_TWEAKS
1198
//bw_u1_aoi21_0p4x
1199
//
1200
// 
1201
module bw_u1_aoi21_0p4x (
1202
    z,
1203
    b1,
1204
    b2,
1205
    a );
1206
 
1207
    output z;
1208
    input  b1;
1209
    input  b2;
1210
    input  a;
1211
 
1212
    assign z = ~(( b1 & b2 ) | ( a ));
1213
 
1214
endmodule
1215
//bw_u1_aoi21_1x
1216
//
1217
// 
1218
module bw_u1_aoi21_1x (
1219
 
1220
    z,
1221
    b1,
1222
    b2,
1223
    a );
1224
 
1225
    output z;
1226
    input  b1;
1227
    input  b2;
1228
    input  a;
1229
 
1230
    assign z = ~(( b1 & b2 ) | ( a  ));
1231
 
1232
endmodule
1233
 
1234
//bw_u1_aoi21_2x
1235
//
1236
// 
1237
module bw_u1_aoi21_2x (
1238
    z,
1239
    b1,
1240
    b2,
1241
    a );
1242
 
1243
    output z;
1244
    input  b1;
1245
    input  b2;
1246
    input  a;
1247
 
1248
    assign z = ~(( b1 & b2 ) | ( a ));
1249
 
1250
endmodule
1251
`endif
1252
 
1253
//bw_u1_aoi21_4x
1254
//
1255
// 
1256
module bw_u1_aoi21_4x (
1257
    z,
1258
    b1,
1259
    b2,
1260
    a );
1261
 
1262
    output z;
1263
    input  b1;
1264
    input  b2;
1265
    input  a;
1266
 
1267
    assign z = ~(( b1 & b2 ) | ( a ));
1268
 
1269
endmodule
1270
 
1271
`ifndef SIMPLY_RISC_TWEAKS
1272
//bw_u1_aoi21_8x
1273
//
1274
// 
1275
module bw_u1_aoi21_8x (
1276
    z,
1277
    b1,
1278
    b2,
1279
    a );
1280
 
1281
    output z;
1282
    input  b1;
1283
    input  b2;
1284
    input  a;
1285
 
1286
    assign z = ~(( b1 & b2 ) | ( a ));
1287
 
1288
endmodule
1289
//bw_u1_aoi21_12x
1290
//
1291
// 
1292
module bw_u1_aoi21_12x (
1293
    z,
1294
    b1,
1295
    b2,
1296
    a );
1297
 
1298
    output z;
1299
    input  b1;
1300
    input  b2;
1301
    input  a;
1302
 
1303
    assign z = ~(( b1 & b2 ) | ( a ));
1304
 
1305
endmodule
1306
//bw_u1_aoi22_0p4x
1307
//
1308
// 
1309
module bw_u1_aoi22_0p4x (
1310
    z,
1311
    a1,
1312
    a2,
1313
    b1,
1314
    b2 );
1315
 
1316
    output z;
1317
    input  a1;
1318
    input  a2;
1319
    input  b1;
1320
    input  b2;
1321
 
1322
    assign z = ~(( a1 & a2 ) | ( b1 & b2 ));
1323
 
1324
endmodule
1325
//bw_u1_aoi22_1x
1326
//
1327
// 
1328
module bw_u1_aoi22_1x (
1329
    z,
1330
    b1,
1331
    b2,
1332
    a1,
1333
    a2 );
1334
 
1335
    output z;
1336
    input  b1;
1337
    input  b2;
1338
    input  a1;
1339
    input  a2;
1340
 
1341
 
1342
    assign z = ~(( a1 & a2 ) | ( b1 & b2 ));
1343
 
1344
endmodule
1345
`endif
1346
 
1347
//bw_u1_aoi22_2x
1348
//
1349
// 
1350
module bw_u1_aoi22_2x (
1351
 
1352
 
1353
    z,
1354
    b1,
1355
    b2,
1356
    a1,
1357
    a2 );
1358
 
1359
    output z;
1360
    input  b1;
1361
    input  b2;
1362
    input  a1;
1363
    input  a2;
1364
 
1365
    assign z = ~(( a1 & a2 ) | ( b1 & b2 ));
1366
 
1367
endmodule
1368
 
1369
`ifndef SIMPLY_RISC_TWEAKS
1370
//bw_u1_aoi22_4x
1371
//
1372
// 
1373
module bw_u1_aoi22_4x (
1374
 
1375
    z,
1376
    b1,
1377
    b2,
1378
    a1,
1379
    a2 );
1380
 
1381
    output z;
1382
    input  b1;
1383
    input  b2;
1384
    input  a1;
1385
    input  a2;
1386
 
1387
    assign z = ~(( a1 & a2 ) | ( b1 & b2 ));
1388
 
1389
endmodule
1390
//bw_u1_aoi22_8x
1391
//
1392
// 
1393
module bw_u1_aoi22_8x (
1394
 
1395
    z,
1396
    b1,
1397
    b2,
1398
    a1,
1399
    a2 );
1400
 
1401
    output z;
1402
    input  b1;
1403
    input  b2;
1404
    input  a1;
1405
    input  a2;
1406
 
1407
    assign z = ~(( a1 & a2 ) | ( b1 & b2 ));
1408
 
1409
endmodule
1410
//bw_u1_aoi211_0p3x
1411
//
1412
// 
1413
module bw_u1_aoi211_0p3x (
1414
 
1415
    z,
1416
    c1,
1417
    c2,
1418
    b,
1419
    a );
1420
 
1421
    output z;
1422
    input  c1;
1423
    input  c2;
1424
    input  b;
1425
    input  a;
1426
 
1427
    assign z = ~(( c1 & c2 ) | (a)| (b));
1428
 
1429
endmodule
1430
 
1431
//bw_u1_aoi211_1x
1432
//
1433
// 
1434
module bw_u1_aoi211_1x (
1435
 
1436
    z,
1437
    c1,
1438
    c2,
1439
    b,
1440
    a );
1441
 
1442
    output z;
1443
    input  c1;
1444
    input  c2;
1445
    input  b;
1446
    input  a;
1447
 
1448
    assign z = ~(( c1 & c2 ) | (a)| (b));
1449
 
1450
endmodule
1451
 
1452
//bw_u1_aoi211_2x
1453
//
1454
// 
1455
module bw_u1_aoi211_2x (
1456
 
1457
 
1458
 
1459
    z,
1460
    c1,
1461
    c2,
1462
    b,
1463
    a );
1464
 
1465
    output z;
1466
    input  c1;
1467
    input  c2;
1468
    input  b;
1469
    input  a;
1470
 
1471
 
1472
    assign z = ~(( c1 & c2 ) | (a)| (b));
1473
 
1474
endmodule
1475
 
1476
//bw_u1_aoi211_4x
1477
//
1478
// 
1479
module bw_u1_aoi211_4x (
1480
 
1481
 
1482
    z,
1483
    c1,
1484
    c2,
1485
    b,
1486
    a );
1487
 
1488
    output z;
1489
    input  c1;
1490
    input  c2;
1491
    input  b;
1492
    input  a;
1493
 
1494
 
1495
 
1496
    assign z = ~(( c1 & c2 ) | (a)| (b));
1497
 
1498
endmodule
1499
 
1500
//bw_u1_aoi211_8x
1501
//
1502
// 
1503
module bw_u1_aoi211_8x (
1504
 
1505
 
1506
    z,
1507
    c1,
1508
    c2,
1509
    b,
1510
    a );
1511
 
1512
    output z;
1513
    input  c1;
1514
    input  c2;
1515
    input  b;
1516
    input  a;
1517
 
1518
 
1519
 
1520
    assign z = ~(( c1 & c2 ) | (a)| (b));
1521
 
1522
endmodule
1523
 
1524
//bw_u1_oai21_0p4x
1525
//
1526
//
1527
module bw_u1_oai21_0p4x (
1528
    z,
1529
    b1,
1530
    b2,
1531
    a );
1532
 
1533
    output z;
1534
    input  b1;
1535
    input  b2;
1536
    input  a;
1537
 
1538
    assign z = ~(( b1 | b2 ) & ( a ));
1539
 
1540
endmodule
1541
 
1542
 
1543
 
1544
//bw_u1_oai21_1x
1545
//
1546
//
1547
module bw_u1_oai21_1x (
1548
    z,
1549
    b1,
1550
    b2,
1551
    a );
1552
 
1553
    output z;
1554
    input  b1;
1555
    input  b2;
1556
    input  a;
1557
 
1558
    assign z = ~(( b1 | b2 ) & ( a ));
1559
 
1560
endmodule
1561
 
1562
 
1563
 
1564
//bw_u1_oai21_2x
1565
//
1566
//
1567
module bw_u1_oai21_2x (
1568
    z,
1569
    b1,
1570
    b2,
1571
    a );
1572
 
1573
    output z;
1574
    input  b1;
1575
    input  b2;
1576
    input  a;
1577
 
1578
    assign z = ~(( b1 | b2 ) & ( a ));
1579
 
1580
endmodule
1581
 
1582
 
1583
 
1584
//bw_u1_oai21_4x
1585
//
1586
//
1587
module bw_u1_oai21_4x (
1588
    z,
1589
    b1,
1590
    b2,
1591
    a );
1592
 
1593
    output z;
1594
    input  b1;
1595
    input  b2;
1596
    input  a;
1597
 
1598
    assign z = ~(( b1 | b2 ) & ( a ));
1599
 
1600
endmodule
1601
 
1602
 
1603
 
1604
//bw_u1_oai21_8x
1605
//
1606
//
1607
module bw_u1_oai21_8x (
1608
    z,
1609
    b1,
1610
    b2,
1611
    a );
1612
 
1613
    output z;
1614
    input  b1;
1615
    input  b2;
1616
    input  a;
1617
 
1618
    assign z = ~(( b1 | b2 ) & ( a ));
1619
 
1620
endmodule
1621
 
1622
 
1623
 
1624
//bw_u1_oai21_12x
1625
//
1626
//
1627
module bw_u1_oai21_12x (
1628
    z,
1629
    b1,
1630
    b2,
1631
    a );
1632
 
1633
    output z;
1634
    input  b1;
1635
    input  b2;
1636
    input  a;
1637
 
1638
    assign z = ~(( b1 | b2 ) & ( a ));
1639
 
1640
endmodule
1641
 
1642
 
1643
 
1644
//bw_u1_oai22_0p4x
1645
// 
1646
module bw_u1_oai22_0p4x (
1647
    z,
1648
    a1,
1649
    a2,
1650
    b1,
1651
    b2 );
1652
 
1653
    output z;
1654
    input  a1;
1655
    input  a2;
1656
    input  b1;
1657
    input  b2;
1658
 
1659
    assign z = ~(( a1 | a2 ) & ( b1 | b2 ));
1660
 
1661
endmodule
1662
 
1663
//bw_u1_oai22_1x
1664
// 
1665
module bw_u1_oai22_1x (
1666
    z,
1667
    a1,
1668
    a2,
1669
    b1,
1670
    b2 );
1671
 
1672
    output z;
1673
    input  a1;
1674
    input  a2;
1675
    input  b1;
1676
    input  b2;
1677
 
1678
    assign z = ~(( a1 | a2 ) & ( b1 | b2 ));
1679
 
1680
endmodule
1681
 
1682
//bw_u1_oai22_2x
1683
// 
1684
module bw_u1_oai22_2x (
1685
    z,
1686
    a1,
1687
    a2,
1688
    b1,
1689
    b2 );
1690
 
1691
    output z;
1692
    input  a1;
1693
    input  a2;
1694
    input  b1;
1695
    input  b2;
1696
 
1697
    assign z = ~(( a1 | a2 ) & ( b1 | b2 ));
1698
 
1699
endmodule
1700
 
1701
//bw_u1_oai22_4x
1702
// 
1703
module bw_u1_oai22_4x (
1704
    z,
1705
    a1,
1706
    a2,
1707
    b1,
1708
    b2 );
1709
 
1710
    output z;
1711
    input  a1;
1712
    input  a2;
1713
    input  b1;
1714
    input  b2;
1715
 
1716
    assign z = ~(( a1 | a2 ) & ( b1 | b2 ));
1717
 
1718
endmodule
1719
 
1720
//bw_u1_oai22_8x
1721
// 
1722
module bw_u1_oai22_8x (
1723
    z,
1724
    a1,
1725
    a2,
1726
    b1,
1727
    b2 );
1728
 
1729
    output z;
1730
    input  a1;
1731
    input  a2;
1732
    input  b1;
1733
    input  b2;
1734
 
1735
    assign z = ~(( a1 | a2 ) & ( b1 | b2 ));
1736
 
1737
endmodule
1738
 
1739
 
1740
//bw_u1_oai211_0p3x
1741
//
1742
//
1743
module bw_u1_oai211_0p3x (
1744
    z,
1745
    c1,
1746
    c2,
1747
    b,
1748
    a );
1749
 
1750
    output z;
1751
    input  c1;
1752
    input  c2;
1753
    input  b;
1754
    input  a;
1755
 
1756
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
1757
 
1758
endmodule
1759
 
1760
//bw_u1_oai211_1x
1761
//
1762
//
1763
module bw_u1_oai211_1x (
1764
    z,
1765
    c1,
1766
    c2,
1767
    b,
1768
    a );
1769
 
1770
    output z;
1771
    input  c1;
1772
    input  c2;
1773
    input  b;
1774
    input  a;
1775
 
1776
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
1777
 
1778
endmodule
1779
 
1780
//bw_u1_oai211_2x
1781
//
1782
//
1783
module bw_u1_oai211_2x (
1784
    z,
1785
    c1,
1786
    c2,
1787
    b,
1788
    a );
1789
 
1790
    output z;
1791
    input  c1;
1792
    input  c2;
1793
    input  b;
1794
    input  a;
1795
 
1796
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
1797
 
1798
endmodule
1799
 
1800
//bw_u1_oai211_4x
1801
//
1802
//
1803
module bw_u1_oai211_4x (
1804
    z,
1805
    c1,
1806
    c2,
1807
    b,
1808
    a );
1809
 
1810
    output z;
1811
    input  c1;
1812
    input  c2;
1813
    input  b;
1814
    input  a;
1815
 
1816
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
1817
 
1818
endmodule
1819
 
1820
//bw_u1_oai211_8x
1821
//
1822
//
1823
module bw_u1_oai211_8x (
1824
    z,
1825
    c1,
1826
    c2,
1827
    b,
1828
    a );
1829
 
1830
    output z;
1831
    input  c1;
1832
    input  c2;
1833
    input  b;
1834
    input  a;
1835
 
1836
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
1837
 
1838
endmodule
1839
 
1840
 
1841
//bw_u1_aoi31_1x
1842
//
1843
// 
1844
module bw_u1_aoi31_1x (
1845
 
1846
 
1847
    z,
1848
    b1,
1849
    b2,
1850
    b3,
1851
    a );
1852
 
1853
    output z;
1854
    input  b1;
1855
    input  b2;
1856
    input  b3;
1857
    input  a;
1858
 
1859
    assign z = ~(( b1 & b2&b3 ) | ( a ));
1860
 
1861
endmodule
1862
//bw_u1_aoi31_2x
1863
//
1864
// 
1865
module bw_u1_aoi31_2x (
1866
 
1867
    z,
1868
    b1,
1869
    b2,
1870
    b3,
1871
    a );
1872
 
1873
    output z;
1874
    input  b1;
1875
    input  b2;
1876
    input  b3;
1877
    input  a;
1878
 
1879
    assign z = ~(( b1 & b2&b3 ) | ( a ));
1880
 
1881
endmodule
1882
//bw_u1_aoi31_4x
1883
//
1884
// 
1885
module bw_u1_aoi31_4x (
1886
    z,
1887
    b1,
1888
    b2,
1889
    b3,
1890
    a );
1891
 
1892
    output z;
1893
    input  b1;
1894
    input  b2;
1895
    input  b3;
1896
    input  a;
1897
 
1898
    assign z = ~(( b1 & b2&b3 ) | ( a ));
1899
 
1900
endmodule
1901
//bw_u1_aoi31_8x
1902
//
1903
// 
1904
module bw_u1_aoi31_8x (
1905
 
1906
    z,
1907
    b1,
1908
    b2,
1909
    b3,
1910
    a );
1911
 
1912
    output z;
1913
    input  b1;
1914
    input  b2;
1915
    input  b3;
1916
    input  a;
1917
 
1918
    assign z = ~(( b1 & b2&b3 ) | ( a ));
1919
 
1920
endmodule
1921
//bw_u1_aoi32_1x
1922
//
1923
// 
1924
module bw_u1_aoi32_1x (
1925
    z,
1926
    b1,
1927
    b2,
1928
    b3,
1929
    a1,
1930
    a2 );
1931
 
1932
    output z;
1933
    input  b1;
1934
    input  b2;
1935
    input  b3;
1936
    input  a1;
1937
    input  a2;
1938
 
1939
    assign z = ~(( b1 & b2&b3 ) | ( a1 & a2 ));
1940
 
1941
endmodule
1942
 
1943
//bw_u1_aoi32_2x
1944
//
1945
// 
1946
module bw_u1_aoi32_2x (
1947
    z,
1948
    b1,
1949
    b2,
1950
    b3,
1951
    a1,
1952
    a2 );
1953
 
1954
    output z;
1955
    input  b1;
1956
    input  b2;
1957
    input  b3;
1958
    input  a1;
1959
    input  a2;
1960
 
1961
 
1962
 
1963
    assign z = ~(( b1 & b2&b3 ) | ( a1 & a2 ));
1964
 
1965
endmodule
1966
 
1967
//bw_u1_aoi32_4x
1968
//
1969
// 
1970
module bw_u1_aoi32_4x (
1971
 
1972
    z,
1973
    b1,
1974
    b2,
1975
    b3,
1976
    a1,
1977
    a2 );
1978
 
1979
    output z;
1980
    input  b1;
1981
    input  b2;
1982
    input  b3;
1983
    input  a1;
1984
    input  a2;
1985
 
1986
 
1987
 
1988
    assign z = ~(( b1 & b2&b3 ) | ( a1 & a2 ));
1989
 
1990
endmodule
1991
 
1992
//bw_u1_aoi32_8x
1993
//
1994
// 
1995
module bw_u1_aoi32_8x (
1996
 
1997
    z,
1998
    b1,
1999
    b2,
2000
    b3,
2001
    a1,
2002
    a2 );
2003
 
2004
    output z;
2005
    input  b1;
2006
    input  b2;
2007
    input  b3;
2008
    input  a1;
2009
    input  a2;
2010
 
2011
 
2012
    assign z = ~(( b1 & b2&b3 ) | ( a1 & a2 ));
2013
 
2014
endmodule
2015
 
2016
//bw_u1_aoi33_1x
2017
//
2018
//
2019
module bw_u1_aoi33_1x (
2020
 
2021
 
2022
 
2023
 
2024
    z,
2025
    b1,
2026
    b2,
2027
    b3,
2028
    a1,
2029
    a2,
2030
    a3 );
2031
 
2032
    output z;
2033
    input  b1;
2034
    input  b2;
2035
    input  b3;
2036
    input  a1;
2037
    input  a2;
2038
    input  a3;
2039
 
2040
    assign z = ~(( b1 & b2&b3 ) | ( a1&a2&a3 ));
2041
 
2042
endmodule
2043
 
2044
 
2045
//bw_u1_aoi33_2x
2046
//
2047
//
2048
module bw_u1_aoi33_2x (
2049
 
2050
 
2051
    z,
2052
    b1,
2053
    b2,
2054
    b3,
2055
    a1,
2056
    a2,
2057
    a3 );
2058
 
2059
    output z;
2060
    input  b1;
2061
    input  b2;
2062
    input  b3;
2063
    input  a1;
2064
    input  a2;
2065
    input  a3;
2066
 
2067
 
2068
    assign z = ~(( b1 & b2&b3 ) | ( a1&a2&a3 ));
2069
 
2070
endmodule
2071
 
2072
 
2073
//bw_u1_aoi33_4x
2074
//
2075
//
2076
module bw_u1_aoi33_4x (
2077
 
2078
 
2079
    z,
2080
    b1,
2081
    b2,
2082
    b3,
2083
    a1,
2084
    a2,
2085
    a3 );
2086
 
2087
    output z;
2088
    input  b1;
2089
    input  b2;
2090
    input  b3;
2091
    input  a1;
2092
    input  a2;
2093
    input  a3;
2094
 
2095
 
2096
 
2097
    assign z = ~(( b1 & b2&b3 ) | ( a1&a2&a3 ));
2098
 
2099
endmodule
2100
 
2101
 
2102
//bw_u1_aoi33_8x
2103
//
2104
//
2105
module bw_u1_aoi33_8x (
2106
 
2107
    z,
2108
    b1,
2109
    b2,
2110
    b3,
2111
    a1,
2112
    a2,
2113
    a3 );
2114
 
2115
    output z;
2116
    input  b1;
2117
    input  b2;
2118
    input  b3;
2119
    input  a1;
2120
    input  a2;
2121
    input  a3;
2122
 
2123
 
2124
 
2125
    assign z = ~(( b1 & b2&b3 ) | ( a1&a2&a3 ));
2126
 
2127
endmodule
2128
 
2129
 
2130
//bw_u1_aoi221_1x
2131
//
2132
// 
2133
module bw_u1_aoi221_1x (
2134
 
2135
    z,
2136
    c1,
2137
    c2,
2138
    b1,
2139
    b2,
2140
    a );
2141
 
2142
    output z;
2143
    input  c1;
2144
    input  c2;
2145
    input  b1;
2146
    input  b2;
2147
    input  a;
2148
 
2149
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a));
2150
 
2151
endmodule
2152
 
2153
 
2154
//bw_u1_aoi221_2x
2155
//
2156
// 
2157
module bw_u1_aoi221_2x (
2158
 
2159
    z,
2160
    c1,
2161
    c2,
2162
    b1,
2163
    b2,
2164
    a );
2165
 
2166
    output z;
2167
    input  c1;
2168
    input  c2;
2169
    input  b1;
2170
    input  b2;
2171
    input  a;
2172
 
2173
 
2174
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a));
2175
 
2176
endmodule
2177
 
2178
 
2179
//bw_u1_aoi221_4x
2180
//
2181
// 
2182
module bw_u1_aoi221_4x (
2183
 
2184
 
2185
 
2186
    z,
2187
    c1,
2188
    c2,
2189
    b1,
2190
    b2,
2191
    a );
2192
 
2193
    output z;
2194
    input  c1;
2195
    input  c2;
2196
    input  b1;
2197
    input  b2;
2198
    input  a;
2199
 
2200
 
2201
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a));
2202
 
2203
endmodule
2204
 
2205
 
2206
//bw_u1_aoi221_8x
2207
//
2208
// 
2209
module bw_u1_aoi221_8x (
2210
    z,
2211
    c1,
2212
    c2,
2213
    b1,
2214
    b2,
2215
    a );
2216
 
2217
    output z;
2218
    input  c1;
2219
    input  c2;
2220
    input  b1;
2221
    input  b2;
2222
    input  a;
2223
 
2224
 
2225
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a));
2226
 
2227
endmodule
2228
 
2229
 
2230
//bw_u1_aoi222_1x
2231
//
2232
//
2233
module bw_u1_aoi222_1x (
2234
 
2235
    z,
2236
    a1,
2237
    a2,
2238
    b1,
2239
    b2,
2240
    c1,
2241
    c2 );
2242
 
2243
    output z;
2244
    input  a1;
2245
    input  a2;
2246
    input  b1;
2247
    input  b2;
2248
    input  c1;
2249
    input  c2;
2250
 
2251
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a1& a2));
2252
 
2253
endmodule
2254
 
2255
//bw_u1_aoi222_2x
2256
//
2257
//
2258
module bw_u1_aoi222_2x (
2259
 
2260
    z,
2261
    a1,
2262
    a2,
2263
    b1,
2264
    b2,
2265
    c1,
2266
    c2 );
2267
 
2268
    output z;
2269
    input  a1;
2270
    input  a2;
2271
    input  b1;
2272
    input  b2;
2273
    input  c1;
2274
    input  c2;
2275
 
2276
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a1& a2));
2277
 
2278
endmodule
2279
 
2280
 
2281
//bw_u1_aoi222_4x
2282
//
2283
//
2284
module bw_u1_aoi222_4x (
2285
 
2286
    z,
2287
    a1,
2288
    a2,
2289
    b1,
2290
    b2,
2291
    c1,
2292
    c2 );
2293
 
2294
    output z;
2295
    input  a1;
2296
    input  a2;
2297
    input  b1;
2298
    input  b2;
2299
    input  c1;
2300
    input  c2;
2301
 
2302
    assign z = ~(( c1 & c2 ) | (b1&b2)| (a1& a2));
2303
 
2304
endmodule
2305
 
2306
 
2307
//bw_u1_aoi311_1x
2308
//
2309
//
2310
module bw_u1_aoi311_1x (
2311
 
2312
    z,
2313
    c1,
2314
    c2,
2315
    c3,
2316
    b,
2317
    a );
2318
 
2319
    output z;
2320
    input  c1;
2321
    input  c2;
2322
    input  c3;
2323
    input  b;
2324
    input  a;
2325
 
2326
    assign z = ~(( c1 & c2& c3 ) | (a)| (b));
2327
 
2328
endmodule
2329
 
2330
 
2331
 
2332
 
2333
//bw_u1_aoi311_2x
2334
//
2335
//
2336
module bw_u1_aoi311_2x (
2337
    z,
2338
    c1,
2339
    c2,
2340
    c3,
2341
    b,
2342
    a );
2343
 
2344
    output z;
2345
    input  c1;
2346
    input  c2;
2347
    input  c3;
2348
    input  b;
2349
    input  a;
2350
 
2351
    assign z = ~(( c1 & c2& c3 ) | (a)| (b));
2352
 
2353
endmodule
2354
 
2355
 
2356
 
2357
 
2358
//bw_u1_aoi311_4x
2359
//
2360
//
2361
module bw_u1_aoi311_4x (
2362
    z,
2363
    c1,
2364
    c2,
2365
    c3,
2366
    b,
2367
    a );
2368
 
2369
    output z;
2370
    input  c1;
2371
    input  c2;
2372
    input  c3;
2373
    input  b;
2374
    input  a;
2375
 
2376
 
2377
    assign z = ~(( c1 & c2& c3 ) | (a)| (b));
2378
 
2379
endmodule
2380
 
2381
 
2382
 
2383
 
2384
//bw_u1_aoi311_8x
2385
//
2386
//
2387
module bw_u1_aoi311_8x (
2388
    z,
2389
    c1,
2390
    c2,
2391
    c3,
2392
    b,
2393
    a );
2394
 
2395
    output z;
2396
    input  c1;
2397
    input  c2;
2398
    input  c3;
2399
    input  b;
2400
    input  a;
2401
 
2402
    assign z = ~(( c1 & c2& c3 ) | (a)| (b));
2403
 
2404
endmodule
2405
 
2406
 
2407
 
2408
//bw_u1_oai31_1x
2409
//
2410
//
2411
module bw_u1_oai31_1x (
2412
    z,
2413
    b1,
2414
    b2,
2415
    b3,
2416
    a );
2417
 
2418
    output z;
2419
    input  b1;
2420
    input  b2;
2421
    input  b3;
2422
    input  a;
2423
 
2424
    assign z = ~(( b1 | b2|b3 ) & ( a ));
2425
 
2426
endmodule
2427
 
2428
 
2429
 
2430
 
2431
//bw_u1_oai31_2x
2432
//
2433
//
2434
module bw_u1_oai31_2x (
2435
    z,
2436
    b1,
2437
    b2,
2438
    b3,
2439
    a );
2440
 
2441
    output z;
2442
    input  b1;
2443
    input  b2;
2444
    input  b3;
2445
    input  a;
2446
 
2447
    assign z = ~(( b1 | b2|b3 ) & ( a ));
2448
 
2449
endmodule
2450
 
2451
 
2452
 
2453
 
2454
//bw_u1_oai31_4x
2455
//
2456
//
2457
module bw_u1_oai31_4x (
2458
    z,
2459
    b1,
2460
    b2,
2461
    b3,
2462
    a );
2463
 
2464
    output z;
2465
    input  b1;
2466
    input  b2;
2467
    input  b3;
2468
    input  a;
2469
 
2470
    assign z = ~(( b1 | b2|b3 ) & ( a ));
2471
 
2472
endmodule
2473
 
2474
 
2475
 
2476
 
2477
//bw_u1_oai31_8x
2478
//
2479
//
2480
module bw_u1_oai31_8x (
2481
    z,
2482
    b1,
2483
    b2,
2484
    b3,
2485
    a );
2486
 
2487
    output z;
2488
    input  b1;
2489
    input  b2;
2490
    input  b3;
2491
    input  a;
2492
 
2493
    assign z = ~(( b1 | b2|b3 ) & ( a ));
2494
 
2495
endmodule
2496
 
2497
 
2498
 
2499
 
2500
//bw_u1_oai32_1x
2501
//
2502
//
2503
module bw_u1_oai32_1x (
2504
    z,
2505
    b1,
2506
    b2,
2507
    b3,
2508
    a1,
2509
    a2 );
2510
 
2511
    output z;
2512
    input  b1;
2513
    input  b2;
2514
    input  b3;
2515
    input  a1;
2516
    input  a2;
2517
 
2518
    assign z = ~(( b1 | b2 | b3 ) & ( a1 | a2 ));
2519
 
2520
endmodule
2521
 
2522
 
2523
 
2524
//bw_u1_oai32_2x
2525
//
2526
//
2527
module bw_u1_oai32_2x (
2528
    z,
2529
    b1,
2530
    b2,
2531
    b3,
2532
    a1,
2533
    a2 );
2534
 
2535
    output z;
2536
    input  b1;
2537
    input  b2;
2538
    input  b3;
2539
    input  a1;
2540
    input  a2;
2541
 
2542
    assign z = ~(( b1 | b2 | b3 ) & ( a1 | a2 ));
2543
 
2544
endmodule
2545
 
2546
 
2547
 
2548
//bw_u1_oai32_4x
2549
//
2550
//
2551
module bw_u1_oai32_4x (
2552
    z,
2553
    b1,
2554
    b2,
2555
    b3,
2556
    a1,
2557
    a2 );
2558
 
2559
    output z;
2560
    input  b1;
2561
    input  b2;
2562
    input  b3;
2563
    input  a1;
2564
    input  a2;
2565
 
2566
    assign z = ~(( b1 | b2 | b3 ) & ( a1 | a2 ));
2567
 
2568
endmodule
2569
 
2570
 
2571
 
2572
//bw_u1_oai32_8x
2573
//
2574
//
2575
module bw_u1_oai32_8x (
2576
    z,
2577
    b1,
2578
    b2,
2579
    b3,
2580
    a1,
2581
    a2 );
2582
 
2583
    output z;
2584
    input  b1;
2585
    input  b2;
2586
    input  b3;
2587
    input  a1;
2588
    input  a2;
2589
 
2590
    assign z = ~(( b1 | b2 | b3 ) & ( a1 | a2 ));
2591
 
2592
endmodule
2593
 
2594
 
2595
 
2596
//bw_u1_oai33_1x
2597
//
2598
//
2599
module bw_u1_oai33_1x (
2600
    z,
2601
    b1,
2602
    b2,
2603
    b3,
2604
    a1,
2605
    a2,
2606
    a3 );
2607
 
2608
    output z;
2609
    input  b1;
2610
    input  b2;
2611
    input  b3;
2612
    input  a1;
2613
    input  a2;
2614
    input  a3;
2615
 
2616
    assign z = ~(( b1 | b2|b3 ) & ( a1|a2|a3 ));
2617
 
2618
endmodule
2619
 
2620
 
2621
//bw_u1_oai33_2x
2622
//
2623
//
2624
module bw_u1_oai33_2x (
2625
    z,
2626
    b1,
2627
    b2,
2628
    b3,
2629
    a1,
2630
    a2,
2631
    a3 );
2632
 
2633
    output z;
2634
    input  b1;
2635
    input  b2;
2636
    input  b3;
2637
    input  a1;
2638
    input  a2;
2639
    input  a3;
2640
 
2641
    assign z = ~(( b1 | b2|b3 ) & ( a1|a2|a3 ));
2642
 
2643
endmodule
2644
 
2645
 
2646
//bw_u1_oai33_4x
2647
//
2648
//
2649
module bw_u1_oai33_4x (
2650
    z,
2651
    b1,
2652
    b2,
2653
    b3,
2654
    a1,
2655
    a2,
2656
    a3 );
2657
 
2658
    output z;
2659
    input  b1;
2660
    input  b2;
2661
    input  b3;
2662
    input  a1;
2663
    input  a2;
2664
    input  a3;
2665
 
2666
    assign z = ~(( b1 | b2|b3 ) & ( a1|a2|a3 ));
2667
 
2668
endmodule
2669
 
2670
 
2671
//bw_u1_oai33_8x
2672
//
2673
//
2674
module bw_u1_oai33_8x (
2675
    z,
2676
    b1,
2677
    b2,
2678
    b3,
2679
    a1,
2680
    a2,
2681
    a3 );
2682
 
2683
    output z;
2684
    input  b1;
2685
    input  b2;
2686
    input  b3;
2687
    input  a1;
2688
    input  a2;
2689
    input  a3;
2690
 
2691
    assign z = ~(( b1 | b2|b3 ) & ( a1|a2|a3 ));
2692
 
2693
endmodule
2694
 
2695
 
2696
//bw_u1_oai221_1x
2697
//
2698
//
2699
module bw_u1_oai221_1x (
2700
    z,
2701
    c1,
2702
    c2,
2703
    b1,
2704
    b2,
2705
    a );
2706
 
2707
    output z;
2708
    input  c1;
2709
    input  c2;
2710
    input  b1;
2711
    input  b2;
2712
    input  a;
2713
 
2714
    assign z = ~(( c1 | c2 ) & ( a ) & (b1|b2));
2715
 
2716
endmodule
2717
 
2718
//bw_u1_oai221_2x
2719
//
2720
//
2721
module bw_u1_oai221_2x (
2722
    z,
2723
    c1,
2724
    c2,
2725
    b1,
2726
    b2,
2727
    a );
2728
 
2729
    output z;
2730
    input  c1;
2731
    input  c2;
2732
    input  b1;
2733
    input  b2;
2734
    input  a;
2735
 
2736
    assign z = ~(( c1 | c2 ) & ( a ) & (b1|b2));
2737
 
2738
endmodule
2739
 
2740
//bw_u1_oai221_4x
2741
//
2742
//
2743
module bw_u1_oai221_4x (
2744
    z,
2745
    c1,
2746
    c2,
2747
    b1,
2748
    b2,
2749
    a );
2750
 
2751
    output z;
2752
    input  c1;
2753
    input  c2;
2754
    input  b1;
2755
    input  b2;
2756
    input  a;
2757
 
2758
    assign z = ~(( c1 | c2 ) & ( a ) & (b1|b2));
2759
 
2760
endmodule
2761
 
2762
//bw_u1_oai221_8x
2763
//
2764
//
2765
module bw_u1_oai221_8x (
2766
    z,
2767
    c1,
2768
    c2,
2769
    b1,
2770
    b2,
2771
    a );
2772
 
2773
    output z;
2774
    input  c1;
2775
    input  c2;
2776
    input  b1;
2777
    input  b2;
2778
    input  a;
2779
 
2780
    assign z = ~(( c1 | c2 ) & ( a ) & (b1|b2));
2781
 
2782
endmodule
2783
 
2784
//bw_u1_oai222_1x
2785
//
2786
//
2787
module bw_u1_oai222_1x (
2788
    z,
2789
    c1,
2790
    c2,
2791
    b1,
2792
    b2,
2793
    a1,
2794
    a2 );
2795
 
2796
    output z;
2797
    input  c1;
2798
    input  c2;
2799
    input  b1;
2800
    input  b2;
2801
    input  a1;
2802
    input  a2;
2803
 
2804
    assign z = ~(( c1 | c2 ) & ( a1|a2 ) & (b1|b2));
2805
 
2806
endmodule
2807
 
2808
 
2809
//bw_u1_oai222_2x
2810
//
2811
//
2812
module bw_u1_oai222_2x (
2813
    z,
2814
    c1,
2815
    c2,
2816
    b1,
2817
    b2,
2818
    a1,
2819
    a2 );
2820
 
2821
    output z;
2822
    input  c1;
2823
    input  c2;
2824
    input  b1;
2825
    input  b2;
2826
    input  a1;
2827
    input  a2;
2828
 
2829
    assign z = ~(( c1 | c2 ) & ( a1|a2 ) & (b1|b2));
2830
 
2831
endmodule
2832
 
2833
 
2834
//bw_u1_oai222_4x
2835
//
2836
//
2837
module bw_u1_oai222_4x (
2838
    z,
2839
    c1,
2840
    c2,
2841
    b1,
2842
    b2,
2843
    a1,
2844
    a2 );
2845
 
2846
    output z;
2847
    input  c1;
2848
    input  c2;
2849
    input  b1;
2850
    input  b2;
2851
    input  a1;
2852
    input  a2;
2853
 
2854
    assign z = ~(( c1 | c2 ) & ( a1|a2 ) & (b1|b2));
2855
 
2856
endmodule
2857
 
2858
 
2859
//bw_u1_oai311_1x
2860
//
2861
//
2862
module bw_u1_oai311_1x (
2863
    z,
2864
    c1,
2865
    c2,
2866
    c3,
2867
    b,
2868
    a );
2869
 
2870
    output z;
2871
    input  c1;
2872
    input  c2;
2873
    input  c3;
2874
    input  b;
2875
    input  a;
2876
 
2877
    assign z = ~(( c1 | c2|c3 ) & ( a ) & (b));
2878
 
2879
endmodule
2880
 
2881
 
2882
//bw_u1_oai311_2x
2883
//
2884
//
2885
module bw_u1_oai311_2x (
2886
    z,
2887
    c1,
2888
    c2,
2889
    c3,
2890
    b,
2891
    a );
2892
 
2893
    output z;
2894
    input  c1;
2895
    input  c2;
2896
    input  c3;
2897
    input  b;
2898
    input  a;
2899
 
2900
    assign z = ~(( c1 | c2|c3 ) & ( a ) & (b));
2901
 
2902
endmodule
2903
 
2904
 
2905
//bw_u1_oai311_4x
2906
//
2907
//
2908
module bw_u1_oai311_4x (
2909
    z,
2910
    c1,
2911
    c2,
2912
    c3,
2913
    b,
2914
    a );
2915
 
2916
    output z;
2917
    input  c1;
2918
    input  c2;
2919
    input  c3;
2920
    input  b;
2921
    input  a;
2922
 
2923
    assign z = ~(( c1 | c2 | c3 ) & ( a ) & (b));
2924
 
2925
endmodule
2926
 
2927
 
2928
//bw_u1_oai311_8x
2929
//
2930
//
2931
module bw_u1_oai311_8x (
2932
    z,
2933
    c1,
2934
    c2,
2935
    c3,
2936
    b,
2937
    a );
2938
 
2939
    output z;
2940
    input  c1;
2941
    input  c2;
2942
    input  c3;
2943
    input  b;
2944
    input  a;
2945
 
2946
    assign z = ~(( c1 | c2|c3 ) & ( a ) & (b));
2947
 
2948
endmodule
2949
 
2950
 
2951
//bw_u1_muxi21_0p6x
2952
 
2953
 
2954
 
2955
module bw_u1_muxi21_0p6x (z, d0, d1, s);
2956
output z;
2957
input  d0, d1, s;
2958
 
2959
    assign z = s ? ~d1 : ~d0;
2960
endmodule
2961
 
2962
 
2963
//bw_u1_muxi21_1x
2964
 
2965
 
2966
 
2967
module bw_u1_muxi21_1x (z, d0, d1, s);
2968
output z;
2969
input  d0, d1, s;
2970
 
2971
    assign z = s ? ~d1 : ~d0;
2972
endmodule
2973
 
2974
`endif
2975
 
2976
 
2977
 
2978
 
2979
 
2980
//bw_u1_muxi21_2x
2981
 
2982
 
2983
 
2984
module bw_u1_muxi21_2x (z, d0, d1, s);
2985
output z;
2986
input  d0, d1, s;
2987
 
2988
    assign z = s ? ~d1 : ~d0;
2989
endmodule
2990
 
2991
 
2992
`ifndef SIMPLY_RISC_TWEAKS
2993
 
2994
//bw_u1_muxi21_4x
2995
 
2996
 
2997
 
2998
module bw_u1_muxi21_4x (z, d0, d1, s);
2999
output z;
3000
input  d0, d1, s;
3001
 
3002
    assign z = s ? ~d1 : ~d0;
3003
endmodule
3004
 
3005
`endif
3006
 
3007
 
3008
//bw_u1_muxi21_6x
3009
 
3010
 
3011
module bw_u1_muxi21_6x (z, d0, d1, s);
3012
output z;
3013
input  d0, d1, s;
3014
 
3015
    assign z = s ? ~d1 : ~d0;
3016
endmodule
3017
 
3018
`ifndef SIMPLY_RISC_TWEAKS
3019
//bw_u1_muxi31d_4x
3020
//
3021
 
3022
module bw_u1_muxi31d_4x (z, d0, d1, d2, s0, s1, s2);
3023
output z;
3024
input  d0, d1, d2, s0, s1, s2;
3025
        zmuxi31d_prim i0 ( z, d0, d1, d2, s0, s1, s2 );
3026
endmodule
3027
 
3028
//bw_u1_muxi41d_4x
3029
//
3030
 
3031
module bw_u1_muxi41d_4x (z, d0, d1, d2, d3, s0, s1, s2, s3);
3032
output z;
3033
input  d0, d1, d2, d3, s0, s1, s2, s3;
3034
        zmuxi41d_prim i0 ( z, d0, d1, d2, d3, s0, s1, s2, s3 );
3035
endmodule
3036
 
3037
//bw_u1_muxi41d_6x
3038
//
3039
 
3040
module bw_u1_muxi41d_6x (z, d0, d1, d2, d3, s0, s1, s2, s3);
3041
output z;
3042
input  d0, d1, d2, d3, s0, s1, s2, s3;
3043
        zmuxi41d_prim i0 ( z, d0, d1, d2, d3, s0, s1, s2, s3 );
3044
endmodule
3045
 
3046
//bw_u1_xor2_0p6x
3047
//
3048
// 
3049
module bw_u1_xor2_0p6x (
3050
    z,
3051
    a,
3052
    b );
3053
 
3054
    output z;
3055
    input  a;
3056
    input  b;
3057
 
3058
    assign z = ( a ^ b );
3059
 
3060
endmodule
3061
//bw_u1_xor2_1x
3062
//
3063
// 
3064
module bw_u1_xor2_1x (
3065
    z,
3066
    a,
3067
    b );
3068
 
3069
    output z;
3070
    input  a;
3071
    input  b;
3072
 
3073
    assign z = ( a ^ b );
3074
 
3075
endmodule
3076
//bw_u1_xor2_2x
3077
//
3078
// 
3079
module bw_u1_xor2_2x (
3080
    z,
3081
    a,
3082
    b );
3083
 
3084
    output z;
3085
    input  a;
3086
    input  b;
3087
 
3088
    assign z = ( a ^ b );
3089
 
3090
endmodule
3091
//bw_u1_xor2_4x
3092
//
3093
// 
3094
module bw_u1_xor2_4x (
3095
    z,
3096
    a,
3097
    b );
3098
 
3099
    output z;
3100
    input  a;
3101
    input  b;
3102
 
3103
    assign z = ( a ^ b );
3104
 
3105
endmodule
3106
 
3107
//bw_u1_xnor2_0p6x
3108
//
3109
// 
3110
module bw_u1_xnor2_0p6x (
3111
    z,
3112
    a,
3113
    b );
3114
 
3115
    output z;
3116
    input  a;
3117
    input  b;
3118
 
3119
    assign z = ~( a ^ b );
3120
 
3121
endmodule
3122
//bw_u1_xnor2_1x
3123
//
3124
// 
3125
module bw_u1_xnor2_1x (
3126
    z,
3127
    a,
3128
    b );
3129
 
3130
    output z;
3131
    input  a;
3132
    input  b;
3133
 
3134
    assign z = ~( a ^ b );
3135
 
3136
endmodule
3137
//bw_u1_xnor2_2x
3138
//
3139
// 
3140
module bw_u1_xnor2_2x (
3141
    z,
3142
    a,
3143
    b );
3144
 
3145
    output z;
3146
    input  a;
3147
    input  b;
3148
 
3149
    assign z = ~( a ^ b );
3150
 
3151
endmodule
3152
//bw_u1_xnor2_4x
3153
//
3154
// 
3155
module bw_u1_xnor2_4x (
3156
    z,
3157
    a,
3158
    b );
3159
 
3160
    output z;
3161
    input  a;
3162
    input  b;
3163
 
3164
    assign z = ~( a ^ b );
3165
 
3166
endmodule
3167
`endif
3168
 
3169
//bw_u1_buf_1x
3170
//
3171
 
3172
module bw_u1_buf_1x (
3173
    z,
3174
    a );
3175
 
3176
    output z;
3177
    input  a;
3178
 
3179
    assign z = ( a );
3180
 
3181
endmodule
3182
 
3183
//bw_u1_buf_5x
3184
//
3185
 
3186
module bw_u1_buf_5x (
3187
    z,
3188
    a );
3189
 
3190
    output z;
3191
    input  a;
3192
 
3193
    assign z = ( a );
3194
 
3195
endmodule
3196
 
3197
 
3198
//bw_u1_buf_10x
3199
//
3200
 
3201
module bw_u1_buf_10x (
3202
    z,
3203
    a );
3204
 
3205
    output z;
3206
    input  a;
3207
 
3208
    assign z = ( a );
3209
 
3210
endmodule
3211
 
3212
`ifndef SIMPLY_RISC_TWEAKS
3213
//bw_u1_buf_15x
3214
//
3215
 
3216
module bw_u1_buf_15x (
3217
    z,
3218
    a );
3219
 
3220
    output z;
3221
    input  a;
3222
 
3223
    assign z = ( a );
3224
 
3225
endmodule
3226
`endif
3227
 
3228
//bw_u1_buf_20x
3229
//
3230
 
3231
module bw_u1_buf_20x (
3232
    z,
3233
    a );
3234
 
3235
    output z;
3236
    input  a;
3237
 
3238
    assign z = ( a );
3239
 
3240
endmodule
3241
 
3242
 
3243
//bw_u1_buf_30x
3244
//
3245
 
3246
module bw_u1_buf_30x (
3247
    z,
3248
    a );
3249
 
3250
    output z;
3251
    input  a;
3252
 
3253
    assign z = ( a );
3254
 
3255
endmodule
3256
 
3257
`ifndef SIMPLY_RISC_TWEAKS
3258
//bw_u1_buf_40x
3259
//
3260
 
3261
module bw_u1_buf_40x (
3262
    z,
3263
    a );
3264
 
3265
    output z;
3266
    input  a;
3267
 
3268
    assign z = ( a );
3269
 
3270
endmodule
3271
 
3272
//bw_u1_ao2222_1x
3273
//
3274
//
3275
module bw_u1_ao2222_1x (
3276
 
3277
    z,
3278
    a1,
3279
    a2,
3280
    b1,
3281
    b2,
3282
    c1,
3283
    c2,
3284
    d1,
3285
    d2 );
3286
 
3287
    output z;
3288
    input  a1;
3289
    input  a2;
3290
    input  b1;
3291
    input  b2;
3292
    input  c1;
3293
    input  c2;
3294
    input  d1;
3295
    input  d2;
3296
 
3297
    assign z = ((d1&d2) | ( c1 & c2 ) | (b1&b2)| (a1& a2));
3298
 
3299
endmodule
3300
 
3301
 
3302
//bw_u1_ao2222_2x
3303
//
3304
//
3305
module bw_u1_ao2222_2x (
3306
 
3307
    z,
3308
    a1,
3309
    a2,
3310
    b1,
3311
    b2,
3312
    c1,
3313
    c2,
3314
    d1,
3315
    d2 );
3316
 
3317
    output z;
3318
    input  a1;
3319
    input  a2;
3320
    input  b1;
3321
    input  b2;
3322
    input  c1;
3323
    input  c2;
3324
    input  d1;
3325
    input  d2;
3326
 
3327
    assign z = ((d1&d2) | ( c1 & c2 ) | (b1&b2)| (a1& a2));
3328
 
3329
endmodule
3330
 
3331
//bw_u1_ao2222_4x
3332
//
3333
//
3334
module bw_u1_ao2222_4x (
3335
 
3336
    z,
3337
    a1,
3338
    a2,
3339
    b1,
3340
    b2,
3341
    c1,
3342
    c2,
3343
    d1,
3344
    d2 );
3345
 
3346
    output z;
3347
    input  a1;
3348
    input  a2;
3349
    input  b1;
3350
    input  b2;
3351
    input  c1;
3352
    input  c2;
3353
    input  d1;
3354
    input  d2;
3355
 
3356
    assign z = ((d1&d2) | ( c1 & c2 ) | (b1&b2)| (a1& a2));
3357
 
3358
endmodule
3359
 
3360
 
3361
////////////////////////////////////////////////////////////////////////
3362
//
3363
// flipflops {
3364
//
3365
////////////////////////////////////////////////////////////////////////
3366
 
3367
//      scanable D-flipflop with scanout
3368
 
3369
 
3370
module bw_u1_soff_1x (q, so, ck, d, se, sd);
3371
output q, so;
3372
input  ck, d, se, sd;
3373
        zsoff_prim i0 ( q, so, ck, d, se, sd );
3374
endmodule
3375
 
3376
module bw_u1_soff_2x (q, so, ck, d, se, sd);
3377
output q, so;
3378
input  ck, d, se, sd;
3379
        zsoff_prim i0 ( q, so, ck, d, se, sd );
3380
endmodule
3381
 
3382
module bw_u1_soff_4x (q, so, ck, d, se, sd);
3383
output q, so;
3384
input  ck, d, se, sd;
3385
        zsoff_prim i0 ( q, so, ck, d, se, sd );
3386
endmodule
3387
 
3388
module bw_u1_soff_8x (q, so, ck, d, se, sd);
3389
output q, so;
3390
input  ck, d, se, sd;
3391
        zsoff_prim i0 ( q, so, ck, d, se, sd );
3392
endmodule
3393
 
3394
//      fast scanable D-flipflop with scanout with inverted Q output
3395
 
3396
module bw_u1_soffi_4x (q_l, so, ck, d, se, sd);
3397
output q_l, so;
3398
input  ck, d, se, sd;
3399
        zsoffi_prim i0 ( q_l, so, ck, d, se, sd );
3400
endmodule
3401
 
3402
module bw_u1_soffi_8x (q_l, so, ck, d, se, sd);
3403
output q_l, so;
3404
input  ck, d, se, sd;
3405
        zsoffi_prim i0 ( q_l, so, ck, d, se, sd );
3406
endmodule
3407
`endif
3408
//      scanable D-flipflop with scanout with 2-to-1 input mux
3409
 
3410
module bw_u1_soffm2_4x (q, so, ck, d0, d1, s, se, sd);
3411
output q, so;
3412
input  ck, d0, d1, s, se, sd;
3413
        zsoffm2_prim i0 ( q, so, ck, d0, d1, s, se, sd );
3414
endmodule
3415
 
3416
`ifndef SIMPLY_RISC_TWEAKS
3417
module bw_u1_soffm2_8x (q, so, ck, d0, d1, s, se, sd);
3418
output q, so;
3419
input  ck, d0, d1, s, se, sd;
3420
        zsoffm2_prim i0 ( q, so, ck, d0, d1, s, se, sd );
3421
endmodule
3422
 
3423
//      scanable D-flipflop with scanout with sync reset-bar
3424
 
3425
module bw_u1_soffr_2x (q, so, ck, d, se, sd, r_l);
3426
output q, so;
3427
input  ck, d, se, sd, r_l;
3428
        zsoffr_prim i0 ( q, so, ck, d, se, sd, r_l );
3429
endmodule
3430
 
3431
module bw_u1_soffr_4x (q, so, ck, d, se, sd, r_l);
3432
output q, so;
3433
input  ck, d, se, sd, r_l;
3434
        zsoffr_prim i0 ( q, so, ck, d, se, sd, r_l );
3435
endmodule
3436
 
3437
module bw_u1_soffr_8x (q, so, ck, d, se, sd, r_l);
3438
output q, so;
3439
input  ck, d, se, sd, r_l;
3440
        zsoffr_prim i0 ( q, so, ck, d, se, sd, r_l );
3441
endmodule
3442
 
3443
//bw_u1_soffasr_2x
3444
 
3445
module bw_u1_soffasr_2x (q, so, ck, d, r_l, s_l, se, sd);
3446
output q, so;
3447
input  ck, d, r_l, s_l, se, sd;
3448
        zsoffasr_prim i0 (q, so, ck, d, r_l, s_l, se, sd);
3449
endmodule
3450
 
3451
//bw_u1_ckbuf_1p5x
3452
 
3453
 
3454
module bw_u1_ckbuf_1p5x  (clk, rclk);
3455
output clk;
3456
input  rclk;
3457
        buf (clk, rclk);
3458
endmodule
3459
 
3460
 
3461
//bw_u1_ckbuf_3x
3462
 
3463
 
3464
module bw_u1_ckbuf_3x  (clk, rclk);
3465
output clk;
3466
input  rclk;
3467
        buf (clk, rclk);
3468
endmodule
3469
 
3470
//bw_u1_ckbuf_4p5x
3471
 
3472
 
3473
module bw_u1_ckbuf_4p5x  (clk, rclk);
3474
output clk;
3475
input  rclk;
3476
        buf (clk, rclk);
3477
endmodule
3478
 
3479
 
3480
//bw_u1_ckbuf_6x
3481
 
3482
 
3483
module bw_u1_ckbuf_6x  (clk, rclk);
3484
output clk;
3485
input  rclk;
3486
        buf (clk, rclk);
3487
endmodule
3488
 
3489
//bw_u1_ckbuf_7x
3490
//
3491
 
3492
module bw_u1_ckbuf_7x  (clk, rclk);
3493
output clk;
3494
input  rclk;
3495
        buf (clk, rclk);
3496
endmodule
3497
 
3498
//bw_u1_ckbuf_8x
3499
//
3500
module bw_u1_ckbuf_8x  (clk, rclk);
3501
output clk;
3502
input  rclk;
3503
        buf (clk, rclk);
3504
endmodule
3505
 
3506
 
3507
//bw_u1_ckbuf_11x
3508
//
3509
 
3510
module bw_u1_ckbuf_11x (clk, rclk);
3511
output clk;
3512
input  rclk;
3513
 
3514
    assign clk = ( rclk );
3515
 
3516
endmodule
3517
 
3518
//bw_u1_ckbuf_14x
3519
//
3520
 
3521
module bw_u1_ckbuf_14x (clk, rclk);
3522
output clk;
3523
input  rclk;
3524
 
3525
    assign clk = ( rclk );
3526
 
3527
endmodule
3528
 
3529
//bw_u1_ckbuf_17x
3530
//
3531
 
3532
module bw_u1_ckbuf_17x (clk, rclk);
3533
output clk;
3534
input  rclk;
3535
 
3536
    assign clk = ( rclk );
3537
 
3538
endmodule
3539
 
3540
 
3541
 
3542
 
3543
//bw_u1_ckbuf_19x
3544
//
3545
 
3546
module bw_u1_ckbuf_19x (clk, rclk);
3547
output clk;
3548
input  rclk;
3549
 
3550
    assign clk = ( rclk );
3551
 
3552
endmodule
3553
 
3554
 
3555
 
3556
 
3557
//bw_u1_ckbuf_22x
3558
//
3559
 
3560
module bw_u1_ckbuf_22x (clk, rclk);
3561
output clk;
3562
input  rclk;
3563
 
3564
    assign clk = ( rclk );
3565
 
3566
endmodule
3567
 
3568
//bw_u1_ckbuf_25x
3569
//
3570
 
3571
module bw_u1_ckbuf_25x (clk, rclk);
3572
output clk;
3573
input  rclk;
3574
 
3575
    assign clk = ( rclk );
3576
 
3577
endmodule
3578
 
3579
 
3580
//bw_u1_ckbuf_28x
3581
//
3582
 
3583
module bw_u1_ckbuf_28x (clk, rclk);
3584
output clk;
3585
input  rclk;
3586
 
3587
    assign clk = ( rclk );
3588
 
3589
endmodule
3590
 
3591
 
3592
//bw_u1_ckbuf_30x
3593
//
3594
 
3595
module bw_u1_ckbuf_30x (clk, rclk);
3596
output clk;
3597
input  rclk;
3598
 
3599
    assign clk = ( rclk );
3600
 
3601
endmodule
3602
 
3603
//bw_u1_ckbuf_33x
3604
//
3605
 
3606
module bw_u1_ckbuf_33x (clk, rclk);
3607
output clk;
3608
input  rclk;
3609
 
3610
    assign clk = ( rclk );
3611
 
3612
endmodule
3613
 
3614
//bw_u1_ckbuf_40x
3615
//
3616
 
3617
module bw_u1_ckbuf_40x (clk, rclk);
3618
output clk;
3619
input  rclk;
3620
 
3621
    assign clk = ( rclk );
3622
 
3623
endmodule
3624
 
3625
 
3626
// gated clock buffers
3627
 
3628
 
3629
module bw_u1_ckenbuf_6x  (clk, rclk, en_l, tm_l);
3630
output clk;
3631
input  rclk, en_l, tm_l;
3632
        zckenbuf_prim i0 ( clk, rclk, en_l, tm_l );
3633
endmodule
3634
 
3635
module bw_u1_ckenbuf_14x (clk, rclk, en_l, tm_l);
3636
output clk;
3637
input  rclk, en_l, tm_l;
3638
        zckenbuf_prim i0 ( clk, rclk, en_l, tm_l );
3639
endmodule
3640
 
3641
 
3642
////////////////////////////////////////////////////////////////////////
3643
//
3644
// half cells
3645
//
3646
////////////////////////////////////////////////////////////////////////
3647
 
3648
 
3649
 
3650
module bw_u1_zhinv_0p6x (z, a);
3651
output z;
3652
input  a;
3653
        not (z, a);
3654
endmodule
3655
 
3656
 
3657
module bw_u1_zhinv_1x (z, a);
3658
output z;
3659
input  a;
3660
        not (z, a);
3661
endmodule
3662
 
3663
 
3664
 
3665
module bw_u1_zhinv_1p4x (z, a);
3666
output z;
3667
input  a;
3668
        not (z, a);
3669
endmodule
3670
 
3671
 
3672
module bw_u1_zhinv_2x (z, a);
3673
output z;
3674
input  a;
3675
        not (z, a);
3676
endmodule
3677
 
3678
 
3679
 
3680
module bw_u1_zhinv_3x (z, a);
3681
output z;
3682
input  a;
3683
        not (z, a);
3684
endmodule
3685
 
3686
 
3687
 
3688
module bw_u1_zhinv_4x (z, a);
3689
output z;
3690
input  a;
3691
        not (z, a);
3692
endmodule
3693
 
3694
 
3695
 
3696
module bw_u1_zhnand2_0p4x (z, a, b);
3697
output z;
3698
input  a, b;
3699
        nand (z, a, b);
3700
endmodule
3701
 
3702
 
3703
module bw_u1_zhnand2_0p6x (z, a, b);
3704
output z;
3705
input  a, b;
3706
        nand (z, a, b);
3707
endmodule
3708
 
3709
 
3710
module bw_u1_zhnand2_1x (z, a, b);
3711
output z;
3712
input  a, b;
3713
        nand (z, a, b);
3714
endmodule
3715
 
3716
 
3717
module bw_u1_zhnand2_1p4x (z, a, b);
3718
output z;
3719
input  a, b;
3720
        nand (z, a, b);
3721
endmodule
3722
 
3723
 
3724
module bw_u1_zhnand2_2x (z, a, b);
3725
output z;
3726
input  a, b;
3727
        nand (z, a, b);
3728
endmodule
3729
 
3730
 
3731
module bw_u1_zhnand2_3x (z, a, b);
3732
output z;
3733
input  a, b;
3734
        nand (z, a, b);
3735
endmodule
3736
 
3737
 
3738
module bw_u1_zhnand3_0p6x (z, a, b, c);
3739
output z;
3740
input  a, b, c;
3741
        nand (z, a, b, c);
3742
endmodule
3743
 
3744
module bw_u1_zhnand3_1x (z, a, b, c);
3745
output z;
3746
input  a, b, c;
3747
        nand (z, a, b, c);
3748
endmodule
3749
 
3750
module bw_u1_zhnand3_2x (z, a, b, c);
3751
output z;
3752
input  a, b, c;
3753
        nand (z, a, b, c);
3754
endmodule
3755
 
3756
 
3757
module bw_u1_zhnand4_0p6x (z, a, b, c, d);
3758
output z;
3759
input  a, b, c, d;
3760
        nand (z, a, b, c, d);
3761
endmodule
3762
 
3763
module bw_u1_zhnand4_1x (z, a, b, c, d);
3764
output z;
3765
input  a, b, c, d;
3766
        nand (z, a, b, c, d);
3767
endmodule
3768
 
3769
module bw_u1_zhnand4_2x (z, a, b, c, d);
3770
output z;
3771
input  a, b, c, d;
3772
        nand (z, a, b, c, d);
3773
endmodule
3774
 
3775
 
3776
 
3777
module bw_u1_zhnor2_0p6x (z, a, b);
3778
output z;
3779
input  a, b;
3780
        nor (z, a, b);
3781
endmodule
3782
 
3783
module bw_u1_zhnor2_1x (z, a, b);
3784
output z;
3785
input  a, b;
3786
        nor (z, a, b);
3787
endmodule
3788
 
3789
module bw_u1_zhnor2_2x (z, a, b);
3790
output z;
3791
input  a, b;
3792
        nor (z, a, b);
3793
endmodule
3794
 
3795
 
3796
 
3797
module bw_u1_zhnor3_0p6x (z, a, b, c);
3798
output z;
3799
input  a, b, c;
3800
        nor (z, a, b, c);
3801
endmodule
3802
 
3803
 
3804
module bw_u1_zhaoi21_0p4x (z,b1,b2,a);
3805
 
3806
    output z;
3807
    input  b1;
3808
    input  b2;
3809
    input  a;
3810
 
3811
    assign z = ~(( b1 & b2 ) | ( a ));
3812
 
3813
endmodule
3814
 
3815
 
3816
 
3817
module bw_u1_zhaoi21_1x (z, a, b1, b2);
3818
 
3819
    output z;
3820
    input  b1;
3821
    input  b2;
3822
    input  a;
3823
 
3824
    assign z = ~(( b1 & b2 ) | ( a ));
3825
 
3826
endmodule
3827
 
3828
 
3829
module bw_u1_zhoai21_1x (z,b1,b2,a );
3830
 
3831
    output z;
3832
    input  b1;
3833
    input  b2;
3834
    input  a;
3835
 
3836
    assign z = ~(( b1 | b2 ) & ( a ));
3837
 
3838
endmodule
3839
 
3840
 
3841
 
3842
 
3843
module bw_u1_zhoai211_0p3x (z, a, b, c1, c2);
3844
    output z;
3845
    input  c1;
3846
    input  c2;
3847
    input  b;
3848
    input  a;
3849
 
3850
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
3851
 
3852
endmodule
3853
 
3854
 
3855
 
3856
 
3857
 
3858
module bw_u1_zhoai211_1x (z, a, b, c1, c2);
3859
output z;
3860
input  a, b, c1, c2;
3861
    assign z = ~(( c1 | c2 ) & ( a ) & (b));
3862
 
3863
endmodule
3864
 
3865
 
3866
 
3867
 
3868
/////////////// Scan data lock up latch ///////////////
3869
 
3870
module bw_u1_scanlg_2x (so, sd, ck, se);
3871
output so;
3872
input sd, ck, se;
3873
 
3874
reg so_l;
3875
 
3876
    assign so = ~so_l;
3877
    always @ ( ck or sd or se )
3878
       if (~ck) so_l <= ~(sd & se) ;
3879
 
3880
endmodule
3881
 
3882
 
3883
module bw_u1_scanl_2x (so, sd, ck);
3884
output so;
3885
input sd, ck;
3886
 
3887
reg so_l;
3888
 
3889
    assign so = ~so_l;
3890
    always @ ( ck or sd )
3891
       if (~ck) so_l <= ~sd ;
3892
 
3893
endmodule
3894
 
3895
 
3896
 
3897
////////////////// Synchronizer ////////////////
3898
 
3899
module bw_u1_syncff_4x (q, so, ck, d, se, sd);
3900
output q, so;
3901
input  ck, d, se, sd;
3902
 
3903
reg    q_r;
3904
  always @ (posedge ck)
3905
      q_r <= se ? sd : d;
3906
  assign q  = q_r;
3907
  assign so = q_r;
3908
 
3909
endmodule
3910
 
3911
 
3912
 
3913
 
3914
////////////////////////////////////////////////////////////////////////
3915
//
3916
// non library cells
3917
// 
3918
////////////////////////////////////////////////////////////////////////
3919
 
3920
// These cells are used only in custom DP macros
3921
// Do not use in any block design without prior permission
3922
 
3923
 
3924
module bw_u1_zzeccxor2_5x (z, a, b);
3925
 output z;
3926
 input a, b;
3927
    assign z = ( a ^ b );
3928
 
3929
endmodule
3930
 
3931
 
3932
 
3933
module bw_u1_zzmulcsa42_5x (sum, carry, cout, a, b, c, d, cin);
3934
output sum, carry, cout;
3935
input  a, b, c, d, cin;
3936
wire and_cin_b, or_cin_b, xor_a_c_d, and_or_cin_b_xor_a_c_d;
3937
wire and_a_c, and_a_d, and_c_d;
3938
        assign sum   = cin ^ a ^ b ^ c ^ d;
3939
        assign carry = cin & b | (cin | b) & (a ^ c ^ d);
3940
        assign cout  = a & c | a & d | c & d;
3941
endmodule
3942
 
3943
 
3944
 
3945
module bw_u1_zzmulcsa32_5x (sum, cout, a, b, c);
3946
output sum, cout;
3947
input  a, b, c;
3948
wire and_a_b, and_a_c, and_b_c;
3949
        assign sum  = a ^ b ^ c ;
3950
        assign cout = a & b | a & c | b & c ;
3951
endmodule
3952
 
3953
 
3954
 
3955
module bw_u1_zzmulppmuxi21_2x ( z, d0, d1, s );
3956
output  z;
3957
input  d0, d1, s;
3958
    assign z = s ? ~d1 : ~d0;
3959
endmodule
3960
 
3961
 
3962
 
3963
module bw_u1_zzmulnand2_2x ( z, a, b );
3964
output z;
3965
input  a;
3966
input  b;
3967
    assign z = ~( a & b );
3968
endmodule
3969
 
3970
 
3971
// Primitives
3972
 
3973
 
3974
 
3975
module zmuxi31d_prim (z, d0, d1, d2, s0, s1, s2);
3976
output z;
3977
input  d0, d1, d2, s0, s1, s2;
3978
// for Blacktie
3979
`ifdef VERPLEX
3980
   $constraint dp_1h3 ($one_hot ({s0,s1,s2}));
3981
`endif
3982
wire [2:0] sel = {s0,s1,s2}; // 0in one_hot
3983
reg z;
3984
    always @ (s2 or d2 or s1 or d1 or s0 or d0)
3985
        casez ({s2,d2,s1,d1,s0,d0})
3986
            6'b0?0?10: z = 1'b1;
3987
            6'b0?0?11: z = 1'b0;
3988
            6'b0?100?: z = 1'b1;
3989
            6'b0?110?: z = 1'b0;
3990
            6'b0?1010: z = 1'b1;
3991
            6'b0?1111: z = 1'b0;
3992
            6'b100?0?: z = 1'b1;
3993
            6'b110?0?: z = 1'b0;
3994
            6'b100?10: z = 1'b1;
3995
            6'b110?11: z = 1'b0;
3996
            6'b10100?: z = 1'b1;
3997
            6'b11110?: z = 1'b0;
3998
            6'b101010: z = 1'b1;
3999
            6'b111111: z = 1'b0;
4000
            default: z = 1'bx;
4001
        endcase
4002
endmodule
4003
 
4004
 
4005
 
4006
 
4007
 
4008
 
4009
 
4010
module zmuxi41d_prim (z, d0, d1, d2, d3, s0, s1, s2, s3);
4011
output z;
4012
input  d0, d1, d2, d3, s0, s1, s2, s3;
4013
// for Blacktie
4014
`ifdef VERPLEX
4015
   $constraint dp_1h4 ($one_hot ({s0,s1,s2,s3}));
4016
`endif
4017
wire [3:0] sel = {s0,s1,s2,s3}; // 0in one_hot
4018
reg z;
4019
    always @ (s3 or d3 or s2 or d2 or s1 or d1 or s0 or d0)
4020
        casez ({s3,d3,s2,d2,s1,d1,s0,d0})
4021
            8'b0?0?0?10: z = 1'b1;
4022
            8'b0?0?0?11: z = 1'b0;
4023
            8'b0?0?100?: z = 1'b1;
4024
            8'b0?0?110?: z = 1'b0;
4025
            8'b0?0?1010: z = 1'b1;
4026
            8'b0?0?1111: z = 1'b0;
4027
            8'b0?100?0?: z = 1'b1;
4028
            8'b0?110?0?: z = 1'b0;
4029
            8'b0?100?10: z = 1'b1;
4030
            8'b0?110?11: z = 1'b0;
4031
            8'b0?10100?: z = 1'b1;
4032
            8'b0?11110?: z = 1'b0;
4033
            8'b0?101010: z = 1'b1;
4034
            8'b0?111111: z = 1'b0;
4035
            8'b100?0?0?: z = 1'b1;
4036
            8'b110?0?0?: z = 1'b0;
4037
            8'b100?0?10: z = 1'b1;
4038
            8'b110?0?11: z = 1'b0;
4039
            8'b100?100?: z = 1'b1;
4040
            8'b110?110?: z = 1'b0;
4041
            8'b100?1010: z = 1'b1;
4042
            8'b110?1111: z = 1'b0;
4043
            8'b10100?0?: z = 1'b1;
4044
            8'b11110?0?: z = 1'b0;
4045
            8'b10100?10: z = 1'b1;
4046
            8'b11110?11: z = 1'b0;
4047
            8'b1010100?: z = 1'b1;
4048
            8'b1111110?: z = 1'b0;
4049
            8'b10101010: z = 1'b1;
4050
            8'b11111111: z = 1'b0;
4051
            default: z = 1'bx;
4052
        endcase
4053
endmodule
4054
 
4055
 
4056
 
4057
module zsoff_prim (q, so, ck, d, se, sd);
4058
output q, so;
4059
input  ck, d, se, sd;
4060
reg    q_r;
4061
  always @ (posedge ck)
4062
      q_r <= se ? sd : d;
4063
  assign q  = q_r;
4064
  assign so = q_r ;
4065
endmodule
4066
 
4067
 
4068
module zsoffr_prim (q, so, ck, d, se, sd, r_l);
4069
output q, so;
4070
input  ck, d, se, sd, r_l;
4071
reg    q_r;
4072
  always @ (posedge ck)
4073
      q_r <= se ? sd : (d & r_l) ;
4074
  assign q  = q_r;
4075
  assign so = q_r;
4076
endmodule
4077
 
4078
 
4079
module zsoffi_prim (q_l, so, ck, d, se, sd);
4080
output q_l, so;
4081
input  ck, d, se, sd;
4082
reg    q_r;
4083
  always @ (posedge ck)
4084
      q_r <= se ? sd : d;
4085
  assign q_l = ~q_r;
4086
  assign so  = q_r;
4087
endmodule
4088
`endif
4089
 
4090
 
4091
module zsoffm2_prim (q, so, ck, d0, d1, s, se, sd);
4092
output q, so;
4093
input  ck, d0, d1, s, se, sd;
4094
reg    q_r;
4095
  always @ (posedge ck)
4096
      q_r <= se ? sd : (s ? d1 : d0) ;
4097
  assign q  = q_r;
4098
  assign so = q_r;
4099
endmodule
4100
 
4101
`ifndef SIMPLY_RISC_TWEAKS
4102
module zsoffasr_prim (q, so, ck, d, r_l, s_l, se, sd);
4103
  output q, so;
4104
  input ck, d, r_l, s_l, se, sd;
4105
 
4106
  // asynchronous reset and asynchronous set
4107
  // (priority: r_l > s_l > se > d)
4108
  reg q;
4109
  wire so;
4110
 
4111
  always @ (posedge ck or negedge r_l or negedge s_l) begin
4112
                if(~r_l) q <= 1'b0;
4113
                else if (~s_l) q <= r_l;
4114
                else if (se) q <= r_l & s_l & sd;
4115
                else q <= r_l & s_l & (~se) & d;
4116
  end
4117
 
4118
  assign so = q | ~se;
4119
 
4120
endmodule
4121
 
4122
 
4123
module zckenbuf_prim (clk, rclk, en_l, tm_l);
4124
output clk;
4125
input  rclk, en_l, tm_l;
4126
reg    clken;
4127
 
4128
  always @ (rclk or en_l or tm_l)
4129
    if (!rclk)  //latch opens on rclk low phase
4130
      clken <= ~en_l | ~tm_l;
4131
  assign clk = clken & rclk;
4132
 
4133
endmodule
4134
 
4135
module bw_mckbuf_40x (clk, rclk, en);
4136
output clk;
4137
input  rclk;
4138
input  en;
4139
 
4140
    assign clk = rclk & en ;
4141
 
4142
endmodule
4143
 
4144
module bw_mckbuf_33x (clk, rclk, en);
4145
output clk;
4146
input  rclk;
4147
input  en;
4148
 
4149
    assign clk = rclk & en ;
4150
 
4151
endmodule
4152
 
4153
module bw_mckbuf_30x (clk, rclk, en);
4154
output clk;
4155
input  rclk;
4156
input  en;
4157
 
4158
    assign clk = rclk & en ;
4159
 
4160
endmodule
4161
 
4162
module bw_mckbuf_28x (clk, rclk, en);
4163
output clk;
4164
input  rclk;
4165
input  en;
4166
 
4167
    assign clk = rclk & en ;
4168
 
4169
endmodule
4170
 
4171
module bw_mckbuf_25x (clk, rclk, en);
4172
output clk;
4173
input  rclk;
4174
input  en;
4175
 
4176
    assign clk = rclk & en ;
4177
 
4178
endmodule
4179
 
4180
module bw_mckbuf_22x (clk, rclk, en);
4181
output clk;
4182
input  rclk;
4183
input  en;
4184
 
4185
    assign clk = rclk & en ;
4186
 
4187
endmodule
4188
 
4189
module bw_mckbuf_19x (clk, rclk, en);
4190
output clk;
4191
input  rclk;
4192
input  en;
4193
 
4194
    assign clk = rclk & en ;
4195
 
4196
endmodule
4197
 
4198
module bw_mckbuf_17x (clk, rclk, en);
4199
output clk;
4200
input  rclk;
4201
input  en;
4202
 
4203
    assign clk = rclk & en ;
4204
 
4205
endmodule
4206
 
4207
module bw_mckbuf_14x (clk, rclk, en);
4208
output clk;
4209
input  rclk;
4210
input  en;
4211
 
4212
    assign clk = rclk & en ;
4213
 
4214
endmodule
4215
 
4216
module bw_mckbuf_11x (clk, rclk, en);
4217
output clk;
4218
input  rclk;
4219
input  en;
4220
 
4221
    assign clk = rclk & en ;
4222
 
4223
endmodule
4224
 
4225
module bw_mckbuf_8x (clk, rclk, en);
4226
output clk;
4227
input  rclk;
4228
input  en;
4229
 
4230
    assign clk = rclk & en ;
4231
 
4232
endmodule
4233
 
4234
module bw_mckbuf_7x (clk, rclk, en);
4235
output clk;
4236
input  rclk;
4237
input  en;
4238
 
4239
    assign clk = rclk & en ;
4240
 
4241
endmodule
4242
 
4243
module bw_mckbuf_6x (clk, rclk, en);
4244
output clk;
4245
input  rclk;
4246
input  en;
4247
 
4248
    assign clk = rclk & en ;
4249
 
4250
endmodule
4251
 
4252
module bw_mckbuf_4p5x (clk, rclk, en);
4253
output clk;
4254
input  rclk;
4255
input  en;
4256
 
4257
    assign clk = rclk & en ;
4258
 
4259
endmodule
4260
 
4261
module bw_mckbuf_3x (clk, rclk, en);
4262
output clk;
4263
input  rclk;
4264
input  en;
4265
 
4266
    assign clk = rclk & en ;
4267
 
4268
endmodule
4269
 
4270
module bw_mckbuf_1p5x (clk, rclk, en);
4271
output clk;
4272
input  rclk;
4273
input  en;
4274
 
4275
    assign clk = rclk & en ;
4276
 
4277
endmodule
4278
 
4279
//bw_u1_minbuf_1x
4280
//
4281
 
4282
module bw_u1_minbuf_1x (
4283
    z,
4284
    a );
4285
 
4286
    output z;
4287
    input  a;
4288
 
4289
    assign z = ( a );
4290
 
4291
endmodule
4292
 
4293
//bw_u1_minbuf_4x
4294
//
4295
 
4296
module bw_u1_minbuf_4x (
4297
    z,
4298
    a );
4299
 
4300
    output z;
4301
    input  a;
4302
 
4303
    assign z = ( a );
4304
 
4305
endmodule
4306
`endif
4307
 
4308
//bw_u1_minbuf_5x
4309
//
4310
 
4311
module bw_u1_minbuf_5x (
4312
    z,
4313
    a );
4314
 
4315
    output z;
4316
    input  a;
4317
 
4318
    assign z = ( a );
4319
 
4320
endmodule
4321
 
4322
`ifndef SIMPLY_RISC_TWEAKS
4323
module bw_u1_ckenbuf_4p5x  (clk, rclk, en_l, tm_l);
4324
output clk;
4325
input  rclk, en_l, tm_l;
4326
        zckenbuf_prim i0 ( clk, rclk, en_l, tm_l );
4327
endmodule
4328
 
4329
// dummy fill modules to get rid of DFT "CAP" property errors (bug 5487)
4330
 
4331
module bw_u1_fill_1x(\vdd! );
4332
input \vdd! ;
4333
endmodule
4334
 
4335
module bw_u1_fill_2x(\vdd! );
4336
input \vdd! ;
4337
endmodule
4338
 
4339
module bw_u1_fill_3x(\vdd! );
4340
input \vdd! ;
4341
endmodule
4342
 
4343
module bw_u1_fill_4x(\vdd! );
4344
input \vdd! ;
4345
endmodule
4346
`endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.