najaeda 0.1.15__cp313-cp313-macosx_11_0_arm64.whl → 0.1.17__cp313-cp313-macosx_11_0_arm64.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.

Potentially problematic release.


This version of najaeda might be problematic. Click here for more details.

@@ -3,432 +3,432 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
  import logging
6
- from najaeda import snl
6
+ from najaeda import naja
7
7
 
8
8
 
9
9
  def constructIBUF(lib):
10
- ibuf = snl.SNLDesign.createPrimitive(lib, "IBUF")
11
- i = snl.SNLScalarTerm.create(ibuf, snl.SNLTerm.Direction.Input, "I")
12
- o = snl.SNLScalarTerm.create(ibuf, snl.SNLTerm.Direction.Output, "O")
10
+ ibuf = naja.SNLDesign.createPrimitive(lib, "IBUF")
11
+ i = naja.SNLScalarTerm.create(ibuf, naja.SNLTerm.Direction.Input, "I")
12
+ o = naja.SNLScalarTerm.create(ibuf, naja.SNLTerm.Direction.Output, "O")
13
13
  ibuf.addCombinatorialArcs(i, o)
14
14
 
15
15
 
16
16
  def constructOBUF(lib):
17
- obuf = snl.SNLDesign.createPrimitive(lib, "OBUF")
18
- i = snl.SNLScalarTerm.create(obuf, snl.SNLTerm.Direction.Input, "I")
19
- o = snl.SNLScalarTerm.create(obuf, snl.SNLTerm.Direction.Output, "O")
17
+ obuf = naja.SNLDesign.createPrimitive(lib, "OBUF")
18
+ i = naja.SNLScalarTerm.create(obuf, naja.SNLTerm.Direction.Input, "I")
19
+ o = naja.SNLScalarTerm.create(obuf, naja.SNLTerm.Direction.Output, "O")
20
20
  obuf.addCombinatorialArcs(i, o)
21
21
 
22
22
 
23
23
  def constructBUFG(lib):
24
- bufg = snl.SNLDesign.createPrimitive(lib, "BUFG")
25
- i = snl.SNLScalarTerm.create(bufg, snl.SNLTerm.Direction.Input, "I")
26
- o = snl.SNLScalarTerm.create(bufg, snl.SNLTerm.Direction.Output, "O")
24
+ bufg = naja.SNLDesign.createPrimitive(lib, "BUFG")
25
+ i = naja.SNLScalarTerm.create(bufg, naja.SNLTerm.Direction.Input, "I")
26
+ o = naja.SNLScalarTerm.create(bufg, naja.SNLTerm.Direction.Output, "O")
27
27
  bufg.addCombinatorialArcs(i, o)
28
28
 
29
29
 
30
30
  def constructDSP48E1(lib):
31
- dsp48e1 = snl.SNLDesign.createPrimitive(lib, "DSP48E1")
32
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, 29, 0, "ACOUT")
33
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, 17, 0, "BCOUT")
34
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, "CARRYCASCOUT")
35
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "MULTSIGNOUT")
36
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 47, 0, "PCOUT")
37
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, "OVERFLOW")
38
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, "PATTERNBDETECT")
39
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, "PATTERNDETECT")
40
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, "UNDERFLOW")
41
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, 3, 0, "CARRYOUT")
42
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Output, 47, 0, "P")
43
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 29, 0, "ACIN")
44
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 17, 0, "BCIN")
45
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CARRYCASCIN")
46
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "MULTSIGNIN")
47
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 47, 0, "PCIN")
48
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 3, 0, "ALUMODE")
49
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 2, 0, "CARRYINSEL")
50
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CLK")
51
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 4, 0, "INMODE")
52
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 6, 0, "OPMODE")
53
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 29, 0, "A")
54
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 17, 0, "B")
55
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 47, 0, "C")
56
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CARRYIN")
57
- snl.SNLBusTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, 24, 0, "D")
58
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEA1")
59
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEA2")
60
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEAD")
61
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEALUMODE")
62
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEB1")
63
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEB2")
64
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEC")
65
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CECARRYIN")
66
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CECTRL")
67
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CED")
68
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEINMODE")
69
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEM")
70
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "CEP")
71
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTA")
72
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTALLCARRYIN")
73
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTALUMODE")
74
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTB")
75
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTC")
76
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTCTRL")
77
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTD")
78
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTINMODE")
79
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTM")
80
- snl.SNLScalarTerm.create(dsp48e1, snl.SNLTerm.Direction.Input, "RSTP")
81
- snl.SNLParameter.create_decimal(dsp48e1, "ACASCREG", 1)
82
- snl.SNLParameter.create_decimal(dsp48e1, "ADREG", 1)
83
- snl.SNLParameter.create_string(dsp48e1, "A_INPUT", "DIRECT")
84
- snl.SNLParameter.create_decimal(dsp48e1, "ALUMODEREG", 1)
85
- snl.SNLParameter.create_decimal(dsp48e1, "AREG", 1)
86
- snl.SNLParameter.create_decimal(dsp48e1, "BCASCREG", 1)
87
- snl.SNLParameter.create_string(dsp48e1, "B_INPUT", "DIRECT")
88
- snl.SNLParameter.create_decimal(dsp48e1, "BREG", 1)
89
- snl.SNLParameter.create_decimal(dsp48e1, "CARRYINREG", 1)
90
- snl.SNLParameter.create_decimal(dsp48e1, "CARRYINSELREG", 1)
91
- snl.SNLParameter.create_decimal(dsp48e1, "CREG", 1)
92
- snl.SNLParameter.create_decimal(dsp48e1, "DREG", 1)
93
- snl.SNLParameter.create_decimal(dsp48e1, "INMODEREG", 1)
94
- snl.SNLParameter.create_decimal(dsp48e1, "MREG", 1)
95
- snl.SNLParameter.create_decimal(dsp48e1, "OPMODEREG", 1)
96
- snl.SNLParameter.create_decimal(dsp48e1, "PREG", 1)
97
- snl.SNLParameter.create_boolean(dsp48e1, "USE_DPORT", False)
98
- snl.SNLParameter.create_string(dsp48e1, "USE_MULT", "MULTIPLY")
99
- snl.SNLParameter.create_string(dsp48e1, "USE_SIMD", "ONE48")
31
+ dsp48e1 = naja.SNLDesign.createPrimitive(lib, "DSP48E1")
32
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, 29, 0, "ACOUT")
33
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, 17, 0, "BCOUT")
34
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, "CARRYCASCOUT")
35
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "MULTSIGNOUT")
36
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 47, 0, "PCOUT")
37
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, "OVERFLOW")
38
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, "PATTERNBDETECT")
39
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, "PATTERNDETECT")
40
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, "UNDERFLOW")
41
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, 3, 0, "CARRYOUT")
42
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Output, 47, 0, "P")
43
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 29, 0, "ACIN")
44
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 17, 0, "BCIN")
45
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CARRYCASCIN")
46
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "MULTSIGNIN")
47
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 47, 0, "PCIN")
48
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 3, 0, "ALUMODE")
49
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 2, 0, "CARRYINSEL")
50
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CLK")
51
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 4, 0, "INMODE")
52
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 6, 0, "OPMODE")
53
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 29, 0, "A")
54
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 17, 0, "B")
55
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 47, 0, "C")
56
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CARRYIN")
57
+ naja.SNLBusTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, 24, 0, "D")
58
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEA1")
59
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEA2")
60
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEAD")
61
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEALUMODE")
62
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEB1")
63
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEB2")
64
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEC")
65
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CECARRYIN")
66
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CECTRL")
67
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CED")
68
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEINMODE")
69
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEM")
70
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "CEP")
71
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTA")
72
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTALLCARRYIN")
73
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTALUMODE")
74
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTB")
75
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTC")
76
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTCTRL")
77
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTD")
78
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTINMODE")
79
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTM")
80
+ naja.SNLScalarTerm.create(dsp48e1, naja.SNLTerm.Direction.Input, "RSTP")
81
+ naja.SNLParameter.create_decimal(dsp48e1, "ACASCREG", 1)
82
+ naja.SNLParameter.create_decimal(dsp48e1, "ADREG", 1)
83
+ naja.SNLParameter.create_string(dsp48e1, "A_INPUT", "DIRECT")
84
+ naja.SNLParameter.create_decimal(dsp48e1, "ALUMODEREG", 1)
85
+ naja.SNLParameter.create_decimal(dsp48e1, "AREG", 1)
86
+ naja.SNLParameter.create_decimal(dsp48e1, "BCASCREG", 1)
87
+ naja.SNLParameter.create_string(dsp48e1, "B_INPUT", "DIRECT")
88
+ naja.SNLParameter.create_decimal(dsp48e1, "BREG", 1)
89
+ naja.SNLParameter.create_decimal(dsp48e1, "CARRYINREG", 1)
90
+ naja.SNLParameter.create_decimal(dsp48e1, "CARRYINSELREG", 1)
91
+ naja.SNLParameter.create_decimal(dsp48e1, "CREG", 1)
92
+ naja.SNLParameter.create_decimal(dsp48e1, "DREG", 1)
93
+ naja.SNLParameter.create_decimal(dsp48e1, "INMODEREG", 1)
94
+ naja.SNLParameter.create_decimal(dsp48e1, "MREG", 1)
95
+ naja.SNLParameter.create_decimal(dsp48e1, "OPMODEREG", 1)
96
+ naja.SNLParameter.create_decimal(dsp48e1, "PREG", 1)
97
+ naja.SNLParameter.create_boolean(dsp48e1, "USE_DPORT", False)
98
+ naja.SNLParameter.create_string(dsp48e1, "USE_MULT", "MULTIPLY")
99
+ naja.SNLParameter.create_string(dsp48e1, "USE_SIMD", "ONE48")
100
100
 
101
101
 
102
102
  def constructINV(lib):
103
- inv = snl.SNLDesign.createPrimitive(lib, "INV")
104
- i = snl.SNLScalarTerm.create(inv, snl.SNLTerm.Direction.Input, "I")
105
- o = snl.SNLScalarTerm.create(inv, snl.SNLTerm.Direction.Output, "O")
106
- snl.SNLDesign.addCombinatorialArcs(i, o)
103
+ inv = naja.SNLDesign.createPrimitive(lib, "INV")
104
+ i = naja.SNLScalarTerm.create(inv, naja.SNLTerm.Direction.Input, "I")
105
+ o = naja.SNLScalarTerm.create(inv, naja.SNLTerm.Direction.Output, "O")
106
+ naja.SNLDesign.addCombinatorialArcs(i, o)
107
107
 
108
108
 
109
109
  def constructCARRY4(lib):
110
- carry4 = snl.SNLDesign.createPrimitive(lib, "CARRY4")
111
- o = snl.SNLBusTerm.create(carry4, snl.SNLTerm.Direction.Output, 3, 0, "O")
112
- co = snl.SNLBusTerm.create(carry4, snl.SNLTerm.Direction.Output, 3, 0, "CO")
113
- di = snl.SNLBusTerm.create(carry4, snl.SNLTerm.Direction.Input, 3, 0, "DI")
114
- s = snl.SNLBusTerm.create(carry4, snl.SNLTerm.Direction.Input, 3, 0, "S")
115
- cyinit = snl.SNLScalarTerm.create(carry4, snl.SNLTerm.Direction.Input, "CYINIT")
116
- ci = snl.SNLScalarTerm.create(carry4, snl.SNLTerm.Direction.Input, "CI")
110
+ carry4 = naja.SNLDesign.createPrimitive(lib, "CARRY4")
111
+ o = naja.SNLBusTerm.create(carry4, naja.SNLTerm.Direction.Output, 3, 0, "O")
112
+ co = naja.SNLBusTerm.create(carry4, naja.SNLTerm.Direction.Output, 3, 0, "CO")
113
+ di = naja.SNLBusTerm.create(carry4, naja.SNLTerm.Direction.Input, 3, 0, "DI")
114
+ s = naja.SNLBusTerm.create(carry4, naja.SNLTerm.Direction.Input, 3, 0, "S")
115
+ cyinit = naja.SNLScalarTerm.create(carry4, naja.SNLTerm.Direction.Input, "CYINIT")
116
+ ci = naja.SNLScalarTerm.create(carry4, naja.SNLTerm.Direction.Input, "CI")
117
117
  o_bits = [b for b in o.getBits()]
118
118
  co_bits = [b for b in co.getBits()]
119
119
  di_bits = [b for b in di.getBits()]
120
120
  s_bits = [b for b in s.getBits()]
121
121
  # cyinit and ci are in combinatorial dependency with o and co outputs
122
- snl.SNLDesign.addCombinatorialArcs([cyinit, ci], [o, co])
123
- snl.SNLDesign.addCombinatorialArcs(s_bits[0], [o, co])
124
- snl.SNLDesign.addCombinatorialArcs(s_bits[1], [o_bits[1], o_bits[2], o_bits[3]])
125
- snl.SNLDesign.addCombinatorialArcs(s_bits[1], [co_bits[1], co_bits[2], co_bits[3]])
126
- snl.SNLDesign.addCombinatorialArcs(s_bits[2], [o_bits[2], o_bits[3]])
127
- snl.SNLDesign.addCombinatorialArcs(s_bits[2], [co_bits[2], co_bits[3]])
128
- snl.SNLDesign.addCombinatorialArcs(s_bits[3], o_bits[3])
129
- snl.SNLDesign.addCombinatorialArcs(s_bits[3], co_bits[3])
130
- snl.SNLDesign.addCombinatorialArcs(di_bits[0], [o_bits[1], o_bits[2], o_bits[3]])
131
- snl.SNLDesign.addCombinatorialArcs(di_bits[0], co)
132
- snl.SNLDesign.addCombinatorialArcs(di_bits[1], [o_bits[2], o_bits[3]])
133
- snl.SNLDesign.addCombinatorialArcs(di_bits[1], [co_bits[1], co_bits[2], co_bits[3]])
134
- snl.SNLDesign.addCombinatorialArcs(di_bits[2], o_bits[3])
135
- snl.SNLDesign.addCombinatorialArcs(di_bits[2], [co_bits[2], co_bits[3]])
136
- snl.SNLDesign.addCombinatorialArcs(di_bits[3], co_bits[3])
122
+ naja.SNLDesign.addCombinatorialArcs([cyinit, ci], [o, co])
123
+ naja.SNLDesign.addCombinatorialArcs(s_bits[0], [o, co])
124
+ naja.SNLDesign.addCombinatorialArcs(s_bits[1], [o_bits[1], o_bits[2], o_bits[3]])
125
+ naja.SNLDesign.addCombinatorialArcs(s_bits[1], [co_bits[1], co_bits[2], co_bits[3]])
126
+ naja.SNLDesign.addCombinatorialArcs(s_bits[2], [o_bits[2], o_bits[3]])
127
+ naja.SNLDesign.addCombinatorialArcs(s_bits[2], [co_bits[2], co_bits[3]])
128
+ naja.SNLDesign.addCombinatorialArcs(s_bits[3], o_bits[3])
129
+ naja.SNLDesign.addCombinatorialArcs(s_bits[3], co_bits[3])
130
+ naja.SNLDesign.addCombinatorialArcs(di_bits[0], [o_bits[1], o_bits[2], o_bits[3]])
131
+ naja.SNLDesign.addCombinatorialArcs(di_bits[0], co)
132
+ naja.SNLDesign.addCombinatorialArcs(di_bits[1], [o_bits[2], o_bits[3]])
133
+ naja.SNLDesign.addCombinatorialArcs(di_bits[1], [co_bits[1], co_bits[2], co_bits[3]])
134
+ naja.SNLDesign.addCombinatorialArcs(di_bits[2], o_bits[3])
135
+ naja.SNLDesign.addCombinatorialArcs(di_bits[2], [co_bits[2], co_bits[3]])
136
+ naja.SNLDesign.addCombinatorialArcs(di_bits[3], co_bits[3])
137
137
 
138
138
 
139
139
  def constructLUT1(lib):
140
- lut1 = snl.SNLDesign.createPrimitive(lib, "LUT1")
141
- i0 = snl.SNLScalarTerm.create(lut1, snl.SNLTerm.Direction.Input, "I0")
142
- o = snl.SNLScalarTerm.create(lut1, snl.SNLTerm.Direction.Output, "O")
143
- snl.SNLDesign.addCombinatorialArcs(i0, o)
144
- snl.SNLParameter.create_binary(lut1, "INIT", 2, 0b00)
140
+ lut1 = naja.SNLDesign.createPrimitive(lib, "LUT1")
141
+ i0 = naja.SNLScalarTerm.create(lut1, naja.SNLTerm.Direction.Input, "I0")
142
+ o = naja.SNLScalarTerm.create(lut1, naja.SNLTerm.Direction.Output, "O")
143
+ naja.SNLDesign.addCombinatorialArcs(i0, o)
144
+ naja.SNLParameter.create_binary(lut1, "INIT", 2, 0b00)
145
145
 
146
146
 
147
147
  def constructLUT2(lib):
148
- lut2 = snl.SNLDesign.createPrimitive(lib, "LUT2")
149
- i0 = snl.SNLScalarTerm.create(lut2, snl.SNLTerm.Direction.Input, "I0")
150
- i1 = snl.SNLScalarTerm.create(lut2, snl.SNLTerm.Direction.Input, "I1")
151
- o = snl.SNLScalarTerm.create(lut2, snl.SNLTerm.Direction.Output, "O")
152
- snl.SNLDesign.addCombinatorialArcs([i0, i1], o)
153
- snl.SNLParameter.create_binary(lut2, "INIT", 4, 0x0)
148
+ lut2 = naja.SNLDesign.createPrimitive(lib, "LUT2")
149
+ i0 = naja.SNLScalarTerm.create(lut2, naja.SNLTerm.Direction.Input, "I0")
150
+ i1 = naja.SNLScalarTerm.create(lut2, naja.SNLTerm.Direction.Input, "I1")
151
+ o = naja.SNLScalarTerm.create(lut2, naja.SNLTerm.Direction.Output, "O")
152
+ naja.SNLDesign.addCombinatorialArcs([i0, i1], o)
153
+ naja.SNLParameter.create_binary(lut2, "INIT", 4, 0x0)
154
154
 
155
155
 
156
156
  def constructLUT3(lib):
157
- lut3 = snl.SNLDesign.createPrimitive(lib, "LUT3")
158
- i0 = snl.SNLScalarTerm.create(lut3, snl.SNLTerm.Direction.Input, "I0")
159
- i1 = snl.SNLScalarTerm.create(lut3, snl.SNLTerm.Direction.Input, "I1")
160
- i2 = snl.SNLScalarTerm.create(lut3, snl.SNLTerm.Direction.Input, "I2")
161
- o = snl.SNLScalarTerm.create(lut3, snl.SNLTerm.Direction.Output, "O")
162
- snl.SNLDesign.addCombinatorialArcs([i0, i1, i2], o)
163
- snl.SNLParameter.create_binary(lut3, "INIT", 8, 0x00)
157
+ lut3 = naja.SNLDesign.createPrimitive(lib, "LUT3")
158
+ i0 = naja.SNLScalarTerm.create(lut3, naja.SNLTerm.Direction.Input, "I0")
159
+ i1 = naja.SNLScalarTerm.create(lut3, naja.SNLTerm.Direction.Input, "I1")
160
+ i2 = naja.SNLScalarTerm.create(lut3, naja.SNLTerm.Direction.Input, "I2")
161
+ o = naja.SNLScalarTerm.create(lut3, naja.SNLTerm.Direction.Output, "O")
162
+ naja.SNLDesign.addCombinatorialArcs([i0, i1, i2], o)
163
+ naja.SNLParameter.create_binary(lut3, "INIT", 8, 0x00)
164
164
 
165
165
 
166
166
  def constructLUT4(lib):
167
- lut4 = snl.SNLDesign.createPrimitive(lib, "LUT4")
168
- i0 = snl.SNLScalarTerm.create(lut4, snl.SNLTerm.Direction.Input, "I0")
169
- i1 = snl.SNLScalarTerm.create(lut4, snl.SNLTerm.Direction.Input, "I1")
170
- i2 = snl.SNLScalarTerm.create(lut4, snl.SNLTerm.Direction.Input, "I2")
171
- i3 = snl.SNLScalarTerm.create(lut4, snl.SNLTerm.Direction.Input, "I3")
172
- o = snl.SNLScalarTerm.create(lut4, snl.SNLTerm.Direction.Output, "O")
173
- snl.SNLDesign.addCombinatorialArcs([i0, i1, i2, i3], o)
174
- snl.SNLParameter.create_binary(lut4, "INIT", 16, 0x0000)
167
+ lut4 = naja.SNLDesign.createPrimitive(lib, "LUT4")
168
+ i0 = naja.SNLScalarTerm.create(lut4, naja.SNLTerm.Direction.Input, "I0")
169
+ i1 = naja.SNLScalarTerm.create(lut4, naja.SNLTerm.Direction.Input, "I1")
170
+ i2 = naja.SNLScalarTerm.create(lut4, naja.SNLTerm.Direction.Input, "I2")
171
+ i3 = naja.SNLScalarTerm.create(lut4, naja.SNLTerm.Direction.Input, "I3")
172
+ o = naja.SNLScalarTerm.create(lut4, naja.SNLTerm.Direction.Output, "O")
173
+ naja.SNLDesign.addCombinatorialArcs([i0, i1, i2, i3], o)
174
+ naja.SNLParameter.create_binary(lut4, "INIT", 16, 0x0000)
175
175
 
176
176
 
177
177
  def constructLUT5(lib):
178
- lut5 = snl.SNLDesign.createPrimitive(lib, "LUT5")
179
- i0 = snl.SNLScalarTerm.create(lut5, snl.SNLTerm.Direction.Input, "I0")
180
- i1 = snl.SNLScalarTerm.create(lut5, snl.SNLTerm.Direction.Input, "I1")
181
- i2 = snl.SNLScalarTerm.create(lut5, snl.SNLTerm.Direction.Input, "I2")
182
- i3 = snl.SNLScalarTerm.create(lut5, snl.SNLTerm.Direction.Input, "I3")
183
- i4 = snl.SNLScalarTerm.create(lut5, snl.SNLTerm.Direction.Input, "I4")
184
- o = snl.SNLScalarTerm.create(lut5, snl.SNLTerm.Direction.Output, "O")
185
- snl.SNLDesign.addCombinatorialArcs([i0, i1, i2, i3, i4], o)
186
- snl.SNLParameter.create_binary(lut5, "INIT", 32, 0x00000000)
178
+ lut5 = naja.SNLDesign.createPrimitive(lib, "LUT5")
179
+ i0 = naja.SNLScalarTerm.create(lut5, naja.SNLTerm.Direction.Input, "I0")
180
+ i1 = naja.SNLScalarTerm.create(lut5, naja.SNLTerm.Direction.Input, "I1")
181
+ i2 = naja.SNLScalarTerm.create(lut5, naja.SNLTerm.Direction.Input, "I2")
182
+ i3 = naja.SNLScalarTerm.create(lut5, naja.SNLTerm.Direction.Input, "I3")
183
+ i4 = naja.SNLScalarTerm.create(lut5, naja.SNLTerm.Direction.Input, "I4")
184
+ o = naja.SNLScalarTerm.create(lut5, naja.SNLTerm.Direction.Output, "O")
185
+ naja.SNLDesign.addCombinatorialArcs([i0, i1, i2, i3, i4], o)
186
+ naja.SNLParameter.create_binary(lut5, "INIT", 32, 0x00000000)
187
187
 
188
188
 
189
189
  def constructLUT6(lib):
190
- lut6 = snl.SNLDesign.createPrimitive(lib, "LUT6")
191
- i0 = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Input, "I0")
192
- i1 = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Input, "I1")
193
- i2 = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Input, "I2")
194
- i3 = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Input, "I3")
195
- i4 = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Input, "I4")
196
- i5 = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Input, "I5")
197
- o = snl.SNLScalarTerm.create(lut6, snl.SNLTerm.Direction.Output, "O")
198
- snl.SNLDesign.addCombinatorialArcs([i0, i1, i2, i3, i4, i5], o)
199
- snl.SNLParameter.create_binary(lut6, "INIT", 64, 0x0000000000000000)
190
+ lut6 = naja.SNLDesign.createPrimitive(lib, "LUT6")
191
+ i0 = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Input, "I0")
192
+ i1 = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Input, "I1")
193
+ i2 = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Input, "I2")
194
+ i3 = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Input, "I3")
195
+ i4 = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Input, "I4")
196
+ i5 = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Input, "I5")
197
+ o = naja.SNLScalarTerm.create(lut6, naja.SNLTerm.Direction.Output, "O")
198
+ naja.SNLDesign.addCombinatorialArcs([i0, i1, i2, i3, i4, i5], o)
199
+ naja.SNLParameter.create_binary(lut6, "INIT", 64, 0x0000000000000000)
200
200
 
201
201
 
202
202
  def constructMUXF7(lib):
203
- muxf7 = snl.SNLDesign.createPrimitive(lib, "MUXF7")
204
- i0 = snl.SNLScalarTerm.create(muxf7, snl.SNLTerm.Direction.Input, "I0")
205
- i1 = snl.SNLScalarTerm.create(muxf7, snl.SNLTerm.Direction.Input, "I1")
206
- o = snl.SNLScalarTerm.create(muxf7, snl.SNLTerm.Direction.Output, "O")
207
- s = snl.SNLScalarTerm.create(muxf7, snl.SNLTerm.Direction.Input, "S")
208
- snl.SNLDesign.addCombinatorialArcs([i0, i1, s], o)
203
+ muxf7 = naja.SNLDesign.createPrimitive(lib, "MUXF7")
204
+ i0 = naja.SNLScalarTerm.create(muxf7, naja.SNLTerm.Direction.Input, "I0")
205
+ i1 = naja.SNLScalarTerm.create(muxf7, naja.SNLTerm.Direction.Input, "I1")
206
+ o = naja.SNLScalarTerm.create(muxf7, naja.SNLTerm.Direction.Output, "O")
207
+ s = naja.SNLScalarTerm.create(muxf7, naja.SNLTerm.Direction.Input, "S")
208
+ naja.SNLDesign.addCombinatorialArcs([i0, i1, s], o)
209
209
 
210
210
 
211
211
  def constructMUXF8(lib):
212
- muxf8 = snl.SNLDesign.createPrimitive(lib, "MUXF8")
213
- i0 = snl.SNLScalarTerm.create(muxf8, snl.SNLTerm.Direction.Input, "I0")
214
- i1 = snl.SNLScalarTerm.create(muxf8, snl.SNLTerm.Direction.Input, "I1")
215
- o = snl.SNLScalarTerm.create(muxf8, snl.SNLTerm.Direction.Output, "O")
216
- s = snl.SNLScalarTerm.create(muxf8, snl.SNLTerm.Direction.Input, "S")
217
- snl.SNLDesign.addCombinatorialArcs([i0, i1, s], o)
212
+ muxf8 = naja.SNLDesign.createPrimitive(lib, "MUXF8")
213
+ i0 = naja.SNLScalarTerm.create(muxf8, naja.SNLTerm.Direction.Input, "I0")
214
+ i1 = naja.SNLScalarTerm.create(muxf8, naja.SNLTerm.Direction.Input, "I1")
215
+ o = naja.SNLScalarTerm.create(muxf8, naja.SNLTerm.Direction.Output, "O")
216
+ s = naja.SNLScalarTerm.create(muxf8, naja.SNLTerm.Direction.Input, "S")
217
+ naja.SNLDesign.addCombinatorialArcs([i0, i1, s], o)
218
218
 
219
219
 
220
220
  def constructSRL16E(lib):
221
- srl16e = snl.SNLDesign.createPrimitive(lib, "SRL16E")
222
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "CE")
223
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "CLK")
224
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "D")
225
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Output, "Q")
226
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "A0")
227
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "A1")
228
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "A2")
229
- snl.SNLScalarTerm.create(srl16e, snl.SNLTerm.Direction.Input, "A3")
230
- snl.SNLParameter.create_binary(srl16e, "INIT", 16, 0x0000)
231
- snl.SNLParameter.create_binary(srl16e, "IS_CLK_INVERTED", 1, 0)
221
+ srl16e = naja.SNLDesign.createPrimitive(lib, "SRL16E")
222
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "CE")
223
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "CLK")
224
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "D")
225
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Output, "Q")
226
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "A0")
227
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "A1")
228
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "A2")
229
+ naja.SNLScalarTerm.create(srl16e, naja.SNLTerm.Direction.Input, "A3")
230
+ naja.SNLParameter.create_binary(srl16e, "INIT", 16, 0x0000)
231
+ naja.SNLParameter.create_binary(srl16e, "IS_CLK_INVERTED", 1, 0)
232
232
 
233
233
 
234
234
  def constructFDCE(lib):
235
- fdce = snl.SNLDesign.createPrimitive(lib, "FDCE")
236
- q = snl.SNLScalarTerm.create(fdce, snl.SNLTerm.Direction.Output, "Q")
237
- c = snl.SNLScalarTerm.create(fdce, snl.SNLTerm.Direction.Input, "C")
238
- ce = snl.SNLScalarTerm.create(fdce, snl.SNLTerm.Direction.Input, "CE")
239
- clr = snl.SNLScalarTerm.create(fdce, snl.SNLTerm.Direction.Input, "CLR")
240
- d = snl.SNLScalarTerm.create(fdce, snl.SNLTerm.Direction.Input, "D")
241
- snl.SNLParameter.create_binary(fdce, "INIT", 1, 0b0)
242
- snl.SNLDesign.addInputsToClockArcs([ce, clr, d], c)
243
- snl.SNLDesign.addClockToOutputsArcs(c, q)
235
+ fdce = naja.SNLDesign.createPrimitive(lib, "FDCE")
236
+ q = naja.SNLScalarTerm.create(fdce, naja.SNLTerm.Direction.Output, "Q")
237
+ c = naja.SNLScalarTerm.create(fdce, naja.SNLTerm.Direction.Input, "C")
238
+ ce = naja.SNLScalarTerm.create(fdce, naja.SNLTerm.Direction.Input, "CE")
239
+ clr = naja.SNLScalarTerm.create(fdce, naja.SNLTerm.Direction.Input, "CLR")
240
+ d = naja.SNLScalarTerm.create(fdce, naja.SNLTerm.Direction.Input, "D")
241
+ naja.SNLParameter.create_binary(fdce, "INIT", 1, 0b0)
242
+ naja.SNLDesign.addInputsToClockArcs([ce, clr, d], c)
243
+ naja.SNLDesign.addClockToOutputsArcs(c, q)
244
244
 
245
245
 
246
246
  def constructFDPE(lib):
247
- fdpe = snl.SNLDesign.createPrimitive(lib, "FDPE")
248
- q = snl.SNLScalarTerm.create(fdpe, snl.SNLTerm.Direction.Output, "Q")
249
- c = snl.SNLScalarTerm.create(fdpe, snl.SNLTerm.Direction.Input, "C")
250
- ce = snl.SNLScalarTerm.create(fdpe, snl.SNLTerm.Direction.Input, "CE")
251
- pre = snl.SNLScalarTerm.create(fdpe, snl.SNLTerm.Direction.Input, "PRE")
252
- d = snl.SNLScalarTerm.create(fdpe, snl.SNLTerm.Direction.Input, "D")
253
- snl.SNLParameter.create_binary(fdpe, "INIT", 1, 0b1)
254
- snl.SNLDesign.addInputsToClockArcs([ce, pre, d], c)
255
- snl.SNLDesign.addClockToOutputsArcs(c, q)
247
+ fdpe = naja.SNLDesign.createPrimitive(lib, "FDPE")
248
+ q = naja.SNLScalarTerm.create(fdpe, naja.SNLTerm.Direction.Output, "Q")
249
+ c = naja.SNLScalarTerm.create(fdpe, naja.SNLTerm.Direction.Input, "C")
250
+ ce = naja.SNLScalarTerm.create(fdpe, naja.SNLTerm.Direction.Input, "CE")
251
+ pre = naja.SNLScalarTerm.create(fdpe, naja.SNLTerm.Direction.Input, "PRE")
252
+ d = naja.SNLScalarTerm.create(fdpe, naja.SNLTerm.Direction.Input, "D")
253
+ naja.SNLParameter.create_binary(fdpe, "INIT", 1, 0b1)
254
+ naja.SNLDesign.addInputsToClockArcs([ce, pre, d], c)
255
+ naja.SNLDesign.addClockToOutputsArcs(c, q)
256
256
 
257
257
 
258
258
  def constructFDRE(lib):
259
- fdre = snl.SNLDesign.createPrimitive(lib, "FDRE")
260
- q = snl.SNLScalarTerm.create(fdre, snl.SNLTerm.Direction.Output, "Q")
261
- c = snl.SNLScalarTerm.create(fdre, snl.SNLTerm.Direction.Input, "C")
262
- ce = snl.SNLScalarTerm.create(fdre, snl.SNLTerm.Direction.Input, "CE")
263
- r = snl.SNLScalarTerm.create(fdre, snl.SNLTerm.Direction.Input, "R")
264
- d = snl.SNLScalarTerm.create(fdre, snl.SNLTerm.Direction.Input, "D")
265
- snl.SNLParameter.create_binary(fdre, "INIT", 1, 0b0)
266
- snl.SNLDesign.addInputsToClockArcs([ce, r, d], c)
267
- snl.SNLDesign.addClockToOutputsArcs(c, q)
259
+ fdre = naja.SNLDesign.createPrimitive(lib, "FDRE")
260
+ q = naja.SNLScalarTerm.create(fdre, naja.SNLTerm.Direction.Output, "Q")
261
+ c = naja.SNLScalarTerm.create(fdre, naja.SNLTerm.Direction.Input, "C")
262
+ ce = naja.SNLScalarTerm.create(fdre, naja.SNLTerm.Direction.Input, "CE")
263
+ r = naja.SNLScalarTerm.create(fdre, naja.SNLTerm.Direction.Input, "R")
264
+ d = naja.SNLScalarTerm.create(fdre, naja.SNLTerm.Direction.Input, "D")
265
+ naja.SNLParameter.create_binary(fdre, "INIT", 1, 0b0)
266
+ naja.SNLDesign.addInputsToClockArcs([ce, r, d], c)
267
+ naja.SNLDesign.addClockToOutputsArcs(c, q)
268
268
 
269
269
 
270
270
  def constructFDSE(lib):
271
- fdse = snl.SNLDesign.createPrimitive(lib, "FDSE")
272
- q = snl.SNLScalarTerm.create(fdse, snl.SNLTerm.Direction.Output, "Q")
273
- c = snl.SNLScalarTerm.create(fdse, snl.SNLTerm.Direction.Input, "C")
274
- ce = snl.SNLScalarTerm.create(fdse, snl.SNLTerm.Direction.Input, "CE")
275
- s = snl.SNLScalarTerm.create(fdse, snl.SNLTerm.Direction.Input, "S")
276
- d = snl.SNLScalarTerm.create(fdse, snl.SNLTerm.Direction.Input, "D")
277
- snl.SNLParameter.create_binary(fdse, "INIT", 1, 0b0)
278
- snl.SNLDesign.addInputsToClockArcs([ce, s, d], c)
279
- snl.SNLDesign.addClockToOutputsArcs(c, q)
271
+ fdse = naja.SNLDesign.createPrimitive(lib, "FDSE")
272
+ q = naja.SNLScalarTerm.create(fdse, naja.SNLTerm.Direction.Output, "Q")
273
+ c = naja.SNLScalarTerm.create(fdse, naja.SNLTerm.Direction.Input, "C")
274
+ ce = naja.SNLScalarTerm.create(fdse, naja.SNLTerm.Direction.Input, "CE")
275
+ s = naja.SNLScalarTerm.create(fdse, naja.SNLTerm.Direction.Input, "S")
276
+ d = naja.SNLScalarTerm.create(fdse, naja.SNLTerm.Direction.Input, "D")
277
+ naja.SNLParameter.create_binary(fdse, "INIT", 1, 0b0)
278
+ naja.SNLDesign.addInputsToClockArcs([ce, s, d], c)
279
+ naja.SNLDesign.addClockToOutputsArcs(c, q)
280
280
 
281
281
 
282
282
  def constructRAM32M(lib):
283
- ram32m = snl.SNLDesign.createPrimitive(lib, "RAM32M")
284
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Output, 1, 0, "DOA")
285
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Output, 1, 0, "DOB")
286
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Output, 1, 0, "DOC")
287
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Output, 1, 0, "DOD")
288
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 4, 0, "ADDRA")
289
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 4, 0, "ADDRB")
290
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 4, 0, "ADDRC")
291
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 4, 0, "ADDRD")
292
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 1, 0, "DIA")
293
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 1, 0, "DIB")
294
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 1, 0, "DIC")
295
- snl.SNLBusTerm.create(ram32m, snl.SNLTerm.Direction.Input, 1, 0, "DID")
296
- snl.SNLScalarTerm.create(ram32m, snl.SNLTerm.Direction.Input, "WCLK")
297
- snl.SNLScalarTerm.create(ram32m, snl.SNLTerm.Direction.Input, "WE")
298
- snl.SNLParameter.create_binary(ram32m, "INIT_A", 64, 0)
299
- snl.SNLParameter.create_binary(ram32m, "INIT_B", 64, 0)
300
- snl.SNLParameter.create_binary(ram32m, "INIT_C", 64, 0)
301
- snl.SNLParameter.create_binary(ram32m, "INIT_D", 64, 0)
283
+ ram32m = naja.SNLDesign.createPrimitive(lib, "RAM32M")
284
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Output, 1, 0, "DOA")
285
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Output, 1, 0, "DOB")
286
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Output, 1, 0, "DOC")
287
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Output, 1, 0, "DOD")
288
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 4, 0, "ADDRA")
289
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 4, 0, "ADDRB")
290
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 4, 0, "ADDRC")
291
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 4, 0, "ADDRD")
292
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 1, 0, "DIA")
293
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 1, 0, "DIB")
294
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 1, 0, "DIC")
295
+ naja.SNLBusTerm.create(ram32m, naja.SNLTerm.Direction.Input, 1, 0, "DID")
296
+ naja.SNLScalarTerm.create(ram32m, naja.SNLTerm.Direction.Input, "WCLK")
297
+ naja.SNLScalarTerm.create(ram32m, naja.SNLTerm.Direction.Input, "WE")
298
+ naja.SNLParameter.create_binary(ram32m, "INIT_A", 64, 0)
299
+ naja.SNLParameter.create_binary(ram32m, "INIT_B", 64, 0)
300
+ naja.SNLParameter.create_binary(ram32m, "INIT_C", 64, 0)
301
+ naja.SNLParameter.create_binary(ram32m, "INIT_D", 64, 0)
302
302
 
303
303
 
304
304
  def constructRAM64M(lib):
305
- ram64m = snl.SNLDesign.createPrimitive(lib, "RAM64M")
306
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Output, "DOA")
307
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Output, "DOB")
308
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Output, "DOC")
309
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Output, "DOD")
310
- snl.SNLBusTerm.create(ram64m, snl.SNLTerm.Direction.Input, 5, 0, "ADDRA")
311
- snl.SNLBusTerm.create(ram64m, snl.SNLTerm.Direction.Input, 5, 0, "ADDRB")
312
- snl.SNLBusTerm.create(ram64m, snl.SNLTerm.Direction.Input, 5, 0, "ADDRC")
313
- snl.SNLBusTerm.create(ram64m, snl.SNLTerm.Direction.Input, 5, 0, "ADDRD")
314
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Input, "DIA")
315
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Input, "DIB")
316
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Input, "DIC")
317
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Input, "DID")
318
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Input, "WCLK")
319
- snl.SNLScalarTerm.create(ram64m, snl.SNLTerm.Direction.Input, "WE")
320
- snl.SNLParameter.create_binary(ram64m, "INIT_A", 64, 0)
321
- snl.SNLParameter.create_binary(ram64m, "INIT_B", 64, 0)
322
- snl.SNLParameter.create_binary(ram64m, "INIT_C", 64, 0)
323
- snl.SNLParameter.create_binary(ram64m, "INIT_D", 64, 0)
305
+ ram64m = naja.SNLDesign.createPrimitive(lib, "RAM64M")
306
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Output, "DOA")
307
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Output, "DOB")
308
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Output, "DOC")
309
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Output, "DOD")
310
+ naja.SNLBusTerm.create(ram64m, naja.SNLTerm.Direction.Input, 5, 0, "ADDRA")
311
+ naja.SNLBusTerm.create(ram64m, naja.SNLTerm.Direction.Input, 5, 0, "ADDRB")
312
+ naja.SNLBusTerm.create(ram64m, naja.SNLTerm.Direction.Input, 5, 0, "ADDRC")
313
+ naja.SNLBusTerm.create(ram64m, naja.SNLTerm.Direction.Input, 5, 0, "ADDRD")
314
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Input, "DIA")
315
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Input, "DIB")
316
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Input, "DIC")
317
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Input, "DID")
318
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Input, "WCLK")
319
+ naja.SNLScalarTerm.create(ram64m, naja.SNLTerm.Direction.Input, "WE")
320
+ naja.SNLParameter.create_binary(ram64m, "INIT_A", 64, 0)
321
+ naja.SNLParameter.create_binary(ram64m, "INIT_B", 64, 0)
322
+ naja.SNLParameter.create_binary(ram64m, "INIT_C", 64, 0)
323
+ naja.SNLParameter.create_binary(ram64m, "INIT_D", 64, 0)
324
324
 
325
325
 
326
326
  def constructRAMB18E1(lib):
327
- ramb18e1 = snl.SNLDesign.createPrimitive(lib, "RAMB18E1")
328
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 13, 0, "ADDRARDADDR")
329
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 13, 0, "ADDRBWRADDR")
330
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "CLKARDCLK")
331
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "CLKBWRCLK")
332
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 15, 0, "DIADI")
333
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 15, 0, "DIBDI")
334
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 1, 0, "DIPADIP")
335
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 1, 0, "DIPBDIP")
336
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Output, 15, 0, "DOADO")
337
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Output, 15, 0, "DOBDO")
338
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Output, 1, 0, "DOPADOP")
339
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Output, 1, 0, "DOPBDOP")
340
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "ENARDEN")
341
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "ENBWREN")
342
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "REGCEAREGCE")
343
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "REGCEB")
344
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "RSTRAMARSTRAM")
345
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "RSTRAMB")
346
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "RSTREGARSTREG")
347
- snl.SNLScalarTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, "RSTREGB")
348
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 1, 0, "WEA")
349
- snl.SNLBusTerm.create(ramb18e1, snl.SNLTerm.Direction.Input, 3, 0, "WEBWE")
350
- snl.SNLParameter.create_decimal(ramb18e1, "DOA_REG", 0)
351
- snl.SNLParameter.create_decimal(ramb18e1, "DOB_REG", 0)
352
- snl.SNLParameter.create_binary(ramb18e1, "INIT_A", 18, 0x00000)
353
- snl.SNLParameter.create_binary(ramb18e1, "INIT_B", 18, 0x00000)
327
+ ramb18e1 = naja.SNLDesign.createPrimitive(lib, "RAMB18E1")
328
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 13, 0, "ADDRARDADDR")
329
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 13, 0, "ADDRBWRADDR")
330
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "CLKARDCLK")
331
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "CLKBWRCLK")
332
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 15, 0, "DIADI")
333
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 15, 0, "DIBDI")
334
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 1, 0, "DIPADIP")
335
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 1, 0, "DIPBDIP")
336
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Output, 15, 0, "DOADO")
337
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Output, 15, 0, "DOBDO")
338
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Output, 1, 0, "DOPADOP")
339
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Output, 1, 0, "DOPBDOP")
340
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "ENARDEN")
341
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "ENBWREN")
342
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "REGCEAREGCE")
343
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "REGCEB")
344
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "RSTRAMARSTRAM")
345
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "RSTRAMB")
346
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "RSTREGARSTREG")
347
+ naja.SNLScalarTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, "RSTREGB")
348
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 1, 0, "WEA")
349
+ naja.SNLBusTerm.create(ramb18e1, naja.SNLTerm.Direction.Input, 3, 0, "WEBWE")
350
+ naja.SNLParameter.create_decimal(ramb18e1, "DOA_REG", 0)
351
+ naja.SNLParameter.create_decimal(ramb18e1, "DOB_REG", 0)
352
+ naja.SNLParameter.create_binary(ramb18e1, "INIT_A", 18, 0x00000)
353
+ naja.SNLParameter.create_binary(ramb18e1, "INIT_B", 18, 0x00000)
354
354
  for i in range(64):
355
355
  paramName = "INIT_" + hex(i)[2:].zfill(2).upper()
356
- snl.SNLParameter.create_binary(ramb18e1, paramName, 256, 0)
356
+ naja.SNLParameter.create_binary(ramb18e1, paramName, 256, 0)
357
357
  for i in range(8):
358
358
  paramName = "INITP_" + hex(i)[2:].zfill(2).upper()
359
- snl.SNLParameter.create_binary(ramb18e1, paramName, 256, 0)
360
- snl.SNLParameter.create_string(ramb18e1, "RAM_MODE", "TDP")
361
- snl.SNLParameter.create_decimal(ramb18e1, "READ_WIDTH_A", 0)
362
- snl.SNLParameter.create_decimal(ramb18e1, "READ_WIDTH_B", 0)
363
- snl.SNLParameter.create_binary(ramb18e1, "SRVAL_A", 18, 0)
364
- snl.SNLParameter.create_binary(ramb18e1, "SRVAL_B", 18, 0)
365
- snl.SNLParameter.create_string(ramb18e1, "WRITE_MODE_A", "WRITE_FIRST")
366
- snl.SNLParameter.create_string(ramb18e1, "WRITE_MODE_B", "WRITE_FIRST")
367
- snl.SNLParameter.create_decimal(ramb18e1, "WRITE_WIDTH_A", 0)
368
- snl.SNLParameter.create_decimal(ramb18e1, "WRITE_WIDTH_B", 0)
359
+ naja.SNLParameter.create_binary(ramb18e1, paramName, 256, 0)
360
+ naja.SNLParameter.create_string(ramb18e1, "RAM_MODE", "TDP")
361
+ naja.SNLParameter.create_decimal(ramb18e1, "READ_WIDTH_A", 0)
362
+ naja.SNLParameter.create_decimal(ramb18e1, "READ_WIDTH_B", 0)
363
+ naja.SNLParameter.create_binary(ramb18e1, "SRVAL_A", 18, 0)
364
+ naja.SNLParameter.create_binary(ramb18e1, "SRVAL_B", 18, 0)
365
+ naja.SNLParameter.create_string(ramb18e1, "WRITE_MODE_A", "WRITE_FIRST")
366
+ naja.SNLParameter.create_string(ramb18e1, "WRITE_MODE_B", "WRITE_FIRST")
367
+ naja.SNLParameter.create_decimal(ramb18e1, "WRITE_WIDTH_A", 0)
368
+ naja.SNLParameter.create_decimal(ramb18e1, "WRITE_WIDTH_B", 0)
369
369
 
370
370
 
371
371
  def constructRAMB36E1(lib):
372
- ramb36e1 = snl.SNLDesign.createPrimitive(lib, "RAMB36E1")
373
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 15, 0, "ADDRARDADDR")
374
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 15, 0, "ADDRBWRADDR")
375
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "CASCADEINA")
376
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "CASCADEINB")
377
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, "CASCADEOUTA")
378
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, "CASCADEOUTB")
379
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "CLKARDCLK")
380
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "CLKBWRCLK")
381
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, "DBITERR")
382
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 31, 0, "DIADI")
383
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 31, 0, "DIBDI")
384
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 3, 0, "DIPADIP")
385
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 3, 0, "DIPBDIP")
386
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, 31, 0, "DOADO")
387
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, 31, 0, "DOBDO")
388
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, 3, 0, "DOPADOP")
389
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, 3, 0, "DOPBDOP")
390
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, 7, 0, "ECCPARITY")
391
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "ENARDEN")
392
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "ENBWREN")
393
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "INJECTDBITERR")
394
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "INJECTSBITERR")
395
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, 8, 0, "RDADDRECC")
396
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "REGCEAREGCE")
397
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "REGCEB")
398
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "RSTRAMARSTRAM")
399
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "RSTRAMB")
400
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "RSTREGARSTREG")
401
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, "RSTREGB")
402
- snl.SNLScalarTerm.create(ramb36e1, snl.SNLTerm.Direction.Output, "SBITERR")
403
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 3, 0, "WEA")
404
- snl.SNLBusTerm.create(ramb36e1, snl.SNLTerm.Direction.Input, 7, 0, "WEBWE")
405
-
406
- snl.SNLParameter.create_decimal(ramb36e1, "DOA_REG", 0)
407
- snl.SNLParameter.create_decimal(ramb36e1, "DOB_REG", 0)
408
- snl.SNLParameter.create_binary(ramb36e1, "INIT_A", 36, 0)
409
- snl.SNLParameter.create_binary(ramb36e1, "INIT_B", 36, 0)
372
+ ramb36e1 = naja.SNLDesign.createPrimitive(lib, "RAMB36E1")
373
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 15, 0, "ADDRARDADDR")
374
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 15, 0, "ADDRBWRADDR")
375
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "CASCADEINA")
376
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "CASCADEINB")
377
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, "CASCADEOUTA")
378
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, "CASCADEOUTB")
379
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "CLKARDCLK")
380
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "CLKBWRCLK")
381
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, "DBITERR")
382
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 31, 0, "DIADI")
383
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 31, 0, "DIBDI")
384
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 3, 0, "DIPADIP")
385
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 3, 0, "DIPBDIP")
386
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, 31, 0, "DOADO")
387
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, 31, 0, "DOBDO")
388
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, 3, 0, "DOPADOP")
389
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, 3, 0, "DOPBDOP")
390
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, 7, 0, "ECCPARITY")
391
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "ENARDEN")
392
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "ENBWREN")
393
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "INJECTDBITERR")
394
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "INJECTSBITERR")
395
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, 8, 0, "RDADDRECC")
396
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "REGCEAREGCE")
397
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "REGCEB")
398
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "RSTRAMARSTRAM")
399
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "RSTRAMB")
400
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "RSTREGARSTREG")
401
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, "RSTREGB")
402
+ naja.SNLScalarTerm.create(ramb36e1, naja.SNLTerm.Direction.Output, "SBITERR")
403
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 3, 0, "WEA")
404
+ naja.SNLBusTerm.create(ramb36e1, naja.SNLTerm.Direction.Input, 7, 0, "WEBWE")
405
+
406
+ naja.SNLParameter.create_decimal(ramb36e1, "DOA_REG", 0)
407
+ naja.SNLParameter.create_decimal(ramb36e1, "DOB_REG", 0)
408
+ naja.SNLParameter.create_binary(ramb36e1, "INIT_A", 36, 0)
409
+ naja.SNLParameter.create_binary(ramb36e1, "INIT_B", 36, 0)
410
410
  for i in range(128):
411
411
  paramName = "INIT_" + hex(i)[2:].zfill(2).upper()
412
- snl.SNLParameter.create_binary(ramb36e1, paramName, 256, 0)
413
- snl.SNLParameter.create_string(ramb36e1, "RAM_EXTENSION_A", "NONE")
414
- snl.SNLParameter.create_string(ramb36e1, "RAM_EXTENSION_B", "NONE")
412
+ naja.SNLParameter.create_binary(ramb36e1, paramName, 256, 0)
413
+ naja.SNLParameter.create_string(ramb36e1, "RAM_EXTENSION_A", "NONE")
414
+ naja.SNLParameter.create_string(ramb36e1, "RAM_EXTENSION_B", "NONE")
415
415
  for i in range(16):
416
416
  paramName = "INITP_" + hex(i)[2:].zfill(2).upper()
417
- snl.SNLParameter.create_binary(ramb36e1, paramName, 256, 0)
418
- snl.SNLParameter.create_string(ramb36e1, "RAM_MODE", "TDP")
419
- snl.SNLParameter.create_decimal(ramb36e1, "READ_WIDTH_A", 0)
420
- snl.SNLParameter.create_decimal(ramb36e1, "READ_WIDTH_B", 0)
421
- snl.SNLParameter.create_decimal(ramb36e1, "WRITE_WIDTH_A", 0)
422
- snl.SNLParameter.create_decimal(ramb36e1, "WRITE_WIDTH_B", 0)
423
- snl.SNLParameter.create_binary(ramb36e1, "SRVAL_A", 36, 0)
424
- snl.SNLParameter.create_binary(ramb36e1, "SRVAL_B", 36, 0)
425
- snl.SNLParameter.create_string(ramb36e1, "WRITE_MODE_A", "WRITE_FIRST")
426
- snl.SNLParameter.create_string(ramb36e1, "WRITE_MODE_B", "WRITE_FIRST")
417
+ naja.SNLParameter.create_binary(ramb36e1, paramName, 256, 0)
418
+ naja.SNLParameter.create_string(ramb36e1, "RAM_MODE", "TDP")
419
+ naja.SNLParameter.create_decimal(ramb36e1, "READ_WIDTH_A", 0)
420
+ naja.SNLParameter.create_decimal(ramb36e1, "READ_WIDTH_B", 0)
421
+ naja.SNLParameter.create_decimal(ramb36e1, "WRITE_WIDTH_A", 0)
422
+ naja.SNLParameter.create_decimal(ramb36e1, "WRITE_WIDTH_B", 0)
423
+ naja.SNLParameter.create_binary(ramb36e1, "SRVAL_A", 36, 0)
424
+ naja.SNLParameter.create_binary(ramb36e1, "SRVAL_B", 36, 0)
425
+ naja.SNLParameter.create_string(ramb36e1, "WRITE_MODE_A", "WRITE_FIRST")
426
+ naja.SNLParameter.create_string(ramb36e1, "WRITE_MODE_B", "WRITE_FIRST")
427
427
 
428
428
 
429
429
  def load(db):
430
430
  logging.info("Loading Xilinx primitives")
431
- lib = snl.SNLLibrary.createPrimitives(db, "xilinx")
431
+ lib = naja.NLLibrary.createPrimitives(db, "xilinx")
432
432
  constructIBUF(lib)
433
433
  constructOBUF(lib)
434
434
  constructBUFG(lib)