# ============================================================
# Lattice Diamond .gitignore
# 
# Strategy:
#   1. Ignore all junk with broad glob patterns
#   2. Negate ONLY the files Lattice Diamond needs to open a project
# ============================================================

# ---------- Build output ----------
impl1/
*_tcr.dir/

# ---------- Auto-generated junk ----------
# Lattice intermediate / absolute-path files
*.lst
*.naf
*.tcl
*.log

# QuestaSim / VCS simulation junk
*.ado
*.adf
*.cr.mti
*.mdo
*.mpf
*.tops
*.dmp
*.vcd
vsim.wlf
transcript
hdlparser.log

# HTML reports
*.html
*.htm

# Generated XML
promote.xml
reportview.xml

# Reveal debug (re-generatable)
debug.rvs

# ---------- Per-project sub-directories ----------
# Diamond GUI configs
*.ini
*.cfg

# CPLD work directories (simulation artifacts)
work/

# ---------- Negate: Lattice Diamond opens project ONLY with these ----------

# Verilog / SystemVerilog / VHDL source
!*.v
!*.sv

# Lattice project definition
!*.lpf
!*.ldf
!*.sty
!*.ccl
!*.tfi

# Bitstream and programming
!*.bit
!*.jed
!*.svf
!*.rva
!*.trc
!*.xcf

# Simulation project files (.spf is needed by Diamond's sim engine)
!*.spf
_math_real.vhd
