diff --git a/src/kyupy/logic_sim.py b/src/kyupy/logic_sim.py index 42798d2..aaceb3c 100644 --- a/src/kyupy/logic_sim.py +++ b/src/kyupy/logic_sim.py @@ -492,7 +492,7 @@ class LogicSim4V(sim.SimOps): self._full_mask = np.full(self.c.shape[-1], 255, dtype=np.uint8) def __repr__(self): - return f'{{name: "{self.circuit.name}", sims: {self.sims}, c_bytes: {eng(self.c.nbytes)}}}' + return f'{{name: "{self.circuit.name}", sims: {self.sims}, s_len: {self.s_len}, c_bytes: {eng(self.c.nbytes)}}}' def s_to_c(self): """Assigns the values from ``self.s_assign`` to the inputs of the combinational portion. diff --git a/src/kyupy/sim.py b/src/kyupy/sim.py index c1dfcae..d7e443e 100644 --- a/src/kyupy/sim.py +++ b/src/kyupy/sim.py @@ -330,11 +330,16 @@ class SimOps: self.prim_counts = dict(d) self.pi_s_locs = np.flatnonzero(self.c_locs[self.ppi_offset+np.arange(len(self.circuit.io_nodes))] >= 0) + """Locations in pattern array (axis 0) of all primary inputs (excluding flip-flops).""" self.po_s_locs = np.flatnonzero(self.c_locs[self.ppo_offset+np.arange(len(self.circuit.io_nodes))] >= 0) + """Locations in pattern array (axis 0) of all primary outputs (excluding flip-flops).""" self.ppio_s_locs = np.arange(len(self.circuit.io_nodes), self.s_len) + """Locations in pattern array (axis 0) of all flip-flops. Pseudo-primary inputs (PPI) and pseudo-primary outputs (PPO) share the same location.""" self.pippi_s_locs = np.concatenate([self.pi_s_locs, self.ppio_s_locs]) + """Locations in pattern array (axis 0) of all primary and pseudo-primary inputs (input ports and flip-flops).""" self.poppo_s_locs = np.concatenate([self.po_s_locs, self.ppio_s_locs]) + """Locations in pattern array (axis 0) of all primary and pseudo-primary outputs (output ports and flip-flops).""" self.pi_c_locs = self.c_locs[self.ppi_offset+self.pi_s_locs] self.po_c_locs = self.c_locs[self.ppo_offset+self.po_s_locs]