Какая разница между <= и = в 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 за подсказку.

Другие вопросы по тегам