I have an automated CI pipeline that checks out sources, regenerates IP blocks, compiles the sources and generates a bitstream. Quartus is invoked like this:
#! /bin/sh -e mw-regenerate pcie_reconfig.vhd mw-regenerate pcie_serdes.vhd mw-regenerate pcie.vhd mw-regenerate pll.vhd # patch frequency of fixedclk_serdes sed -i -e '/fixedclk_serdes/s/100/125/' pcie.sdc quartus_map pcie_test quartus_fit pcie_test quartus_asm pcie_test quartus_sta pcie_test quartus_eda pcie_test
This works fine when run on a workstation, but fails when run on the CI server, because the mw-regenerate command requires an X server connection, even if it doesn't open a window.
I can work around this by using an Xvfb instance, but I wonder if there is a better way to regenerate the IP blocks from a scripted build, so I can drop this requirement.
You can generate IP via NIOS command shell by invoking run ip-generate command (what I comprehend from the question). For more options and usage on ip-generate run ip-generate --help in command line.