|
|
|
|
@ -330,11 +330,16 @@ class SimOps:
@@ -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] |
|
|
|
|
|