1
0

Plusargs -- tilelink timeout detection from the command line (#752)

* util: PlusArg gives Chisel access to the command-line

* tilelink2: add a progress watchdog to Monitors
This commit is contained in:
Wesley W. Terpstra
2017-05-18 22:49:59 -07:00
committed by GitHub
parent 20704b1454
commit 7f1d3c445f
5 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,21 @@
// See LICENSE.SiFive for license details.
package util
import Chisel._
class plusarg_reader(format: String, default: Int) extends BlackBox(Map(
"FORMAT" -> chisel3.core.StringParam(format),
"DEFAULT" -> chisel3.core.IntParam(default))) {
val io = new Bundle {
val out = UInt(OUTPUT, width = 32)
}
}
object PlusArg
{
// PlusArg("foo") will return 42 if the simulation is run with +foo=42
// Do not use this as an initial register value. The value is set in an
// initial block and thus accessing it from another initial is racey.
def apply(name: String, default: Int = 0): UInt =
Module(new plusarg_reader(name + "=%d", default)).io.out
}