There is no fundamental difference between <= and = except that = can ovewrite the reference and <= is only used for value assignement.
AlexanderSpirin give some examples to illustrate the problem :
@cocotb.test()
def parallel_example(dut):
reset_n = dut.reset
dut.reset = 1 # OK
dut.reset <= 1 # OK hdl-like shortcut for the next one
dut.reset.value = 1 # OK
reset_n <= 1 # OK
reset_n.value = 1 # OK
reset_n = 1 # Doesn't work: reference overwrite
The answer can be found here.
There is no fundamental difference between <= and = except that = can ovewrite the reference and <= is only used for value assignement.
AlexanderSpirin give some examples to illustrate the problem :
Thanks to Vinay Madupura for the clue.