Xcell Journal: The authoritative journal for programmable ... - Xilinx
Xcell Journal: The authoritative journal for programmable ... - Xilinx
Xcell Journal: The authoritative journal for programmable ... - Xilinx
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
DESIGN FLOW<br />
WITH DIMEtalk<br />
Connect Algorithms<br />
Import algorithms as<br />
HDL code or <strong>Xilinx</strong><br />
compatible netlist<br />
and connect into the<br />
DIMEtalk network<br />
Synthesis<br />
Synthesize whole<br />
design using<br />
standard synthesis<br />
tools<br />
Figure 2 – DIMEtalk design flow<br />
We are not suggesting that DIMEtalk<br />
networks should completely replace other<br />
types of data networks. However, within<br />
FPGAs and going between FPGAs on the<br />
same card, a low-resource, easy-to-implement<br />
network such as DIMEtalk makes<br />
sense – as demonstrated by the resource<br />
usage shown in Figure 1.<br />
DIMEtalk is intended to be used alongside<br />
other data network and backplane<br />
Figure 3 – Hardware<br />
<strong>for</strong> example system<br />
Network Definition<br />
Define DIMEtalk<br />
network <strong>for</strong> FPGA<br />
computing system<br />
using DIMEtalk<br />
software tool<br />
Assign to Devices<br />
Assign network to<br />
FPGAs and use<br />
Device Editor to<br />
drag and drop port<br />
signals to the FPGA<br />
UCF I/O signals<br />
Implementation<br />
Implement design<br />
using standard<br />
implementation tools<br />
Develop Algorithms<br />
Develop rest of<br />
application using<br />
standard design entry<br />
flows (HDL, System<br />
Generator, AccelFPGA,<br />
Handel-C, etc.)<br />
Generate Code<br />
DIMEtalk<br />
automatically<br />
generates HDL code<br />
and user constraints<br />
files <strong>for</strong> complete<br />
design<br />
Runtime<br />
Appl ication operating in<br />
runtime, using DIMEtalk<br />
API functions to<br />
communicate across<br />
DIMEtalk network<br />
types – that’s why the edge components are<br />
so important. <strong>The</strong> edges enable you to use<br />
low-resource DIMEtalk networks where it<br />
is right to do so and interface directly to<br />
other protocols off-card.<br />
Using DIMEtalk<br />
DIMEtalk is designed to make life easier<br />
<strong>for</strong> developers to deploy applications on an<br />
FPGA computing plat<strong>for</strong>m. <strong>The</strong> intuitive<br />
<strong>Xilinx</strong><br />
Virtex-II<br />
2V6000<br />
FPGA<br />
VME<br />
Interface<br />
<strong>Xilinx</strong><br />
Virtex-II<br />
2V6000<br />
FPGA<br />
<strong>Xilinx</strong><br />
Virtex-II<br />
2V6000<br />
FPGA<br />
design flow shown in Figure 2 enables easy<br />
network implementation and you can use<br />
the design-entry tool of your choice <strong>for</strong><br />
algorithm blocks. <strong>The</strong> stages of the design<br />
flow are:<br />
• Network Definition – conceptually<br />
design the network to provide communications<br />
links and interface points to<br />
algorithms as required across the FPGAs<br />
• Develop Algorithms – use HDL or<br />
other tools to develop algorithm blocks<br />
using HDL or other design flows connected<br />
to the interface nodes of the<br />
DIMEtalk network<br />
• Connect Algorithms – connect the<br />
completed algorithm blocks to the<br />
network; at this stage, the network and<br />
application are functionally complete<br />
• Assign to Devices – assign the whole<br />
design to FPGAs using a drag-anddrop<br />
feature<br />
• Code Generation – automatic code<br />
generation <strong>for</strong> design<br />
• Synthesis – using standard synthesis<br />
tools<br />
• Implementation – using the <strong>Xilinx</strong> ISE<br />
software tool flow<br />
<strong>Xilinx</strong><br />
Virtex-II Pro<br />
2VP50<br />
FPGA<br />
SRAM SRAM SRAM SRAM SRAM SRAM<br />
<strong>Xilinx</strong><br />
Virtex-II<br />
2V6000<br />
FPGA<br />
Figure 4 – Hardware block diagram <strong>for</strong> example system<br />
106 <strong>Xcell</strong> <strong>Journal</strong> Winter 2004<br />
SRAM<br />
SRAM<br />
Gigabit Ethernet