yowasp-yosys 0.57.0.0.post986__py3-none-any.whl → 0.59.0.0.post1038__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- yowasp_yosys/share/ecp5/ccu2c_sim.vh +61 -0
- yowasp_yosys/share/ecp5/cells_bb.v +1882 -751
- yowasp_yosys/share/ecp5/cells_sim.v +2 -457
- yowasp_yosys/share/ecp5/common_sim.vh +411 -0
- yowasp_yosys/share/gatemate/cells_bb.v +2 -2
- yowasp_yosys/share/gowin/brams.txt +8 -4
- yowasp_yosys/share/gowin/brams_map_gw5a.v +399 -0
- yowasp_yosys/share/gowin/cells_sim.v +0 -8
- yowasp_yosys/share/gowin/cells_xtra_gw1n.v +7 -0
- yowasp_yosys/share/gowin/cells_xtra_gw2a.v +12 -0
- yowasp_yosys/share/gowin/cells_xtra_gw5a.v +276 -12
- yowasp_yosys/share/include/backends/rtlil/rtlil_backend.h +1 -0
- yowasp_yosys/share/include/frontends/ast/ast.h +6 -1
- yowasp_yosys/share/include/kernel/bitpattern.h +1 -1
- yowasp_yosys/share/include/kernel/celltypes.h +19 -9
- yowasp_yosys/share/include/kernel/consteval.h +2 -2
- yowasp_yosys/share/include/kernel/constids.inc +859 -137
- yowasp_yosys/share/include/kernel/drivertools.h +6 -5
- yowasp_yosys/share/include/kernel/ffinit.h +5 -5
- yowasp_yosys/share/include/kernel/hashlib.h +85 -30
- yowasp_yosys/share/include/kernel/io.h +20 -2
- yowasp_yosys/share/include/kernel/log.h +102 -31
- yowasp_yosys/share/include/kernel/macc.h +1 -1
- yowasp_yosys/share/include/kernel/mem.h +4 -2
- yowasp_yosys/share/include/kernel/rtlil.h +520 -114
- yowasp_yosys/share/include/kernel/satgen.h +1 -1
- yowasp_yosys/share/include/kernel/threading.h +186 -0
- yowasp_yosys/share/include/kernel/utils.h +23 -0
- yowasp_yosys/share/include/kernel/yosys.h +2 -2
- yowasp_yosys/share/include/kernel/yosys_common.h +9 -17
- yowasp_yosys/share/include/passes/fsm/fsmdata.h +18 -33
- yowasp_yosys/share/include/passes/techmap/libparse.h +10 -6
- yowasp_yosys/share/lattice/cells_bb_ecp5.v +0 -198
- yowasp_yosys/share/lattice/cells_bb_nexus.v +10389 -0
- yowasp_yosys/share/lattice/cells_sim_ecp5.v +217 -0
- yowasp_yosys/share/lattice/cells_sim_nexus.v +1058 -0
- yowasp_yosys/share/lattice/common_sim.vh +1 -1
- yowasp_yosys/share/lattice/parse_init.vh +33 -0
- yowasp_yosys/share/python3/sby_core.py +3 -0
- yowasp_yosys/share/python3/sby_engine_abc.py +5 -2
- yowasp_yosys/share/python3/sby_sim.py +2 -0
- yowasp_yosys/share/simlib.v +34 -0
- yowasp_yosys/share/techmap.v +34 -2
- yowasp_yosys/yosys.wasm +0 -0
- {yowasp_yosys-0.57.0.0.post986.dist-info → yowasp_yosys-0.59.0.0.post1038.dist-info}/METADATA +1 -1
- {yowasp_yosys-0.57.0.0.post986.dist-info → yowasp_yosys-0.59.0.0.post1038.dist-info}/RECORD +61 -63
- yowasp_yosys/share/ecp5/arith_map.v +0 -90
- yowasp_yosys/share/ecp5/brams.txt +0 -52
- yowasp_yosys/share/ecp5/brams_map.v +0 -489
- yowasp_yosys/share/ecp5/dsp_map.v +0 -17
- yowasp_yosys/share/ecp5/latches_map.v +0 -11
- yowasp_yosys/share/lattice/cells_map.v +0 -191
- yowasp_yosys/share/lattice/lutrams.txt +0 -12
- yowasp_yosys/share/lattice/lutrams_map.v +0 -30
- yowasp_yosys/share/nexus/latches_map.v +0 -11
- /yowasp_yosys/share/{nexus/arith_map.v → lattice/arith_map_nexus.v} +0 -0
- /yowasp_yosys/share/{nexus/brams_map.v → lattice/brams_map_nexus.v} +0 -0
- /yowasp_yosys/share/{nexus/brams.txt → lattice/brams_nexus.txt} +0 -0
- /yowasp_yosys/share/{nexus/cells_map.v → lattice/cells_map_nexus.v} +0 -0
- /yowasp_yosys/share/{ecp5/cells_map.v → lattice/cells_map_trellis.v} +0 -0
- /yowasp_yosys/share/{nexus/dsp_map.v → lattice/dsp_map_nexus.v} +0 -0
- /yowasp_yosys/share/{nexus/lrams_map.v → lattice/lrams_map_nexus.v} +0 -0
- /yowasp_yosys/share/{nexus/lrams.txt → lattice/lrams_nexus.txt} +0 -0
- /yowasp_yosys/share/{nexus/lutrams_map.v → lattice/lutrams_map_nexus.v} +0 -0
- /yowasp_yosys/share/{ecp5/lutrams_map.v → lattice/lutrams_map_trellis.v} +0 -0
- /yowasp_yosys/share/{nexus/lutrams.txt → lattice/lutrams_nexus.txt} +0 -0
- /yowasp_yosys/share/{ecp5/lutrams.txt → lattice/lutrams_trellis.txt} +0 -0
- {yowasp_yosys-0.57.0.0.post986.dist-info → yowasp_yosys-0.59.0.0.post1038.dist-info}/WHEEL +0 -0
- {yowasp_yosys-0.57.0.0.post986.dist-info → yowasp_yosys-0.59.0.0.post1038.dist-info}/entry_points.txt +0 -0
- {yowasp_yosys-0.57.0.0.post986.dist-info → yowasp_yosys-0.59.0.0.post1038.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// ---------------------------------------
|
|
2
|
+
(* abc9_box, lib_whitebox *)
|
|
3
|
+
module CCU2C(
|
|
4
|
+
(* abc9_carry *)
|
|
5
|
+
input CIN,
|
|
6
|
+
input A0, B0, C0, D0, A1, B1, C1, D1,
|
|
7
|
+
output S0, S1,
|
|
8
|
+
(* abc9_carry *)
|
|
9
|
+
output COUT
|
|
10
|
+
);
|
|
11
|
+
parameter [15:0] INIT0 = 16'h0000;
|
|
12
|
+
parameter [15:0] INIT1 = 16'h0000;
|
|
13
|
+
parameter INJECT1_0 = "YES";
|
|
14
|
+
parameter INJECT1_1 = "YES";
|
|
15
|
+
|
|
16
|
+
// First half
|
|
17
|
+
wire LUT4_0, LUT2_0;
|
|
18
|
+
LUT4 #(.INIT(INIT0)) lut4_0(.A(A0), .B(B0), .C(C0), .D(D0), .Z(LUT4_0));
|
|
19
|
+
LUT2 #(.INIT(INIT0[3:0])) lut2_0(.A(A0), .B(B0), .Z(LUT2_0));
|
|
20
|
+
wire gated_cin_0 = (INJECT1_0 == "YES") ? 1'b0 : CIN;
|
|
21
|
+
assign S0 = LUT4_0 ^ gated_cin_0;
|
|
22
|
+
|
|
23
|
+
wire gated_lut2_0 = (INJECT1_0 == "YES") ? 1'b0 : LUT2_0;
|
|
24
|
+
wire cout_0 = (~LUT4_0 & gated_lut2_0) | (LUT4_0 & CIN);
|
|
25
|
+
|
|
26
|
+
// Second half
|
|
27
|
+
wire LUT4_1, LUT2_1;
|
|
28
|
+
LUT4 #(.INIT(INIT1)) lut4_1(.A(A1), .B(B1), .C(C1), .D(D1), .Z(LUT4_1));
|
|
29
|
+
LUT2 #(.INIT(INIT1[3:0])) lut2_1(.A(A1), .B(B1), .Z(LUT2_1));
|
|
30
|
+
wire gated_cin_1 = (INJECT1_1 == "YES") ? 1'b0 : cout_0;
|
|
31
|
+
assign S1 = LUT4_1 ^ gated_cin_1;
|
|
32
|
+
|
|
33
|
+
wire gated_lut2_1 = (INJECT1_1 == "YES") ? 1'b0 : LUT2_1;
|
|
34
|
+
assign COUT = (~LUT4_1 & gated_lut2_1) | (LUT4_1 & cout_0);
|
|
35
|
+
|
|
36
|
+
specify
|
|
37
|
+
(A0 => S0) = 379;
|
|
38
|
+
(B0 => S0) = 379;
|
|
39
|
+
(C0 => S0) = 275;
|
|
40
|
+
(D0 => S0) = 141;
|
|
41
|
+
(CIN => S0) = 257;
|
|
42
|
+
(A0 => S1) = 630;
|
|
43
|
+
(B0 => S1) = 630;
|
|
44
|
+
(C0 => S1) = 526;
|
|
45
|
+
(D0 => S1) = 392;
|
|
46
|
+
(A1 => S1) = 379;
|
|
47
|
+
(B1 => S1) = 379;
|
|
48
|
+
(C1 => S1) = 275;
|
|
49
|
+
(D1 => S1) = 141;
|
|
50
|
+
(CIN => S1) = 273;
|
|
51
|
+
(A0 => COUT) = 516;
|
|
52
|
+
(B0 => COUT) = 516;
|
|
53
|
+
(C0 => COUT) = 412;
|
|
54
|
+
(D0 => COUT) = 278;
|
|
55
|
+
(A1 => COUT) = 516;
|
|
56
|
+
(B1 => COUT) = 516;
|
|
57
|
+
(C1 => COUT) = 412;
|
|
58
|
+
(D1 => COUT) = 278;
|
|
59
|
+
(CIN => COUT) = 43;
|
|
60
|
+
endspecify
|
|
61
|
+
endmodule
|