Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
ECE 412: Microcomputer Laboratory Lecture 17: Platform-Based Design and IP Lecture 17 Outline • Platform-based Design • Various IPs (intellectual property) • Design Domains and Levels of Abstractions Lecture 17 Review Questions 1. What are Observability and Controllability? Name one way to improve both. – – – Observability: ease of observing a node by watching external output pins of the chip Controllability: ease of forcing a node to 0 or 1 by driving input pins of the chip Scan chain 2. Name some testing types. – – – – – Dynamic vs. Static • i.e. simulation vs. formal methods Deterministic vs. Random • Pre-specified vs. randomly generated sequence of inputs Waveforms/logs checking vs. self-checking • Non-automatic vs. automatic testing Black- vs. glass-box testing • Considering only specification vs. considering implementation in designing tests Unit vs. integration testing • Module vs. System testing Lecture 17 Platform-based Design • Platform Based Design is an organized method to reduce the time required and risk involved in designing and verifying a complex SoC, by heavy reuse of combinations of hardware and software IP. Rather than looking at IP reuse in a block by block manner, platform-based design aggregates groups of components into a reusable platform architecture. Lecture 17 Platform Alternatives Lecture 17 Promises of Platform-based Design • It is the next logical step in IP reuse, moving up from ad hoc block reuse to the reuse of aggregates of IP blocks and an integration architecture – reduce design effort and risk – improve time to market • Rapid design derivatives become possible – allowing optimization and tailoring of products to very specific application needs and markets • Platforms are a way of capturing and reusing the best architectures and design approaches – in general, there are only a few optimal architectures for particular application domains – platforms serve as transmission mechanism from more experienced design teams and architects to less experienced designers Lecture 17 Intellectual Property (IP) • Building block components (roughly equivalent terms) – Macros, cores, IPs, virtual components (VCs) • Examples – Microprocessor core, A/D converter, Digital filter, Audio compression algorithm • Three types of IP blocks – Hard (least flexible) – Firm – Soft (most flexible) Lecture 17 Hard IP • Delivered in physical form (e.g., GDSII file) • Fully – Designed – Placed and routed – Characterized for timing, power, etc. • Tied to a manufacturing process – Actual physical layout – Fixed shape • Complete characterization – Guaranteed performance – Known area, power, speed, etc. • No flexibility Lecture 17 Fixed Schematics and Layout Power Hard Macros A-Input C Data Out B-Input A B Ground Schematic of a NAND gate Layout of a NOR gate Lecture 17 Hard IP Examples and Constraints • A microprocessor core – PowerPC, ARM • AMS (analog/mixed-signal) blocks – ADC, DAC, filter • A phase-locked loop (PLL) • A memory block design • Features – Deeply process dependent – Stricter performance requirements – Electrical constraints, such as capacitance, resistance, and inductance ranges – Geometric constraints, such as symmetry, dimension, pin location, etc. – Need to provide interface for functional and timing verification Lecture 17 Soft IP • Delivered as synthesizable RTL HDL code (e.g., VHDL or Verilog) • Performance is synthesis and process dependent • Synthesizable Verilog/VHDL • Synthesis scripts, timing constraints • Scripts for testing issues – Scan insertion, ATPG (automatic test pattern generation), etc. Lecture 17 Some Soft IPs • Counter, Comparator, Arithmetic/Logic Unit • PCI bridge • Microprocessor core – Representation form less process dependent – Final performance is still process and synthesis dependent Lecture 17 Firm IP Blocks • Intermediate form between hard and soft IP – Some physical design info to supplement RTL – RTL or netlist or mixture of both – More (or less) detailed placement – Limited use beyond specified foundry Lecture 17 Understand IPs • The quality of IPs and support will be the key to the success of the IP business • Need to pay much attention on software IP issues • Need application and system design expertise • Core-based design is effective on IP/core integration • Need to develop a combining platform- and corebased design methodology/environment for system designs Lecture 17 Designers’ Technical Concerns on IP Reuse • Is the IP source (provider) reliable? • How can I make sure the functional correctness of the IP? • How much effort do I have to invest in test-bench development for design verification with reused IP? • What if I need to modify part of IP design? • What if the final timing is not satisfied due to the IP? • What’s the risk of the design project due to any possible defect caused by the IP? • What’s the worst scenario when reusing the IP and what are the damage control plan? Lecture 17 SoC Design Domains • Represent different aspects of a system – System or behavioral domain System – Structural or RTL domain Behavior – Physical domain Structural RTL Physical Design Lecture 17 Behavioral (System) Domain Structural (RTL) Domain Operating Systems Computer Applications Microprocessor User Programs Subroutines Adders, gates, flip-flops Instructions Transistors Circuit Abstraction Level Transistors Logic Abstraction Level Cells The Y Chart Modules Architectural Abstraction Level Chips, Boards, Boxes Physical Domain Lecture 17 Behavioral Domain •What a particular system does Functionality User interface Applications Operating system Subroutines, etc… Structural Domain •How entities are interconnected to implement prescribed behavior Logic gates Registers RISC processor, etc… Physical Domain •Physical structures to implement behavior Devices (transistors) Interconnections (wires) Physical qualities: conductivity, capacitance, etc. Lecture 17 The Adder Example • An n-bit adder – Adds two n-bit numbers A and B to produce a result C A Adder B Lecture 17 C=A+B Behavioral Representation • How a design responds to a set of inputs? • Specification of behavior – Boolean equations – HDL, e.g., Verilog or VHDL Lecture 17 Example: 1-bit Adder (cont’) • Boolean equations Sum = A.B’.C’ + A’.B’.C + A’.B.C’ + A.B.C Carry = A.B + A.C + B.C • Verilog module carry (co, a, b, c); output co; input a, b, c; assign co = (a&b) | (b&c) | (a&c); endmodule Lecture 17 Structural Representation • How components are interconnected to perform the required function • Specification – Typically a list of modules and their interconnections Lecture 17 Example: 4-bit Adder (cont’) Add4 is add add Lecture 17 add add Structure Description in Verilog module add (co, s, a, b, c); input a, b, c; output s, co; // describe 1-bit adder enddmodule module Add4 (S, c4, ci, a, b); input [3:0] a, b; input ci; output [3:0] s; output c4; wire [2:0] co; add a0(co[0],s[0],a[0],b[0],ci ); add a1(co[1],s[1],a[1],b[1],co[0]); add a2(co[2],s[2],a[2],b[2],co[1]); add a3(c4, s[3],a[3],b[3],co[2]); endmodule interconnections modules Lecture 17 Physical Representation • How to build a part to guarantee specific structure/behavior • Physical specifications – Materials qualities • Resistance, capacitance, etc. – Photo-masks required by various fabrication steps Lecture 17 Physical View of the Adder (50 100) co (0 75) a add (0 25) b c (0 0) (50 0) Lecture 17 s (100 50) Next Time • Case studies of SoC in FPGAs Lecture 17