# =============================================================================
# MAKu Microcontroller - ignored files
#
# Rule of thumb: everything here is REGENERATED by scripts/ from the sources in
# rtl/, simulation/, constraints/ and software/. Nothing that is ignored should
# ever be needed to rebuild the design.
#   - the Vivado project comes from scripts/create_project.tcl
#   - the simulation library comes from scripts/run_all_tests.ps1
# =============================================================================

# --- Vivado project (fully generated by scripts/create_project.tcl) ---
vivado/
*.xpr
*.jou
*.str
*.wdb
*.wcfg
*.pb
.Xil/
.srcs/
.runs/
.cache/
.hw/
.ip_user_files/
.sim/
*.backup.jou
*.backup.log

# --- Vivado / XSim logs and intermediates ---
vivado.log
vivado_*.log
xsim.dir/
xsim.log
xsim.jou
xsim_*.log
xsim_*.jou
xvlog.log
xvlog.pb
xvlog_*.log
xelab.log
xelab.pb
xelab_*.log
flash_*.log
xsc.log
xsim.covdb/
webtalk*.jou
webtalk*.log
webtalk*.backup.jou
webtalk*.backup.log

# --- Synthesis / implementation outputs ---
*.dcp
*.bit
*.bin
*.ltx
*.rpt
*.edn
*.mmi
usage_statistics_webtalk.*
tight_setup_hold_pins.txt

# --- Vivado IP / block design generated output ---
*.gen/
*.hbs
hd_visual/
incrCheckPhaseSaveFP.dcp

# --- Editor / OS noise ---
.DS_Store
Thumbs.db
desktop.ini
*.swp
*.swo
*~
.vscode/
.idea/

# --- Scratch ---
scratch/
tmp/
*.tmp

# regression-runner lock
.maku_test.lock

# --- Python bytecode from software/ tooling ---
__pycache__/
*.pyc
impl_*.log
cp_*.log

# per-test durations, written by run_all_tests.ps1 for longest-first scheduling
.maku_test_times.json

impl_*.log
impl_*_console.log
prog_*.log
prog_*.jou
impl_*.jou
suite_*.log
mut_*.log
soak_*.log
partition_*.log
g?.log
gate*.log
create_proj*.log
*.jou
sweep_*.log
software/_sweep_*

# mutation campaign leftovers - a run must not dirty the tree
mutation_results_*.txt
*.campaign_backup

# The IDE's virtualenv. It is a build artefact with absolute paths baked into
# it - and `~/.config/maku/credentials.toml` lives OUTSIDE the tree for the
# same reason maku.toml may not hold a key (spec 13.5).
tools/maku-tui/.venv/
tools/maku-tui/**/__pycache__/
