Мы используем ShiftRegister в Chisel 2 для реализации задержки. Но неясно, как заставить его инициализировать значение по нашему выбору, например, принудительно установить его равным нулю (НЕ случайным образом). Как это сделать?
Как инициализировать примитив ShiftRegister в Chisel
Ответы (1)
У меня немного с Chisel 2, но я считаю, что этот метод ShiftRegister.apply должен работать.
В Chisel 3 есть открытый PR для добавления этой функциональности. Без этого PR все еще возможно следующее:
val shiftIn = Wire(UInt(32.W))
val shiftReg = ShiftRegister(Mux(reset, RESET_VALUE, shiftIn), n)
Просто подключитесь к shiftIn
для ввода в shiftReg.
person
Jack Koenig
schedule
18.01.2017
Предлагаемое решение может работать при условии, что сигнал «сброса» гарантированно будет активен в течение как минимум «n» циклов, что не всегда гарантируется. Посмотрим на метод применения регистра сдвига.
- person seanhalle; 25.01.2017