Compare commits

...

3 Commits

  1. 14
      .gitignore
  2. 4
      src/kyupy/sim.py
  3. 1
      src/kyupy/techlib.py

14
.gitignore vendored

@ -1,12 +1,14 @@
__pycache__ __pycache__/
.ipynb_checkpoints .ipynb_checkpoints
.pytest_cache .pytest_cache
.DS_Store .DS_Store
*.pyc
docs/_build
build
dist
.idea .idea
.vscode .vscode
src/kyupy.egg-info .venv
*.py[oc]
docs/_build
build/
dist/
wheels/
*.egg-info
*nogit* *nogit*

4
src/kyupy/sim.py

@ -272,10 +272,10 @@ class SimOps:
# allocate and keep memory for PI/PPI, keep memory for PO/PPO (allocated later) # allocate and keep memory for PI/PPI, keep memory for PO/PPO (allocated later)
for i, n in enumerate(circuit.s_nodes): for i, n in enumerate(circuit.s_nodes):
if len(n.outs) > 0: if 'dff' in n.kind.lower() or len(n.ins) == 0: # PPI or PI
self.c_locs[self.ppi_offset + i], self.c_caps[self.ppi_offset + i] = h.alloc(c_caps_min), c_caps_min self.c_locs[self.ppi_offset + i], self.c_caps[self.ppi_offset + i] = h.alloc(c_caps_min), c_caps_min
ref_count[self.ppi_offset + i] += 1 ref_count[self.ppi_offset + i] += 1
if len(n.ins) > 0: if len(n.ins) > 0: # PO
i0_idx = stems[n.ins[0]] if stems[n.ins[0]] >= 0 else n.ins[0] i0_idx = stems[n.ins[0]] if stems[n.ins[0]] >= 0 else n.ins[0]
ref_count[i0_idx] += 1 ref_count[i0_idx] += 1

1
src/kyupy/techlib.py

@ -98,6 +98,7 @@ OA211 input(i0,i1,i2,i3) output(o) o=OA211(i0,i1,i2,i3) ;
AOI211 input(i0,i1,i2,i3) output(o) o=AOI211(i0,i1,i2,i3) ; AOI211 input(i0,i1,i2,i3) output(o) o=AOI211(i0,i1,i2,i3) ;
OAI211 input(i0,i1,i2,i3) output(o) o=OAI211(i0,i1,i2,i3) ; OAI211 input(i0,i1,i2,i3) output(o) o=OAI211(i0,i1,i2,i3) ;
MUX21 input(i0,i1,i2) output(o) o=MUX21(i0,i1,i2) ; MUX21 input(i0,i1,i2) output(o) o=MUX21(i0,i1,i2) ;
DFF input(D,CLK) output(Q) Q=DFF(D,CLK) ;
""") """)
"""A synthetic library of all KyuPy simulation primitives. """A synthetic library of all KyuPy simulation primitives.
""" """

Loading…
Cancel
Save