4.5. LVS

Hammer has an action for running layout-versus-schematic (LVS) on a post-place-and-route GDS and gate-levl netlist. This action requires a tool plugin to implement HammerLVSTool.

4.5.1. LVS Setup Keys

  • Namespace: vlsi.core

    • lvs_tool

      • Module of the lvs tool, e.g. hammer.lvs.calibre

4.5.2. LVS Input Keys

  • Namespace: lvs

    • inputs.top_module (str)

      • Name of top RTL module to run LVS on. Auto-populated after par-to-lvs.

    • inputs.layout_file (str)

      • GDSII file from P&R. Auto-populated after par-to-lvs.

    • inputs.schematic_files ([str])

      • Netlists from P&R’d design and libraries. Auto-populated after par-to-lvs.

    • inputs.additional_lvs_text_mode (str)

      • Chooses what custom LVS commands to add to the run file. auto selects the one provided in the Hammer Tech JSON.

    • submit (dict)

      • Can override global settings for submitting jobs to a workload management platform.

4.5.3. LVS Inputs

There are no other prerequisites to running LVS other than setting the keys described above.

4.5.4. LVS Outputs

  • LVS results report and database in {OBJ_DIR}/lvs-rundir

  • A run file: {OBJ_DIR}/lvs-rundir/lvs_run_file

  • A script to interactively view the LVS results: {OBJ_DIR}/lvs-rundir/generated_scripts/view_lvs

4.5.5. LVS Commands

  • LVS Command (after par-to-lvs is run)

    • hammer-vlsi -e env.yml -p {OBJ_DIR}/lvs-input.json --obj_dir OBJ_DIR lvs