diff options
author | Claire Wolf <claire@symbioticeda.com> | 2020-05-01 17:26:34 +0200 |
---|---|---|
committer | Claire Wolf <claire@symbioticeda.com> | 2020-05-02 11:21:01 +0200 |
commit | c3e5a070eac753cfd54058f7e186bad0742301ed (patch) | |
tree | c3ddd6897e36eb9623c3eb213ad9a68d4a1fbfed /passes/tests | |
parent | f38d76efbfa456533837d614822d2b89302386f9 (diff) | |
download | yosys-c3e5a070eac753cfd54058f7e186bad0742301ed.tar.gz yosys-c3e5a070eac753cfd54058f7e186bad0742301ed.tar.bz2 yosys-c3e5a070eac753cfd54058f7e186bad0742301ed.zip |
Add plusargs for output files in test_autotb output
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
Diffstat (limited to 'passes/tests')
-rw-r--r-- | passes/tests/test_autotb.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/passes/tests/test_autotb.cc b/passes/tests/test_autotb.cc index 42e8a61ea..19f21493d 100644 --- a/passes/tests/test_autotb.cc +++ b/passes/tests/test_autotb.cc @@ -81,6 +81,7 @@ static void autotest(std::ostream &f, RTLIL::Design *design, int num_iter, int s f << stringf("integer i;\n"); f << stringf("integer file;\n\n"); + f << stringf("reg [1023:0] filename;\n\n"); f << stringf("reg [31:0] xorshift128_x = 123456789;\n"); f << stringf("reg [31:0] xorshift128_y = 362436069;\n"); @@ -305,9 +306,15 @@ static void autotest(std::ostream &f, RTLIL::Design *design, int num_iter, int s } f << stringf("initial begin\n"); - f << stringf("\t// $dumpfile(\"testbench.vcd\");\n"); - f << stringf("\t// $dumpvars(0, testbench);\n"); - f << stringf("\tfile = $fopen(`outfile);\n"); + f << stringf("\tif ($value$plusargs(\"VCD=%%s\", filename)) begin\n"); + f << stringf("\t\t$dumpfile(filename);\n"); + f << stringf("\t\t$dumpvars(0, testbench);\n"); + f << stringf("\tend\n"); + f << stringf("\tif ($value$plusargs(\"OUT=%%s\", filename)) begin\n"); + f << stringf("\t\tfile = $fopen(filename);\n"); + f << stringf("\tend else begin\n"); + f << stringf("\t\tfile = $fopen(`outfile);\n"); + f << stringf("\tend\n"); for (auto module : design->modules()) if (!module->get_bool_attribute(ID::gentb_skip)) f << stringf("\t%s;\n", idy(module->name.str(), "test").c_str()); |