# python/IDE files
*.pyc
__pycache__
venv

# Pycharm files
.idea/tasks.xml
.idea/usage.statistics.xml
.idea/workspace.xml

# misc edit/log files
*~
*.log
core.*
IPOPT.out
lsyncd.status

# misc BAG files
bag_sim
bag_stimuli
BAG_server_port.txt
BAG_sim_server_port.txt
gen_outputs
gen_outputs_scratch
pytest_output


# misc configuration/history files
.ipynb_checkpoints
.ipython
.jupyter

# generated files/directories
BAGTMP
calibre_run
cdl_netlist
cds.lib
gen_libs
netlist
pvs_run
sim
simulation
spectre_run

# cadence files
.abstract
abstract*
beol.drc.*
.cadence
cadence_libs
*.cdslck
.calibreviewsetup
gui.tcl
hdl.var
lefout.list
libManager.log.*
PIPO.*
si.env
.tmp_*
xOasisOut_cellMap.txt

# calibre files
.cgidrcdb
.cgilvsdb
calibreview.setup
ihnl
map
.stimulusFile.auCdl

# pvs files
.preRcx.Last.State
.QRC.run
.qrc.Last.state

.nfs*
