MetaRTL: Raising the Abstraction Level of RTL Design

Similar documents
MetaRTL: Raising the abstraction level of RTL Design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Introduction to Verilog HDL

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

Synthesizable Verilog

Intro to High Level Design with SystemC

Functional Programming in Embedded System Design

VHDL simulation and synthesis

VHDL: RTL Synthesis Basics. 1 of 59

ECE Digital Engineering Laboratory. Designing for Synthesis

Cadence Technical Analysis of System Verilog DECEMBER 2002

Verilog for High Performance

Verilog 1 - Fundamentals

Computer Generation of IP Cores

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

VHDL HIERARCHICAL MODELING

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

SystemVerilog 3.1: It s What The DAVEs In Your Company Asked For

System Level Design Flow

Abstraction Layers for Hardware Design

High-Level Information Interface

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

MOJTABA MAHDAVI Mojtaba Mahdavi DSP Design Course, EIT Department, Lund University, Sweden

ESL design with the Agility Compiler for SystemC

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

81920**slide. 1Developing the Accelerator Using HLS

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

SpecC Methodology for High-Level Modeling

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

G Programming Languages - Fall 2012

Implementing Interfaces. Marwan Burelle. July 20, 2012

CSE140L: Components and Design Techniques for Digital Systems Lab

OUTLINE RTL DESIGN WITH ARX

INTRODUCTION TO CATAPULT C

Lecture 12 VHDL Synthesis

Introduction to C and HDL Code Generation from MATLAB

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

CSE140L: Components and Design

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

EEL 5722C Field-Programmable Gate Array Design

EEL 4783: HDL in Digital System Design

Translating Haskell to Hardware. Lianne Lairmore Columbia University

VHDL for Synthesis. Course Description. Course Duration. Goals

Synthesis of Combinational and Sequential Circuits with Verilog

EEL 4783: HDL in Digital System Design

Architectural-Level Synthesis. Giovanni De Micheli Integrated Systems Centre EPF Lausanne

Hardware description languages

SoC Design for the New Millennium Daniel D. Gajski

In our case Dr. Johnson is setting the best practices

Elements of a SystemC Design Platform

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

EE 4755 Digital Design Using Hardware Description Languages

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES

EE 4755 Digital Design Using Hardware Description Languages

Hardware Modeling. VHDL Architectures. Vienna University of Technology Department of Computer Engineering ECS Group

G Programming Languages Spring 2010 Lecture 4. Robert Grimm, New York University

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Lecture Compiler Middle-End

Verilog for Synthesis Ing. Pullini Antonio

Embedded Systems CS - ES

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles

Property-based design with HORUS / SYNTHORUS

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

RTL Coding General Concepts

Intermediate Code Generation

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Building Combinatorial Circuit Using Behavioral Modeling Lab

High-Level Synthesis Creating Custom Circuits from High-Level Code

CMPE 415 Synthesis and Loops

Lecture 15: System Modeling and Verilog

A Deterministic Concurrent Language for Embedded Systems

Programmable Logic Devices HDL-Based Design Flows CMPE 415

SystemVerilog Design: User Experience Defines Multi-Tool, Multi-Vendor Language Working Set No Excuses for Not Using SystemVerilog in Your Next Design

Verilog 1 - Fundamentals

101-1 Under-Graduate Project Digital IC Design Flow

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016

VHDL Essentials Simulation & Synthesis

Advanced Synthesis Techniques

Intro to HW Design & Externs for P4àNetFPGA. CS344 Lecture 5

HDL-Based Design. Eduardo Sanchez EPFL. Introduction

Writing Circuit Descriptions 8

Type checking. Jianguo Lu. November 27, slides adapted from Sean Treichler and Alex Aiken s. Jianguo Lu November 27, / 39

INTRODUCTION TO VHDL. Lecture 5 & 6 Dr. Tayab Din Memon Assistant Professor Department of Electronic Engineering, MUET

A Language and Toolset for the Synthesis and Efficient Simulation of Clock-Cycle-True Signal-Processing Algorithms

Structural Design Composition for C++ Hardware Models

Transcription:

MetaRTL: Raising the Abstraction Level of RTL Design Jianwen Zhu Electrical and Computer Engineering University of Toronto March 16, 2001 zhu@eecg.toronto.edu http://www.eecg.toronto.edu/ zhu DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 1 Outline Motivation Previous work Problems of synthesizable HDL MetaRTL Results DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 2

Importance of RTL Abstraction RTL abstraction Semantics: FSMD (Gaski) Synthesizable VHDL/Verilog (IEEE) Established industrial standard for ASIC design Backend interface for higher level design de facto soft IP exchange standard DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 3 Problems of Synthesizable HDLs Designed as a simulation language. Not designed with design reuse in mind. Not designed with a type system as powerful as that of software languages. Do not provide any abstractions for memories. Do not simulate fast enough at the RTL level. DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 4

Outline Motivation Previous work Problem of synthesizable HDL MetaRTL Results DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 5 Library-Based Approach Syntactically existing language: Defines a programming style for hardware modeling Simulation convenience: simulator for free (g++) Semantically new language: Squeeze new semantics into old constructs Synthesis headache: which semantics should I apply? Efforts: SystemC: http://www.systemc.org Cynlib: http://www.cynapps.com OCAPI: Schaumont et. al. DAC 99 DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 6

Language-Based Approach New language Defines a computational model (semantics) Defines language construct (syntax) to capture the model Compilation overhead: needs a new compiler Unambiguous synthesis Efforts Numerous work on parallel extension of C/C++ OOVHDL: IEEE working group VHDL+: extension of VHDL Superlog: extension of Verilog with C constructs V++: complete new language for synchronous reactive semantics DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 7 Our Approach Semantic level: Rethink what should be abstracted away, what should not Address the problems to be described Raise the abstraction level of RTL design Syntax level Can be applied to library-based SLDL Can be embedded into C-based SLDL DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 8

Outline Motivation Previous work Problems of synthesizable HDLs MetaRTL Results DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 9 Simulation Semantics HDL designed for simulation How to synthesize delay How to synthesize signal synthesis subset Problematic constructs excluded Infer hardware that exhibits discrete event semantics if( a = 0 ) then c <= b; end if; b a c DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 10

Design Reuse Hardware reuse by component instantiation Not sufficient for sequential components No interface protocol captured u1 : Comp( start, done, din, dout ); start = 1 ; for in in 0 to 8 do wait until clk event and clk = 1 ; din <= a(i); end for; while( done = 0 ) do wait until clk event and clk = 1 ; start <= 0 ; end while; while( done = 1 ) do wait until clk event and clk = 1 ; b() := dout; := + 1; end while; Component user s interface code start done Comp din dout DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 11 Type System Type system: most effective error prevention in software Untyped system in synthesizable HDL enumerate type bit vector More abstract data type needed at RTL level DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 12

Memory Abstraction Any interesting application involves the use of memory Multimedia: data sample storage Networking: routing table, protocol states No abstraction of memory at RTL level Interface protocol with memory Dynamic allocation: pointer concept Address calculation: array and record access struct { int field1; struct { char field3; } field2; } *p1; short a, *p2; char b[10]; a = 0; b[3] = a ; p1 >field1 = 1; p1 >field2.field3 = 2; p2 = &a; DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 13 Outline Motivation Previous work Problems of synthesizable HDLs MetaRTL Results DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 14

MetaRTL Overview Syntactic-sugar-free, obect-oriented, polymorphic language Difference from imperative program Specifies hardware obects Field has modifiers: storage class always method: component logic public method: interface protocol DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 15 MetaRTL Syntax MetaRTL ::= (Class)* Class ::= class ID [[ Formal (, Formal)* ] ] f (Field Method)* g Type ::= ID [[ Actual (, Actual)* ] ] Formal ::= class ID Type ID Actual ::= Type Expr Field ::= sclass Type ID [ = Expr ]; sclass ::= in out inout reg wire latch Type Method ::= [ always public] Type ID [ ( Param (, Param)* ] ) f (Stmt)* g Param ::= [ in out inout ] Type ID Stmt ::= [LeftValue = ] Expr ; if ( Expr ) Stmt [else Stmt] switch ( Expr ) (CaseStmt)+ [ID] : Stmt do Stmt while( Expr ); while (Expr) Stmt break ; return Expr ; CaseStmt ::= case Expr : Stmt default : Stmt Expr ::= Literal this LeftValue Expr.ID([ Expr (, Expr)* ] ) LeftValue ::= ID Type.ID Expr.ID DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 16

Synthesis Semantics Field 7! Storage in, out, inout fields 7! ports wire field 7! wire latch, reg fields 7! registers Normal field 7! memory Method 7! Logic Assignment: predicated connection semantics Method dispatch: protocol inlining Statement: logic State label: state boundary DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 17 Type System Arithmetic data types used in place of bit vectors Polymorphism Parameterize over constants Parameterize over type Subtyping: extensible hardware design DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 18

Design Reuse Type system improves reuse Explicit capture of interface protocol Combinational components: connection and glue logic Sequential components: partial FSMD Port mapping is replaced by method dispatch DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 19 Memory Abstraction Obect reference and array, field access Access by name vs access by explicit address Memory bank and address allocation left to synthesis tool Automatic insertion of memory interface protocol DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 20

Outline Motivation Previous work Problems of synthesizable HDLs MetaRTL Results DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 21 Implementation Embed MetaRTL in experimental SLDL MetaSyn: MetaRTL 7! synthesizable VHDL MetaJ MetaC Parse Inter proc. Analysis Memory Allocation VHDL HDL export FSMD extraction Protocol Inlining DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 22

Experimental Result Toronto DSP benchmark set TSMC 0.35um technology Completed by Mr. Prakash: first year undergraduate before any digital logic courses Benchmark MetaC VHDL Area (#lines) (#lines) (um 2 ) fft 45 1028 500652 fir 29 355 272206 iir 46 1201 476529 latnrm 37 748 408111 lmsfir 39 796 405976 mmult 28 451 331058 smult 12 94 57157 sra 16 288 98599 DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 23 Conclusion RTL semantics can be made more abstract RTL syntax can be as simple as one page Future work Synthesis algorithms Embedding in SLDL DATE 2001, Munich Copyright c Jianwen Zhu, 2000, ECE, Univ. of Toronto 24