Какая разница между <= и = в cocotb?
Кажется, что я могу использовать безразлично<= или =, чтобы установить значение входного сигнала на моем дизайне. Есть ли реальная разница между двумя?
dut.button_in = 0
или же
dut.button_in <= 0
У меня точно такая же выходная хронограмма.
1 ответ
Решение
Ответ можно найти здесь.
Между <= и = нет принципиальной разницы, за исключением того, что = может перезаписать ссылку, а <= используется только для присвоения значения.
Александр Спирин приводит несколько примеров, иллюстрирующих проблему:
@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
Спасибо Vinay Madapura за подсказку.