From afca748efc63a074f1cc1943dda65616ace1ceac Mon Sep 17 00:00:00 2001 From: Jim Lawson Date: Thu, 27 Aug 2015 09:59:40 -0700 Subject: Add chisel2 scaladoc for 'when'. --- src/main/scala/Chisel/Core.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/scala/Chisel/Core.scala b/src/main/scala/Chisel/Core.scala index 987569e9..d04d55bf 100644 --- a/src/main/scala/Chisel/Core.scala +++ b/src/main/scala/Chisel/Core.scala @@ -865,16 +865,31 @@ abstract class BlackBox(_clock: Clock = null, _reset: Bool = null) extends Modul def setVerilogParameters(s: String): Unit = {} } +/** An object to create conditional logic. + * @example + * {{{ + * when ( myData === UInt(3) ) { + * ... // Some logic + * } .elsewhen ( myData === UInt(1) ) { + * ... // Some logic + * } .otherwise { + * ... // Some logic + * } }}} + */ object when { + /** @param cond condition to execute upon + * @param block a section of logic to enable if cond is true */ def apply(cond: => Bool)(block: => Unit): WhenContext = { new WhenContext(cond)(block) } } class WhenContext(cond: => Bool)(block: => Unit) { + /** execute block when alternative cond is true */ def elsewhen (cond: => Bool)(block: => Unit): WhenContext = doOtherwise(when(cond)(block)) + /** execute block by default */ def otherwise(block: => Unit): Unit = doOtherwise(block) -- cgit v1.2.3