diff options
| author | ducky | 2017-11-03 18:34:46 -0700 |
|---|---|---|
| committer | Richard Lin | 2018-01-02 13:41:13 -0800 |
| commit | 7c3c18de2ffd56af51b99030c7ae7d3a321aed5f (patch) | |
| tree | 55bc9cbb4cf5a1ba6c2d3e4c57dd9e3b6367060c /src/main/scala/chisel3 | |
| parent | cb7fcd2b18135230dc40f3c7bb98685e7ffde9d5 (diff) | |
Autoclonetype initial prototype
Diffstat (limited to 'src/main/scala/chisel3')
| -rw-r--r-- | src/main/scala/chisel3/compatibility.scala | 12 | ||||
| -rw-r--r-- | src/main/scala/chisel3/testers/BasicTester.scala | 9 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/main/scala/chisel3/compatibility.scala b/src/main/scala/chisel3/compatibility.scala index f299a287..3c12b483 100644 --- a/src/main/scala/chisel3/compatibility.scala +++ b/src/main/scala/chisel3/compatibility.scala @@ -250,9 +250,9 @@ package object Chisel { // scalastyle:ignore package.object.name abstract class BlackBox(params: Map[String, Param] = Map.empty[String, Param]) extends chisel3.core.BlackBox(params) { // This class auto-wraps the BlackBox with IO(...), allowing legacy code (where IO(...) wasn't // required) to build. - override def _autoWrapPorts(): Unit = { // scalastyle:ignore method.name - if (!_ioPortBound()) { - IO(io) + override def _compatAutoWrapPorts(): Unit = { // scalastyle:ignore method.name + if (!_compatIoPortBound()) { + _bindIoInPlace(io) } } } @@ -278,9 +278,9 @@ package object Chisel { // scalastyle:ignore package.object.name def this(_clock: Clock, _reset: Bool)(implicit moduleCompileOptions: CompileOptions) = this(Option(_clock), Option(_reset))(moduleCompileOptions) - override def _autoWrapPorts(): Unit = { // scalastyle:ignore method.name - if (!_ioPortBound() && io != null) { - IO(io) + override def _compatAutoWrapPorts(): Unit = { // scalastyle:ignore method.name + if (!_compatIoPortBound() && io != null) { + _bindIoInPlace(io) } } } diff --git a/src/main/scala/chisel3/testers/BasicTester.scala b/src/main/scala/chisel3/testers/BasicTester.scala index 6d1a4913..4cd03863 100644 --- a/src/main/scala/chisel3/testers/BasicTester.scala +++ b/src/main/scala/chisel3/testers/BasicTester.scala @@ -11,9 +11,14 @@ import internal.firrtl._ import internal.sourceinfo.SourceInfo //import chisel3.core.ExplicitCompileOptions.NotStrict -class BasicTester extends Module() { +class TesterIO extends Bundle { // The testbench has no IOs, rather it should communicate using printf, assert, and stop. - val io = IO(new Bundle()) + // This is here (instead of just `new Bundle()`, since that has an implicit compileOptions + // constructor argument which is misapplied by clonetype +} + +class BasicTester extends Module() { + val io = IO(new TesterIO) def popCount(n: Long): Int = n.toBinaryString.count(_=='1') |
