# =========================================================================== # General .gitignore for Xilinx Vivado / Vitis / SDK Projects # Works for ANY project folder following standard Xilinx directory structure # # Directory naming convention: ./ # e.g., Debug_FW.cache/, Debug_FW.gen/, Debug_FW.hw/, Debug_FW.runs/, # Debug_FW.sim/, Debug_FW.srcs/, Debug_FW.ip_user_files/ # e.g., Debug_FW.sdk/ (SDK workspace, different structure) # =========================================================================== # # PRESERVED (committed): # - Source files (.v, .vhdl, .bd, .xdc, .c, .h, .ld) # - Project/workspace config files (.xpr, .project, .cproject) # - IP configuration (.xci) # - Generated HDL sources (in .gen/ but NOT sim/) # - BSP files (system.mss, platform.tcl, etc.) # - Output files (.xsa, .bit, .elf) # - Hardware platform files (.hdf, ps7_init.*) # # IGNORED (build artifacts, workspace state, caches): # =========================================================================== # ----- Vivado Cache ----- # Directory: .cache/ - regenerated by Vivado *.cache/ # ----- Logs ----- *.log # ----- Vivado Generated Sources ----- # Directory: .gen/ - keep HDL, ignore sim files *.gen/*/ip/*/sim/ *.gen/*/ip/*/sim_tlm/ # ----- Vivado IP User Files ----- # Directory: .ip_user_files/ - keep mem_init, ignore sim scripts and bd *.ip_user_files/sim_scripts/ *.ip_user_files/bd/ # ----- Vivado Simulation ----- # Directory: .sim/ *.sim/ # ----- Vivado Runs (synthesis & implementation outputs) ----- # Directory: .runs/ - keep run control scripts, ignore outputs *.runs/synth_1/*.log *.runs/synth_1/*.jou *.runs/synth_1/*.vds *.runs/synth_1/*.rpt *.runs/synth_1/*.pb *.runs/synth_1/*.dcp *.runs/synth_1/*.bin *.runs/synth_1/*.bit *.runs/synth_1/.Xil/ *.runs/synth_1/__synthesis_is_complete__ *.runs/impl_1/*.log *.runs/impl_1/*.jou *.runs/impl_1/*.vdi *.runs/impl_1/*.rpt *.runs/impl_1/*.rpx *.runs/impl_1/*.pb *.runs/impl_1/*.dcp *.runs/impl_1/*.bin *.runs/impl_1/*.bit *.runs/impl_1/*.ltx *.runs/impl_1/*.wdf *.runs/impl_1/.Xil/ *.runs/impl_1/*.tmp *.runs/impl_1/*.hwdef *.runs/impl_1/*.json *.runs/impl_1/*.hw *.runs/impl_1/*.bd *.runs/impl_1/*.dat *.runs/impl_1/*.csv *.runs/impl_1/*.xml *.runs/impl_1/*.h5 *.runs/impl_1/*.lpx *.runs/impl_1/*.spn *.runs/impl_1/*.spnx *.runs/impl_1/*.xdci *.runs/impl_1/*.lck *.runs/impl_1/*.dmp *.runs/impl_1/*.mcs *.runs/impl_1/*.bit.bif *.runs/impl_1/*.bin.bif *.runs/impl_1/*.mcs.bif # Keep run control files !*.runs/impl_1/gen_run.xml !*.runs/impl_1/rundef.js !*.runs/impl_1/runme.sh !*.runs/impl_1/runme.bat !*.runs/synth_1/gen_run.xml !*.runs/synth_1/rundef.js !*.runs/synth_1/runme.sh !*.runs/synth_1/runme.bat !*.runs/.jobs/ !*.runs/.jobs/vrs_config_*.xml # ----- SDK Workspace (Vivado SDK) ----- # Directory: .sdk/ - different structure (no dot before "sdk") # Keep: .project, .cproject, sources, BSP, hw_platform configs # Ignore: workspace metadata, build outputs, logs *.sdk/.metadata/ *.sdk/.sdk/ *.sdk/RemoteSystemsTempFiles/ *.sdk/SDK.log *.sdk/webtalk/ *.sdk/*/Debug/ *.sdk/*/Release/ *.sdk/*/bootimage/ *.sdk/*_hw_platform_*/system_wrapper.bit *.sdk/*_hw_platform_*/system_*.bit # ----- General Build Artifacts ----- *.swp *~ *.bak *.tmp *.pyc __pycache__/ *.o *.a *.so *.dll # ----- OS Files ----- .DS_Store Thumbs.db desktop.ini # ----- Eclipse / Vitis workspace metadata (regenerated on open) ----- .metadata/ # ----- Vitis workspace build artifacts (regenerated) ----- **/export/ **/tempdsa/ **/RemoteSystemsTempFiles/ # ----- IDE / Editor temporary files ----- *.swo *.orig *.rej