Shift Registers
Serial-In Serial-Out (SISO) shift register.
# SISO :: I:In(Bit), O:Out(Bit)
SISO(n, init=1, has_ce=False, has_reset=False)
Serial-In Parallel-Out (SIPO) shift register.
# SIPO :: I:In(Bit), O:Out(Bits(n))
SIPO(n, init=1, has_ce=False, has_reset=False)
Parallel-In Serial-Out (PISO) shift register.
# PISO :: SI:In(Bit), PI:In(Bits(n)), LOAD:In(Bit), O:Out(Bits(n))
PISO(n, init=1, has_ce=False, has_reset=False, has_set=False)
Parallel-In Parallel-Out (PIPO) shift register.
# PIPO :: SI:In(Bit, PI:In(Bits(n)), LOAD:In(Bit), O:Out(Bit)
PIPO(n, init=1, has_ce=False, has_reset=False)
Ring Counter
# Ring :: O:Out(Bits(n))
Ring(n, init=1, has_ce=False, has_reset=False)
Johnson Counter
# Johnson :: O:Out(Bits(n))
Johnson(n, init=1, has_ce=False, has_reset=False)