From 4b8a0d2af52ceeb3ff5d05082af53bac76744361 Mon Sep 17 00:00:00 2001 From: jackkoenig Date: Thu, 22 Sep 2016 19:10:40 -0700 Subject: Add Support for Parameterized ExtModules and Name Override Adds support for Integer, Double/Real, and String parameters in external modules. Also add name field to extmodules so that emitted name can be different from Firrtl name. This is important because parameterized extmodules will frequently have differing IO even though they need to be emitted as instantiating the same Verilog module. --- .../blackboxes/RenamedExtModuleTester.fir | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/test/resources/blackboxes/RenamedExtModuleTester.fir (limited to 'src/test/resources/blackboxes/RenamedExtModuleTester.fir') diff --git a/src/test/resources/blackboxes/RenamedExtModuleTester.fir b/src/test/resources/blackboxes/RenamedExtModuleTester.fir new file mode 100644 index 00000000..48b0886c --- /dev/null +++ b/src/test/resources/blackboxes/RenamedExtModuleTester.fir @@ -0,0 +1,22 @@ +circuit RenamedExtModuleTester : + extmodule ThisIsJustTheFirrtlName : + input foo : UInt<16> + output bar : UInt<16> + + defname = SimpleExtModule + + module RenamedExtModuleTester : + input clk : Clock + input reset : UInt<1> + + inst dut of ThisIsJustTheFirrtlName + + dut.foo <= UInt(1234) + + when not(reset) : + when neq(dut.bar, UInt(1234)) : + printf(clk, not(reset), "Assertion failed\nTest Failed!\n") + stop(clk, not(reset), 1) + else : + stop(clk, not(reset), 0) + -- cgit v1.2.3