diff options
| author | Adam Izraelevitz | 2016-02-03 13:29:35 -0800 |
|---|---|---|
| committer | Adam Izraelevitz | 2016-02-03 13:29:35 -0800 |
| commit | caeecf42118c9561193770bc2a4ff0d741fb6c9a (patch) | |
| tree | 21865b8dc691f6dd0767c53fc85c525036edf0ae | |
| parent | 8d8c407c0c1693160d6f0972165e376e09aa99c9 (diff) | |
| parent | 7441d8c5c556f2a8c2feb46d76ef051841ef71de (diff) | |
Merge pull request #94 from ucb-bar/chisel2-driver
Add some Chisel2 driver emulation methods
| -rw-r--r-- | src/main/scala/Chisel/Driver.scala | 3 | ||||
| -rw-r--r-- | src/main/scala/Chisel/FileSystemUtilities.scala | 10 | ||||
| -rw-r--r-- | src/main/scala/Chisel/Main.scala | 8 | ||||
| -rw-r--r-- | src/main/scala/Chisel/throwException.scala | 11 |
4 files changed, 32 insertions, 0 deletions
diff --git a/src/main/scala/Chisel/Driver.scala b/src/main/scala/Chisel/Driver.scala index 6a5e2095..a6f61f69 100644 --- a/src/main/scala/Chisel/Driver.scala +++ b/src/main/scala/Chisel/Driver.scala @@ -113,4 +113,7 @@ object Driver extends BackendCompilationUtilities { w.close() f } + + // FIXME: This is hard coded and should come in from a command-line argument + def targetDir(): String = { "vsim/generated-src" } } diff --git a/src/main/scala/Chisel/FileSystemUtilities.scala b/src/main/scala/Chisel/FileSystemUtilities.scala new file mode 100644 index 00000000..efb7178d --- /dev/null +++ b/src/main/scala/Chisel/FileSystemUtilities.scala @@ -0,0 +1,10 @@ +// See LICENSE for details + +package Chisel + +@deprecated("FileSystemUtilities doesn't exist in chisel3", "3.0.0") +trait FileSystemUtilities { + def createOutputFile(name: String) = { + new java.io.FileWriter(Driver.targetDir + "/" + name) + } +} diff --git a/src/main/scala/Chisel/Main.scala b/src/main/scala/Chisel/Main.scala index 23abc763..750e8712 100644 --- a/src/main/scala/Chisel/Main.scala +++ b/src/main/scala/Chisel/Main.scala @@ -2,7 +2,15 @@ package Chisel +import java.io.File + @deprecated("chiselMain doesn't exist in Chisel3", "3.0") object chiselMain { def apply[T <: Module](args: Array[String], gen: () => T) = Predef.assert(false) + + def run[T <: Module] (args: Array[String], gen: () => T) = { + def circuit = Driver.elaborate(gen) + def output_file = new File(Driver.targetDir + "/" + circuit.name + ".fir") + Driver.dumpFirrtl(circuit, Option(output_file)) + } } diff --git a/src/main/scala/Chisel/throwException.scala b/src/main/scala/Chisel/throwException.scala new file mode 100644 index 00000000..998b2cd6 --- /dev/null +++ b/src/main/scala/Chisel/throwException.scala @@ -0,0 +1,11 @@ +// See LICENSE for details + +package Chisel + +@deprecated("throwException doesn't exist in Chisel3", "3.0.0") +object throwException { + def apply(s: String, t: Throwable = null) = { + val xcpt = new Exception(s, t) + throw xcpt + } +} |
