ECE 565: VLSI CAD Flow + Brief Intro to HLS, Logic Optimization & Technology Mapping. Shantanu Dutt ECE Dept., UIC
|
|
- Ethel Maxwell
- 6 years ago
- Views:
Transcription
1 ECE 565: VLSI CAD Flow + Brief Intro to HLS, Logic Optimization & Technology Mapping Shantanu Dutt ECE Dept., UIC
2 (High-Level Synthesis or HLS network of interconnected modules: functional units [FUs], registers, muxes, demuxes, Logic optimization (mainly of controller fsm s and other random logic; other module dessigns such as arith. FUs, regs, muxes, etc. are well known). VLSI CAD Flow: Overview (HLS) (E.g., Using a Hardware Description Language: Verilog, VHDL, SystemC or Schematic Capture) a) Tech. Mapping (mapping small subckts to predesigned cells in library). b) Physical Synthesis (inserting buffers, upsizing gates, deciding on multiple Vdd and Vth). Can be combined w/ PD. a) Design Rule Checking b) Layout Vs. Schematic Verification c) Electrical Rule Checking d) Electrical simulation and functional (logic) + metric (delay, power) verification. Iterate if simulation identifies metric problems (hot spots, timing violation, crosstalk) Shantanu Dutt, UIC
3 System to Silicon Design System Requirements Algorithm Hardware Architecture Synthesis X[k] = Σ x[n]e -j2 πk/n x[n] = Σ X[k]e +j2 πk/n Σ System Integration Fabricate and Test Physical Design For Test Observe Cont rol [Source: MITRE] Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 6
4 Iterate if simulation identifies metric problems (hot spots, timing violation, crosstalk) VLSI CAD Flow: Overview (HLS) Constrained optimization problem: Opt. metric at almost all stages: One of power, delay, chip-area, total wire length (WL) w/ constraints (upper bounds) on the others plus on temperature (approx. power density), crosstalk (routing stage), yield/ variability (lower bound), etc. Very complex processes. Shantanu Dutt, UIC Disconnect between higher (above physical design) and lower stages (PD & lower): At higher stages some metrics such as those that are fully or partly interconnect-based (delay, area, dynamic power) cannot be v. accurately estimated incorrect decisions which percolate to lower stages (e.g. after routing between an adder and mult., interconnect length is much larger than anticipated due to say congestion and mis-routing) some specs (esp. delay) may not be met iterating back to higher stages to correct the approximations and re-design
5 VLSI CAD Flow: Overview Course Coverage: with particular focus on HLS and Physical Design (HLS) Iterate if simulation identifies metric problems (hot spots, timing violation, crosstalk) Shantanu Dutt, UIC
6 VLSI CAD Flow: Overview Partitioning cuts up the system into multiple subsystems to min. some metric (generally number of wires/nets cut min-cut part.) either for multi-chip impl. or for recursive invokeation for placement on a single chip. (HLS) Shantanu Dutt, UIC Iterate if simulation identifies problems (hot spots, timing violation, crosstalk) Floorplanning places major/large ploygonshaped modules on a chip to minimize chip area, wirelength (WL), delay or dynamic power with constraints on the others. Placement places smaller rectangular cells whose size/shape are well defined in sub-chip regions for the same goals as FP. Routing interconnects cells/modules via hor/vert or 45 deg. wires for similar goals as above.
7 Advanced VLSI Design ASIC Design Flow CMPE 641 Standard Cell Place and Route Flow Adapted from: CMOS VLSI Design, A Circuits and Systems Perspective, 3rd Edition, Neil Weste et al Pearson Addison-Wesley 7
8 A complete chip showing floorplanned modules Some modules are custom designed & layed-out (e.g., RAMs), while others are automated using, say, standard cells Modules Routing Shantanu Dutt, UIC
9 Another complete chip showing RAMs (custom design) + standard-cell layout RAMs Standardcell based layout (most of the chip) Shantanu Dutt, UIC
10 What HLS Produces by Examples Shantanu Dutt UIC
11 Hardware Synthesis Example 1 Computer Code Generation Programming language statement a := b + c; Hardware Synthesis Execution in a CPU Load r5 b Load r7 c ADD r2 r5 r7 (r2 <- r5 + r7) Store r2 a Mux_select CPU Mux1_select ldb Mux b Mux2_select ldc Mux c Reg_r/w Reg_addr r2 Register File r5 Mux ADDER r7 Alu_oper_select 32 Read Bus A ADD 32 Read Bus B ALU 32 Conrtol signals Control Unit (FSM) Conrtol signals Mux a Mux3_select lda Write Bus Shantanu Dutt UIC 17 17
12 Hardware Synthesis Example 2 Computer Code Generation Programming language construct if (a <= b) then begin Block A of code; end else begin Block B of code; end Hardware Synthesis B: A: C: Load r2 a Load r3 b SUB r2 r2 r3 BZ A BNEG A Block B assmb code JMP C Block A assmb code Block C assmb code Execution in a computer Computer lda a ldb Adder (Adder may be reused for other operations) Conrtol signals Control Unit (FSM) b Conrtol signals 2 s compl sign ovfl zero Recursively Synthesized Mux1_select I/Ps to code block Demux1_select Demux Hardware for Block A Mux 1 Hardware for Block B O/Ps of code block Shantanu Dutt UIC 18 18
13 Brief Intro to Logic Optimization & Technology Mapping Extracted from Notes by: Srinivas Devdas, MIT
14 Two-Level Logic Minimization Can realize an arbitrary logic function in sum-of-products or two-level form F1 = A B + A B D + A B C D + A B C D + A B + A B D F1 = B + D + A C + A C Of great interest to find a minimum sumof-products representation Solved problem even for functions with 100 s of inputs (variants of Quine-McCluskey) 3
15 Two-Level versus Multilevel 2-Level: f 1 = AB + AC + AD = AB + AC + AE f 2 6 product terms which cannot be shared. 24 transistors in static CMOS Multi-level: Note that B + C is a common term in f 1 and f 2 K = B + C f 1 =ΑΚ+AD f 2 = AK + AE 3 Levels 20 transistors in static CMOS not counting inverters 4
16 Technologies Closed book : Open book : gate-array standard-cell CMOS Domino, complex gate static CMOS LOGIC EQUATIONS TECHNOLOGY-INDEPENDENT OPTIMIZATION Factoring Commonality Extraction TECH-DEPENDENT OPTIMIZATION (MAPPING, TIMING) LIBRARY OPTIMIZED LOGIC NETWORK 5
17 Tech.-Independent Optimization Involves: Minimizing two-level logic functions. Finding common subexpressions. Substituting one expression into another. Factoring single functions. Factored versus Disjunctive forms f = ac + ad + bc + bd + ae sum-of-products or disjunctive form f = ( a + b )( c + d ) + ae factored form multi-level or complex gate 6
18 Optimizations F = f 1 f 2 = AB + AC + AD + AE + A BC D E = AB + AC + AD + AF + A BC D F Factor F F = f 1 = AB+ ( C + D + E)+ABC DE f 2 = A( B + C + D + F)+ABC DF Extract common expression G = g 1 = B + C + D f 1 = A( g 1 + E ) + A E g 1 f 2 = A( g 1 + F )+ A F g 1 7
19 What Does Best Mean? Transistor count Number of circuits Number of levels AREA POWER DELAY (Speed) Need quick estimators of area, delay and power which are also accurate 8
20 Tech.-Dependent Optimization OPTIMIZED LOGIC EQUATIONS LIBRARY TIMING CONSTRAINTS TECHNOLOGY MAPPING GATE NETLIST Area, delay and power dissipation cost functions 17
21 Closed Book Technologies A standard cell technology or library is typically restricted to a few tens of gates e.g., MSU library: 31 cells Gates may be NAND, NOR, NOT, AOIs. A B A A C A A C AB+C B 18
22 Mapping via DAG Covering Represent network in canonical form subject DAG Represent each library gate with canonical forms for the logic function primitive DAGs Each primitive DAG has a cost Goal: Find a minimum cost covering of the subject DAG by the primitive DAGs Canonical form: 2-input NAND gates and inverters 19
23 Sample Library INVERTER 2 NAND2 3 NAND3 4 NAND4 5 20
24 Sample Library - 2 AOI21 4 AOI
25 Standard cell library For each cell (e.g., NANDs, NORs, Invs, AOIs) Functional information Timing information Output slew Intrinsic delay Input capacitance Physical footprint Power characteristics (leakage power)
26 Trivial Covering Reduce netlist into ND2 gates subject DAG 7 NAND2 = 21 (# pins) = 28 (# transistors) 5 INV = 10 (# pins) = 10 (# transistors 31 = 38 (pin cost) (area cost)
27 Covering #1 2 INV = 4 (# pins) = 4 (# trans s) 2 NAND2 = 6 = 8 1 NAND3 = 4 = 6 1 NAND4 = 5 = (pin cost) (area cost)
28 Covering #2 1 INV = 2 (# pins) = 2 (# trans s) 1 NAND2 = 3 = 4 2 NAND3 = 8 = 12 1 AOI21 = 4 =? 17? (pin cost) (area cost)
29 DAG Covering Sound Algorithmic approach NP-hard optimization problem multiple fanout Tree covering heuristic: If subject and primitive DAGs are trees, efficient algorithm can find optimum cover in linear time dynamic programming formulation 25
30 Multiple fan-out
31 Partitioning a Graph Partition input netlist into a forest of trees Solve each tree optimally Stitch trees back together Any issues to take care of when doing TM for each individual tree so that the stitching back can be done (this is really a bookkeeping issue rather than intrinsically algorithmic)?
32 Resulting Trees Break at multiple fanout points 27
33 Dynamic Programming Principle of optimality: Optimal cover for a tree consists of a match at the root of the tree plus the optimal cover for the sub-trees starting at each input of the match y x p Best cover for this match uses best covers for x, y, z z Best cover for this match uses best covers for p, z 28
34 Optimum Tree Covering INV = 13 AOI = 7 NAND = 11 INV 2 NAND = 6 NAND2 3 NAND2 3 Is it a good idea to use the largest possible cover or cut going top-down or bottom-up (this may not be visible in this small example)?
35 DP Algorithm for Tech. Mapping of Tree Circuits Procedure DP_TM(p: gate output, G: circuit); /* G is a tree circuit */ if DP_TM(p, G) is stored then return(its cost, corresp. solution); Going backward from p to its fanins, produce all possible cuts (that separate the sub-ckt w/ p as o/p from the rest of the circuit) so that the # of wires cut <= max # of i/ps available for cells/gates in the library; cost = infinity; For each such cut Ci do if the subckt containing p is mappable to some gate gi in the library AND does not include any forbidden interconnects then begin cost(ci) = cost(gi) + S qj in Ci (DP_TM(qj, G)[1]); /* if DP_TM(qj, G) has already been investigated, it will be stored, and there is no need to execute this procedure again */ if cost(ci) < cost then { cost = cost(ci); solution = corresponding soln. } end if. End for; return(cost, solution); end DP_TM; Shantanu Dutt, UIC
36 Example Cuts in DP_TM C3 Recursive Calls for DP_TM C2 C1 C3 Ci is the set of gate o/ps that are in the complement (remainder) subckt. of G generated by cut Ci C4 C4 C2 C1 Shantanu Dutt, UIC
37 Analysis: Optimality? Runtime analysis: DP Algorithm for Tech. Mapping of Tree Circuits # of subsets (cuts) that can be generated from a gate g o/p q that includes g and includes fanins only up to a fan-in size of m (= max. number of i/ps among all cells in the library: if k is the # of all gate i/ps that can be enclosed by a cut across all valid cuts w/o/p at q, then # of valid cuts = O(2 k ), and k itself is O(2 m ), and thus # of valid cuts is O(2**(2 m )). However, since m is a constant like 6, the # of valid cuts per gate o/p turns out to be a medium-size constant in the range # of 1 st time calls of DP_TM for each gate o/p Total # of DP_TM calls What if the circuit is not a tree: how to process, optimal or non-optimal? How to obtain optimality for a general DAG and at the cost of how much increased runtime? Shantanu Dutt, UIC
38 What about delay optimization? d(g(c1)) C1 C in (g(c1)) Each cell g has an o/p resistance R out (g), input capacitance C in (g) and intrinsic delay d(g). R out (g(c2)) d(g(c2)) C2 R out (g(c3)) C3 R out (g(c4)) C4 d(g(c4)) Delay till root cut C2 i/p: D1 D2 D3 D1 Shantanu Dutt, UIC
39 What about delay optimization? d(g(c1)) R out (g(c2)) d(g(c2)) C2 C1 C in (g(c1)) R out (g(c3)) C3 R out (g(c4)) C4 d(g(c4)) Each cell g has an o/p resistance R out (g), input capacitance C in (g) and intrinsic delay d(g). Delay at the C1 input = max[d1 + R out (g(c2))*c in (g(c1)), D2 + R out (g(c3))*c in (g(c1)), D1 + R out (g(c2))*c in (g(c1)) ] Delay till root cut C2 i/p: D1 D2 D3 D1 Shantanu Dutt, UIC
40 Extension to DAGs: What is the problem? Ci Cr Ck u Cj Ci Cr Ck u Cj 3 different calls, one for each fanout, to TM of DAG rooted at u (TM(u)). Will the solution for TM(u) that leads to the best overall solution for the entire problem be affected by which cut/cover TM(u) is called for when the optimization metric is: a) Area or pin cost? b) Delay? Fig. 1 Fig. 2 TM(u) Shantanu Dutt, UIC
41 Appendix (not necessary to consider): Tackling fanouts in DAGs Black arcs represent parent-child relationship among cuts in a D&C context Ck Ck Ck Ci Cr Cj Ci Cj Ci Cj Cr u u u Fig. 1 Fig. 2 Two cuts Cr and Cr that change subckt(u) The only way a sibling cut can change the subcircuit rooted at u is if it enclosed a predecessor of u as by the cut Cr in Fig. 2. But such a cut can only be valid if it cuts only one gate o/p, which has to be the one for its root node, which is not the case here (Cr is invalid as cuts two node o/ps). Such a changing cut is valid only if its root node also is a predecessor of u as in Fig. 3. In such cases we will need to do as many TM calls of the subcircuit subckt(u) rooted at u as there are changes to it made by other cuts, and this can potentially be exponential over all such combinations of TMs of similar nodes as u. Practically there may be very few such changing cuts of subckt(u), but even if there are 2, we need to consider the combination of all such changed subckt(u) s for all u s w/ fanouts leading to an exponential combination if nodes w/ fanouts are Q(n), where n is the total # of nodes. If such nodes are a constant then we get a linear complexity TM algorithm as in the tree case. Cr Cr Fig. 3
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5. Guest Lecture by Srini Devadas
VLSI CAD Flow: Logic Synthesis, Placement and Routing 6.375 Lecture 5 Guest Lecture by Srini Devadas 1 RTL Design Flow HDL RTL Synthesis manual design Library/ module generators netlist logic optimization
More informationUsing Hardware Description Languages (HDLs) Introduction: Combinational Logic and Its Description. Lecture Notes # 1. ECE 368: CAD Based Logic Design
ECE 368: CAD Based Logic Design Lecture Notes # 1 Introduction: Combinational Logic and Its Description Using Hardware Description Languages (HDLs) SHANTANU DUTT Department of Electrical and Computer Engineering
More informationL2: Design Representations
CS250 VLSI Systems Design L2: Design Representations John Wawrzynek, Krste Asanovic, with John Lazzaro and Yunsup Lee (TA) Engineering Challenge Application Gap usually too large to bridge in one step,
More informationTechnology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas
Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas 1 RTL Design Flow HDL RTL Synthesis Manual Design Module Generators Library netlist
More information1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2
Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral
More informationECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms
ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to
More informationECE260B CSE241A Winter Logic Synthesis
ECE260B CSE241A Winter 2007 Logic Synthesis Website: /courses/ece260b-w07 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost
More informationCSE241 VLSI Digital Circuits UC San Diego
CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level
More informationLab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation
Course Goals Lab Understand key components in VLSI designs Become familiar with design tools (Cadence) Understand design flows Understand behavioral, structural, and physical specifications Be able to
More informationECE260B CSE241A Winter Logic Synthesis
ECE260B CSE241A Winter 2005 Logic Synthesis Website: / courses/ ece260bw05 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost
More informationSpiral 2-8. Cell Layout
2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric
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 informationLinking Layout to Logic Synthesis: A Unification-Based Approach
Linking Layout to Logic Synthesis: A Unification-Based Approach Massoud Pedram Department of EE-Systems University of Southern California Los Angeles, CA February 1998 Outline Introduction Technology and
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 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 informationEE 434 ASIC & Digital Systems
EE 434 ASIC & Digital Systems Dae Hyun Kim EECS Washington State University Spring 2018 Course Website http://eecs.wsu.edu/~ee434 Themes Study how to design, analyze, and test a complex applicationspecific
More informationCS8803: Advanced Digital Design for Embedded Hardware
CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883
More informationOverview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions
Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,
More informationCMOS VLSI Design. MIPS Processor Example. Outline
COS VLSI Design IPS Processor Example Outline Design Partitioning IPS Processor Example Architecture icroarchitecture Logic Design Circuit Design Physical Design Fabrication, Packaging, Testing Slide 2
More informationIntroduction. Sungho Kang. Yonsei University
Introduction Sungho Kang Yonsei University Outline VLSI Design Styles Overview of Optimal Logic Synthesis Model Graph Algorithm and Complexity Asymptotic Complexity Brief Summary of MOS Device Behavior
More informationAdditional Slides to De Micheli Book
Additional Slides to De Micheli Book Sungho Kang Yonsei University Design Style - Decomposition 08 3$9 0 Behavioral Synthesis Resource allocation; Pipelining; Control flow parallelization; Communicating
More informationSIDDHARTH INSTITUTE OF ENGINEERING AND TECHNOLOGY :: PUTTUR (AUTONOMOUS) Siddharth Nagar, Narayanavanam Road QUESTION BANK UNIT I
SIDDHARTH INSTITUTE OF ENGINEERING AND TECHNOLOGY :: PUTTUR (AUTONOMOUS) Siddharth Nagar, Narayanavanam Road 517583 QUESTION BANK Subject with Code : DICD (16EC5703) Year & Sem: I-M.Tech & I-Sem Course
More informationReference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering
FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.
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 informationECE 3060 VLSI and Advanced Digital Design
ECE 3060 VLSI and Advanced Digital Design Lecture 16 Technology Mapping/Library Binding Outline Modeling and problem analysis Rule-based systems for library binding Algorithms for library binding structural
More informationEE3032 Introduction to VLSI Design
EE3032 Introduction to VLSI Design Jin-Fu Li Advanced Reliable Systems (ARES) Lab. Department of Electrical Engineering National Central University Jhongli, Taiwan Contents Syllabus Introduction to CMOS
More informationEE 466/586 VLSI Design. Partha Pande School of EECS Washington State University
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University pande@eecs.wsu.edu Lecture 18 Implementation Methods The Design Productivity Challenge Logic Transistors per Chip (K) 10,000,000.10m
More informationOverview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips
Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,
More informationESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization
ESE535: Electronic Design Automation Day 18: March 25, 2013 Two-Level Logic-Synthesis Today Two-Level Logic Optimization Problem Behavioral (C, MATLAB, ) Arch. Select Schedule RTL FSM assign Definitions
More informationLecture (05) Boolean Algebra and Logic Gates
Lecture (05) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee ١ Minterms and Maxterms consider two binary variables x and y combined with an AND operation. Since eachv ariable may appear in either
More informationESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)
ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) Objective Part A: To become acquainted with Spectre (or HSpice) by simulating an inverter,
More informationHardware Modeling. Hardware Description. ECS Group, TU Wien
Hardware Modeling Hardware Description ECS Group, TU Wien Content of this course Hardware Specification Functional specification High Level Requirements Detailed Design Description Realisation Hardware
More informationSynthesis and Optimization of Digital Circuits
Synthesis and Optimization of Digital Circuits Dr. Travis Doom Wright State University Computer Science and Engineering Outline Introduction Microelectronics Micro economics What is design? Techniques
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationSynthesizable FPGA Fabrics Targetable by the VTR CAD Tool
Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Jin Hee Kim and Jason Anderson FPL 2015 London, UK September 3, 2015 2 Motivation for Synthesizable FPGA Trend towards ASIC design flow Design
More informationCAD Algorithms. Circuit Partitioning
CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which
More informationBased on slides/material by. Topic Design Methodologies and Tools. Outline. Digital IC Implementation Approaches
Based on slides/material by Topic 11 Peter Y. K. Cheung Department of Electrical & Electronic Engineering Imperial College London K. Masselos http://cas.ee.ic.ac.uk/~kostas J. Rabaey http://bwrc.eecs.berkeley.edu/classes/icbook/instructors.html
More informationDigital Design Methodology (Revisited) Design Methodology: Big Picture
Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology
More informationTesting & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation
Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla (kalla@ece.utah.edu) 3 Credits Mon, Wed 1:25-2:45pm, WEB 2250 Office
More informationECE 595Z Digital Systems Design Automation
ECE 595Z Digital Systems Design Automation Anand Raghunathan, raghunathan@purdue.edu How do you design chips with over 1 Billion transistors? Human designer capability grows far slower than Moore s law!
More informationDigital Design Methodology
Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification
More informationTOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis
TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.
More informationLecture 2: MIPS Processor Example
Introduction to CMOS VLSI Design Lecture 2: MIPS Processor Example Outline Design Partitioning MIPS Processor Example Architecture t Microarchitecture Logic Design Circuit Design Physical Design Fabrication,
More informationStandard Cell Library Design and Characterization using 45nm technology
IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) Volume 4, Issue 1, Ver. I (Jan. 2014), PP 29-33 e-issn: 2319 4200, p-issn No. : 2319 4197 Standard Cell Library Design and Characterization using
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 informationECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms
ECE 7 Complex Digital ASIC Design Topic : Physical Design Automation Algorithms Christopher atten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece7
More informationSynthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1
Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry
More informationElectronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #1 Introduction So electronic design automation,
More informationSYNTHESIS FOR ADVANCED NODES
SYNTHESIS FOR ADVANCED NODES Abhijeet Chakraborty Janet Olson SYNOPSYS, INC ISPD 2012 Synopsys 2012 1 ISPD 2012 Outline Logic Synthesis Evolution Technology and Market Trends The Interconnect Challenge
More informationCombinational Devices and Boolean Algebra
Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials
More informationECE 459/559 Secure & Trustworthy Computer Hardware Design
ECE 459/559 Secure & Trustworthy Computer Hardware Design VLSI Design Basics Garrett S. Rose Spring 2016 Recap Brief overview of VHDL Behavioral VHDL Structural VHDL Simple examples with VHDL Some VHDL
More informationReview. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.
Review EECS 150 - Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 94-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow
More informationTopics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall
Topics! PLAs.! Memories:! ROM;! SRAM;! DRAM.! Datapaths.! Floor Planning Programmable logic array (PLA)! Used to implement specialized logic functions.! A PLA decodes only some addresses (input values);
More informationCombinational Logic Circuits
Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization
More informationHardware Modelling. Design Flow Overview. ECS Group, TU Wien
Hardware Modelling Design Flow Overview ECS Group, TU Wien 1 Outline Difference: Hardware vs. Software Design Flow Steps Specification Realisation Verification FPGA Design Flow 2 Hardware vs. Software:
More informationINTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume 9 /Issue 3 / OCT 2017
Design of Low Power Adder in ALU Using Flexible Charge Recycling Dynamic Circuit Pallavi Mamidala 1 K. Anil kumar 2 mamidalapallavi@gmail.com 1 anilkumar10436@gmail.com 2 1 Assistant Professor, Dept of
More informationLecture 4: MIPS Processor Example
Lecture 4: MIPS Processor Example Slides courtesy of Deming Chen Slides based on the initial set from David Harris CMOS VLSI Design Outline Design Partitioning MIPS Processor Example Architecture Microarchitecture
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 informationTopics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture
FPGA Design EECE 277 Interconnect and Logic Elements Part 2 Dr. William H. Robinson February 4, 2005 http://eecs.vanderbilt.edu/courses/eece277/ Topics The sky is falling. I must go and tell the King.
More informationASIC Physical Design Top-Level Chip Layout
ASIC Physical Design Top-Level Chip Layout References: M. Smith, Application Specific Integrated Circuits, Chap. 16 Cadence Virtuoso User Manual Top-level IC design process Typically done before individual
More informationHigh Level Synthesis
High Level Synthesis Design Representation Intermediate representation essential for efficient processing. Input HDL behavioral descriptions translated into some canonical intermediate representation.
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationSoftware Engineering 2DA4. Slides 2: Introduction to Logic Circuits
Software Engineering 2DA4 Slides 2: Introduction to Logic Circuits Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals of Digital
More informationIntroduction to CMOS VLSI Design Lecture 2: MIPS Processor Example
Introduction to CMOS VLSI Design Lecture 2: MIPS Processor Example David Harris Harvey Mudd College Spring 2004 Outline Design Partitioning MIPS Processor Example Architecture Microarchitecture Logic Design
More informationUnit 4: Formal Verification
Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification
More informationEEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial
EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial Dept. of Electrical and Computer Engineering University of California, Davis Issued: October 10, 2011 Due: October 19, 2011, 4PM Reading: Rabaey Insert
More informationColumbia Univerity Department of Electrical Engineering Fall, 2004
Columbia Univerity Department of Electrical Engineering Fall, 2004 Course: EE E4321. VLSI Circuits. Instructor: Ken Shepard E-mail: shepard@ee.columbia.edu Office: 1019 CEPSR Office hours: MW 4:00-5:00
More informationProgrammable Logic Devices II
São José February 2015 Prof. Hoeller, Prof. Moecke (http://www.sj.ifsc.edu.br) 1 / 28 Lecture 01: Complexity Management and the Design of Complex Digital Systems Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br
More informationBoolean Algebra and Logic Gates
Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can
More informationIMPLEMENTATION DESIGN FLOW
IMPLEMENTATION DESIGN FLOW Hà Minh Trần Hạnh Nguyễn Duy Thái Course: Reconfigurable Computing Outline Over view Integra tion Node manipulation LUT-based mapping Design flow Design entry Functional simulation
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationDesign Methodologies and Tools. Full-Custom Design
Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)
More informationDigital Design with FPGAs. By Neeraj Kulkarni
Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic
More informationOverview of Digital Design Methodologies
Overview of Digital Design Methodologies ELEC 5402 Pavan Gunupudi Dept. of Electronics, Carleton University January 5, 2012 1 / 13 Introduction 2 / 13 Introduction Driving Areas: Smart phones, mobile devices,
More informationUNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163
UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163 LEARNING OUTCOMES 4.1 DESIGN METHODOLOGY By the end of this unit, student should be able to: 1. Explain the design methodology for integrated circuit.
More informationAdvanced Synthesis Techniques
Advanced Synthesis Techniques Reminder From Last Year Use UltraFast Design Methodology for Vivado www.xilinx.com/ultrafast Recommendations for Rapid Closure HDL: use HDL Language Templates & DRC Constraints:
More informationSystem Synthesis of Digital Systems
System Synthesis Introduction 1 System Synthesis of Digital Systems Petru Eles, Zebo Peng System Synthesis Introduction 2 Literature: Introduction P. Eles, K. Kuchcinski and Z. Peng "System Synthesis with
More informationIntroduction to CMOS VLSI Design (E158) Lab 4: Controller Design
Harris Introduction to CMOS VLSI Design (E158) Lab 4: Controller Design The controller for your MIPS processor is responsible for generating the signals to the datapath to fetch and execute each instruction.
More informationESE535: Electronic Design Automation. Today. LUT Mapping. Simplifying Structure. Preclass: Cover in 4-LUT? Preclass: Cover in 4-LUT?
ESE55: Electronic Design Automation Day 7: February, 0 Clustering (LUT Mapping, Delay) Today How do we map to LUTs What happens when IO dominates Delay dominates Lessons for non-luts for delay-oriented
More informationVLSI Design Automation
VLSI Design Automation IC Products Processors CPU, DSP, Controllers Memory chips RAM, ROM, EEPROM Analog Mobile communication, audio/video processing Programmable PLA, FPGA Embedded systems Used in cars,
More informationDYNAMIC CIRCUIT TECHNIQUE FOR LOW- POWER MICROPROCESSORS Kuruva Hanumantha Rao 1 (M.tech)
DYNAMIC CIRCUIT TECHNIQUE FOR LOW- POWER MICROPROCESSORS Kuruva Hanumantha Rao 1 (M.tech) K.Prasad Babu 2 M.tech (Ph.d) hanumanthurao19@gmail.com 1 kprasadbabuece433@gmail.com 2 1 PG scholar, VLSI, St.JOHNS
More informationCHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES
CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES This chapter in the book includes: Objectives Study Guide 9.1 Introduction 9.2 Multiplexers 9.3 Three-State Buffers 9.4 Decoders and Encoders
More informationVLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007
VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp
More informationDigital Integrated Circuits Lecture 2: MIPS Processor Example
Digital Integrated Circuits Lecture 2: MIPS Processor Example Chih-Wei Liu VLSI Signal Processing LAB National Chiao Tung University cwliu@twins.ee.nctu.edu.tw DIC-Lec2 cwliu@twins.ee.nctu.edu.tw 1 Outline
More informationEliminating Routing Congestion Issues with Logic Synthesis
Eliminating Routing Congestion Issues with Logic Synthesis By Mike Clarke, Diego Hammerschlag, Matt Rardon, and Ankush Sood Routing congestion, which results when too many routes need to go through an
More informationBoolean Algebra. BME208 Logic Circuits Yalçın İŞLER
Boolean Algebra BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com 5 Boolean Algebra /2 A set of elements B There exist at least two elements x, y B s. t. x y Binary operators: +
More informationA 65nm Parallel Prefix High Speed Tree based 64-Bit Binary Comparator
A 65nm Parallel Prefix High Speed Tree based 64-Bit Binary Comparator Er. Deepak sharma Student M-TECH, Yadavindra College of Engineering, Punjabi University, Guru Kashi Campus,Talwandi Sabo. Er. Parminder
More informationCMPE 413/ CMSC 711. Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. GND. Input bus. Latches I[8]-I[15]
Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. Assigned: Fri, Nov 3rd Due: Tue, Dec. 19th Description: con1 I[15] I[14] I[13] GND I[12] I[11] I[10] I[9] con2 O[15]
More informationAltera Quartus II Synopsys Design Vision Tutorial
Altera Quartus II Synopsys Design Vision Tutorial Part III ECE 465 (Digital Systems Design) ECE Department, UIC Instructor: Prof. Shantanu Dutt Prepared by: Xiuyan Zhang, Ouwen Shi In tutorial part II,
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More informationIntroduction VLSI PHYSICAL DESIGN AUTOMATION
VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.
More informationIntroduction to Programmable Logic Devices (Class 7.2 2/28/2013)
Introduction to Programmable Logic Devices (Class 7.2 2/28/2013) CSE 2441 Introduction to Digital Logic Spring 2013 Instructor Bill Carroll, Professor of CSE Today s Topics Complexity issues Implementation
More informationUNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation
UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation NTU IC541CA 1 Assumed Knowledge This lab assumes use of the Electric
More informationBasic Idea. The routing problem is typically solved using a twostep
Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a
More informationCombinational Logic & Circuits
Week-I Combinational Logic & Circuits Spring' 232 - Logic Design Page Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other
More informationCHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationL14 - Placement and Routing
L14 - Placement and Routing Ajay Joshi Massachusetts Institute of Technology RTL design flow HDL RTL Synthesis manual design Library/ module generators netlist Logic optimization a b 0 1 s d clk q netlist
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 informationIn this chapter we present basic definitions that relate to
01_1_16.fm Page 1 Thursday, January 13, 2000 9:22 AM C H A P T E R 1 Structured Design Concepts In this chapter we present basic definitions that relate to the design process. It is necessary to introduce
More information