L16 : Logic Level Design (2) 성균관대학교 조 준 동 교수

Slides:



Advertisements
Similar presentations
Gregory Shklover, Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective.
Advertisements

ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
Arbitrary Waveform Discussion 5.5 Example 34.
1 VLSI DESIGN USING VHDL Part II A workshop by Dr. Junaid Ahmed Zubairi.
Ring Counter Discussion D5.3 Example 32. Ring Counter if rising_edge(CLK) then for i in 0 to 2 loop s(i)
ECE 667 Synthesis and Verification of Digital Systems
Logic Design Fundamentals - 3 Discussion D3.2. Logic Design Fundamentals - 3 Basic Gates Basic Combinational Circuits Basic Sequential Circuits.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Technology Mapping.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
Digital Design – Optimizations and Tradeoffs
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Finite State Machines Discussion D8.1 Example 36.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
CSET 4650 Field Programmable Logic Devices Dan Solarek VHDL Behavioral & Structural.
L23 – Arithmetic Logic Units. Arithmetic Logic Units (ALU)  Modern ALU design  ALU is heart of datapath  Ref: text Unit 15 9/2/2012 – ECE 3561 Lect.
AND Gate: A Logic circuit whose output is logic ‘1’ if and only if all of its inputs are logic ‘1’.
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
4-bit Shift Register. 2-bit Register Serial-in-serial-out Shift Register.
Introduction to VHDL (part 2)
Review: CMOS Inverter: Dynamic
Logic Synthesis For Low Power CMOS Digital Design.
Sub-expression elimination Logic expressions: –Performed by logic optimization. –Kernel-based methods. Arithmetic expressions: –Search isomorphic patterns.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
Chapter 10 State Machine Design. 2 State Machine Definitions State Machine: A synchronous sequential circuit consisting of a sequential logic section.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
VHDL in 1h Martin Schöberl. AK: JVMHWVHDL2 VHDL /= C, Java,… Think in hardware All constructs run concurrent Different from software programming Forget.
L26 – Datapath ALU implementation
ENG241 Digital Design Week #8 Registers and Counters.
Topics Combinational network delay.
ECE 331 – Digital System Design Multiplexers and Demultiplexers (Lecture #13)
L13 :Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
2’s Complement 4-Bit Saturator Discussion D2.8 Lab 2.
Lecture 7 Chap 9: Registers Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
 Seattle Pacific University EE Logic System DesignCounters-1 Shift Registers DQ clk DQ DQ ShiftIn Q3Q3 Q2Q2 DQ Q1Q1 Q0Q0 A shift register shifts.
Logic synthesis flow Technology independent mapping –Two level or multilevel optimization to optimize a coarse metric related to area/delay Technology.
9/9/2006DSD,USIT,GGSIPU1 Concurrent vs Sequential Combinational vs Sequential logic –Combinational logic is that in which the output of the circuit depends.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
CEC 220 Digital Circuit Design VHDL in Sequential Logic Wednesday, March 25 CEC 220 Digital Circuit Design Slide 1 of 13.
Give qualifications of instructors: DAP
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
Fast Synthesis of Clock Gating from Existing Logic Aaron P. Hurst Univ. of California, Berkeley Portions In Collaboration with… Artur Quiring and Andreas.
Reconfigurable Computing - Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound,
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Combinational logic circuit
Describing Combinational Logic Using Processes
Registers and Counters
Part II A workshop by Dr. Junaid Ahmed Zubairi
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Part IV: VHDL CODING.
ENG6530 Reconfigurable Computing Systems
VHDL Structural Architecture
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
Concurrent vs Sequential
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
Timing Optimization.
ECE 331 – Digital System Design
Figure 8.1. The general form of a sequential circuit.
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
4-Input Gates VHDL for Loops
(Sequential-Circuit Building Blocks)
Presentation transcript:

L16 : Logic Level Design (2) 성균관대학교 조 준 동 교수

Low Power Logic Gate Resynthesis on Mapped Circuit 김현상 조준동 전기전자컴퓨터공학부 성균관대학교

Transition Probability Transition Probability: Prob. Of a transition at the output of a gate, given a change at the inputs Use signal probabilities Example: F = X’Y + XY’ –Signal Prob. Of F: P f = P x (1-P y )+(1-P x )P y –Transistion Prob. Of F = 2P f (1-P f ) –Assumption of independence of inputs Use BDDs to compute these References: Najm’91

Technology Mapping Implementing a Boolean network in terms of gates from a given library Popular technique: Tree-based mapping Library gates and circuits decomposed into canonical patterns Pattern matching and dynamic programming to find the best cover NP-complete for general DAG circuits Ref: Keutzer’87, Rudell’89 Idea: High transition probability points are hidden within gates

Low Power Cell Mapping Example of High Switching Activity Node Internal Mapping in Complex Gate

Signal Probability vs. Power

Spatial Correlation

Logic Synthesis for Low Power Precomputation logic –selectively precompute the output logic values -> reduce switching activity –using predictor function Retiming –re-positioning the F/F in a pipelined circuit –candidates for adding circuit nodes with high hazard activity circuit nodes with high load capacitance A R1 R2 R3 g1 g2 NOR g CLCL g CLCL R y

Logic Synthesis for Low Power State assignment –to minimize the switching activity on high state transition arc –can also consider the complexity of the combinational logic –experimental result 10% ~17% power reductions Path balancing –reduce hazards/glitches –key issue in the delay insertion to use the minimum number of delay to achieve the maximum reduction Multi-level network optimization –use network don’t care term –cost function minimize sum of the number of product terms and the weighted switching activity how changes in the global function of an internal node affects the switching activity of in its transitive fanout –experimental result ~10% power reduction

Logic Synthesis for Low Power Technology decomposition –minimizes the sum of the switching activities at the internal nodes –one method to inject high switching activity inputs into the tree as late as possible Technology mapping –general principle hide nodes with high switching activity inside the gates a b c d P(a) = 0.3 P(b) = 0.4 P(c) = 0.7 P(d) = 0.5 a b c d E(sw) = p(ab)+p(abc) +p(abcd) = a b a b E(sw) = p(ab)+p(cd) +p(abcd) = H H L H : high transition node L : low transition node

Low Power Logic Synthesis

Technology Mapping

Tree Decomposition

Huffman Algorithm

Depth-Constrained Decomposition Algorithm problem : minimize SUM from i=1 to m p_t (x_i ) input : 입력 시그널 확률 (p1, p2,íñíñíñ, pn), 높이 (h), 말단 노드의 수 (n), 게이트당 fanin limit(k) output : k-ary 트리 topology Begin sort (signal probability of p1, p2,íñíñíñ, pn); while (n!=0) if (h>logkn) assign k nodes to level L(=h+1); /* 레벨 L(=h+1) 에 노드 k 개만큼 할당 */ h=h-1, n=n-(k-1); /*upward*/ else if (h<logkn) assign k nodes to level L(=h+2); /* 이전 레벨 L(=h+2) 에 노드 k 개만큼 할당 */ h=h, n=n-(k-1); /*downward*/ else (h=logkn) assign the remaining nodes to level L(=h+1); /*complete; 레벨 L(=h+1) 에 나머지 노드를 모두 할당하고 complete k-ary 트리 구성 */ for (bottom level L; L>1; L--) min_edge_weight_matching (nodes in level L); End

Example

After Decomposition

After Tech. Mapping

Precomputation Power saving –Reduces power dissipation of combinational logic –Reduces internal power to precomputed registers Opportunity –Can be significant, dependent on; percentage of time latch precomputation is successful Cost –Increase area –Impact circuit timing –Increase design complexity number of bits to precompute –Testability may generate redundant logic

Precomputation Entire function is computed. Smaller function is defined, Enable is precomputed.

Before Precomputation Diagram Precomputation

After Precomputation Diagram Precomputation

Before Precomputation - Report Precomputation

After Precomputation - Report Precomputation

Precomputation Example - Before Code Library IEEE; Use IEEE.STD_LOGIC_1164.ALL; Entity before_precomputation is port ( a,b : in std_logic_vector(7 downto 0); CLK: in std_logic; D_out: out std_logic); end before_precomputation; Architecture Behav of before_precomputation is signal a_in, b_in : std_logic_vector(7 downto 0); signal comp : std_logic; Begin process (a,b,CLK) Begin if (CLK = '1' and CLK'event) then a_in <= a; b_in<= b; end if; if (a_in > b_in) then comp <= '1'; else comp <= '0'; end if; if (CLK'event and CLK='1') then D_out <= comp; end if; end process; end Behav;

Precomputation Example - After Code Library IEEE; Use IEEE.STD_LOGIC_1164.ALL; Entity after_precomputation is port (a, b : in std_logic_vector(7 downto 0); CLK: in std_logic; D_out: out std_logic); end after_precomputation; Architecture Behav of after_precomputation is signal a_in, b_in : std_logic_vector(7 downto 0); signal pcom, pcom_D : std_logic; signal CLK_en, comp : std_logic; Begin process(a,b,CLK) Begin if (CLK='1' and CLK'event) then a_in(7) <= a(7); b_in(7) <= b(7); end if; pcom <= a xor b; if (CLK='0') then pcom_D <= pcom; end if; CLK_en <= pcom_D and CLK;

Precomputation - Example After Code if (CLK_en='1' and CLK_en'event) then a_in(6 downto 0) <= a(6 downto 0); b_in(6 downto 0) <= b(6 downto 0); end if; if (a_in > b_in) then comp <= '1'; else comp <= '0'; end if; if (CLK='1' and CLK'event) then D_out <= comp; end if; end process; end Behav;