Sharp

Information about Sharp

Published on June 17, 2007

Author: Barbara

Source: authorstream.com

Content

Functional Design Using Behavioural and Structural Components:  Functional Design Using Behavioural and Structural Components Richard Sharp [email protected] University of Cambridge aims ofthis research:  aims of this research SAFL is a Behavioural HDL Supports a functional programming style Designed for source-level program transformation Ease of analysis and optimisation Combine behaviour and structure? Verilog/VHDL do this to great effect… but as a result are very complex =andgt; transformation VERY difficult. talkoverview:  talk overview Behavioural HDL: SAFL Structural HDL: Magma Integrating SAFL + Magma Case Study Conclusions and further work SAFL:a behavioural HDL:  SAFL: a behavioural HDL Functional Call-by-value First-order statically allocated functional language General properties Hardware-specific properties a SAFLexample:  a SAFL example mult f cube circuit structure: Behavioural, … but … captures system-level structure One 'fun definition' =andgt; one hardware resource SAFL Properties magma:a structural HDL:  magma: a structural HDL Embedded in pure-functional ML Similar syntax and semantics (CBV) to SAFL Supports synthesis/simulation Uses ML functors to parameterise over different basis functions Synthesis == Static Expansion Only describes acyclic, combinatorial hardware no 'observable sharing' problems a magmaexample (1):  a magma example (1) functor RippleAdder (B:BASIS):RP_ADD = struct type bit=B.bit fun adder (x,y,c_in) = (B.xorb(c_in, B.xorb(x,y)), B.orb( B.orb( B.andb (x,y), B.andb(x,c_in)), B.andb(y,c_in))) Adder c_in x y c_out s_out a magmaexample (2):  a magma example (2) fun carry_chain f _ ([],[]) = [] | carry_chain f c_in (x::xs,y::ys) = let val (res_bit, c_out) = f (x,y,c_in) in res_bit::(carry_chain f c_out (xs,ys)) end val ripple_add = carry_chain adder B.b0 Adder x1 y1 b0 Adder x2 y2 Adder x3 y3 Adder Adder X4 y4 x5 y5 s_out1 s_out2 s_out3 s_out4 s_out5 a magmaexample (3):  a magma example (3) - structure SimulateAdder = RippleAdder (SimulationBasis); - SimulateAdder.ripple_add ([b1,b0,b0,b1,b1,b1],[b0,b1,b1,b0,b1,b1]) val it = [b1,b1,b1,b1,b0,b1] : SimulateAdder.bit list - structure SynthesiseAdder = RippleAdder (SynthesisBasis); - SynthesiseAdder.ripple_add (Magma.new_bus 5, Magma.new_bus 5) and(w_1,w_45,w_46); and(w_2,w_1,w_44); ... and(w_149,w_55,w_103); val it = ['w_149','w_150','w_151','w_152','w_153'] Support for simulation and synthesis: integratingSAFL and magma (1):  integrating SAFL and magma (1) andlt;% (* Magma code Library Block: ---------------------------------- *) signature RP_ADD = ... functor Magma_Code (B:BASIS):RP_ADD = ... Contains ripple adder spec (as before) %andgt; (* SAFL code: ------------------------------------------------- *) fun mult(x, y, acc) = if (x=0 | y=0) then acc else mult(xandlt;andlt;1, yandgt;andgt;1, if y[0] then andlt;% ripple_add %andgt;(acc,x) else acc) Magma fragments treated as SAFL-level functions integratingSAFL and magma (2):  integrating SAFL and magma (2) Encounter Magma Fragment Execute Magma under Synthesis Interpretation Process 2: SAFL Compiler Process 1: ML Session Magma Verilog [Time] andlt;% m %andgt;(e_1, …, e_k) integratingSAFL and magma (3):  integrating SAFL and magma (3) fun f(x) = andlt;% M %andgt;(x) + andlt;% M %andgt;(x) fun g(x) = andlt;% M %andgt;(x) fun f(x) = g(x) + g(x) RTL Verilog FPGA Source-level transformation High-level synthesis RTL synthesis case study:DES:  case study: DES SAFL Describes DES Algorithm Magma Describes Wiring Permutations Current Version Not Pipelined Making a pipelined version through SAFL/Magma program transformation is topic of future work Throughput of 15.8 Mb/sec On Altera APEX 200K FPGA with 33MHz clock Theoretical max clock speed design andgt; 40MHz 2 DES blocks + test harness =andgt; 17% of FPGA case study:DES – Dev Boad:  case study: DES – Dev Boad APEX E20K200E Status LEDs conclusions:  conclusions It is possible to combine behavioural + (limited) structural design in a clean way Fine-grained structure integrates well with SAFL’s notion of resource-awareness Program transformation remains a powerful technique for exploring tradeoffs Tested technique on a real-life case study ongoingresearch:  ongoing research Extending the SAFL Language ML-style references Many-many synchronous channels Pi-calculus style channel passing Extending the FLaSH tool-chain Developing / experimenting with new SAFL transformations Building SAFL compiler which targets asynchronous hardware Building larger examples

Related presentations


Other presentations created by Barbara

Solar System
17. 06. 2007
0 views

Solar System

Advanced SQL Injection
30. 08. 2007
0 views

Advanced SQL Injection

PrivateExchange
22. 04. 2008
0 views

PrivateExchange

07 fordjob1
17. 04. 2008
0 views

07 fordjob1

20061011114434853
13. 04. 2008
0 views

20061011114434853

Bruce Lambert Army Corps
10. 04. 2008
0 views

Bruce Lambert Army Corps

SPAC2007 Juan Rodriguez
09. 04. 2008
0 views

SPAC2007 Juan Rodriguez

Chapter7
07. 04. 2008
0 views

Chapter7

tourism chapter 04
30. 03. 2008
0 views

tourism chapter 04

LAC International Trade
28. 03. 2008
0 views

LAC International Trade

feb2006final
27. 03. 2008
0 views

feb2006final

virtualcommunities
26. 03. 2008
0 views

virtualcommunities

Mickey Mouse
26. 06. 2007
0 views

Mickey Mouse

1who gets tb in nyc
27. 09. 2007
0 views

1who gets tb in nyc

lijian
12. 10. 2007
0 views

lijian

O2 Diesel
08. 11. 2007
0 views

O2 Diesel

American Romanticism
30. 08. 2007
0 views

American Romanticism

233nm60
30. 08. 2007
0 views

233nm60

MBA Lecture Series v2
30. 08. 2007
0 views

MBA Lecture Series v2

hep2005 talk MarkVagins
09. 10. 2007
0 views

hep2005 talk MarkVagins

Control Tech
05. 12. 2007
0 views

Control Tech

DasuCMSTriggerUCSD
07. 10. 2007
0 views

DasuCMSTriggerUCSD

ams ppt
30. 08. 2007
0 views

ams ppt

Question Answering
16. 11. 2007
0 views

Question Answering

Facts x about Finland
22. 11. 2007
0 views

Facts x about Finland

OWAS PAppSecEU2006 CLASP Project
30. 08. 2007
0 views

OWAS PAppSecEU2006 CLASP Project

OWASP Flyer Sep06
30. 08. 2007
0 views

OWASP Flyer Sep06

fun with hyperplanes 2007
28. 12. 2007
0 views

fun with hyperplanes 2007

american history
28. 12. 2007
0 views

american history

Frank Garber Presentation
02. 01. 2008
0 views

Frank Garber Presentation

DPS07 65 01 Fritzius
03. 01. 2008
0 views

DPS07 65 01 Fritzius

Teaching Political Sociology
04. 01. 2008
0 views

Teaching Political Sociology

Gaming in Education
07. 01. 2008
0 views

Gaming in Education

Plume tracking hardware
07. 01. 2008
0 views

Plume tracking hardware

Altera
28. 11. 2007
0 views

Altera

dead reckon cdr
07. 01. 2008
0 views

dead reckon cdr

Infections 3
04. 12. 2007
0 views

Infections 3

CMC IR1001
27. 09. 2007
0 views

CMC IR1001

class2 3
16. 11. 2007
0 views

class2 3

mixload
06. 11. 2007
0 views

mixload

web query 0609
07. 11. 2007
0 views

web query 0609

FSA
27. 12. 2007
0 views

FSA

CompanyDossier
29. 09. 2007
0 views

CompanyDossier

Hunting For Black Holes
28. 11. 2007
0 views

Hunting For Black Holes

DAR
20. 02. 2008
0 views

DAR

8 Soci 1015 Chapter7 Family
24. 02. 2008
0 views

8 Soci 1015 Chapter7 Family

ABSSEI Oswald
29. 02. 2008
0 views

ABSSEI Oswald

NeMO Curr Part3 v2
26. 06. 2007
0 views

NeMO Curr Part3 v2

nelson sheinberg Presentation
26. 06. 2007
0 views

nelson sheinberg Presentation

n0002 SPIE1
26. 06. 2007
0 views

n0002 SPIE1

Metric System 1
26. 06. 2007
0 views

Metric System 1

media kit
26. 06. 2007
0 views

media kit

March 14 PMI Presentation
26. 06. 2007
0 views

March 14 PMI Presentation

fountain of age
26. 06. 2007
0 views

fountain of age

Lifting Equation
13. 12. 2007
0 views

Lifting Equation

Dietary Guidelines
04. 03. 2008
0 views

Dietary Guidelines

upshur pc1
10. 03. 2008
0 views

upshur pc1

crossref
30. 08. 2007
0 views

crossref

ddbppt
20. 11. 2007
0 views

ddbppt

DEPBasicsCourse
30. 12. 2007
0 views

DEPBasicsCourse

guerra
12. 11. 2007
0 views

guerra

James F Cooper
30. 08. 2007
0 views

James F Cooper

lubin talk
03. 01. 2008
0 views

lubin talk

NDD presentation compressed
30. 08. 2007
0 views

NDD presentation compressed

madcooper
07. 12. 2007
0 views

madcooper

graduacion1
01. 01. 2008
0 views

graduacion1

GBIF demo Japan081003
27. 11. 2007
0 views

GBIF demo Japan081003

20061019 1732 oberauer hql06
15. 11. 2007
0 views

20061019 1732 oberauer hql06

phpulse oct
05. 01. 2008
0 views

phpulse oct

media searching
26. 06. 2007
0 views

media searching

Smith Core values
17. 06. 2007
0 views

Smith Core values

Smith1
17. 06. 2007
0 views

Smith1

Significance of the Cross
17. 06. 2007
0 views

Significance of the Cross

section 2 attitude to food
17. 06. 2007
0 views

section 2 attitude to food

Section4 5
17. 06. 2007
0 views

Section4 5

Spirituality
17. 06. 2007
0 views

Spirituality

sonnet presentation
17. 06. 2007
0 views

sonnet presentation

Star addition tutorial
17. 06. 2007
0 views

Star addition tutorial

stand up comedy
17. 06. 2007
0 views

stand up comedy

SS 1SBrown
17. 06. 2007
0 views

SS 1SBrown

Emerson Transcendentalism
30. 08. 2007
0 views

Emerson Transcendentalism

ABinEurope
23. 11. 2007
0 views

ABinEurope

TextMining 06
03. 10. 2007
0 views

TextMining 06

oct04ach
05. 11. 2007
0 views

oct04ach

SCP2
17. 06. 2007
0 views

SCP2

transcendentalism
30. 08. 2007
0 views

transcendentalism

micro ch03 presentation
04. 10. 2007
0 views

micro ch03 presentation

SC morning
17. 06. 2007
0 views

SC morning

ISIC cobrandNEUenglish
18. 03. 2008
0 views

ISIC cobrandNEUenglish

02b LisbonWeb
30. 12. 2007
0 views

02b LisbonWeb

ProvenceArchitecture
05. 11. 2007
0 views

ProvenceArchitecture

san diego 04
01. 11. 2007
0 views

san diego 04

noemie 2
26. 06. 2007
0 views

noemie 2

Community Service PP 06 FOR WEB
05. 11. 2007
0 views

Community Service PP 06 FOR WEB

Sections3 7
17. 06. 2007
0 views

Sections3 7

ECE TRANS WP29 GRSP 41 inf09e
26. 11. 2007
0 views

ECE TRANS WP29 GRSP 41 inf09e

srwg graz
26. 11. 2007
0 views

srwg graz

Meydan
23. 11. 2007
0 views

Meydan

LWS05
02. 11. 2007
0 views

LWS05

mal 2005 bra
30. 08. 2007
0 views

mal 2005 bra

Standards Aligned Classroom
17. 06. 2007
0 views

Standards Aligned Classroom

steenkampNVDRS
06. 03. 2008
0 views

steenkampNVDRS