долото асинхронный fifo / несколько часов.

#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 еще не выпущен. Я надеюсь, что он скоро выйдет.