+ All Categories
Home > Technology > OpenSPARC on FPGAs

OpenSPARC on FPGAs

Date post: 12-Jan-2015
Category:
Upload: dvclub
View: 702 times
Download: 1 times
Share this document with a friend
Description:
 
24
1 www.OpenSPARC.net OpenSPARC on FPGAs [email protected] OpenSPARC Engineering & Partnership Development Sun Microsystems, Inc. DV Club – July 2009
Transcript
Page 1: OpenSPARC on FPGAs

1www.OpenSPARC.net

OpenSPARC on FPGAs

[email protected] OpenSPARC Engineering & Partnership DevelopmentSun Microsystems, Inc.

DV Club – July 2009

Page 2: OpenSPARC on FPGAs

2

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

OpenSPARCOpenSPARC.net

Open source variants of Sun’s CMT microprocessorsUltraSPARC T1UltraSPARC T2

Governed by GPL version2 Widely used in Linux distribution

US export compliant for world-wide distribution

Page 3: OpenSPARC on FPGAs

3

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

AgendaChip Multi-threadingOpenSPARCMotivation for the FPGA portImplementationResultsResourcesQ & A

Page 4: OpenSPARC on FPGAs

4

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Chip Multi-threading (CMT)

Page 5: OpenSPARC on FPGAs

5

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

UltraSPARC T1SPARC V9 ISA, 64-bitEight cores, four threads

eachSingle issue 6-stage pipeHigh BW 12-way

associative 3 MB on-chip L2 cache

4 DDR2 channelsShared on-chip FPUChip IO through JBUS

Page 6: OpenSPARC on FPGAs

6

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

SPARC Core Pipeline

Interface tothe core

Page 7: OpenSPARC on FPGAs

7

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

UltraSPARC T2

x8 @2.5GHz

Full Cross Bar

C0 C1 C2 C3 C4 C5 C6 C7FPU FPU FPU FPU FPU FPU FPU FPU

L2$ L2$ L2$ L2$ L2$ L2$ L2$ L2$

FB DIMM FB DIMM FB DIMM FB DIMM

FB DIMM FB DIMM FB DIMM FB DIMM

PCI-ExNIU(E-net+)

Sys I/FBuffer Switch Core

2x 10GE EthernetPower 60 – 123W

MCU MCU MCU MCU

Eight cores, eight threads each

8-stage single issue pipeOne FPU per core16-way associative 4 MB

on-chip L2 cacheFour dual channel

FBDIMMTwo 10G EthernetPCIe and Crypto

excluded

Page 8: OpenSPARC on FPGAs

8

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

OpenSPARC BundlesHardware

− HDL design files written in Verilog− Verification test-bench, diagnostics, scripts− Synthesis scripts for ASIC and FPGA− Lots of documents

Software− SPARC Architecture Model (SAM) source− Full-system simulator (Legion) source− Hypervisor, Open Boot PROM (OBP) source− Solaris10 disk image− Scripts to build all the components

Page 9: OpenSPARC on FPGAs

9

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Source browser at www.opensparc.net

Page 10: OpenSPARC on FPGAs

10

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Community

OpenSPARC.net Contests Blogs Conferences TutorialsOperating System Port

Evangelize OpenSPARC Encourage contributions Build knowledgebase

Universities

Center of Excellence Collaborations Curriculum Research Tutorials

Partners

FPGA implementation ASIC implementation EDA SoC implementation Foundry relationship

Chip spins Coprocessors CMT EDA tools

OpenSPARC Ecosystem

Research publications Textbooks Shared coursework

Area

Tool Kit

Focus

Encourage community innovation

Page 11: OpenSPARC on FPGAs

11

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Innovationwill happen everywhere

OpenSPARC momentum

More than 11,000 downloadsIncludes academic and commercial interests

Page 12: OpenSPARC on FPGAs

12

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

AgendaChip Multi-threadingOpenSPARCMotivation for the FPGA portImplementationResultsResourcesQ & A

Page 13: OpenSPARC on FPGAs

13

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Why FPGAs? Community requested it

− As a platform for experimentation− Gentler introduction to server class processor design− Basic building block for more interesting/complex

designs Need off-the-shelf FPGA board that is

− Large enough for “good-sized” design points− At the “right” price point− Available world-wide

Page 14: OpenSPARC on FPGAs

14

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

OpenSPARC/Xilinx FPGA Evaluation Kit

Available from http://www.digilentinc.com/v5osdk

Page 15: OpenSPARC on FPGAs

15

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

FPGA implementation – Key objectives Proliferation of OpenSPARC & Xilinx

FPGA Technology− Make OpenSPARC FPGA-Friendly − Create reference design with complete system

functionality− Boot Solaris and Linux− Open it up ..− Seed ideas in the community

Page 16: OpenSPARC on FPGAs

16

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Processor core changes Primarily to reduce the area foot-print of

the multi-threaded SPARC core Recode custom SRAM cells for better resource utilization Parameterizable single- and multi-thread options Removal of all the asynchronous logic – no clock gating Simplified reset Only flops, no latches Reduce multi-port SRAM arrays Removable logic – Crypto accelerator, Floating-point

Overall 50% reduction in area

Page 17: OpenSPARC on FPGAs

17

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

OpenSPARC FPGA System

SPARC T1 Core Microblaze ProcCCX-FSL Interface

External DDR2 Dimm

MCH-OPB MemCon

Microblaze Debug UART

SPARC T1 UART

10/100 Ethernet

FPGA Boundary

Xilinx Embedded Developer’s (EDK) Design

Page 18: OpenSPARC on FPGAs

18

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Software Stack• Out-of-the-box

operating system installation

• Boots from a virtual disk in RAM which holds the Solaris binaries

• Able to boot eitherLinux or OpenSolaris

• Entire software stack is open source

ResetCode Hypervisor

Open Boot PROM (OBP)

Solaris/Linux

Page 19: OpenSPARC on FPGAs

19

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Results – Capacity Utilization• Using Xilinx XC5VLX110T device• Synthesis results (no SPU, 16 TLB entries)

1-thread core: 31475 LUT (45%), 115 BRAM (78%)

4-thread core: 51558 LUT (74%), 115 BRAM (78%)(synthesized with Synplicity Synplify Pro)

• Complete system:SPARC core, MicroBlaze, 2 UARTs,

Ethernet, and DDR2 controller:1-thread core: 38271 LUT (55%), 128

BRAM (86%)4-thread core: 58128 LUT (84%), 128

BRAM (86%) (Placed and Routed with Xilinx ISE)

Page 20: OpenSPARC on FPGAs

20

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Results – Community building• 50+MHz OpenSPARC FPGA system

– Platform for experimentation for HW developers– Building blocks to design truly multi-core, multi-thread

processors– Based on open-source technology– Costs ~$700 for academics ($2,000 for others)– Higher-end boards available for larger design points

• Used in 200+ Universities world-wide– Architectural exploration, fault tolerance, reconfigurable

computing, low power architectures

Free download, visit http://www.opensparc.net

Page 21: OpenSPARC on FPGAs

21

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Results - Partner

http://www.beecube.com

Page 22: OpenSPARC on FPGAs

22

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Key Learnings• FPGA capacity and performance are

increasing each successive generation, however– Optimal use of these resources is a big challenge

• FPGA design/coding is significantly different from ASIC style– E.g. pipeline bypass, latches, clock gating creates both

functional and P&R issues– For prototyping, create special FPGA models

• FPGA tools are full of quirks– Invest in verification at each level – RTL, gate, layout,

system

Page 23: OpenSPARC on FPGAs

23

64 bits, 64 threads, and free

www.OpenSPARC.net DV Club – Silicon Valley

Web pointersProgram

− http://www.opensparc.net

Publications− http://www.opensparc.net/publications/

Downloads− http://www.opensparc.net/opensparc-t1/downloads.html− http://www.opensparc.net/opensparc-t2/downloads.html

Participation (Forums)− http://forums.sun.com/category.jspa?categoryID=120

FPGA development boards− http://www.digilentinc.com/v5osdk

Page 24: OpenSPARC on FPGAs

24www.OpenSPARC.net

OpenSPARC on [email protected]

OpenSPARC Engineering & Partnership DevelopmentSun Microsystems, Inc.

www.OpenSPARC.net


Recommended