From c96a5e5f4488cde3ab5d82f9d67288a4971ef146 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Thu, 24 Oct 2019 14:55:03 -0700 Subject: [PATCH 1/3] Print the firrtl exception if we get one Fixes #67 --- tapeout/src/main/scala/transforms/Generate.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tapeout/src/main/scala/transforms/Generate.scala b/tapeout/src/main/scala/transforms/Generate.scala index e8a64eb7..58e0c83b 100644 --- a/tapeout/src/main/scala/transforms/Generate.scala +++ b/tapeout/src/main/scala/transforms/Generate.scala @@ -218,8 +218,8 @@ sealed trait GenerateTopAndHarnessApp extends LazyLogging { this: App => case x: FirrtlExecutionSuccess => dump(x, tapeoutOptions.topFir, tapeoutOptions.topAnnoOut) x.circuitState.circuit.modules.collect{ case e: ExtModule => e } - case _ => - throw new Exception("executeTop failed on illegal FIRRTL input!") + case e => + throw new Exception(s"executeTop failed while executing FIRRTL!\n${e}") } } @@ -243,7 +243,7 @@ sealed trait GenerateTopAndHarnessApp extends LazyLogging { this: App => val harnessResult = firrtl.Driver.execute(optionsManager) harnessResult match { case x: FirrtlExecutionSuccess => dump(x, tapeoutOptions.harnessFir, tapeoutOptions.harnessAnnoOut) - case _ => + case e => throw new Exception(s"executeHarness failed while executing FIRRTL!\n${e}") } } } From c1004790cc6eecb1802c05421699933d8a0ce04d Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Mon, 28 Oct 2019 07:33:04 -0700 Subject: [PATCH 2/3] Use x instead of e to match other case --- tapeout/src/main/scala/transforms/Generate.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tapeout/src/main/scala/transforms/Generate.scala b/tapeout/src/main/scala/transforms/Generate.scala index 58e0c83b..6a9e7823 100644 --- a/tapeout/src/main/scala/transforms/Generate.scala +++ b/tapeout/src/main/scala/transforms/Generate.scala @@ -218,7 +218,7 @@ sealed trait GenerateTopAndHarnessApp extends LazyLogging { this: App => case x: FirrtlExecutionSuccess => dump(x, tapeoutOptions.topFir, tapeoutOptions.topAnnoOut) x.circuitState.circuit.modules.collect{ case e: ExtModule => e } - case e => + case x => throw new Exception(s"executeTop failed while executing FIRRTL!\n${e}") } } @@ -243,7 +243,7 @@ sealed trait GenerateTopAndHarnessApp extends LazyLogging { this: App => val harnessResult = firrtl.Driver.execute(optionsManager) harnessResult match { case x: FirrtlExecutionSuccess => dump(x, tapeoutOptions.harnessFir, tapeoutOptions.harnessAnnoOut) - case e => throw new Exception(s"executeHarness failed while executing FIRRTL!\n${e}") + case x => throw new Exception(s"executeHarness failed while executing FIRRTL!\n${e}") } } } From 1e114d03558089789b5391675dee933e2175c18a Mon Sep 17 00:00:00 2001 From: Abraham Gonzalez Date: Thu, 7 Nov 2019 10:17:24 -0800 Subject: [PATCH 3/3] Match inner variables --- tapeout/src/main/scala/transforms/Generate.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tapeout/src/main/scala/transforms/Generate.scala b/tapeout/src/main/scala/transforms/Generate.scala index 6a9e7823..eb10503e 100644 --- a/tapeout/src/main/scala/transforms/Generate.scala +++ b/tapeout/src/main/scala/transforms/Generate.scala @@ -219,7 +219,7 @@ sealed trait GenerateTopAndHarnessApp extends LazyLogging { this: App => dump(x, tapeoutOptions.topFir, tapeoutOptions.topAnnoOut) x.circuitState.circuit.modules.collect{ case e: ExtModule => e } case x => - throw new Exception(s"executeTop failed while executing FIRRTL!\n${e}") + throw new Exception(s"executeTop failed while executing FIRRTL!\n${x}") } } @@ -243,7 +243,7 @@ sealed trait GenerateTopAndHarnessApp extends LazyLogging { this: App => val harnessResult = firrtl.Driver.execute(optionsManager) harnessResult match { case x: FirrtlExecutionSuccess => dump(x, tapeoutOptions.harnessFir, tapeoutOptions.harnessAnnoOut) - case x => throw new Exception(s"executeHarness failed while executing FIRRTL!\n${e}") + case x => throw new Exception(s"executeHarness failed while executing FIRRTL!\n${x}") } } }