#fifo #chisel
#fifo #долото
Вопрос:
Поддерживает ли Chisel несколько часов в дизайне? Если бы я хотел реализовать асинхронный fifo, как можно было бы сделать это в Chisel?
Комментарии:
1. Да, но я сам не очень разбираюсь в деталях. Я бы прочитал код rocket-chip ( github.com/ucb-bar/rocket-chip/blob/master/src/main/scala/util /… ) для начала.
Ответ №1:
Да, Chisel поддерживает несколько часов в дизайне. Если вы хотите использовать асинхронный fifo, вы можете импортировать модуль ChiselUtil, он содержит асинхронный fifo: https://github.com/ucb-bar/chisel/blob/master/src/main/scala/ChiselUtil.scala#L599
Чтобы изменить домен синхронизации для регистра, используйте clock аргумента Reg() :
val s1 = Reg(init = UInt(0), clock = clockB)
См. Дополнительную информацию в главе 16 учебника.
Комментарии:
1. К вашему сведению, это Chisel2, Chisel3 вот-вот приземлится, и я считаю, что они справляются с этим по-другому. github.com/ucb-bar/chisel3
2. Но Chisel3 еще не выпущен. Я надеюсь, что он скоро выйдет.