SoC Design for the New Millennium Daniel D. Gajski
|
|
- Kimberly Stewart
- 6 years ago
- Views:
Transcription
1 SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine
2 Outline System gap Design flow Model algebra System environment Vision Conclusion Copyright 2003 Daniel D. Gajski 2
3 Past, Present and Future Design Flow Capture & Simulate Describe & Synthesize Specify, Explore & Refine Specs Specs Executable Spec Functionality System Gap Algorithms SW? Algorithms SW? Algorithms Architecture Communications Network Algorithms Connectivity Protocols Design Describe Design SW/HW Design Performance Simulate Logic Simulate Logic Logic Timing Physical Physical Physical Manufacturing Manufacturing Manufacturing 1960 s 1980 s 2000 s Copyright 2003 Daniel D. Gajski 3
4 Missing Semantics: Simulation Dominated Design Flow Simulatable but not synthesizable/verifiable case X is when X1 => Finite State Machine when X2 => Table Lookup Controller Memory (VHDL, Verilog, C, SystemC, ) Copyright 2003 Daniel D. Gajski 4
5 Principles of Design Methodology Well defined specification Complete Just another model Well defined system models Several possible models Well defined semantics Formal representation Design synthesis Design decisions => transformations Automatic model generation Model verification Formally defined transformations Provable equivalence System Specification model SER Intermediate models Cycle accurate implementation model Copyright 2003 Daniel D. Gajski 5
6 Modeling as Algebra Algebra = < {objects}, {operations} > Set of all possible expressions [ex: a * (b + c)] Model Algebra = < {objects}, {compositions} > Set of all possible models [ex: ] Model Transformation t is a change in objects or composition Model refinement is an ordered set of transformations Methodology is a sequence of models and corresponding refinements Copyright 2003 Daniel D. Gajski 6
7 Model Definition Model Algebra = < {objects}, {composition rules} > Objects Behaviors (representing tasks / computations / functions) Channels (representing communication between behaviors) Composition rules Sequential, parallel, pipelined, FSM Behavior composition creates hierarchy Behavior composition also creates execution order Relations Relations define a specific model [a*((b+c)*(b-c))] Relations define the model structure (composition and connectivity) Relations? {objects} x {compositions} Copyright 2003 Daniel D. Gajski 7
8 Model Transformations (Rearrange and Replace) Rearrange object composition To distribute computation over components Replace objects Import library components Add / Remove synchronization To correctly transform a sequential composition to parallel and vice-versa Decompose abstract data structures To implement data transaction over a bus Other transformations B2 B1 a*(b+c) = a*b + a*c Distributivity of multiplication over addition analogous to B3 = B1 B2 PE1 B3 Distribution of behaviors (tasks) over components PE2 Copyright 2003 Daniel D. Gajski 8
9 Model Refinement Definition Ordered set of transformations < t m,, t 2, t 1 > is a refinement model B = t m ( ( t 2 ( t 1 ( model A ) ) ) ) Derives a more detailed model from an abstract one Specific sequence for each model refinement Not all sequences are relevant Automatic model generation Each transformation can be automated Each refined model can be automatically generated Equivalence verification Each transformation maintains functional equivalence Refinement is thus correct by construction Copyright 2003 Daniel D. Gajski 9
10 Refinement based Methodology Refinement based system level methodology Methodology := < {models}, {refinements} > Each transformation is uniquely defined Each transformation can be automatic No need for designer modeling No need for modeling languages Designers only make design decisions Copyright 2003 Daniel D. Gajski 10
11 System Synthesis through Refinement Set of models Each design decisions => one model transformation Select components / connections/ IPs Map behaviors / channels Schedule behaviors/channels Add new objects ( IF, IC, Arbiters, ) Synchronize to preserve equivalence Design is a sequence of decisions Refinement is a sequence of model transformations Synthesis = design + refinement Challenge: define the design and refinement sequences Copyright 2003 Daniel D. Gajski 11
12 System Verification through Refinement Set of models Transformations preserve equivalence Same partial order of tasks Same input/output data for each task Same partial order of data transactions Equivalent replacements All refined models will be equivalent to input model Still need to verify First model Correctness of replacements Designer Decisions Library of objects Model A Refinement Tool t1 t2 tm Model B Copyright 2003 Daniel D. Gajski 12
13 Y Chart Behavior (Function) System RTL/CA Logic Transistor Structure (Design) MoC MoC MoC Physical (Layout) MoC Copyright 2003 Daniel D. Gajski 13
14 RTL Functional Model Finite State Machine with Data (FSMD) Combined model for control and computation FSMD = FSM + DFG Implementation: controller plus datapath Op1 Op2 Op1 Op2 Op3 S1 S2 Op4 Op1 Op2 S3 Op5 Op6 Op3 FSMD model (SFSMD model) Copyright 2003 Daniel D. Gajski 14
15 RTL Structural Model Multi-pipelined data path Hardwired or programmable controller RISC or NISC style Control inputs Data memory D Q D Q Cotrol signals IR Register Selector RF Cache Bus 1 Next- Sate Logic or Address generator D Q State register or PC Output logic or Program memory SR ALU / Latch Bus 2 Bus 3 Controller Signal status Register Datapath Control outputs Datapath outputs Copyright 2003 Daniel D. Gajski 15
16 RTL Synthesis Variable binding Rescheduling Allocation Operation Binding Bus Binding FSM Synthesis RTL Control inputs Data memory D Q D Control signals IR Register Selector RF Memory Op1 Op2 Op1 Op2 Op3 S1 S3 S2 Op1 Op5 Op2 Op3 Op4 Op6 Controller Nextstate logic or Address generator Q D State Q register or PC Output logic or Program memory SR Signal status ALU / Latch Register Bus 1 Bus 2 Bus 3 Datapath FSMD model Control outputs Datapath outputs RTL/NISC structural model Copyright 2003 Daniel D. Gajski 16
17 System Functional Model Program State Machine States described by procedures in a programming language Example: SpecC! (SystemC subset?!) Proc Proc PSM model Proc Proc Proc Copyright 2003 Daniel D. Gajski 17
18 System Structural Model Arbitrary components (Proc., IP, Memory) Arbitrary connectivity (buses, protocols) System architecture Memory µprocessor IP Comp. Interface Interface Bus Interface Interface Memory Custom HW Copyright 2003 Daniel D. Gajski 18
19 System Synthesis Variable Binding Behavior Binding Channel Binding Allocation IF Synthesis Profiling Refinement System System architecture Memory µprocessor IP Comp. Proc Proc Interface Interface Proc Proc Proc Interface Interface Bus PSM model Custom HW Memory Copyright 2003 Daniel D. Gajski 19
20 System Synthesis (continued) RTL MoC Control RAM Pipeline IF FSM State IP Netlist PC IR FSMD1 FSMD2 FSMD3 FMDS4 FSMD5 Control State Datapath Mem RF IF FSM State Memory ALU HCFSMD model RTL/IS Implementation + results Copyright 2003 Daniel D. Gajski 20
21 System Level Models Models based on time granularity of computation and communication A system level design methodology is a path from model A to F Communication Cycletimed D F Approximatetimed C E A. System specification model B. Component model C. Bus-arbitration model D. Bus-functional model E. Cycle-accurate computation model F. Implementation model Cycletimed Untimed A B Untimed Approximatetimed Computation Source: Lukai Cai, D. Gajski. Transaction level modeling: An overview, ISSS 2003 Copyright 2003 Daniel D. Gajski 21
22 A: Specification Model Objects - Computation -Behaviors - Communication -Variables B2B3 B2 v2 = v1 + b*b; B1 v1 = a*a; v1 B3 v3= v1- b*b; Composition - Hierarchy - Order -Sequential -Parallel -Piped -States - Transitions v2 v3 -TI, TOC Communication Cycletimed D F B4 v4 = v2 + v3; c = sequ(v4); - Synchronization -Notify/Wait Approximatetimed C E Cycletimed Untimed A B Untimed Approximatetimed Computation Copyright 2003 Daniel D. Gajski 22
23 B: Component-Assembly Model Objects - Computation - Proc - IPs - Memories - Communication -Variable channels PE1 B1 PE2 v1 = a*a; cv12 B2 v2 = v1 + b*b; cv11 cv2 PE3 B3 v3= v1- b*b; v3 B4 v4 = v2 + v3; c = sequ(v4); Composition - Hierarchy - Order -Sequential -Parallel -Piped -States - Transitions -TI, TOC Communication Cycletimed D F A B1 v1 = a*a; v1 - Synchronization -Notify/Wait B2B3 Approximatetimed C E B2 v2 = v1 + b*b; B3 v3= v1- b*b; v2 v3 Cycletimed Untimed A B Untimed Approximatetimed Computation B4 v4 = v2 + v3; c = sequ(v4); Copyright 2003 Daniel D. Gajski 23
24 C: Bus-Arbitration Model Objects - Computation - Proc - IPs (Arbiters) - Memories - Communication - Abstract bus channels PE1 B1 PE2 v1 = a*a; B2 v2 = v1 + b*b; PE4 (Arbiter) 3 cv12 cv2 1 2 cv11 1. Master interface 2. Slave interface 3. Arbiter interface PE3 B3 v3= v1- b*b; v3 B4 v4 = v2 + v3; c = sequ(v4); Composition - Hierarchy - Order -Sequential -Parallel -Piped -States - Transitions -TI, TOC Communication Cycletimed D F PE1 B1 v1 = a*a; cv11 - Synchronization -Notify/Wait Approximatetimed C E cv12 B PE3 B3 v3= v1- b*b; PE2 v3 Cycletimed Untimed A B Untimed Approximatetimed Computation B2 v2 = v1 + b*b; cv2 B4 v4 = v2 + v3; c = sequ(v4); Copyright 2003 Daniel D. Gajski 24
25 D: Bus-Functional Model Objects - Computation - Proc - IPs (Arbiters) - Memories - Communication - Protocol bus channels PE1 B1 PE2 v1 = a*a; B2 v2 = v1 + b*b; PE4 (Arbiter) 3 address[15:0] address[15:0] data[31:0] data[31:0] 1 ready 2 ack ready ack 1: master interface 2: slave interface 3: arbitor interface IProtocolSlav e PE3 B3 v3= v1- b*b; v3 B4 v4 = v2 + v3; c = sequ(v4); Composition - Hierarchy - Order -Sequential -Parallel -Piped -States - Transitions -TI, TOC Communication Cycletimed D F PE1 PE4 (Arbiter) C PE3 - Synchronization -Notify/Wait Approximatetimed C E B1 v1 = a*a; 3 cv12 B3 v3= v1- b*b; Cycletimed Untimed A B Untimed Approximatetimed Computation PE2 B2 v2 = v1 + b*b; cv2 1 2 cv11 1. Master interface 2. Slave interface 3. Arbiter interface v3 B4 v4 = v2 + v3; c = sequ(v4); Copyright 2003 Daniel D. Gajski 25
26 E: Cycle-Accurate Computation Model Objects - Computation Communication Approximatetimed Cycletimed - Proc - IPs (Arbiters) - Memories - Wrappers - Communication - Abstract bus channels D C F E PE1 MOV r1, 10 MUL r1, r1, r1... PE2 MLA... r1, r2, r2, r PE4 S0 S1 S2 S3 4 3 cv12 cv2 1 2 cv11 1. Master interface 2. Slave interface 3. Arbiter interface 4. Wrapper PE1 B1 v1 = a*a; 4 PE3 PE4 (Arbiter) 3 cv12 S0 S1 S2 S3 S4 PE3 C B3 v3= v1- b*b; Composition - Hierarchy - Order -Sequential -Parallel -Piped -States - Transitions -TI, TOC - Synchronization -Notify/Wait Cycletimed Untimed A B Untimed Approximatetimed Computation PE2 B2 v2 = v1 + b*b; cv2 1 2 cv11 1. Master interface 2. Slave interface 3. Arbiter interface v3 B4 v4 = v2 + v3; c = sequ(v4); Copyright 2003 Daniel D. Gajski 26
27 address[15:0] address[15:0] data[31:0] data[31:0] ready ack ready ack e F: Implementation Model Objects - Computation - Proc - IPs (Arbiters) - Memories - Communication -Buses (wires) interrupt PE4 req S0 S1 S2 S3 PE1 MOV r1, 10 MUL r1, r1, r1... interrupt interrupt req PE3 S0 S1 S2 S3 S4 PE2 MLA... r1, r2, r2, r1... MCNTR MADDR MDATA Composition - Hierarchy - Order -Sequential -Parallel -Piped -States - Transitions -TI, TOC - Synchronization Communication -Notify/Wait Approximatetimed Cycletimed D C F E PE1 B1 D v1 = a*a; PE4 (Arbiter) 3 PE3 B3 v3= v1- b*b; PE1 E B1 v1 = a*a; PE4 (Arbiter) 3 cv12 PE3 S0 S1 Cycletimed Untimed A B Untimed Approximatetimed Computation PE2 B2 v2 = v1 + b*b; 1 2 1: master interface 2: slave interface 3: arbitor interface IProtocolSlav v3 B4 v4 = v2 + v3; c = sequ(v4); PE2 B2 v2 = v1 + b*b; cv2 1 2 cv11 1. Master interface 2. Slave interface 3. Arbiter interface 4. Wrapper 4 S2 S3 S4 Copyright 2003 Daniel D. Gajski 27
28 Refinement User Interface (RUI) Algorithm selection System structure SoC Environment Capture Validation User Interface (VUI) Compile Spec. optimization Profiling weights Profiling Profiling data Specification model Simulate Verify Allocation Beh. partitioning Scheduling / RTOS Comp. / IP attributes Comp. / IP models Arch. synthesis Design decisions Estimation Estimation results Arch. refinement Architecture model Test Simulate Verify Protocol selection Channel partitioning Arbitration Protocol attributes Protocol models Comm. synthesis Design decisions Comm. refinement Estimation Communication model Estimation results Test Simulate Verify Cycle scheduling Protocol scheduling SW/HW synthesis RTL/RTOS attributes RTL/RTOS models Impl. synthesis Design decisions Estimation Estimation results CA refinement CA model Test Simulate Verify Lang. Translators Copyright 2003 Daniel D. Gajski 28
29 Vocoder Results Experiment on GSM Vocoder design (10K lines of code) Normalized Time Simulation Speed Spec Arch Comm Impl Number of Lines Code Size Spec Arch Comm Impl Spec Arch Arch Comm Comm Impl Total Refinement Effort Modified lines 3, ,146 10,355 Manual 3~4 mons. 1~2 mons. 5~6 mons Automated User / Refine 15 mins / <1 min 5 mins/ <0.5 min 30 mins / <2 mins 9~12 mons 50 mins / <4 mins Conclusion Productivity gain >2,000X for industrial strength designs Compare 9-12 months (manual refinement) vs minutes (user decisions + automatic refinement) Enables extensive design exploration (60/day) Copyright 2003 Daniel D. Gajski 29
30 Simulation Speed & Code size JPEG Results Simulation Speed Code Size Normalized Time Number of Lines Spec Arch Comm Impl Spec Arch Comm Impl Refinement Effort Refinement Effort Modified lines Manual Automated User / Refine SpecfiArch 751 1~2 mons. 5 mins / <0.5 min ArchfiComm 492 ~1 mons. 3 mins/ <0.5 min CommfiImpl 1,278 3~4 mons 20 mins / <1 mins Total 2,521 5~7 mons 28 mins <2mins Compare 5-7months (manual refinement) vs. 28 minutes (user decisions) + 2 minutes (automatic refinement) Copyright 2003 Daniel D. Gajski 30
31 Conclusion New design flow paradigm based on SER methodology Semantics before syntax (language does not matter) Model algebra before semantics System verification, synthesis, modeling simplified SW = HW = computation is the inevitable truth SoC environment gives 1000X productivity gain Challenge: Define models, refinements, methodology Copyright 2003 Daniel D. Gajski 31
System Level Design Flow
System Level Design Flow What is needed and what is not Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski System Level Design Flow What is
More informationSystem Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın
System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by
More informationSpecC Methodology for High-Level Modeling
EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy
More informationSystem Debugging and Verification : A New Challenge. Center for Embedded Computer Systems University of California, Irvine
System Debugging and Verification : A New Challenge Daniel Gajski Samar Abdi Center for Embedded Computer Systems http://www.cecs.uci.edu University of California, Irvine Overview Simulation and debugging
More informationESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)
ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages
More informationTransaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling
Transaction-Level Modeling Definitions and Approximations EE290A Final Report Trevor Meyerowitz May 20, 2005 1. Introduction Over the years the field of electronic design automation has enabled gigantic
More informationSystem-on-Chip Environment
System-on-Chip Environment SCE Version 2.2.0 Beta Tutorial Samar Abdi Junyu Peng Haobo Yu Dongwan Shin Andreas Gerstlauer Rainer Doemer Daniel Gajski Center for Embedded Computer Systems University of
More informationEmbedded System Design
Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 9/29/2011 Outline System design trends Model-based synthesis Transaction level model generation Application
More informationSPECC: SPECIFICATION LANGUAGE AND METHODOLOGY
SPECC: SPECIFICATION LANGUAGE AND METHODOLOGY SPECC: SPECIFICATION LANGUAGE AND METHODOLOGY Daniel D. Gajski Jianwen Zhu Rainer Dömer Andreas Gerstlauer Shuqing Zhao University of California, Irvine SPRINGER
More informationSystem-on-Chip Environment (SCE)
System-on-Chip Environment (SCE) Tutorial Samar Abdi Junyu Peng Rainer Doemer Dongwan Shin Andreas Gerstlauer Alexander Gluhak Lukai Cai Qiang Xie Haobo Yu Pei Zhang Daniel Gajski Center for Embedded Computer
More informationNISC Application and Advantages
NISC Application and Advantages Daniel D. Gajski Mehrdad Reshadi Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425, USA {gajski, reshadi}@cecs.uci.edu CECS Technical
More informationSystem-On-Chip Architecture Modeling Style Guide
Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22
More informationEmbedded System Design Modeling, Synthesis, Verification
Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner Chapter 4: System Synthesis Outline System design trends Model-based synthesis Transaction level model
More informationA Hybrid Instruction Set Simulator for System Level Design
Center for Embedded Computer Systems University of California, Irvine A Hybrid Instruction Set Simulator for System Level Design Yitao Guo, Rainer Doemer Technical Report CECS-10-06 June 11, 2010 Center
More informationHardware/Software Co-design
Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction
More informationCOE 561 Digital System Design & Synthesis Introduction
1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design
More informationSystem-on-Chip Environment
System-on-Chip Environment SCE Version 2.2.0 Beta Tutorial Samar Abdi Junyu Peng Haobo Yu Dongwan Shin Andreas Gerstlauer Rainer Doemer Daniel Gajski Center for Embedded Computer Systems University of
More informationTransaction Level Modeling: An Overview
Transaction Level Modeling: An Overview Lukai Cai and Daniel Gajski Center for Embedded Computer Systems University of California, lrvine Irvine, CA 92697, USA {lcai,gajski}@cecs.uci.edu ABSTRACT Recently,
More informationIntro to High Level Design with SystemC
Intro to High Level Design with SystemC Aim To introduce SystemC, and its associated Design Methodology Date 26th March 2001 Presented By Alan Fitch Designer Challenges Design complexity System on Chip
More informationLecture 3: Computation Modeling
COEN 691B: Embedded System Design Lecture 3: Computation Modeling Samar Abdi (slides courtesy of A. Gerstlauer, D. Gajski and R. Doemer) Assistant Professor Electrical and Computer Engineering Concordia
More informationCycle-accurate RTL Modeling with Multi-Cycled and Pipelined Components
Cycle-accurate RTL Modeling with Multi-Cycled and Pipelined Components Rainer Dömer, Andreas Gerstlauer, Dongwan Shin Technical Report CECS-04-19 July 22, 2004 Center for Embedded Computer Systems University
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Lecture 3 Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI System Model According to Abstraction level Architectural, logic and geometrical View Behavioral,
More informationThe SpecC Language. Outline
Rainer Dömer Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu/~specc/ Outline Introduction The SpecC model System-level language requirements The SpecC language
More informationDesign Methodologies. Kai Huang
Design Methodologies Kai Huang News Is that real? In such a thermally constrained environment, going quad-core only makes sense if you can properly power gate/turbo up when some cores are idle. I have
More informationEmbedded System Design
Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 7/8/2009 Modeling Abstract view of a design Representation of reality in each design step Apply analysis,
More informationEmbedded System Design and Modeling EE382V, Fall 2008
Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 4 System Design Flow and Design Methodology Dates: Sep 16&18, 2008 Scribe: Mahesh Prabhu SpecC: Import Directive: This is different from
More informationCadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015
Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for
More informationModeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano
Modeling and Simulation of System-on on-chip Platorms Donatella Sciuto 10/01/2007 Politecnico di Milano Dipartimento di Elettronica e Informazione Piazza Leonardo da Vinci 32, 20131, Milano Key SoC Market
More informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationThe SpecC System-Level Design Language and Methodology, Part 1. Class 309
Embedded Systems Conference San Francisco 2002 The SpecC System-Level Design Language and Methodology, Part 1 Class 309 Rainer Dömer Center for Embedded Computer Systems Universitiy of California, Irvine,
More informationSystem Level Design Technologies and System Level Design Languages
System Level Design Technologies and System Level Design Languages SLD Study Group EDA-TC, JEITA http://eda.ics.es.osaka-u.ac.jp/jeita/eda/english/project/sld/index.html Problems to Be Solved 1. Functional
More informationECE 5745 Complex Digital ASIC Design Topic 1: Hardware Description Languages
ECE 5745 Complex Digital ASIC Design Topic 1: Hardware Description Languages Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745
More informationVHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language
More informationTopics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)
Topics Verilog Hardware modeling and simulation Event-driven simulation Basics of register-transfer design: data paths and controllers; ASM charts. High-level synthesis Initially a proprietary language,
More informationNISC Technology Online Toolset
NISC Technology Online Toolset Mehrdad Reshadi, Bita Gorjiara, Daniel Gajski Technical Report CECS-05-19 December 2005 Center for Embedded Computer Systems University of California Irvine Irvine, CA 92697-3425,
More informationCprE 588 Embedded Computer Systems
CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 Introduction to SpecC Introduction System-on-Chip (SOC) design
More informationMODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.
MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.
More informationOverview of SOC Architecture design
Computer Architectures Overview of SOC Architecture design Tien-Fu Chen National Chung Cheng Univ. SOC - 0 SOC design Issues SOC architecture Reconfigurable System-level Programmable processors Low-level
More informationSystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc.
SystemC abstractions and design refinement for HW- SW SoC design Dündar Dumlugöl Vice President of Engineering, CoWare, Inc. Overview SystemC abstraction levels & design flow Interface Synthesis Analyzing
More informationC-based Interactive RTL Design Methodology
C-based Interactive RTL Design Methodology Dongwan Shin, Andreas Gerstlauer, Rainer Dömer and Daniel Gajski Technical Report CECS-03-42 December 1, 2003 Center for Embedded Computer Systems University
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu
More information4 th European SystemC Users Group Meeting
4 th European SystemC Users Group Meeting http://www-ti.informatik.uni-tuebingen.de/systemc Copenhagen October 5 th, 2001, 1100-1600 SystemC 2.0 Tutorial Thorsten Grötker R & D Manager Synopsys, Inc. Motivation
More informationECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling
ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering
More informationPilot: A Platform-based HW/SW Synthesis System
Pilot: A Platform-based HW/SW Synthesis System SOC Group, VLSI CAD Lab, UCLA Led by Jason Cong Zhong Chen, Yiping Fan, Xun Yang, Zhiru Zhang ICSOC Workshop, Beijing August 20, 2002 Outline Overview The
More informationComputer-Aided Recoding for Multi-Core Systems
Computer-Aided Recoding for Multi-Core Systems Rainer Dömer doemer@uci.edu With contributions by P. Chandraiah Center for Embedded Computer Systems University of California, Irvine Outline Embedded System
More informationRTOS Modeling for System Level Design
RTOS Modeling for System Level Design Andreas Gerstlauer Haobo Yu Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697, USA E-mail: {gerstl,haoboy,gajski}@cecs.uci.edu
More informationECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III
ECE 587 Hardware/Software Co-Design Spring 2018 1/28 ECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III Professor Jia Wang Department of Electrical and Computer Engineering Illinois
More informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationPart 2: Principles for a System-Level Design Methodology
Part 2: Principles for a System-Level Design Methodology Separation of Concerns: Function versus Architecture Platform-based Design 1 Design Effort vs. System Design Value Function Level of Abstraction
More informationSynthesis of Combinational and Sequential Circuits with Verilog
Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two
More informationUnit 2: High-Level Synthesis
Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis
More informationWord-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath
972 PAPER Special Section on Formal Approach Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath Tasuku NISHIHARA a), Member, Takeshi MATSUMOTO, and Masahiro
More informationNGUYEN KHAC HIEU REVIEW OF SYSTEM DESIGN FRAMEWORKS. Master of Science thesis
NGUYEN KHAC HIEU REVIEW OF SYSTEM DESIGN FRAMEWORKS Master of Science thesis Examiner: Prof. Timo D. Hämäläinen Examiner and topic approved by the Faculty Council of the Faculty of Computing and Electrical
More informationOutline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network
By Alberto Puggelli Outline SLD challenges Platform Based Design (PBD) Case study: Wireless Sensor Network Leveraging state of the art CAD Metropolis Case study: JPEG Encoder SLD Challenge Establish a
More informationCycle-approximate Retargetable Performance Estimation at the Transaction Level
Cycle-approximate Retargetable Performance Estimation at the Transaction Level Yonghyun Hwang Samar Abdi Daniel Gajski Center for Embedded Computer Systems University of California, Irvine, 92617-2625
More informationTag der mundlichen Prufung: Dekan/Dekanin: Gutachter:
System-level Modeling and Design with the SpecC Language Dissertation zur Erlangung des Grades eines Doktors der Naturwissenschaften der Universitat Dortmund am Fachbereich Informatik von Rainer Domer
More informationScheduling in RTL Design Methodology
cheduling in RTL Design Methodology Dongwan hin and Daniel Gajski Technical Report IC-01-65 July 1, 2001 Center for Embedded Computer ystems Information and Computer cience University of California, Irvine
More informationNetwork Synthesis for SoC
Network Synthesis for SoC Dongwan Shin, Andreas Gerstlauer and Daniel Gajski Technical Report CECS-04-15 June 10, 2004 Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425,
More informationIntroduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation
Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,
More informationAbstraction Layers for Hardware Design
SYSTEMC Slide -1 - Abstraction Layers for Hardware Design TRANSACTION-LEVEL MODELS (TLM) TLMs have a common feature: they implement communication among processes via function calls! Slide -2 - Abstraction
More informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 1.2.2: VHDL-1 Liang Liu liang.liu@eit.lth.se 1 Outline VHDL Background Basic VHDL Component An example FSM Design with VHDL Simulation & TestBench 2
More informationNISC Double-Handshake Communication Interface
NISC Double-Handshake Communication Interface Bita Gorjiara, Mehrdad Reshadi, Daniel Gajski Technical Report CECS-0-8 Novermber 00 Center for Embedded Computer Systems University of California Irvine Irvine,
More informationHigh-Level Synthesis of Programmable Hardware Accelerators Considering Potential Varieties
THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE.,, (VDEC) 113 8656 7 3 1 CREST E-mail: hiroaki@cad.t.u-tokyo.ac.jp, fujita@ee.t.u-tokyo.ac.jp SoC Abstract
More informationSystem-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10
System-level simulation (/SW co-simulation) Outline Problem statement Simulation and embedded system design functional simulation performance simulation POLIS implementation partitioning example implementation
More informationRegister Transfer Methodology II
Register Transfer Methodology II Chapter 12 1 Outline 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root
More informationOutline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD
Outline Register Transfer Methodology II 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root approximation
More informationContents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation
Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4
More informationEmbedded System Design
Embedded System Design Daniel D. Gajski Samar Abdi Andreas Gerstlauer Gunar Schirner Embedded System Design Modeling, Synthesis and Verification Daniel D. Gajski Center for Embedded Computer Systems University
More informationHIGH-LEVEL SYNTHESIS
HIGH-LEVEL SYNTHESIS Page 1 HIGH-LEVEL SYNTHESIS High-level synthesis: the automatic addition of structural information to a design described by an algorithm. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms
More informationAn introduction to CoCentric
A Hand-Out 1 An introduction to CoCentric Las Palmas de G. C., Spain Jun, 27 th, 2002 Agenda 2 System-level SoC design What is SystemC? CoCentric System Studio SystemC based designs verification CoCentric
More informationSystem On Chip: Design & Modelling (SOC/DAM) 1 R: Verilog RTL Design with examples.
System On Chip: Design & Modelling (SOC/DAM) Exercises Here is the first set of exercises. These are intended to cover subject groups 1-4 of the SOC/DAM syllabus (R, SC, SD, ESL). These questions are styled
More informationCodesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.
Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires
More informationSysteMoC. Verification and Refinement of Actor-Based Models of Computation
SysteMoC Verification and Refinement of Actor-Based Models of Computation Joachim Falk, Jens Gladigau, Christian Haubelt, Joachim Keinert, Martin Streubühr, and Jürgen Teich {falk, haubelt}@cs.fau.de Hardware-Software-Co-Design
More informationI 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools
Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring
More informationStructural Design Composition for C++ Hardware Models
Structural Design Composition for C++ Hardware Models Frederic Doucet, Vivek Sinha, Rajesh Gupta Center for Embedded Computer Systems University of California at Irvine fdoucet,vsinha,rguptag@ics.uci.edu
More informationDIGITAL DESIGN TECHNOLOGY & TECHNIQUES
DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et
More informationSystem-level design refinement using SystemC. Robert Dale Walstrom. A thesis submitted to the graduate faculty
System-level design refinement using SystemC by Robert Dale Walstrom A thesis submitted to the graduate faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Major: Computer
More informationCommunication Abstractions for System-Level Design and Synthesis
Communication Abstractions for System-Level Design and Synthesis Andreas Gerstlauer Technical Report CECS-03-30 October 16, 2003 Center for Embedded Computer Systems University of California, Irvine Irvine,
More informationOSCI Update. Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder
OSCI Update Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder Chief Strategy Officer charter Ensure that OSCI strategy is created, coordinated, communicated & executed Identify OSCI technical
More informationSynthesis at different abstraction levels
Synthesis at different abstraction levels System Level Synthesis Clustering. Communication synthesis. High-Level Synthesis Resource or time constrained scheduling Resource allocation. Binding Register-Transfer
More informationPlatform-based SW/HW Synthesis
Platform-based SW/HW Synthesis Zhong Chen, Ph.D. (Visiting Prof. from Peking University) zchen@cs.ucla.edu SOC Group,UCLA Led by Jason Cong ICSOC Workshop Taiwan 03/28/2002 Contents Overview HW/SW Co-design
More informationDigital System Design
Digital System Design Analog time varying signals that can take on any value across a continuous range of voltage, current or other metric Digital signals are modeled with two states, 0 or 1 underneath
More informationRTOS Modeling for System Level Design
RTOS Modeling for System Level Design Design, Automation and Test in Europe Conference and Exhibition (DATE 03) Andreas Gerslauer, Haobo Yu, Daniel D. Gajski 2010. 1. 20 Presented by Jinho Choi c KAIST
More informationPlatform-based Design
Platform-based Design The New System Design Paradigm IEEE1394 Software Content CPU Core DSP Core Glue Logic Memory Hardware BlueTooth I/O Block-Based Design Memory Orthogonalization of concerns: the separation
More informationOverview of Computer Organization. Chapter 1 S. Dandamudi
Overview of Computer Organization Chapter 1 S. Dandamudi Outline Introduction Basic Terminology and Notation Views of computer systems User s view Programmer s view Advantages of high-level languages Why
More informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationCommunication Link Synthesis for SoC
Communication Link Synthesis for SoC Dongwan Shin, Andreas Gerstlauer and Daniel Gajski Technical Report CECS-04-16 June 10, 2004 Center for Embedded Computer Systems University of California, Irvine Irvine,
More information100-hour Design Cycle: A Test Case. keeping the specication close to the conceptualization. 2. Use of standard languages for input specications.
100-hour Design Cycle: A Test Case Daniel D. Gajski, Loganath Ramachandran, Peter Fung 3, Sanjiv Narayan 1 and Frank Vahid 2 University of California, Irvine, CA 3 Matsushita Electric Works, Research and
More informationRTOS Scheduling in Transaction Level Models
RTOS Scheduling in Transaction Level Models Haobo Yu, Andreas Gerstlauer, Daniel Gajski CECS Technical Report 03-12 March 20, 2003 Center for Embedded Computer Systems Information and Computer Science
More informationOverview of Computer Organization. Outline
Overview of Computer Organization Chapter 1 S. Dandamudi Outline Introduction Basic Terminology and Notation Views of computer systems User s view Programmer s view Advantages of high-level languages Why
More informationGeneral Transducer Architecture
General Transducer Architecture D Gajski, Hansu Cho, Samar Abdi Technical Report CECS-05-08 August 8, 2005 Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425, USA
More informationFunctional Programming in Hardware Design
Functional Programming in Hardware Design Tomasz Wegrzanowski Saarland University Tomasz.Wegrzanowski@gmail.com 1 Introduction According to the Moore s law, hardware complexity grows exponentially, doubling
More informationEmbedded System Design and Modeling EE382V, Fall 2008
Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 3 The SpecC System-Level Design Language Dates: Sep 9&11, 2008 Scribe: Mahesh Prabhu Languages: Any language would have characters, words
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationSunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.
World Class Verilog & SystemVerilog Training Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff Cummings
More informationAutomatic Communication Refinement for System Level Design
Automatic Communication Refinement for System Level Design Samar Abdi and Daniel Gajski Technical Report CECS-03-08 March 7, 2003 Center for Embedded Computer Systems University of California, Irvine Irvine,
More informationHW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999
HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system
More informationLecture 7: Introduction to Co-synthesis Algorithms
Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today
More informationPartitioning Methods. Outline
Partitioning Methods 1 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation Specification Refinement Co-synthesis Techniques
More information