12.12.2012 Views

Xcell Journal: The authoritative journal for programmable ... - Xilinx

Xcell Journal: The authoritative journal for programmable ... - Xilinx

Xcell Journal: The authoritative journal for programmable ... - Xilinx

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!