From: Neill Arnell on
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
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
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