You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to split the build process of a design on two hosts:
the first host would call platform.build(run=False) and create a build folder with the files required for a build
that folder would be zipped and shipped to a second host, which has the tools (eg Vivado) required for building a design installed
the second host would then unzip the build folder and run the steps that are usually only called if run=True is passed to build
eventually the result of the build would be shipped back to the first host and deployed
Fortunately, the structure of build() methods for all platforms is always similar, essentially containing an if run: ... block which is all that needs to run on the second host. I suggest to make that block a classmethod (e.g. call it _run_build(build_folder) of the toolchain, which is called from build(). Would a PR with this change have chances to be merged?
For example, I'm talking about pieces of code like these ones:
EDIT: I'm now seeing that not all of the run-blocks require the same input (some need files in a folder, others a script), so maybe it's easier if I build custom solutions based on specific toolchains.
The text was updated successfully, but these errors were encountered:
I would like to split the build process of a design on two hosts:
platform.build(run=False)
and create a build folder with the files required for a buildrun=True
is passed to buildFortunately, the structure of
build()
methods for all platforms is always similar, essentially containing anif run: ...
block which is all that needs to run on the second host. I suggest to make that block a classmethod (e.g. call it_run_build(build_folder)
of the toolchain, which is called frombuild()
. Would a PR with this change have chances to be merged?For example, I'm talking about pieces of code like these ones:
migen/migen/build/xilinx/vivado.py
Line 221 in ac70301
migen/migen/build/lattice/icestorm.py
Line 182 in ac70301
EDIT: I'm now seeing that not all of the
run
-blocks require the same input (some need files in a folder, others ascript
), so maybe it's easier if I build custom solutions based on specific toolchains.The text was updated successfully, but these errors were encountered: