Prev: Signal value clears for no reason [VHDL, ISE 10.1]
Next: Instantiating non-global clock buffers (Xilinx ISE)
From: Neill Arnell on 10 Aug 2010 05:17 Hi, I'm working on a Xilinx FPGA design (VHDL) that uses a top level generic, and need to build multiple versions of the FPGA where the generic is the only thing that changes. The generic is used to select different modules to be used in the FPGA, the modules can't all fit in the FPGA together. Currently there are 4 different settings for the generic, and for a release I need to build the FPGA with each of the different generic options. What I am looking for is advice on how to set up a script/makefile to generate the builds in parallel, whilst ensuring that the results are all kept separate. I'm using a Windows machine with a quad core processor. Thanks in advance Neill.
From: Benjamin Krill on 10 Aug 2010 06:51 Hi Neill, as you wrote, you need a script or Makefile which "generates" an xst script file where options + generics are specified (-generics {a=BLA}). Further the build script must call the needed build steps: xst, ngdbuild, map, par, trce and bitgen. To do this for multiple builds, just call your script with different parameters or so. Since you are using windows, I would recommend the cygwin environment. cheers ben On Tue, 2010-08-10 at 10:17 +0100, Neill Arnell wrote: > Hi, > > I'm working on a Xilinx FPGA design (VHDL) that uses a top level > generic, and need to build multiple versions of the FPGA where the > generic is the only thing that changes. The generic is used to select > different modules to be used in the FPGA, the modules can't all fit in > the FPGA together. > > Currently there are 4 different settings for the generic, and for a > release I need to build the FPGA with each of the different generic options. > > What I am looking for is advice on how to set up a script/makefile to > generate the builds in parallel, whilst ensuring that the results are > all kept separate. I'm using a Windows machine with a quad core processor. > > Thanks in advance > > Neill.
From: KJ on 10 Aug 2010 09:01
On Aug 10, 5:17 am, Neill Arnell <nei...(a)pipstechnology.co.uk> wrote: > Hi, > > I'm working on a Xilinx FPGA design (VHDL) that uses a top level > generic, and need to build multiple versions of the FPGA where the > generic is the only thing that changes. The generic is used to select > different modules to be used in the FPGA, the modules can't all fit in > the FPGA together. > > Currently there are 4 different settings for the generic, and for a > release I need to build the FPGA with each of the different generic options. > > What I am looking for is advice on how to set up a script/makefile to > generate the builds in parallel, whilst ensuring that the results are > all kept separate. I'm using a Windows machine with a quad core processor. > > Thanks in advance > > Neill. What I do is have a top level with no generics that defines values for all of the constants that will be generics and then instantiate the 'more general' one that has the generics. These can all be in the same file if you want. At the end of the day, you need to segregate these builds for purposes of synthesis, archiving, analysis and release. You can spend your time futzing with build scripts and then trying to keep it straight which build is which or spend it creating code that avoids any build script fanciness...your choice. KJ |