SlideShare a Scribd company logo
Loïc Lagadec
Lab-STICC Architectures&Systèmes
Université de Bretagne Occidentale, BREST
Madeo: a CAD Tool for
Reconfigurable Hardware
L. Lagadec - Lab-STICC CNRS UMR 3192 -
Université de Bretagne Occidentale
11
Our OO Expert's world
We are all familiar with
 Code refactoring
 Code reuse
 Agile development
Ability to postpone design choices
Fast development
Portability through Virtual Machines
2
Out =
i1 + i2
What about real Machines?
 Micro processors
 Co-processors
 Dedicated instructions set
 Dynamic instructions set ?
 Reconfigurable hardware is an option
for that
i1
i2
out
mP
Circuit
Target 3
Reconfigurable Architectures
(RA)
 Circuits
 Customizable
 Partial reconfiguration
 Dynamic reconfiguration
 Performances (in between HW and
SW)
 Flexibility (in between SW and HW)
 “Low” Cost 4
Targets
 FPGAs (several vendors, eg. Xilinx)
 Complexity issue
 Application IP composition
 Reconfigurable Datapath (e.g. XPP)
 eFPGAs (M2000, Mentra, ...)
 Rsocs (e.g Morpheus project) : RA IP
composition
complexity
5
Requires efficient tools
 Programming these circuits is a complex
task
 Tools are linked to a target (low reuse)
 Application description “fails” to exploit
flexibility
6
My talk adresses
 Applying OO methodology to
reconfigurable hardware
 Adapt to new RA “retargetable compiler”
 Produce Circuits from HL code
 10 years experience report
 Results + Lessons learned
7
Origin: Compatibility issues
 Need to conform to
 standards tools/formats
 vendor's private (unstable) formats
 While preserving a stable API
 Solution: Build up a framework
 Model : Reconfigurable Architecture (RA)
 Tools : Editing/Programming RA
8
 Tools for HL Code to circuit mapping
Our contribution
Floorplaning
HL Code
RTL Code
Place & Route
Validation
Bitstream generation
Execution control
SOFT
HARD
Covers more
architectures: model's
improvements
Covers control structures
and libraries
2
1
9
First architecture
 XC6200 from Xilinx
 Configuration as RAM
 Very exiting (late 90s)
Export
Program &
Manage execution
10
Dedicated Tool
 A circuit is an object
 Registers = instance variables
 IOs = accessors
 Mmap: configuration  main memory
 Fine resource allocation
 Step by Step execution control
11
12
13
Improvements
 Coverage
 Learning by doing (reverse is costly)
 Model re-design
 Wire vs Channel
 Directional vs Bi directional resources
 Hierarchical composition
 ...
 Model instanciation (DSL)
 Design Space Exploration (DSE)
1
14
Results
 Architectures
 Commercial architecture (VIRTEX) with back
end vendor's tools control
 Reconfigurable datapaths (STMicro)
 Generic parameterized architectures (DSE)
 Architecture research oriented support (fast
prototyping)
 Two issues
 Compiance to standard
 High Level layer
15
Snaphots
Interfacing
the vendor
API
BitStream
structure
(e.g K.I.T)
System
Use
16
ST as application spec
Goal: Fully exploit RA adaptability
 How:
 AST from Vw code
 Typing
 Compilation steps (standard + specific)
+ RTL (application) generation
2
17
Tool Snapshot
18
Example:Small FP multiplier
19
Example:Small FP multiplier
20
Example:Changing optimization policy
21
Example: Changing target RA
22
Pro/Cons
 Domain oriented tailoring (ex. Galois
field based typing) for free
 Logic based simulator hence SW/HW
sharing API
 Complexity bounded
 Restricted to simple control structures
(ifTrue:, ...) and loop unrolling
 Still relies on third parties logic
minimizers 23
Complexity issue
 Well known design patterns
 Soft macros (tiling, ...)
 Compositions (divide and conquer)
 Designing architectures (control
structures through structural patterns) 24
Model/Interchange issues
 Standart compliance (e.g. EDIF)
 Exchange issues:
 Ensure portability
 Prevent semantic losses
 Allow cross-blocks optimizations
Meta modeling: Platypus (A. Plantec)
 STEP/EXPRESS
 Visitors (encoding/decoding, repository,
rules checking)
+ Visitors (Domain specific e.g. Scheduling)
25
Flow
Platypus tool
CDFG design
CDFG
EXPRESS
model
Tool X
Tool Y
HLL CDFG
API (Java)
CDFG instances
(STEP files)
CDFG Checker
Madeo+ synthesis tool
CDFG Use
Target 3
Specific Assembly code
Target 2
C like code
Target 1
EDIF
Target
architecture
description
HLL CDFG
API (Smalltalk)
ENTITY HierarchicalNode SUBTYPE OF (Node);
localVariables : LIST OF
AbstractData;
subOperators : LIST [1 : ?] OF Node;
END_ENTITY;
ENTITY AccumulatorNode SUBTYPE OF
(HierarchicalNode);
init : AbstractData; --
”AccumulatorNode.init” the initial
value we start accumulating from.
toBeAccumulated: AbstractData;
DERIVE
cumulatedArguments : LIST OF
AbstractData := subOperators [
SIZEOF (subOperators)].outputs;
WHERE
toBeAccumulatedSource: SIZEOF (
cumulatedArguments )=1;
typeCompat:
cumulatedArguments[1].type =
init.type;
END_ENTITY;
APPLICATION
APPLICATION
26
Validation
 Key issue
 Requires standard tools (Again !)
 But we want also Sunit capabilities
27
Combine both
 Use external tools as characterization
tests for your own tools
 Once yours are validated, use them
 Multi level simulation (System,
Architecture, Circuit)
 Add probes/break points
 Keep the double link between HL code
and circuit
28
Conclusion
 Model target (FPGA, eFPGA, ...)
 Generate application-code
 HL code hardware execution
 Open to third parties
 Used in several projects (RNTL, PRIR, FP6, ...)
 Benefits from OO
 Provides OO-like
 Nice candidate to RA based VM implementation tool
29
Lessons learned
 Split layers into separate tools with different names
 Use Meta Modeling (cost killer)
 Evolution
 Interchange
 Documentation
 Export code and always target your partner's
reference language (your partner is your client)
 You may like UGI, partners like command line mode
(seaside 's fine for remote access and easy demo)
 Don't show partners you work faster than they do
 Keeping your cooking tips secrets is not a problem 30
On going tasks
 Platypus + STEP/EXPRESS for FPGA
modeling
 DSL generation (ExternalLanguageParser -> SmaCC
-> gen. smaCC)
 Probe synthesis (hardware = speed up)
 Nano devices
(e.g. NASICs from Umass)
 Virtualize FPGAs
31

More Related Content

PDF
Improve Vectorization Efficiency
Intel® Software
 
PDF
The CAOS framework: Democratize the acceleration of compute intensive applica...
NECST Lab @ Politecnico di Milano
 
PPT
Track A-Compilation guiding and adjusting - IBM
chiportal
 
PPT
Thesis F. Redaelli UIC Slides EN
Marco Santambrogio
 
PPT
Verification Automation Using IPXACT
DVClub
 
PPTX
Techniques for Efficient RTL Clock and Memory Gating Takedown of Next Generat...
Arun Joseph
 
PPTX
NHibernate for .NET
guest1e1f73
 
PPTX
LEGaTO: Software Stack Programming Models
LEGATO project
 
Improve Vectorization Efficiency
Intel® Software
 
The CAOS framework: Democratize the acceleration of compute intensive applica...
NECST Lab @ Politecnico di Milano
 
Track A-Compilation guiding and adjusting - IBM
chiportal
 
Thesis F. Redaelli UIC Slides EN
Marco Santambrogio
 
Verification Automation Using IPXACT
DVClub
 
Techniques for Efficient RTL Clock and Memory Gating Takedown of Next Generat...
Arun Joseph
 
NHibernate for .NET
guest1e1f73
 
LEGaTO: Software Stack Programming Models
LEGATO project
 

What's hot (18)

PDF
ASIC Design and Implementation
skerlj
 
PDF
Why i need to learn so much math for my phd research
Crypto Cg
 
PPTX
DETR ECCV20
Mengmeng Xu
 
DOCX
Description
Himanshu Gautam
 
DOCX
Punit_Shah_resume
Punit Shah
 
PDF
COMPILER DESIGN Run-Time Environments
Jyothishmathi Institute of Technology and Science Karimnagar
 
PPTX
ASIC DESIGN FLOW
Purvi Medawala
 
PDF
ScilabTEC 2015 - Embedded Solutions
Scilab
 
PPTX
Vlsi design flow
Rajendra Kumar
 
PPTX
Fcv rep darrell
zukun
 
PPT
Assic 12th Lecture
babak danyal
 
PPT
Short.course.introduction.to.vhdl for beginners
Ravi Sony
 
PDF
Lect01 flow
prabhu_vlsi
 
PPSX
VLSI Design Flow
Dr. A. B. Shinde
 
PDF
vlsi design flow
Anish Gupta
 
DOCX
report
Nikhil Venugopal
 
PPT
Fpga design flow
Naren Sridhar
 
ASIC Design and Implementation
skerlj
 
Why i need to learn so much math for my phd research
Crypto Cg
 
DETR ECCV20
Mengmeng Xu
 
Description
Himanshu Gautam
 
Punit_Shah_resume
Punit Shah
 
ASIC DESIGN FLOW
Purvi Medawala
 
ScilabTEC 2015 - Embedded Solutions
Scilab
 
Vlsi design flow
Rajendra Kumar
 
Fcv rep darrell
zukun
 
Assic 12th Lecture
babak danyal
 
Short.course.introduction.to.vhdl for beginners
Ravi Sony
 
Lect01 flow
prabhu_vlsi
 
VLSI Design Flow
Dr. A. B. Shinde
 
vlsi design flow
Anish Gupta
 
Fpga design flow
Naren Sridhar
 
Ad

Similar to Madeo - a CAD Tool for reconfigurable Hardware (20)

PPT
Probe Debugging
ESUG
 
PDF
Performance Verification for ESL Design Methodology from AADL Models
Space Codesign
 
PDF
SparkSQL: A Compiler from Queries to RDDs
Databricks
 
PDF
Boston Spark Meetup event Slides Update
vithakur
 
PPTX
Summer training vhdl
Arshit Rai
 
PDF
Linaro Connect 2016 (BKK16) - Introduction to LISA
Patrick Bellasi
 
PDF
Summer training vhdl
Arshit Rai
 
PDF
Reactive Microservices with Spring 5: WebFlux
Trayan Iliev
 
PPTX
Embedded system
ashraf eltholth
 
PPTX
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
PPTX
Mirabilis_Design AMD Versal System-Level IP Library
Deepak Shankar
 
PPT
Design and implementation of five stage pipelined RISC-V processor using Ver...
RITHISHKUMAR17
 
PPTX
Cockatrice: A Hardware Design Environment with Elixir
Hideki Takase
 
PDF
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
GoDataDriven
 
PPTX
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
PDF
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
jsvetter
 
PDF
Scaling spark on kubernetes at Lyft
Li Gao
 
PPTX
VLSI
MAYANK KUMAR
 
PDF
NGRX Apps in Depth
Trayan Iliev
 
PPT
MPHS RC Prj
Marco Santambrogio
 
Probe Debugging
ESUG
 
Performance Verification for ESL Design Methodology from AADL Models
Space Codesign
 
SparkSQL: A Compiler from Queries to RDDs
Databricks
 
Boston Spark Meetup event Slides Update
vithakur
 
Summer training vhdl
Arshit Rai
 
Linaro Connect 2016 (BKK16) - Introduction to LISA
Patrick Bellasi
 
Summer training vhdl
Arshit Rai
 
Reactive Microservices with Spring 5: WebFlux
Trayan Iliev
 
Embedded system
ashraf eltholth
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
Mirabilis_Design AMD Versal System-Level IP Library
Deepak Shankar
 
Design and implementation of five stage pipelined RISC-V processor using Ver...
RITHISHKUMAR17
 
Cockatrice: A Hardware Design Environment with Elixir
Hideki Takase
 
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
GoDataDriven
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
jsvetter
 
Scaling spark on kubernetes at Lyft
Li Gao
 
NGRX Apps in Depth
Trayan Iliev
 
MPHS RC Prj
Marco Santambrogio
 
Ad

More from ESUG (20)

PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
PDF
Directing Generative AI for Pharo Documentation
ESUG
 
PDF
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
ESUG
 
PDF
Integrating Executable Requirements in Prototyping
ESUG
 
PDF
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
ESUG
 
PDF
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
ESUG
 
PDF
Analysing Python Machine Learning Notebooks with Moose
ESUG
 
PDF
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
ESUG
 
PDF
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
ESUG
 
PDF
Package-Aware Approach for Repository-Level Code Completion in Pharo
ESUG
 
PDF
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
ESUG
 
PDF
An Analysis of Inline Method Refactoring
ESUG
 
PDF
Identification of unnecessary object allocations using static escape analysis
ESUG
 
PDF
Control flow-sensitive optimizations In the Druid Meta-Compiler
ESUG
 
PDF
Clean Blocks (IWST 2025, Gdansk, Poland)
ESUG
 
PDF
Encoding for Objects Matters (IWST 2025)
ESUG
 
PDF
Challenges of Transpiling Smalltalk to JavaScript
ESUG
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
Directing Generative AI for Pharo Documentation
ESUG
 
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
ESUG
 
Integrating Executable Requirements in Prototyping
ESUG
 
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
ESUG
 
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
ESUG
 
Analysing Python Machine Learning Notebooks with Moose
ESUG
 
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
ESUG
 
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
ESUG
 
Package-Aware Approach for Repository-Level Code Completion in Pharo
ESUG
 
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
ESUG
 
An Analysis of Inline Method Refactoring
ESUG
 
Identification of unnecessary object allocations using static escape analysis
ESUG
 
Control flow-sensitive optimizations In the Druid Meta-Compiler
ESUG
 
Clean Blocks (IWST 2025, Gdansk, Poland)
ESUG
 
Encoding for Objects Matters (IWST 2025)
ESUG
 
Challenges of Transpiling Smalltalk to JavaScript
ESUG
 
Immersive experiences: what Pharo users do!
ESUG
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 

Recently uploaded (20)

PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Doc9.....................................
SofiaCollazos
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Software Development Methodologies in 2025
KodekX
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 

Madeo - a CAD Tool for reconfigurable Hardware

  • 1. Loïc Lagadec Lab-STICC Architectures&Systèmes Université de Bretagne Occidentale, BREST Madeo: a CAD Tool for Reconfigurable Hardware L. Lagadec - Lab-STICC CNRS UMR 3192 - Université de Bretagne Occidentale 11
  • 2. Our OO Expert's world We are all familiar with  Code refactoring  Code reuse  Agile development Ability to postpone design choices Fast development Portability through Virtual Machines 2
  • 3. Out = i1 + i2 What about real Machines?  Micro processors  Co-processors  Dedicated instructions set  Dynamic instructions set ?  Reconfigurable hardware is an option for that i1 i2 out mP Circuit Target 3
  • 4. Reconfigurable Architectures (RA)  Circuits  Customizable  Partial reconfiguration  Dynamic reconfiguration  Performances (in between HW and SW)  Flexibility (in between SW and HW)  “Low” Cost 4
  • 5. Targets  FPGAs (several vendors, eg. Xilinx)  Complexity issue  Application IP composition  Reconfigurable Datapath (e.g. XPP)  eFPGAs (M2000, Mentra, ...)  Rsocs (e.g Morpheus project) : RA IP composition complexity 5
  • 6. Requires efficient tools  Programming these circuits is a complex task  Tools are linked to a target (low reuse)  Application description “fails” to exploit flexibility 6
  • 7. My talk adresses  Applying OO methodology to reconfigurable hardware  Adapt to new RA “retargetable compiler”  Produce Circuits from HL code  10 years experience report  Results + Lessons learned 7
  • 8. Origin: Compatibility issues  Need to conform to  standards tools/formats  vendor's private (unstable) formats  While preserving a stable API  Solution: Build up a framework  Model : Reconfigurable Architecture (RA)  Tools : Editing/Programming RA 8
  • 9.  Tools for HL Code to circuit mapping Our contribution Floorplaning HL Code RTL Code Place & Route Validation Bitstream generation Execution control SOFT HARD Covers more architectures: model's improvements Covers control structures and libraries 2 1 9
  • 10. First architecture  XC6200 from Xilinx  Configuration as RAM  Very exiting (late 90s) Export Program & Manage execution 10
  • 11. Dedicated Tool  A circuit is an object  Registers = instance variables  IOs = accessors  Mmap: configuration  main memory  Fine resource allocation  Step by Step execution control 11
  • 12. 12
  • 13. 13
  • 14. Improvements  Coverage  Learning by doing (reverse is costly)  Model re-design  Wire vs Channel  Directional vs Bi directional resources  Hierarchical composition  ...  Model instanciation (DSL)  Design Space Exploration (DSE) 1 14
  • 15. Results  Architectures  Commercial architecture (VIRTEX) with back end vendor's tools control  Reconfigurable datapaths (STMicro)  Generic parameterized architectures (DSE)  Architecture research oriented support (fast prototyping)  Two issues  Compiance to standard  High Level layer 15
  • 17. ST as application spec Goal: Fully exploit RA adaptability  How:  AST from Vw code  Typing  Compilation steps (standard + specific) + RTL (application) generation 2 17
  • 23. Pro/Cons  Domain oriented tailoring (ex. Galois field based typing) for free  Logic based simulator hence SW/HW sharing API  Complexity bounded  Restricted to simple control structures (ifTrue:, ...) and loop unrolling  Still relies on third parties logic minimizers 23
  • 24. Complexity issue  Well known design patterns  Soft macros (tiling, ...)  Compositions (divide and conquer)  Designing architectures (control structures through structural patterns) 24
  • 25. Model/Interchange issues  Standart compliance (e.g. EDIF)  Exchange issues:  Ensure portability  Prevent semantic losses  Allow cross-blocks optimizations Meta modeling: Platypus (A. Plantec)  STEP/EXPRESS  Visitors (encoding/decoding, repository, rules checking) + Visitors (Domain specific e.g. Scheduling) 25
  • 26. Flow Platypus tool CDFG design CDFG EXPRESS model Tool X Tool Y HLL CDFG API (Java) CDFG instances (STEP files) CDFG Checker Madeo+ synthesis tool CDFG Use Target 3 Specific Assembly code Target 2 C like code Target 1 EDIF Target architecture description HLL CDFG API (Smalltalk) ENTITY HierarchicalNode SUBTYPE OF (Node); localVariables : LIST OF AbstractData; subOperators : LIST [1 : ?] OF Node; END_ENTITY; ENTITY AccumulatorNode SUBTYPE OF (HierarchicalNode); init : AbstractData; -- ”AccumulatorNode.init” the initial value we start accumulating from. toBeAccumulated: AbstractData; DERIVE cumulatedArguments : LIST OF AbstractData := subOperators [ SIZEOF (subOperators)].outputs; WHERE toBeAccumulatedSource: SIZEOF ( cumulatedArguments )=1; typeCompat: cumulatedArguments[1].type = init.type; END_ENTITY; APPLICATION APPLICATION 26
  • 27. Validation  Key issue  Requires standard tools (Again !)  But we want also Sunit capabilities 27
  • 28. Combine both  Use external tools as characterization tests for your own tools  Once yours are validated, use them  Multi level simulation (System, Architecture, Circuit)  Add probes/break points  Keep the double link between HL code and circuit 28
  • 29. Conclusion  Model target (FPGA, eFPGA, ...)  Generate application-code  HL code hardware execution  Open to third parties  Used in several projects (RNTL, PRIR, FP6, ...)  Benefits from OO  Provides OO-like  Nice candidate to RA based VM implementation tool 29
  • 30. Lessons learned  Split layers into separate tools with different names  Use Meta Modeling (cost killer)  Evolution  Interchange  Documentation  Export code and always target your partner's reference language (your partner is your client)  You may like UGI, partners like command line mode (seaside 's fine for remote access and easy demo)  Don't show partners you work faster than they do  Keeping your cooking tips secrets is not a problem 30
  • 31. On going tasks  Platypus + STEP/EXPRESS for FPGA modeling  DSL generation (ExternalLanguageParser -> SmaCC -> gen. smaCC)  Probe synthesis (hardware = speed up)  Nano devices (e.g. NASICs from Umass)  Virtualize FPGAs 31