Luke Harold Miles
11/04/2023, 6:30 PMTim Edwards
11/04/2023, 8:37 PMLuke Harold Miles
11/04/2023, 8:41 PMLuke Harold Miles
11/04/2023, 8:42 PMEllen Wood
11/05/2023, 8:53 AMEllen Wood
11/05/2023, 9:09 AMTOP_mixed
.
Digital: Simulation with verilog test bench and GTKwave etc. Harden verilog into TOP_digital
, using Openlane in the standard way from caravel_user_project directory: (make TOP_digital)
. Instantate this as a cell in Magic. Copy its Ports up to the top level (and move those on the bottom down to the very edge of the bounding box so Openlane can reach it during routing).
Analog: hand drawn (magic), LVS/simulation (xschem, netgen). Top level analog = TOP_analog
, instantated as a cell in Magic.
Top level hand edits:
• Digital + Analog cells hand wired together.
• Analog connections to the GPIOs hand drawn and turned into ports for Openlane to reach
• M4 power rails drawn and turned into ports (vccd1
and vssd1
) so Analog macro will be powered - update the FP_PDN_MACRO_HOOKS line in user_project_wrapper config.json
Export GDS and LEF (lef write -hide
) from TOP_mixed in Magic, put these into the correct directory (/gds and /lef). Edit user_project_wrapper.v
to describe all the connections for routing to TOP_mixed ports.
Harden TOP_mixed in Openlane (make user_project_wrapper
)
Run pre-check - providing gate level verilog files for the digital and TOP_mixed, and a spice netlist for TOP_analogEllen Wood
11/05/2023, 9:10 AMLuke Harold Miles
11/06/2023, 6:58 PM