File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed
src/main/scala/chisel3/util Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -191,7 +191,8 @@ class Queue[T <: Data](gen: T,
191
191
flow : Boolean = false )
192
192
(implicit compileOptions : chisel3.CompileOptions )
193
193
extends Module () {
194
-
194
+ require(entries > - 1 , " Queue must have non-negative number of entries" )
195
+ require(entries != 0 , " Use companion object Queue.apply for zero entries" )
195
196
val genType = if (compileOptions.declaredTypeMustBeUnbound) {
196
197
requireIsChiselType(gen)
197
198
gen
@@ -283,7 +284,6 @@ object Queue
283
284
enq.ready := deq.ready
284
285
deq
285
286
} else {
286
- require(entries > 0 )
287
287
val q = Module (new Queue (chiselTypeOf(enq.bits), entries, pipe, flow))
288
288
q.io.enq.valid := enq.valid // not using <> so that override is allowed
289
289
q.io.enq.bits := enq.bits
@@ -302,9 +302,9 @@ object Queue
302
302
enq : ReadyValidIO [T ],
303
303
entries : Int = 2 ,
304
304
pipe : Boolean = false ,
305
- flow : Boolean = false ): IrrevocableIO [T ] = {
306
- require(entries > 0 ) // Zero-entry queues don't guarantee Irrevocability
305
+ flow : Boolean = false ): IrrevocableIO [T ] = {
307
306
val deq = apply(enq, entries, pipe, flow)
307
+ require(entries > 0 , " Zero-entry queues don't guarantee Irrevocability" )
308
308
val irr = Wire (new IrrevocableIO (deq.bits))
309
309
irr.bits := deq.bits
310
310
irr.valid := deq.valid
You can’t perform that action at this time.
0 commit comments