https://github.com/tgingold/ghdl
https://ghdl.readthedocs.io/en/latest/index.html
sudo apt-get gnat gtkwave
cd ~/other
git clone https://github.com/tgingold/ghdl.git
mkdir build_ghdl
cd build_ghdl
../ghdl/configure --prefix=$HOME/other/install
make
make install
Is it possible to run a compile vhdl executable interactively, single step it and send dynamically defined input vectors?
How hard would it be to add that sort of feature if it doesn't yet exist- does it require a deep dive into the ada code or relatively shallow adjustment of the way the code loads a test vector?
One way to add it externally (though perhaps with sub-par speed) would be to write a program that would translat external input into a test bench file, compile it, and run it, the translate the results out into the desired format (e.g. a live wave form viewer, perhaps a ros pub). Previous state (like the contents of ram) would have to be saved from the previous step) then included with the newly generated test bench.
What would it take to parse some subset of vhdl in C++ from scratch?
https://www.fpgarelated.com/showarticle/20.php
Has some answers for verilog -> verilator Source available? Yes: https://www.veripool.org/projects/verilator/wiki/Installing http://git.veripool.org/git/verilator (license?)
NES VHDL
https://github.com/chenxiao07/vhdl-nes
https://github.com/strfry/nesfpga
GHDL NES?
https://osdn.net/projects/motonesfpga/
PPU detailed hardware description
TBD
http://visual6502.org/images/pages/Nintendo_RP2C02_die_shots.html