Browse Source

euivalence test, op format doc

devel
Stefan Holst 4 days ago
parent
commit
3dfd0cb60d
  1. 1
      src/kyupy/sim.py
  2. 9
      tests/test_circuit.py

1
src/kyupy/sim.py

@ -233,6 +233,7 @@ class SimOps: @@ -233,6 +233,7 @@ class SimOps:
self.levels = [np.asarray(lv, dtype=np.int32) for lv in levels[::-1]]
level_sums = np.cumsum([0]+[len(lv) for lv in self.levels], dtype=np.int32)
self.level_starts, self.level_stops = level_sums[:-1], level_sums[1:]
# op format: [kind, out0, in0, in1, in2, in3, wsa_acc_pos, wsa_rise, wsa_fall]
self.ops = np.vstack(self.levels)
# create a map from fanout lines to stem lines for fork stripping

9
tests/test_circuit.py

@ -131,7 +131,14 @@ def test_pickle(mydir): @@ -131,7 +131,14 @@ def test_pickle(mydir):
cs = pickle.dumps(c)
assert cs is not None
c2 = pickle.loads(cs)
assert c == c2
assert len(c.nodes) == len(c2.nodes)
def test_equivalency():
c1 = bench.parse('input(a) output(z) z=not(a)')
c2 = bench.parse('input(a) output(z) z=not(a)')
assert c1 != c2
assert c1.lines[0] != c2.lines[0]
assert c1.nodes[0] != c2.nodes[0]
def test_substitute():

Loading…
Cancel
Save