SoC Challenges & Transaction Level Modeling (TLM) Dr. Eng. Amr T. Abdel-Hamid Spring 2008 System-On-a-Chip Design ELECT 1002 Table Of Contents SoC Design SoC Challenges TLM Model Concepts TLMs for different design domains Dr. Amr Talaat ELECT1002 SoC Challenges SoC Design Explosive Complexity: The smaller the better Time-to-market the amount of time require d for conceiving an idea in to a real product for sales Shorter times-to-market Sky-rocketing Cost Dr. Amr Talaat ELECT1002 System Design Level SoC Design Dr. Amr Talaat ELECT1002 Solutions SoC Design TLM Reuse of implementations (IP Design Reuse) System standards Dr. Amr Talaat ELECT1002 Classic Design Flow SoC Design Algorithmic Design Architectural Design System Level Design (Co-design Level) Behavioral Model (Spec.) Partitioning VHDL/Verilog Software S/W Design Implementation RTL Implementation RTL Model H/W Design Gate Synthesis Gate Model Layout Generation Layout Synthesis Tools Dr. Amr Talaat System Integration ELECT1002 System Description Models SoC Design Transistor level HSpice, Schematic Gate level Netlist, PALASM, TEGAS Dr. Amr Talaat RT Level HDLs ELECT1002 Modern Design Flow SoC Design Dr. Amr Talaat ELECT1002 Levels of Abstraction SoC Design Three levels of abstraction: 1. Functional level • Executable Specification • Un-Timed Dr. Amr Talaat 2. Architecture level • Analyze SoC architecture • Early SW development • Estimated timing 3. Micro-Architecture level • Pin level • RTL/Behavioral HW design • Exact Timing ELECT1002 Transaction Level Modeling - TLM SoC Design Transaction is the exchange of data or an event between two comp onent of a modeled and simulated system data can be anything from a word to a complex data structure event transaction models synchronization aspects that ensure correct operatio n of the SoC The behavior of functional blocks can be separated from communicati on The communication is described in terms of sending transactions TLM only focus on mapping out data flow details, i.e. the type of data that flows and where it is stored Dr. Amr Talaat ELECT1002 TLM – cont. SoC Design RTL: • The bus is wires • Each device on the bus has a pin-accura te interface • Each device interfac e must implement the bus protocol Dr. Amr Talaat TLM: • Bus model enforces the bus protocol • Each device commu nicates via transactio n level API • Less code, fewer pi ns, fewer •events => much fast er ELECT1002 Basics of TLM SoC Design Transaction : exchange of a data or an event between tw o components of a modeled and simulated system Module : structural entity, which contain processes, ports, channels, and other modules Channel : implements one or more interfaces, and serves as a container for communication functionality Dr. Amr Talaat Port : object through which a module can access a chan nel’s interface. ELECT1002 Basics of TLM SoC Design Primitive & Hierarchical Channel Dr. Amr Talaat Hierarchical channels contain processes, ports, modules a nd channels, but primitive channels do not ELECT1002 TLM Advantages SoC Design SW development delay SW team can begin SW developi ng or testing stage much sooner HW/SW communication HW parts can communicate with SW parts in this common enviro nment. Makes the SW debug eas ier. Design space exploration Designers can decide on its part itioning (module and HW/SW par titioning) in the early stages of t he design. Dr. Amr Talaat Simulation speed The number of events decreases ELECT1002 TLM Abstraction Models SoC Design Time granularity for communication/computation objects ca n be classified into 3 basic categories. Models B, C, D and E could be classified as TLMs. A. "Specification model" "Untimed functioal models" Communication Cycletimed D C. "Bus-arbitration model" "Transaction model" Approximatetimed Dr. Amr Talaat Untimed C E D. "Bus-functional model" "Communicatin model" "Behavior level model" A B Untimed Approximatetimed ELECT1002 B. "Component-assembly model" "Architecture model" "Timed functonal model" F Cycletimed Computation E. "Cycle-accurate computation model" F. "Implementation model" "Register transfer model" TLM Abstraction Models SoC Design 1. Specification model 2. 3. 4. 5. PE*-assembly model or Component Assembly Bus-arbitration model Time-accurate communication model Cycle-accurate computation model 6. Implementation model Dr. Amr Talaat * Processing elements ELECT1002 A: “Specification Model” SoC Design Objects - Computation -Behaviors - Communication -Variables Composition B1 - v1 = a*a; - Hierarchy Order -Sequential v1 -Parallel B2B3 -Piped B3 B2 v3= v1- b*b; v2 = v1 + b*b; -States - Synchronization v2 v3 Dr. Amr Talaat B4 v4 = v2 + v3; c = sequ(v4); ELECT1002 -Notify/Wait B: “Component-Assembly Model” SoC Design Composition PE1 B1 cv11 - Hierarchy - Order v1 = a*a; PE3 v2 = v1 + b*b; -Parallel v3= v1- b*b; -Piped v3 PE2 B2 -Sequential B3 cv12 Objects - Computation - Proc - IPs - Memories - Communication -Variable channels cv2 -States B4 v4 = v2 + v3; c = sequ(v4); - Synchronization -Notify/Wait Dr. Amr Talaat ELECT1002 C: “Bus-Arbitration Model” SoC Design Objects - Computation - Proc - IPs (Arbiters) PE1 B1 - Memories v1 = a*a; - Communication - Abstract bus channels PE2 Composition PE4 (Arbiter) PE3 - Order -Sequential B3 v3= v1- b*b; cv12 1 cv2 -Parallel -Piped 2 v3 cv11 -States B4 1. Master interface 2. Slave interface 3. Arbiter interface v4 = v2 + v3; c = sequ(v4); Dr. Amr Talaat Bus arbiter arbitrates bus conflict ELECT1002 Hierarchy 3 B2 v2 = v1 + b*b; - - Synchronization -Notify/Wait D: “Bus-Functional Model” Composition PE4 (Arbiter) PE1 3 B1 B3 v1 = a*a; v3= v1- b*b; 1 PE2 address[15:0] address[15:0] data[31:0] data[31:0] ready ack ready ack 2 v3 B4 B2 v2 = v1 + b*b; - Hierarchy - Order PE3 IProtocolSlav e SoC Design Objects - Computation - Proc - IPs (Arbiters) - Memories - Communication - Protocol bus channels 1: master interface 2: slave interface 3: arbitor interface v4 = v2 + v3; c = sequ(v4); -Sequential -Parallel -Piped -States - Synchronization -Notify/Wait Dr. Amr Talaat •Time/cycle accurate communication (time constraint) •Approximate timed computation •Protocol channel provides functions for all abstraction bus transaction ELECT1002 E: “Cycle-Accurate Computation Model” SoC Design Objects - Computation - Proc - IPs (Arbiters) - Memories - Wrappers - Communication - Abstract bus channels Composition PE4 S0 - Hierarchy - Order S1 S2 S3 -Sequential -Parallel 4 PE1 PE3 MOV r1, 10 MUL r1, r1, r1 .... 3 4 S0 cv12 cv2 1 cv11 PE2 MLA ... r1, r2, r2, r1 .... S1 2 4 S2 S3 S4 4 1. 2. 3. 4. Master interface Slave interface Arbiter interface Wrapper -Piped -States - Synchronization -Notify/Wait Dr. Amr Talaat • Modeled at register-transfer level • PE are pin accurate and execute cycle-accurately • Wrappers convert data transfer from higher level of abstraction to lowe r level abstraction ELECT1002 F: “Implementation Model” SoC Design Objects - Computation - Proc - IPs (Arbiters) - Memories - Communication -Buses (wires) PE1 req Composition PE2 interrupt interrupt MOV r1, 10 MUL r1, r1, r1 .... MLA req ... r1, r2, r2, r1 .... MCNTR MADDR MDATA - Hierarchy - Order -Sequential -Parallel PE4 PE3 -Piped S0 S0 S1 interrupt -States S1 S2 S2 S3 - Synchronization S3 S4 Dr. Amr Talaat ELECT1002 -Notify/Wait SOC Design Tasks 1. PE assembly and model generation SoC Design Specification model 2. Communication exploration and busarbitration model generation 1 PE-assembly model System Design 3. Protocol refinement and time-accurate communication model generation 2 4. RTL/ISS* synthesis Bus-arbitration model 7 3 8 5. IP replacement 5 Time-accurate Communication model Cycle-accurate Computation model 6. Interconnect network generation 7. Accurate communication feedback Dr. Amr Talaat 4 Component Design Implementation model 6 8. Accurate computation feedback * ISS : Instruction set simulator ELECT1002 SOC Design Tasks Communication SoC Design Cycletimed D 4 F 3 Approximatetimed C 6 5 E 2 Dr. Amr Talaat Untimed 1 A Untimed ELECT1002 B Approximatetimed Cycletimed Computation Characteristics of Different Abstraction Models SoC Design Models Dr. Amr Talaat Specification model Componentassembly model Bus-arbitration model Bus-functional model Cycle-accurate computation model Implementation model ELECT1002 Communication time no Computation time no Communication scheme variable PE interface no approximate variable channel abstract approximate approximate abstract time/cycle accurate approximate approximate cycle-accurate abstract bus channel protocol bus channel abstract bus channel cycle-accurate cycle-accurate bus (wire) (no PE) abstract pin-accurate pin-accurate References SoC Design The credit of these slides goes to: D. Gajski, L. Cai, “Transaction Level Modeling: An Overview”, Center for Embedded Computer Sy stems, University of California, Irvine, 2004. Z. Navabi, “The Role of SystemC in theEvolution of Hardware Design”, Worcester Polytechnic Ins titute. B. Vanthournout, “SoC design methodology Using SystemC”, Coware, 2003. F. Ghenassia, “Transaction Level Modeling with SystemC: TLM Concepts and Applications for E mbedded Systems, Springer, 2005. & Others Dr. Amr Talaat ELECT1002