chisel asynch fifo / несколько часов.

Поддерживает ли Chisel несколько часов в проекте? Если бы я хотел реализовать асинхронный FIFO, как бы это можно было сделать в Chisel?


person Dennis Skey    schedule 14.10.2016    source источник
comment
Да, но я сам мало что знаю о деталях. Я бы прочитал код ракетного чипа (github.com/ucb-bar/rocket-chip/blob/master/src/main/scala/util/) для начала.   -  person Chris    schedule 15.10.2016


Ответы (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.

person FabienM    schedule 17.10.2016
comment
К вашему сведению, это Chisel2, Chisel3 вот-вот приземлится, и я считаю, что они справляются с этим по-другому. github.com/ucb-bar/chisel3 - person Chris; 18.10.2016
comment
Но Chisel3 еще не выпущен. Надеюсь, он скоро выйдет. - person FabienM; 18.10.2016