This pull request adds support for mixed-signal simulation via VerilogAMSTarget, which inherits from SystemVerilogTarget. The following features are supported:
Generate a VerilogAMS wrapper for a SPICE/Spectre netlist, which itself is a magma circuit that can be provided as the argument to a Tester instantiation. This is done using the VAMSWrap command.
AnalogIn and AnalogOut are added as port types that may be used in a magma DeclareCircuit command. This probably should be moved to magma at some point.
The new VerilogAMSTarget allows the user to specify locations of SPICE/Spectre files (via model_paths) and the voltage+resistance used for D2A and A2D conversions (via vsup and rout).
VerilogAMSTarget automatically generates the AMS control file needed for mixed-signal simulation as part of the run() function, similar to how TCL files are generated in the run() command of SystemVerilogTarget.
tests/test_vams_sim.py illustrates these features by instantiating a SPICE-level CMOS inverter (tests/spice/myinv.sp) and then checking its behavior in response to a randomized binary stimulus.
tests/test_vams_wrap.py is a more low-level test of the generation of a Verilog-AMS wrapper for a mixed-signal circuit.
The command "pip install mantle" failed and exited with 1 during . (seems that coreir build fails with "fatal error: variant: No such file or directory")
This pull request adds support for mixed-signal simulation via VerilogAMSTarget, which inherits from SystemVerilogTarget. The following features are supported: