Output Files
============
Golden Gate generates many output files, we describe them here. Note, the GG
CML-argument ``--output-filename-base=`` defines defines a common prefix for all
output files.
Core Files
----------
These are used in nearly all flows.
- **.sv**: The verilog implementation of the simulator which will be synthesized
onto the FPGA. The top-level is the Shim module specified in the ``PLATFORM_CONFIG``.
- **.const.h**: A target-specific header containing all necessary metadata to
instantiate bridge drivers. This is linked into the simulator driver and
meta-simulators (FPGA-level / MIDAS-level). Often referred to as "the header".
.. _fpga-build-files:
FPGA Build Files
----------------
These are additional files passed to the FPGA build directory.
- **.defines.vh**: Verilog macro definitions for FPGA synthesis.
- **.ila_insert_vivado.tcl**: Synthesizes an ILA for the design. See
:ref:`auto-ila` for more details about using ILAs in FireSim.
- **.ila_insert_{inst, ports, wires}.v**: Instantiated in the FPGA project via
```include`` directives to instantiate the generated ILA.
- **.synthesis.xdc**: Xilinx design constraints for synthesis derived from
collected XDCAnnotations.
- **.implementation.xdc**: Xilinx design constraints for implementation derived
from collected XDCAnnotations.
Metasimulation Files
--------------------
These are additional sources used only for compiling metasimulators.
- **.const.vh**: Verilog macros to define variable width fields.