29.11.2014 Views

FPGA Boards - The Dini Group

FPGA Boards - The Dini Group

FPGA Boards - The Dini Group

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SMA<br />

SMA<br />

SMA<br />

SMA<br />

SMA<br />

Stacking the DNV7F2A<br />

Stacking two DINI Virtex-7 <strong>FPGA</strong> boards<br />

Two boards can be ganged together to increase the amount of available <strong>FPGA</strong> resources.<br />

This example uses the DNV7F2A. In this example, shown in figure 1, two DNV7F2A<br />

cards are ganged together, seamlessly doubling the functionality. A DDR3 memory module<br />

is added to each of the <strong>FPGA</strong> cards.<br />

<strong>The</strong> cable<br />

We use a custom Samtec cable, DINAR1_CBL to connect the signals across the connectors<br />

of the two boards. You get these cables from us. <strong>The</strong> DINAR1_CLB is a high<br />

speed coax cable designed specifically to connect two 400-pin Samtec SEAM connectors<br />

together. Initially these cables are 30”, but eventually we will have several different<br />

lengths.<br />

<strong>The</strong> busses: YMB and NMB<br />

<strong>The</strong> first cable, marked in Figure 1 with as ‘1’, is required. This cable connects the YMB<br />

busses together and adds a bus between the Config <strong>FPGA</strong>s on the two boards. <strong>The</strong> second<br />

bus is used to connect the NMB busses from the slave <strong>FPGA</strong> card to the master <strong>FPGA</strong><br />

card. Full NMB functionality is maintained including DMA data movement between all<br />

<strong>FPGA</strong>s. Also, the host system sees all <strong>FPGA</strong>s as if they were placed on a single circuit<br />

board. <strong>The</strong> data from the NMB busses on the slave card must be re-clocked in the slave’s<br />

Config <strong>FPGA</strong>, so this adds a few clock cycles of latency. <strong>The</strong> raw performance measured<br />

in terms of GB/s is not compromised. <strong>FPGA</strong> and other configuration data of the slave<br />

DNV7F2A is transferred over this second bus. Configuration of the slave <strong>FPGA</strong> board is<br />

also transparent to the host system and software.<br />

<strong>FPGA</strong> to <strong>FPGA</strong> Interconnect between boards<br />

<strong>The</strong> DNV7F2A has 4 expansion connectors, two per <strong>FPGA</strong>. <strong>The</strong>se connectors are yellow<br />

in the block diagram and labeled 0 thru 3. When stacking two DNV7F2As, you can<br />

connect ANY DINAR1 expansion connector to any other DINAR1 Expansion connector<br />

using a DINAR1_CBL. It is perfectly reasonable to connect all four DINAR1 cables between<br />

the two DNV7F2As, but that would leave no expansion position open for memory<br />

or external peripherals. In the example shown in v 1, I connected three of the expansion<br />

connectors together:<br />

<strong>FPGA</strong> 0 DINAR1 3 (master DNV7F2A) → <strong>FPGA</strong> 1 DINAR1 0 (slave)<br />

<strong>FPGA</strong> 1 DINAR1 0 (master DNV7F2A) → <strong>FPGA</strong> 0 DINAR1 1 (slave)<br />

<strong>FPGA</strong> 1 DINAR1 2 (master DNV7F2A) → <strong>FPGA</strong> 0 DINAR1 3 (slave)<br />

I choose these connections because it was easy to draw and not for any practical reason.<br />

Each of these cables carries 72 LVDS pairs, along with clocks, IDs and resets. I will state<br />

again: You can connect ANY DINAR1 connector to any other DINAR1 connector. Note<br />

that if you want to increase the interconnect between the <strong>FPGA</strong>s on a stand-alone DN-<br />

V7F2A, you would not use the DINAR1_CBL. Use the DINAR1_INTERCON instead.<br />

DDR3 Memory<br />

I added a DINAR1_SODM204 to the spare DINAR1 connector on each DNV7F2A. This<br />

card hosts a 204-pin SODIMM memory module. In the block diagram, I put an 8 GB<br />

DDR3 memory module in the socket. You aren’t limited to DDR3. We have several other<br />

SODIMMs that work fine in this slot:<br />

• DNSODM204_SSRAM (1.8V version) (SSRAM)<br />

• DNSODM204_QUADMIC (4 Mictor connectors)<br />

• DNSODM204_SE (Flash and Mobile SDRAM)<br />

• DNSODM204_USB (USB2.0 Phy)<br />

• DNSODM204_DDR2_FAST (DDR2)<br />

• DNSODM204_QDRII+ (QDRII+ SSRAM)<br />

• DNSODM204_DDR2_2GB (more DDR2, larger)<br />

• DNSODM204_MICTOR_IO (2 Mictors)<br />

Overview<br />

Figure 2 shows the final functionality of the two DNV7F2As as seen from the host.<br />

12<br />

www.dinigroup.com<br />

DINAR1_CABLE<br />

24<br />

MHz<br />

24<br />

MHz<br />

YMB + NMB<br />

114.285 MHz<br />

Frequency<br />

Synthesizer<br />

(Si5326)<br />

114.285 MHz<br />

Frequency<br />

Synthesizer<br />

(Si5326)<br />

G0<br />

G3<br />

40 GbE or<br />

4, 10 GbE<br />

10GbE<br />

Ethernet<br />

24<br />

MHz<br />

24<br />

MHz<br />

Figure 1<br />

10GbE<br />

Ethernet<br />

USB 3.0 / 2.0<br />

SATA II<br />

(device)<br />

JTAG<br />

SATA II<br />

0<br />

1<br />

1<br />

114.285 MHz<br />

Frequency<br />

Synthesizer<br />

(Si5326)<br />

114.285 MHz<br />

Frequency<br />

Synthesizer<br />

(Si5326)<br />

QSFP+<br />

SFP+ Socket<br />

DNSEAM_NS<br />

GTX Expansion<br />

G1<br />

G4<br />

2<br />

4<br />

5<br />

6<br />

GTX Expansion<br />

DNSEAM_NS<br />

SFP+ Socket<br />

24<br />

MHz<br />

1<br />

Config Clk<br />

DINAR1_SODM204<br />

DINAR1_SODM204<br />

10/100/1000<br />

baseT<br />

USB 2.0<br />

(2X)<br />

Stacking<br />

PCIe<br />

(GEN2)<br />

iPASS<br />

4<br />

DINAR1<br />

Expansion Connector<br />

OSC<br />

114.285 MHz<br />

1<br />

8<br />

8<br />

1<br />

1<br />

PCIe<br />

(GEN2)<br />

iPASS<br />

Frequency<br />

Synthesizer<br />

(Si5326)<br />

4<br />

RJ45<br />

RS232<br />

SATA II<br />

(host)<br />

2x<br />

Global<br />

Clocks<br />

72<br />

72<br />

DINAR1<br />

Expansion Connector<br />

DDR 3<br />

DDR 3<br />

72<br />

72<br />

4<br />

G2<br />

3<br />

10/100/1000<br />

Phy<br />

6Mb<br />

FLASH<br />

oot<br />

8Mb<br />

SPI<br />

FLASH<br />

x 64<br />

DR2<br />

5<br />

5<br />

5<br />

DNNMB<br />

onnector<br />

400 pins)<br />

T<br />

T<br />

761]<br />

A<br />

0<br />

r<br />

Ex<br />

FP<br />

7V<br />

7V<br />

[F(F/H<br />

GEN1<br />

Step Clo<br />

RGM<br />

2<br />

R

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

Saved successfully!

Ooh no, something went wrong!