35 lines
953 B
Scala
35 lines
953 B
Scala
package uncore
|
|
|
|
import Chisel._
|
|
import config._
|
|
import junctions.PAddrBits
|
|
import uncore.tilelink._
|
|
import uncore.agents._
|
|
import uncore.coherence._
|
|
|
|
object UncoreBuilder extends App {
|
|
val topModuleName = args(0)
|
|
val configClassName = args(1)
|
|
val config = try {
|
|
Class.forName(s"uncore.$configClassName").newInstance.asInstanceOf[Config]
|
|
} catch {
|
|
case e: java.lang.ClassNotFoundException =>
|
|
throwException("Unable to find configClassName \"" + configClassName +
|
|
"\", did you misspell it?", e)
|
|
}
|
|
val world = config.toInstance
|
|
val paramsFromConfig: Parameters = Parameters.root(world)
|
|
|
|
val gen = () =>
|
|
Class.forName(s"uncore.$topModuleName")
|
|
.getConstructor(classOf[Parameters])
|
|
.newInstance(paramsFromConfig)
|
|
.asInstanceOf[Module]
|
|
|
|
chiselMain.run(args.drop(2), gen)
|
|
|
|
val pdFile = new java.io.FileWriter(s"${Driver.targetDir}/$topModuleName.prm")
|
|
pdFile.close
|
|
|
|
}
|