2016-10-14 4 views
3

チゼルはデザインで複数のクロックをサポートしていますか?私が非同期FIFOを実装したいのであれば、チゼルでこれを行う方法はどうでしょうか?chisel asynch fifo/multipleクロック。

+0

はい、しかし、私は自分自身の詳細についてはあまり知りません。私はロケットチップのコード(https://github.com/ucb-bar/rocket-chip/blob/master/src/main/scala/util/AsyncQueue.scala)を読んでいました。 – Chris

答えて

2

はいチゼルはデザイン内で複数のクロックをサポートします。あなたは、非同期FIFOを使用する場合は、モジュールChiselUtilをインポートすることができ、それは非同期FIFO含まれています。reg(の引数クロックを使用して、レジスタのためのクロック・ドメインを変更するには https://github.com/ucb-bar/chisel/blob/master/src/main/scala/ChiselUtil.scala#L599

を):

val s1 = Reg(init = UInt(0), clock = clockB) 

tutorialの第16章を参照してください。

+0

FYI、それはChisel2です、Chisel3は着陸しようとしています。私は彼らがそれを別々に扱うと信じています。 https://github.com/ucb-bar/chisel3 – Chris

+0

しかしChisel3はまだリリースされていません。すぐにリリースされることを願っています。 – FabienM