23.11.2014 Views

CNES feedback on the ATF280E FPGA and Space FPGA Designer

CNES feedback on the ATF280E FPGA and Space FPGA Designer

CNES feedback on the ATF280E FPGA and Space FPGA Designer

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> <strong>FPGA</strong><br />

<strong>and</strong> <strong>Space</strong> <strong>FPGA</strong> <strong>Designer</strong><br />

___________________<br />

Workshop <strong>ATF280E</strong><br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g><br />

26/11/2009<br />

Pierre GASNIER – Jean BERTRAND


Forecast :<br />

Background : internship “Comparative Evaluati<strong>on</strong> of SEE Immune <strong>and</strong><br />

rec<strong>on</strong>figurable <strong>FPGA</strong>s”<br />

Part of <strong>the</strong> roadmap “ rec<strong>on</strong>figurable payload ” (MTRV)<br />

Comparais<strong>on</strong> of two SEE Immune <strong>and</strong> rec<strong>on</strong>figurable <strong>FPGA</strong>s :<br />

<br />

vs<br />

- The tools <strong>and</strong> <strong>the</strong> <strong>FPGA</strong>s<br />

- From a " user point of view "<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 2


The two <strong>FPGA</strong>s :<br />

Single Event Effects Immune Rec<strong>on</strong>figurable <strong>FPGA</strong>s<br />

The <strong>ATF280E</strong> from Atmel Corp.<br />

The “ SIRF ” from Xilinx<br />

(SEU Immune Rec<strong>on</strong>figurable <strong>FPGA</strong>)<br />

- Not ITAR <strong>and</strong> European<br />

- Available (Engineering samples)<br />

- ITAR <strong>and</strong> American<br />

- In development (avail : dec 2010)<br />

• Same as AT40KEL040 (capacity x 7)<br />

SEU hardened memory points.<br />

Available in QML-V<br />

• " Hardened by design Virtex-5 VX130T "<br />

= No XTRM, no scrubbing.<br />

• TOOLS :<br />

Syn<strong>the</strong>sis : Mentor Precisi<strong>on</strong><br />

Place & Route : IDS Figaro<br />

• TOOLS :<br />

Syn<strong>the</strong>sis (XST), place <strong>and</strong> route are<br />

integrated into <strong>on</strong>e tool : Xilinx ISE<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 3


General features :<br />

<strong>ATF280E</strong><br />

SIRF<br />

« ASIC Gates »<br />

Number of<br />

Core Cells / Slices<br />

User Ram<br />

Clocks<br />

Maximum frequency<br />

Cores voltages<br />

288K gates “ 1,3 Milli<strong>on</strong> gates ”<br />

14 400 Core-Cells 20 480 Slices<br />

115,2 Kbit 10 728 Kbit<br />

8 Global <strong>and</strong> 4 Fast 32 Global networks<br />

100 MHz internal, 50 MHz system 550 MHz internal, 250 MHz system<br />

1,8 V 1,0 V<br />

Packages<br />

MCGA 472<br />

CF1144<br />

User I/O<br />

308 max + LVDS I/Os com versi<strong>on</strong>. : 840 Single Ended Pins<br />

St<strong>and</strong>ards I/O<br />

CMOS, TTL 1,8/3,3V, No 5 V<br />

Tolerance 8 LVDS Receiver/Tranceiver<br />

25 st<strong>and</strong>ards (1,2V / 1,5V / 1,8V / 3,3V)<br />

Die size<br />

225 mm 2 146 mm 2<br />

<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 4


Routing resource of <strong>the</strong> two <strong>FPGA</strong>s<br />

Routing resources of <strong>the</strong> two <strong>FPGA</strong>s<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 5


Process comparis<strong>on</strong><br />

<strong>ATF280E</strong> : 0.18m CMOS technology<br />

Virtex-5 : 65-nm (triple oxide process)<br />

AT58KRHA (180 nm - 6 metal layers)<br />

same as ATC18RHA ASIC<br />

Virtex-5 (65 nm -12 metal layers)<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 6


ATMEL ‘s development tools<br />

Many difficulties encountered with <strong>the</strong> Atmel’s tools<br />

The comparative evaluati<strong>on</strong> of <strong>the</strong> two <strong>FPGA</strong>s has turned into an<br />

evaluati<strong>on</strong> of <strong>the</strong> Atmel’s tools<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 7


ATMEL ‘s development tools<br />

Syn<strong>the</strong>sis :<br />

Comb cells : 110%<br />

Seq Cell : 15 %<br />

Le<strong>on</strong>2 less than 40 K gates in an Asic<br />

The same design in <strong>the</strong> SIRF (commercial<br />

versi<strong>on</strong> Virtex-5 FX130T) c<strong>on</strong>sumes 6 % LUT<br />

<strong>and</strong> 3 % Flip-Flop<br />

Why does Le<strong>on</strong> not fit into <strong>the</strong> <strong>ATF280E</strong> ?<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 8


ATMEL ‘s development tools<br />

Le<strong>on</strong> without DSU<br />

Syn<strong>the</strong>sis :<br />

Comb cells : 82 %<br />

Seq Cell : 12 %<br />

Place & Route : failed<br />

Number of Cell C<strong>on</strong>tenti<strong>on</strong>s : 588<br />

Number of Net C<strong>on</strong>tenti<strong>on</strong>s : 3675<br />

It does not fit …<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 9


ATMEL ‘s development flow<br />

VHDL or<br />

Verilog<br />

HDL parsing<br />

(syntax errors)<br />

Generic Syn<strong>the</strong>sis<br />

« generic gates »<br />

Mapping<br />

Place<br />

Optimizati<strong>on</strong><br />

Route<br />

« Mapping »<br />

technology cells<br />

Bitstream<br />

generati<strong>on</strong><br />

Netlist<br />

Netlist<br />

.edf<br />

.edf<br />

bitstream<br />

bitstream<br />

MENTOR Precisi<strong>on</strong> Syn<strong>the</strong>sis<br />

ATMEL Figaro IDS<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 10


The Macro detecti<strong>on</strong> problem : example<br />

For example,<br />

from this simple functi<strong>on</strong><br />

A<br />

B<br />

C<br />

G<br />

H<br />

… <strong>the</strong> tool should<br />

recognize<br />

Macro « FGEN2R »<br />

<strong>on</strong>e Core Cell


The Macro detecti<strong>on</strong> problem : example<br />

For example,<br />

from this simple functi<strong>on</strong><br />

A<br />

B<br />

C<br />

G<br />

H<br />

… <strong>the</strong> tool should<br />

recognize<br />

Macro « FGEN2R »<br />

<strong>on</strong>e Core Cell<br />

… but instead,<br />

recognizes<br />

Macro « FGEN1 » Macro « FGEN1R »<br />

two Core Cells<br />

+ routing resources


Atmel development flow : major issue<br />

VHDL or<br />

Verilog<br />

HDL parsing<br />

(syntax errors)<br />

Generic Syn<strong>the</strong>sis<br />

« generic gates »<br />

Optimizati<strong>on</strong><br />

"Automatic IDS Macro detecti<strong>on</strong><br />

<strong>and</strong> mapping"<br />

This macro detecti<strong>on</strong> is<br />

partial <strong>and</strong> wastes<br />

combinati<strong>on</strong>al logic of <strong>the</strong> <strong>FPGA</strong><br />

Mapping<br />

Place<br />

Route<br />

« Mapping »<br />

technology cells<br />

Bitstream<br />

generati<strong>on</strong><br />

Netlist<br />

Netlist<br />

.edf<br />

.edf<br />

bitstream<br />

bitstream<br />

MENTOR Precisi<strong>on</strong> Syn<strong>the</strong>sis<br />

ATMEL Figaro IDS<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 13


Atmel development flow : o<strong>the</strong>r issues<br />

VHDL or<br />

Verilog<br />

HDL parsing<br />

(syntax errors)<br />

Generic Syn<strong>the</strong>sis<br />

« generic gates »<br />

Optimizati<strong>on</strong><br />

« Mapping »<br />

technology cells<br />

Netlist<br />

Netlist<br />

.edf<br />

.edf<br />

No Post - Mapping simulati<strong>on</strong><br />

No timing optimizati<strong>on</strong><br />

Lots of " routing Core cell "<br />

implemented by <strong>the</strong> tool<br />

(instead of routing resources)<br />

No die parti<strong>on</strong>ing<br />

for specific functi<strong>on</strong>s<br />

Incomplete Area report<br />

The tool is buggy <strong>and</strong><br />

not user friendly (docs …)<br />

« Double paren<strong>the</strong>sis bug »<br />

Mapping<br />

Place<br />

Route<br />

Bitstream<br />

generati<strong>on</strong><br />

bitstream<br />

bitstream<br />

MENTOR Precisi<strong>on</strong> Syn<strong>the</strong>sis<br />

ATMEL Figaro IDS<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 14


Core Cell Waste : example<br />

!<br />

A lot of Core Cells<br />

used as “routing<br />

Cell “<br />

Core Cell<br />

used for<br />

<str<strong>on</strong>g>feedback</str<strong>on</strong>g><br />

!<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 15


Part B : designs implemented<br />

• <strong>Space</strong> Wire UK VHDL IP (with <strong>the</strong> LVDS drivers)<br />

Syn<strong>the</strong>sis :<br />

Combinati<strong>on</strong>al Cells : 4.3%<br />

Sequential Cells : 1 %<br />

P&R :<br />

Logic Core Cells (512)<br />

+ Routing Cells (138) : 4,5 %<br />

• A recursive filter + 2 serial/parallel c<strong>on</strong>verters<br />

Syn<strong>the</strong>sis :<br />

Combinati<strong>on</strong>al Cells : 1,76%<br />

Sequential Cells : 0.86%<br />

P&R :<br />

Logic Core Cells (377)<br />

+ Routing Cells (92) : 3,3 %<br />

Max freq : Up to 50 MHz<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 16


Part B : designs implemented<br />

• Le<strong>on</strong>_mcore ( No DSU / code in bprom.vhd / IO access <strong>on</strong>ly)<br />

Syn<strong>the</strong>sis :<br />

Combinati<strong>on</strong>al Cells 56.3%<br />

Sequential Cells 8 %<br />

P&R :<br />

Logic Core Cells + routing cells 73,7 %<br />

Max freq : 14,6 MHz<br />

3 hours of Place <strong>and</strong> Route<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 17


Illustrati<strong>on</strong> of <strong>the</strong> routing cell issue<br />

“Le<strong>on</strong>_mcore”<br />

(Place & route OK,<br />

<strong>the</strong> design works)<br />

Green spots = Core Cells used as “routing cells”<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 18


Illustrati<strong>on</strong> of <strong>the</strong> routing cell issue<br />

“Le<strong>on</strong>_mcore”<br />

3955 routing Core cells 27,5 %<br />

14400 Core cells<br />

(Place & route OK,<br />

<strong>the</strong> design works)<br />

Green spots = Core Cells used as “routing cells”<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 19


An illustrati<strong>on</strong> of <strong>the</strong> issue reported by KDA :<br />

(Clk & Clkn of <strong>the</strong> mcore design)<br />

Large clocks skew in <strong>the</strong> clock trees in <strong>the</strong> case of a design c<strong>on</strong>taining<br />

derived clocks<br />

Figaro does not report correctly <strong>the</strong> timing problems<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 20


An illustrati<strong>on</strong> of <strong>the</strong> issue reported by KDA :<br />

(Clk & Clkn of <strong>the</strong> mcore design)<br />

The net “clk” (<strong>the</strong> main external clock)<br />

GCK1<br />

pad<br />

<strong>FPGA</strong><br />

clk<br />

The net “clkn” (<strong>the</strong> derived clock)<br />

clkn<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 21


An illustrati<strong>on</strong> of <strong>the</strong> workaround found by KDA :<br />

The net “clk” (<strong>the</strong> main external clock)<br />

GCK1<br />

pad<br />

<strong>FPGA</strong><br />

clk<br />

The net “clkn” (external now)<br />

GCK2<br />

pad<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 22<br />

clkn


C<strong>on</strong>clusi<strong>on</strong> :<br />

Technology gap between Atmel <strong>and</strong> Xilinx (eg : routing resources)<br />

Never<strong>the</strong>less, Atmel <strong>FPGA</strong>s have a real potential (not ITAR, availability)<br />

Poor documentati<strong>on</strong> <strong>and</strong> immaturity of <strong>the</strong> tool<br />

<strong>Space</strong> <strong>FPGA</strong> <strong>Designer</strong> appears to be <strong>the</strong> root cause of limitati<strong>on</strong><br />

<strong>and</strong> waste!


C<strong>on</strong>clusi<strong>on</strong> :<br />

Str<strong>on</strong>g need of improved (new?) tool in order to :<br />

Efficient exploitati<strong>on</strong> of <strong>ATF280E</strong> resources<br />

Enabling use of ATF450<br />

Kilo<br />

gates


Thanks very much,<br />

Do you have any questi<strong>on</strong>s ?<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 25


Add-On Slides<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 26


An illustrati<strong>on</strong> of <strong>the</strong> issue reported by KDA :<br />

(Clk & Clkn of <strong>the</strong> mcore design)<br />

Add-<strong>on</strong><br />

Slides<br />

The net “clk” (<strong>the</strong> main external clock)<br />

The net “clkn” (<strong>the</strong> derived clock)<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 27


Primitives inferred for<br />

combinati<strong>on</strong>al Logic : <strong>the</strong> “sec<strong>on</strong>d mapping” step<br />

Add-<strong>on</strong><br />

Slides<br />

for <strong>the</strong> main<br />

combinati<strong>on</strong>al<br />

glue of a design :<br />

no recogniti<strong>on</strong><br />

of those macros<br />

for <strong>the</strong> main<br />

combinati<strong>on</strong>al<br />

glue of a design :<br />

Mapping of<br />

those macros<br />

<strong>on</strong>ly.<br />

See slide 12<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 28


incomplete Area report<br />

Add-<strong>on</strong><br />

Slides<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 29


Essais LEON2 : implantati<strong>on</strong> d’1 l’IU<br />

Add-<strong>on</strong><br />

Slides<br />

Syn<strong>the</strong>sis :<br />

Combinati<strong>on</strong>al Cells : 30.06%<br />

Sequential Cells : 3.88%<br />

P&R :<br />

Logic : Core Cells (3641)<br />

+ 343 Route Wires used = 27,6 %<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 30


Atmel clock distributi<strong>on</strong> (src : ATMEL)<br />

Add-<strong>on</strong><br />

Slides<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 31


The <strong>ATF280E</strong> Core Cell<br />

Add-<strong>on</strong><br />

Slides<br />

<str<strong>on</strong>g>CNES</str<strong>on</strong>g> <str<strong>on</strong>g>feedback</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>ATF280E</strong> 32

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

Saved successfully!

Ooh no, something went wrong!