Closed KeenanRileyFaulkner closed 7 months ago
@KeenanRileyFaulkner Sorry, for the tools list, I wasn't very clear. I was thinking more a list of external tools that it requires, not our Tool
instances.
For example, something like this:
external_tools: rapidwright fasm2bels vivado
We could then use this to run installers in CI
Only the ones that are submodules, right?
Only the ones that are submodules, right?
Yes, that's the minimum we need to make the CI work.
But having something like vivado
listed might not be a bad idea. While we need a way to install third party tools from CI, it might be nice to later on have some functionality that verifies installation of required tools.
Supposing we use makefile targets, then it might look like this:
install_fasm2bels:
...
check_install_fasm2bels:
...
check_install_vivado:
...
For this reason it might be worthwhile to list tools like vivado that aren't submodules.
@jgoeders @dallinjdahl @reillymck Of note, but not a huge deal... this f2b error has reared its ugly head again.
python scripts/run.py VivadoPhysNetlistCmp byu/alu
[7/10] convert /home/keenanrf/research/bfasst/build/byu/alu/xray/alu.fasm to netlist
FAILED: /home/keenanrf/research/bfasst/build/byu/alu/xray/alu_reversed.v /home/keenanrf/research/bfasst/build/byu/alu/xray/alu_reversed.xdc
cd /home/keenanrf/research/bfasst/third_party/fasm2bels; /home/keenanrf/research/bfasst/third_party/fasm2bels/env/conda/envs/f4pga_xc_fasm2bels/bin/python3 -mfasm2bels --connection_database xc7a200tsbg484-1_db --db_root /home/keenanrf/research/bfasst/third_party/fasm2bels/third_party/prjxray-db/artix7 --part xc7a200tsbg484-1 --fasm_file /home/keenanrf/research/bfasst/build/byu/alu/xray/alu.fasm --verilog_file /home/keenanrf/research/bfasst/build/byu/alu/xray/alu_reversed.v --xdc_file /home/keenanrf/research/bfasst/build/byu/alu/xray/alu_reversed.xdc --input_xdc /home/keenanrf/research/bfasst/build/byu/alu/synth/alu.xdc
Traceback (most recent call last):
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/env/conda/envs/f4pga_xc_fasm2bels/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/env/conda/envs/f4pga_xc_fasm2bels/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/fasm2bels/__main__.py", line 23, in <module>
main()
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/fasm2bels/fasm2bels.py", line 480, in main
top.maybe_add_pip(set_feature.feature)
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/fasm2bels/models/verilog_modeling.py", line 1926, in maybe_add_pip
sink_wire = self.maybe_get_wire(parts[0], parts[2])
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/fasm2bels/database/connection_db_utils.py", line 34, in maybe_get_wire
phy_tile_pkey, tile_type_pkey = get_tile_type_pkey(tile)
File "/home/keenanrf/research/bfasst/third_party/fasm2bels/fasm2bels/database/connection_db_utils.py", line 28, in get_tile_type_pkey
c.execute('SELECT pkey, tile_type_pkey FROM phy_tile WHERE name = ?',
sqlite3.OperationalError: no such table: phy_tile
[8/10] vivado /home/keenanrf/research/bfasst/build/byu/alu/vivado_phys_netlist/checkpoint_to_v.tcl
ninja: build stopped: subcommand failed.
ERROR: Ninja failed with return code 1
After a lot of testing and trying to figure out why it was happening, I tested it on my work machine (I'd been working from home). The ninja file was the same on both machines, but the work one wasn't failing. So I removed and reinstalled the f2b submodule on my machine at home and this error went away.
Fixes #382, Fixes #362 - fixed cli flow conventions and help message