diff options
| author | Kevin Laeufer | 2021-11-04 09:39:08 -0700 |
|---|---|---|
| committer | GitHub | 2021-11-04 16:39:08 +0000 |
| commit | 7ef3e1ba9d1a748bd39f8d4f279e8d4e34bb4cc7 (patch) | |
| tree | 88c27b7200711c062f12ab0930af97228c9548fe /src | |
| parent | e298b01d3086e78c187cb1c3611a206216499031 (diff) | |
BlackBoxSourceHelper: ensure trailing newline in .f file (#2405)
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/transforms/BlackBoxSourceHelper.scala | 2 | ||||
| -rw-r--r-- | src/test/scala/firrtlTests/transforms/BlackBoxSourceHelperSpec.scala | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/transforms/BlackBoxSourceHelper.scala b/src/main/scala/firrtl/transforms/BlackBoxSourceHelper.scala index fb3f2be8..12691079 100644 --- a/src/main/scala/firrtl/transforms/BlackBoxSourceHelper.scala +++ b/src/main/scala/firrtl/transforms/BlackBoxSourceHelper.scala @@ -135,7 +135,7 @@ class BlackBoxSourceHelper extends Transform with DependencyAPIMigration { // make[1]: *** No rule to make target `test_run_dir/examples.AccumBlackBox_PeekPokeTest_Verilator345491158/AccumBlackBox.v', needed by `.../chisel-testers/test_run_dir/examples.AccumBlackBox_PeekPokeTest_Verilator345491158/VAccumBlackBoxWrapper.h'. Stop. // or we end up including the same file multiple times. if (verilogSourcesOnly.nonEmpty) { - writeTextToFile(verilogSourcesOnly.map(_.getCanonicalPath).mkString("\n"), filelistFile) + writeTextToFile(verilogSourcesOnly.map(_.getCanonicalPath).mkString("\n") + "\n", filelistFile) } state diff --git a/src/test/scala/firrtlTests/transforms/BlackBoxSourceHelperSpec.scala b/src/test/scala/firrtlTests/transforms/BlackBoxSourceHelperSpec.scala index 45be4cb3..62160e09 100644 --- a/src/test/scala/firrtlTests/transforms/BlackBoxSourceHelperSpec.scala +++ b/src/test/scala/firrtlTests/transforms/BlackBoxSourceHelperSpec.scala @@ -193,4 +193,19 @@ class BlacklBoxSourceHelperTransformSpec extends LowTransformSpec { new File(subdir, filename) should exist new File(dir, filename) shouldNot exist } + + "verilog file list" should "end with a newline" in { + val annos = Seq( + BlackBoxTargetDirAnno("test_run_dir"), + BlackBoxResourceAnno(moduleName, "/blackboxes/AdderExtModule.v") + ) + + execute(input, output, annos) + + val filename = os.pwd / "test_run_dir" / BlackBoxSourceHelper.defaultFileListName + assert(os.exists(filename), "verilog file list should exist") + val content = os.read(filename) + assert(content.contains("AdderExtModule.v")) + assert(content.last == '\n', "Some simulators like Icarus Verilog seem to expect a trailing new line character") + } } |
