SlideShare uma empresa Scribd logo
1 de 1
Baixar para ler offline
The LEGaTO project has received funding from the European Union’s Horizon 2020
research and innovation programme under the grant agreement No 780681. www.legato-project.eu
Results
RTLRegister
Use-Cases Hardware Description Beyond Register-Transfer Level (RTL) Languages
Oron Port Yoav Etsion
Electrical Engineering Computer Science
Technion – Israel Institute of Technology
Introduction
This research introduces a novel dataflow hardware description
abstraction layer which covers the numerous synthesizable uses of
RTL constructs and replaces them with higher-level abstractions.
We also present DFiant, a Scala-embedded HDL that applies the
dataflow semantics to decouple design functionality from its
constraints. DFiant provides a strong bit-accurate type safe
foundations to describe hardware in a very concise and portable
fashion. The DFiant compiler can automatically pipeline designs
to meet performance requirements as synthesizable RTL code.
dfianthdl.github.io
Pipelining Regs
Path-Balancing Regs
CDC Synchronizer Regs
Async Synchronizer Regs
Synchronous
Technology Backend
Cycle-Accurate Top
/Internal Interface Regs
Real-time Delay Regs
Clock Division Regs
Synchronous
Technology Interface
Derived State Regs
Feedback State Regs
State
Register Abstraction
Language & Tool Comparison
DFiant Feature Overview
Dataflow
HDL
Constraints
Timers +
Constraints
Dataflow
Stream History
Hello DFiant World!
• Implicit Concurrency. Dependent operations are
sequenced. Independent operations are scheduled
concurrently.
• Device and timing agnostic dataflow hardware
description.
• Simplified hierarchical connectivity.
• Automatic latency path balancing.
• Automatic/manual pipelining.
• Clear synthesizability.
• Rich meta hardware description.
• Expandable language.
• Bit-accurate operations such as aliasing, casting,
and selection with strong type safety. Errors are
reflected in the editor. E.g.,
State Constructs & Semantics
In contrary to RTL languages, DFiant does not directly
expose register and wire constructs. Instead, DFiant
assumes every dataflow variable is a stream and provides
constructs to initialize the token history via the `.init`
construct, reuse tokens via the `.prev` construct, and update
the state via the `:=` construct. The rules are as follows:
• Initialization: via `.init` with a sequence of values
• History Access: `.prev` reuses the previous state token.
The very first ”reused” token is the one set via `.init`.
• Basic Operations Distributive Property: E.g., `a.prev +
b.prev` is equivalent to `(a + b).prev`
• Stall Bubbles: Uninitialized history access generates a
bubble. It is like regular value tokens, except that a basic
operation with a bubble always generates a bubble and
bubbles do not affect feedback state.
• State Update: New token is pushed into a dataflow
stream by using the `:=` assignment operator. The last
assignment updates the state and occurs when all
dependent dataflow firing rules are satisfied.
• Default Self-Generation: Any dataflow variable `a` has
an implicit self-assignment `a := a.prev` after
construction.
Fibonacci series generator example:
This is a demo of a four-by-four moving average unit, MA4. It
has four 16-bit integer input channels (`a`–`d`) and outputs the
average of all channels (`o`), while each channel is averaged by
a four-sample moving window continuously.
The DFiant code demonstrates the structure of any DFiant
program: it imports the `DFiant` library (line 1); creates the top-
level design by extending DFDesign` (lines 3–26); and creates
a runnable application that instantiates the top design trait, and
compiles it into a VHDL file (lines 32–33).
The MA4 design is straightforward. Lines 4–8 generate the
signed dataflow ports and include a `0` value initialization.
Lines 10–14 define the function `ma` that generates a single
four-sample moving average, while lines 15–19 define the
function `avg2` that generates a two-input average unit. Finally,
lines 22–25 compose `avg2` and `ma` to generate the entire
MA4 functionality and assign it to the output port `o`.
Use Case Design Source Pipeline
Latency
[Cyc]
Max
Freq.
[MHz]
LUTs
[#]
FFs
[#]
LoC
[#]
LoC
Reduction
[%]
DFiant
Pipelining
Method
Comment
DFiant 38 442 3782 11437 334
Hsing Core 21 454 11103 5386 922
DFiant 23 354 3733 2246 180
Lundgren Core 24 322 3744 1633 340
DFiant 2 117 1345 1025 557
Samsoniuk Core 2 103 1163 161 311
DFiant NA 217 23 17 41
Drange Core NA 217 23 17 103
DFiant NA 339 32 30 8
ExampleProblems NA 339 32 30 31
DFiant NA 567 5 3 32
FPGA4Student NA 577 6 6 73
DFiant 2 226 217 299 19
Our RTL 2 226 217 299 72
DFiant 0 33 3424 0 36
VLSICoding 0 33 3424 0 90
DFiant 0 178 154 0 10
Kaufmann Core 0 178 154 0 21
Priority
Encoder
52 None
Compared at 128-bit input
Moving
Average 4x4
74 Manual
Bitonic Sort
Network
60 None
Fibonacci
Gen
74
Not
Applicable
Sequence
Detector
56
Not
Applicable
Change is due different FSM state
encoding inference (one-hot or not)
Two-Stage
RISC-V
-79 Manual
The RTL code registers are
inferred differently and are
mapped to LUTRAM.
CRC 60
Not
Applicable
Compared with the parallel CRC
module at 16-bit polynomial and
16-bit data input.
AES Cypher 64 Automatic
Three key widths supported.
Compared at 128-bit. The DFiant
compiler over-pipelined the design.
FP Multiplier 47 Automatic
To evaluate the DFiant language and compiler, we reimplemented
various RTL designs in DFiant and compared their performance,
utilization, and LoCs. We demonstrated that most DFiant designs
have equivalent performance and utilization to their RTL
counterparts, yet manage to save between 50% to 70% LoCs.
Evidently, the potential to increase designer productivity is
significant, but notwithstanding, the greatest potential of DFiant is
laid not in its concise syntax, but in its agnostic hardware description.

Mais conteúdo relacionado

Mais procurados

Microprocessor and Microcontroller Lab Manual
Microprocessor and Microcontroller Lab ManualMicroprocessor and Microcontroller Lab Manual
Microprocessor and Microcontroller Lab ManualSanthosh Kumar
 
BPF - All your packets belong to me
BPF - All your packets belong to meBPF - All your packets belong to me
BPF - All your packets belong to me_xhr_
 
Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiMuhammad Abdullah
 
Socket Programming- Data Link Access
Socket Programming- Data Link AccessSocket Programming- Data Link Access
Socket Programming- Data Link AccessLJ PROJECTS
 
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)Yuuki Takano
 
Tutorial of SF-TAP Flow Abstractor
Tutorial of SF-TAP Flow AbstractorTutorial of SF-TAP Flow Abstractor
Tutorial of SF-TAP Flow AbstractorYuuki Takano
 
NAT 64 FPGA Implementation
NAT 64 FPGA ImplementationNAT 64 FPGA Implementation
NAT 64 FPGA ImplementationJanith Rukman
 
CILK/CILK++ and Reducers
CILK/CILK++ and ReducersCILK/CILK++ and Reducers
CILK/CILK++ and ReducersYunming Zhang
 
Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1v1i7n9i2
 
The 8051 assembly language
The 8051 assembly languageThe 8051 assembly language
The 8051 assembly languagehemant meena
 
20170925 onos and p4
20170925 onos and p420170925 onos and p4
20170925 onos and p4Yi Tseng
 
Programming Protocol-Independent Packet Processors
Programming Protocol-Independent Packet ProcessorsProgramming Protocol-Independent Packet Processors
Programming Protocol-Independent Packet ProcessorsOpen Networking Summits
 
0.5mln packets per second with Erlang
0.5mln packets per second with Erlang0.5mln packets per second with Erlang
0.5mln packets per second with ErlangMaxim Kharchenko
 
Identifying PCIe 3.0 Dynamic Equalization Problems
Identifying PCIe 3.0 Dynamic Equalization ProblemsIdentifying PCIe 3.0 Dynamic Equalization Problems
Identifying PCIe 3.0 Dynamic Equalization Problemsteledynelecroy
 
Tech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageTech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageCodiLime
 
BonAHA framework - Lab presentation
BonAHA framework - Lab presentationBonAHA framework - Lab presentation
BonAHA framework - Lab presentationSuman Srinivasan
 

Mais procurados (20)

Microprocessor and Microcontroller Lab Manual
Microprocessor and Microcontroller Lab ManualMicroprocessor and Microcontroller Lab Manual
Microprocessor and Microcontroller Lab Manual
 
BPF - All your packets belong to me
BPF - All your packets belong to meBPF - All your packets belong to me
BPF - All your packets belong to me
 
Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidi
 
Socket Programming- Data Link Access
Socket Programming- Data Link AccessSocket Programming- Data Link Access
Socket Programming- Data Link Access
 
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
 
Tutorial of SF-TAP Flow Abstractor
Tutorial of SF-TAP Flow AbstractorTutorial of SF-TAP Flow Abstractor
Tutorial of SF-TAP Flow Abstractor
 
RISC-V Zce Extension
RISC-V Zce ExtensionRISC-V Zce Extension
RISC-V Zce Extension
 
NAT 64 FPGA Implementation
NAT 64 FPGA ImplementationNAT 64 FPGA Implementation
NAT 64 FPGA Implementation
 
Mit cilk
Mit cilkMit cilk
Mit cilk
 
CILK/CILK++ and Reducers
CILK/CILK++ and ReducersCILK/CILK++ and Reducers
CILK/CILK++ and Reducers
 
Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1Ec2308 microprocessor and_microcontroller__lab1
Ec2308 microprocessor and_microcontroller__lab1
 
The 8051 assembly language
The 8051 assembly languageThe 8051 assembly language
The 8051 assembly language
 
20170925 onos and p4
20170925 onos and p420170925 onos and p4
20170925 onos and p4
 
Cisco Openflow
Cisco OpenflowCisco Openflow
Cisco Openflow
 
Chap 07
Chap 07Chap 07
Chap 07
 
Programming Protocol-Independent Packet Processors
Programming Protocol-Independent Packet ProcessorsProgramming Protocol-Independent Packet Processors
Programming Protocol-Independent Packet Processors
 
0.5mln packets per second with Erlang
0.5mln packets per second with Erlang0.5mln packets per second with Erlang
0.5mln packets per second with Erlang
 
Identifying PCIe 3.0 Dynamic Equalization Problems
Identifying PCIe 3.0 Dynamic Equalization ProblemsIdentifying PCIe 3.0 Dynamic Equalization Problems
Identifying PCIe 3.0 Dynamic Equalization Problems
 
Tech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming languageTech Talk - Konrad Gawda : P4 programming language
Tech Talk - Konrad Gawda : P4 programming language
 
BonAHA framework - Lab presentation
BonAHA framework - Lab presentationBonAHA framework - Lab presentation
BonAHA framework - Lab presentation
 

Semelhante a Hardware Description Beyond Register-Transfer Level (RTL) Languages

Semelhante a Hardware Description Beyond Register-Transfer Level (RTL) Languages (20)

Vlsi
VlsiVlsi
Vlsi
 
25.3.10 packet tracer explore a net flow implementation
25.3.10 packet tracer   explore a net flow implementation25.3.10 packet tracer   explore a net flow implementation
25.3.10 packet tracer explore a net flow implementation
 
Ch 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architectureCh 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architecture
 
S6 cad5
S6 cad5S6 cad5
S6 cad5
 
PLL
PLLPLL
PLL
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging System
 
vorlage
vorlagevorlage
vorlage
 
Layout design on MICROWIND
Layout design on MICROWINDLayout design on MICROWIND
Layout design on MICROWIND
 
Inside LoLA - Experiences from building a state space tool for place transiti...
Inside LoLA - Experiences from building a state space tool for place transiti...Inside LoLA - Experiences from building a state space tool for place transiti...
Inside LoLA - Experiences from building a state space tool for place transiti...
 
Short.course.introduction.to.vhdl
Short.course.introduction.to.vhdlShort.course.introduction.to.vhdl
Short.course.introduction.to.vhdl
 
Fpga applications using hdl
Fpga applications using hdlFpga applications using hdl
Fpga applications using hdl
 
Vlsilab13
Vlsilab13Vlsilab13
Vlsilab13
 
Protocol Independence
Protocol IndependenceProtocol Independence
Protocol Independence
 
200-301-demo.pdf
200-301-demo.pdf200-301-demo.pdf
200-301-demo.pdf
 
Cisco 200-301 Exam Dumps
Cisco 200-301 Exam DumpsCisco 200-301 Exam Dumps
Cisco 200-301 Exam Dumps
 
Cisco 200-301 Exam Dumps
Cisco 200-301 Exam DumpsCisco 200-301 Exam Dumps
Cisco 200-301 Exam Dumps
 
Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners Short.course.introduction.to.vhdl for beginners
Short.course.introduction.to.vhdl for beginners
 
Lab 3.5.1 basic frame relay
Lab 3.5.1 basic frame relayLab 3.5.1 basic frame relay
Lab 3.5.1 basic frame relay
 
Project-Synopsis
Project-SynopsisProject-Synopsis
Project-Synopsis
 
STS _ TLF 2014 IDT
STS _ TLF 2014 IDTSTS _ TLF 2014 IDT
STS _ TLF 2014 IDT
 

Mais de LEGATO project

Scrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for ProfitScrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for ProfitLEGATO project
 
A practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating systemA practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating systemLEGATO project
 
TEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEsTEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEsLEGATO project
 
secureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworksecureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworkLEGATO project
 
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...LEGATO project
 
LEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use CaseLEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use CaseLEGATO project
 
Smart Home AI at the edge
Smart Home AI at the edgeSmart Home AI at the edge
Smart Home AI at the edgeLEGATO project
 
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the projectLEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the projectLEGATO project
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGATO project
 
LEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGATO project
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGATO project
 
LEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGATO project
 
TZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZoneTZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZoneLEGATO project
 
Infection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingInfection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingLEGATO project
 
Smart Home - AI at the edge
Smart Home - AI at the edgeSmart Home - AI at the edge
Smart Home - AI at the edgeLEGATO project
 
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-ResiliencyFPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-ResiliencyLEGATO project
 
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...LEGATO project
 
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric EnvironmentsScheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric EnvironmentsLEGATO project
 

Mais de LEGATO project (20)

Scrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for ProfitScrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for Profit
 
A practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating systemA practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating system
 
TEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEsTEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEs
 
secureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworksecureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow Framework
 
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
 
LEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use CaseLEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use Case
 
Smart Home AI at the edge
Smart Home AI at the edgeSmart Home AI at the edge
Smart Home AI at the edge
 
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the projectLEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
 
LEGaTO Integration
LEGaTO IntegrationLEGaTO Integration
LEGaTO Integration
 
LEGaTO: Use cases
LEGaTO: Use casesLEGaTO: Use cases
LEGaTO: Use cases
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
 
LEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGaTO: Software Stack Runtimes
LEGaTO: Software Stack Runtimes
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous Hardware
 
LEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing Workshop
 
TZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZoneTZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZone
 
Infection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingInfection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow Computing
 
Smart Home - AI at the edge
Smart Home - AI at the edgeSmart Home - AI at the edge
Smart Home - AI at the edge
 
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-ResiliencyFPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
 
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
 
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric EnvironmentsScheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
 

Último

Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)Areesha Ahmad
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.Nitya salvi
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bSérgio Sacani
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsSumit Kumar yadav
 

Último (20)

Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 

Hardware Description Beyond Register-Transfer Level (RTL) Languages

  • 1. The LEGaTO project has received funding from the European Union’s Horizon 2020 research and innovation programme under the grant agreement No 780681. www.legato-project.eu Results RTLRegister Use-Cases Hardware Description Beyond Register-Transfer Level (RTL) Languages Oron Port Yoav Etsion Electrical Engineering Computer Science Technion – Israel Institute of Technology Introduction This research introduces a novel dataflow hardware description abstraction layer which covers the numerous synthesizable uses of RTL constructs and replaces them with higher-level abstractions. We also present DFiant, a Scala-embedded HDL that applies the dataflow semantics to decouple design functionality from its constraints. DFiant provides a strong bit-accurate type safe foundations to describe hardware in a very concise and portable fashion. The DFiant compiler can automatically pipeline designs to meet performance requirements as synthesizable RTL code. dfianthdl.github.io Pipelining Regs Path-Balancing Regs CDC Synchronizer Regs Async Synchronizer Regs Synchronous Technology Backend Cycle-Accurate Top /Internal Interface Regs Real-time Delay Regs Clock Division Regs Synchronous Technology Interface Derived State Regs Feedback State Regs State Register Abstraction Language & Tool Comparison DFiant Feature Overview Dataflow HDL Constraints Timers + Constraints Dataflow Stream History Hello DFiant World! • Implicit Concurrency. Dependent operations are sequenced. Independent operations are scheduled concurrently. • Device and timing agnostic dataflow hardware description. • Simplified hierarchical connectivity. • Automatic latency path balancing. • Automatic/manual pipelining. • Clear synthesizability. • Rich meta hardware description. • Expandable language. • Bit-accurate operations such as aliasing, casting, and selection with strong type safety. Errors are reflected in the editor. E.g., State Constructs & Semantics In contrary to RTL languages, DFiant does not directly expose register and wire constructs. Instead, DFiant assumes every dataflow variable is a stream and provides constructs to initialize the token history via the `.init` construct, reuse tokens via the `.prev` construct, and update the state via the `:=` construct. The rules are as follows: • Initialization: via `.init` with a sequence of values • History Access: `.prev` reuses the previous state token. The very first ”reused” token is the one set via `.init`. • Basic Operations Distributive Property: E.g., `a.prev + b.prev` is equivalent to `(a + b).prev` • Stall Bubbles: Uninitialized history access generates a bubble. It is like regular value tokens, except that a basic operation with a bubble always generates a bubble and bubbles do not affect feedback state. • State Update: New token is pushed into a dataflow stream by using the `:=` assignment operator. The last assignment updates the state and occurs when all dependent dataflow firing rules are satisfied. • Default Self-Generation: Any dataflow variable `a` has an implicit self-assignment `a := a.prev` after construction. Fibonacci series generator example: This is a demo of a four-by-four moving average unit, MA4. It has four 16-bit integer input channels (`a`–`d`) and outputs the average of all channels (`o`), while each channel is averaged by a four-sample moving window continuously. The DFiant code demonstrates the structure of any DFiant program: it imports the `DFiant` library (line 1); creates the top- level design by extending DFDesign` (lines 3–26); and creates a runnable application that instantiates the top design trait, and compiles it into a VHDL file (lines 32–33). The MA4 design is straightforward. Lines 4–8 generate the signed dataflow ports and include a `0` value initialization. Lines 10–14 define the function `ma` that generates a single four-sample moving average, while lines 15–19 define the function `avg2` that generates a two-input average unit. Finally, lines 22–25 compose `avg2` and `ma` to generate the entire MA4 functionality and assign it to the output port `o`. Use Case Design Source Pipeline Latency [Cyc] Max Freq. [MHz] LUTs [#] FFs [#] LoC [#] LoC Reduction [%] DFiant Pipelining Method Comment DFiant 38 442 3782 11437 334 Hsing Core 21 454 11103 5386 922 DFiant 23 354 3733 2246 180 Lundgren Core 24 322 3744 1633 340 DFiant 2 117 1345 1025 557 Samsoniuk Core 2 103 1163 161 311 DFiant NA 217 23 17 41 Drange Core NA 217 23 17 103 DFiant NA 339 32 30 8 ExampleProblems NA 339 32 30 31 DFiant NA 567 5 3 32 FPGA4Student NA 577 6 6 73 DFiant 2 226 217 299 19 Our RTL 2 226 217 299 72 DFiant 0 33 3424 0 36 VLSICoding 0 33 3424 0 90 DFiant 0 178 154 0 10 Kaufmann Core 0 178 154 0 21 Priority Encoder 52 None Compared at 128-bit input Moving Average 4x4 74 Manual Bitonic Sort Network 60 None Fibonacci Gen 74 Not Applicable Sequence Detector 56 Not Applicable Change is due different FSM state encoding inference (one-hot or not) Two-Stage RISC-V -79 Manual The RTL code registers are inferred differently and are mapped to LUTRAM. CRC 60 Not Applicable Compared with the parallel CRC module at 16-bit polynomial and 16-bit data input. AES Cypher 64 Automatic Three key widths supported. Compared at 128-bit. The DFiant compiler over-pipelined the design. FP Multiplier 47 Automatic To evaluate the DFiant language and compiler, we reimplemented various RTL designs in DFiant and compared their performance, utilization, and LoCs. We demonstrated that most DFiant designs have equivalent performance and utilization to their RTL counterparts, yet manage to save between 50% to 70% LoCs. Evidently, the potential to increase designer productivity is significant, but notwithstanding, the greatest potential of DFiant is laid not in its concise syntax, but in its agnostic hardware description.