Professional Documents
Culture Documents
Xcell Journal
XPERTS CORNER
That changed in ISE 12.x. Users now need to set all the
environment variables every time before running the tools.
The main reason for the change is to allow multiple ISE versions installed on the same machine to coexist by limiting
the scope of the environmental variables to the local shell or
command-line terminal, depending on the operating system.
There are two ways of setting up environment variables in ISE 12.x. The simpler method is to call a script
settings32.{bat,sh,csh} or settings64.{bat,sh,csh}, depending on the platform. The default location on Windows
machines is C:\Xilinx\12.1\ISE_DS\; on Linux, its
/opt/Xilinx/12.1/ISE_DS/.
Here is a Linux bash example of calling the script:
TCL
$ source /opt/Xilinx/12.1/ISE_DS/settings64.sh
Windows
>set PATH=%XILINX%\bin\nt;%XILINX%\
lib\nt;%PATH%
$ export XILINX=/opt/Xilinx/12.1/
ISE_DS/ISE
$export XILINX_DSP=$XILINX
Unix bash
and csh
$ export PATH=${XILINX}/bin/lin64:
${XILINX}/sysgen/util:${PATH}
Linux csh
$XILINX
% setenv XILINX/opt/Xilinx/12.1/
ISE_DS/ISE
% setenv XILINX_DSP
Windows
batch and
PowerShell
Windows users have two scripting-language choices: DOS command line and
the more flexible PowerShell. An example of the XST invocation from DOS
command line is:
>xst -intstyle ise -ifn "crc.xst"
ofn "crc.syr"
00
XPERTS CORNER
BUILD FLOWS
Xilinx provides several options to build a design using
command-line tools. Lets take a closer look at the four
most popular ones: direct invocation, xflow, xtclsh and
PlanAhead. Well use a simple CRC generator project as
an example.
The direct-invocation method calls tools in the following
sequence: XST (or other synthesis tool), NGDBuild, map,
place-and-route (PAR), TRACE (optional) and BitGen.
You can autogenerate the sequence script from the ISE
Project Navigator by choosing the Design -> View command
line log file, as shown in Figure 1.
EASIER TO USE
Xilinxs XFLOW utility provides another way to build a
design. Its more integrated than direct invocation, doesnt
require as much tool knowledge and is easier to use. For
example, XFLOW does not require exit-code checking to
determine a pass/fail condition.
The XFLOW utility accepts a script that describes build
options. Depending on those options, XFLOW can run synthesis, implementation, BitGen or a combination of all three.
Synthesis only:
xflow -p xc6slx9-csg225-3 -synth synth.opt
../src/crc.v
Implementation:
xflow -p xc6slx9-csg225-3 -implement impl.opt
../crc.ngc
You can generate the XFLOW script (see Figure 2) manually or by using one of the templates located in the ISE installation at the following location: $XILINX\ISE_DS\ISE\xilinx\data\. The latest ISE software doesnt provide an option
to autogenerate XFLOW scripts.
XFLOW options
synth
impl
impl
00
Xcell Journal
bitstream
XPERTS CORNER
Xtclsh processes
-process Translate
-process Map
-process
Generate Programming File
Xtclsh is the only build flow that accepts the original ISE
project in .xise format as an input. All other flows require
projects and file lists, such as .xst and .prj, derived from the
original .xise project.
Each of the XST, NGDBuild, map, PAR, TRACE and
BitGen tool options has its TCL-equivalent property. For
example, the XST command-line equivalent of the Boolean
Add I/O Buffers is iobuf, while fsm_style is the command-line version of FSM Style (list).
Each tool is invoked using the TCL process run command, as shown in Figure 4.
THE PLANAHEAD ADVANTAGE
An increasing number of Xilinx users are migrating from
ISE Project Navigator and adopting PlanAhead as a main
design tool. PlanAhead offers more build-related features,
such as scheduling multiple concurrent builds, along with
more flexible build options and project manipulation.
PlanAhead uses TCL as its main scripting language. TCL
closely follows Synopsys SDC semantics for tool-specific
commands.
PlanAhead has two command-line modes: interactive
shell and batch mode. To enter an interactive shell, type the
following command:
PlanAhead mode tcl
First Quarter 2011
00
XPERTS CORNER
synthesis
implementation
bitstream
generation
Figure 5
PlanAhead offers many
build-related features.
{crc_example/pa_proj/pa_proj.runs}
launch_runs -runs synth_1 -jobs 1
launch_runs -runs impl_1 -jobs 1
set_property add_step Bitgen [get_runs impl_1]
launch_runs -runs impl_1 -jobs 1 -dir
{crc_example/pa_proj/pa_proj.runs}
00
Xcell Journal
pre-build steps
synthesis
ngbuild
map
place-and-route
static timing
analysis
bitstream
generation
post-build steps
The Xilinx FPGA
build process
involves a number
of sequenced steps.
XPERTS CORNER
00