Может ли в SystemC порт типа sc_signal_in/out быть привязан к первичному каналу sc_buffer?

Я использую SystemC для моделирования, и меня немного смущает "канал", который включает в себя сигнал, буфер и fifo.

Так может ли кто-нибудь сказать мне разницу сигнала и буфера? Это то же самое, что разница между проводной и регистровой переменными в Verilog HDL? Может ли сигнал быть связан с буферной переменной?

1 ответ

Решение

sc_buffer а также sc_signal оба примитивных канала, которые реализуют sc_signal_inout_if; "буфер" - это объект типа sc_bufferв то время как "сигнал" является объектом типа sc_signal, Единственное различие между ними состоит в том, что вы получаете событие изменения значения всякий раз, когда записывается буфер, независимо от того, изменяет он значение или нет.

В Verilog нет аналога, так что ничего общего с проводами и регистрами нет. В VHDL есть нечто похожее. <sig>'transaction дает вам неявный сигнал, который переключается между "0" и "1" в дельта-цикле всякий раз, когда <sig> написано, независимо от того, <sig> изменения. <sig>'event верно только в дельте, когда <sig> действительно изменился.

Короче говоря, используйте буфер, когда вам нужно знать, был ли записан канал, даже если запись ничего не изменила.

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