Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab

Similar documents
Assignment 2. Due Monday Feb. 12, 10:00pm.

COSC 3213: Computer Networks I Chapter 6 Handout # 7

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II

User Adjustable Process Scheduling Mechanism for a Multiprocessor Embedded System

MB86297A Carmine Timing Analysis of the DDR Interface

IDEF3 Process Description Capture Method

An efficient approach to improve throughput for TCP vegas in ad hoc network

Outline. EECS Components and Design Techniques for Digital Systems. Lec 06 Using FSMs Review: Typical Controller: state

Implementing Ray Casting in Tetrahedral Meshes with Programmable Graphics Hardware (Technical Report)

Improving the Efficiency of Dynamic Service Provisioning in Transport Networks with Scheduled Services

An Improved Square-Root Nyquist Shaping Filter

Optimal Crane Scheduling

Automatic Calculation of Coverage Profiles for Coverage-based Testing

FIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS

! errors caused by signal attenuation, noise.!! receiver detects presence of errors:!

Frantz LOHIER 1,2, Lionel LACASSAGNE 1,2, Pr. Patrick GARDA 2

MOBILE COMPUTING. Wi-Fi 9/20/15. CSE 40814/60814 Fall Wi-Fi:

MOBILE COMPUTING 3/18/18. Wi-Fi IEEE. CSE 40814/60814 Spring 2018

Parallel and Distributed Systems for Constructive Neural Network Learning*

STRING DESCRIPTIONS OF DATA FOR DISPLAY*

1.4 Application Separable Equations and the Logistic Equation

EP2200 Queueing theory and teletraffic systems

Sam knows that his MP3 player has 40% of its battery life left and that the battery charges by an additional 12 percentage points every 15 minutes.

PART 1 REFERENCE INFORMATION CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONITOR

4.1 3D GEOMETRIC TRANSFORMATIONS

CS422 Computer Networks

In fmri a Dual Echo Time EPI Pulse Sequence Can Induce Sources of Error in Dynamic Magnetic Field Maps

Chapter 3 MEDIA ACCESS CONTROL

Scheduling. Scheduling. EDA421/DIT171 - Parallel and Distributed Real-Time Systems, Chalmers/GU, 2011/2012 Lecture #4 Updated March 16, 2012

An Adaptive Spatial Depth Filter for 3D Rendering IP

Definition and examples of time series

MUX 1. GENERAL DESCRIPTION

Performance Evaluation of Implementing Calls Prioritization with Different Queuing Disciplines in Mobile Wireless Networks

Low-Cost WLAN based. Dr. Christian Hoene. Computer Science Department, University of Tübingen, Germany

It is easier to visualize plotting the curves of cos x and e x separately: > plot({cos(x),exp(x)},x = -5*Pi..Pi,y = );

Discrete Event Systems. Lecture 14: Discrete Control. Continuous System. Discrete Event System. Discrete Control Systems.

Hierarchical Recurrent Filtering for Fully Convolutional DenseNets

A High-Speed Adaptive Multi-Module Structured Light Scanner

Timers CT Range. CT-D Range. Electronic timers. CT-D Range. Phone: Fax: Web: -

Coded Caching with Multiple File Requests

Network management and QoS provisioning - QoS in Frame Relay. . packet switching with virtual circuit service (virtual circuits are bidirectional);

Dimmer time switch AlphaLux³ D / 27

AUTOMATIC 3D FACE REGISTRATION WITHOUT INITIALIZATION

Accelerating Call Route Query of Multi-domain SIP System via P2P GONG Jing, SHEN Qing-guo, SHEN Huan-sheng

FUZZY HUMAN/MACHINE RELIABILITY USING VHDL

Visual Perception as Bayesian Inference. David J Fleet. University of Toronto

Quantitative macro models feature an infinite number of periods A more realistic (?) view of time

PROCESS AUTOMATION MANUAL TIMER RELAY KF**-DU-EX1.D ISO9001

Fill in the following table for the functions shown below.

Shortest Path Algorithms. Lecture I: Shortest Path Algorithms. Example. Graphs and Matrices. Setting: Dr Kieran T. Herley.

Connections, displays and operating elements. Status LEDs (next to the keys)

A GRAPHICS PROCESSING UNIT IMPLEMENTATION OF THE PARTICLE FILTER

Scattering at an Interface: Normal Incidence

A time-space consistency solution for hardware-in-the-loop simulation system

Robust Multi-view Face Detection Using Error Correcting Output Codes

A GRAPHICS PROCESSING UNIT IMPLEMENTATION OF THE PARTICLE FILTER

MOTION TRACKING is a fundamental capability that

A Hierarchical Object Recognition System Based on Multi-scale Principal Curvature Regions

Motor Control. 5. Control. Motor Control. Motor Control

EECS 487: Interactive Computer Graphics

Constant-Work-Space Algorithms for Shortest Paths in Trees and Simple Polygons

Vulnerability Evaluation of Multimedia Subsystem Based on Complex Network

The Impact of Product Development on the Lifecycle of Defects

Less Pessimistic Worst-Case Delay Analysis for Packet-Switched Networks

Partition-based document identifier assignment (PBDIA) algorithm. (long queries)

Real-time 2D Video/3D LiDAR Registration

A pipeline polish string computer*

Design and Application of Computer-aided English Online Examination System NONG DeChang 1, a

Exercise 3: Bluetooth BR/EDR

STEREO PLANE MATCHING TECHNIQUE

SCHED_DEADLINE (what it does and doesn't do, yet).

A Bayesian Approach to Video Object Segmentation via Merging 3D Watershed Volumes

Handling uncertainty in semantic information retrieval process

V103 TRIPLE 10-BIT LVDS TRANSMITTER FOR VIDEO. General Description. Features. Block Diagram

C 1. Last Time. CSE 490/590 Computer Architecture. Cache I. Branch Delay Slots (expose control hazard to software)

Difficulty-aware Hybrid Search in Peer-to-Peer Networks

Fast Restoration Signaling in Optical Networks

(Structural Time Series Models for Describing Trend in All India Sunflower Yield Using SAS

MoBAN: A Configurable Mobility Model for Wireless Body Area Networks

Utility-Based Hybrid Memory Management

Chapter 4 Sequential Instructions

(10) Patent No.: US 6,931,558 Bl (57) ABSTRACT ~ :!j 304 ; OS. BMR. & TSM files needed at restore time. Boot ~II backed-up ~ 106

The Beer Dock: Three and a Half Implementations of the Beer Distribution Game

TrackNet: Simultaneous Detection and Tracking of Multiple Objects

Improving Ranking of Search Engines Results Based on Power Links

Chapter 8 LOCATION SERVICES

Elastic web processing lines : optimal tension and velocity closed loop bandwidths

Michiel Helder and Marielle C.T.A Geurts. Hoofdkantoor PTT Post / Dutch Postal Services Headquarters

A High Efficiency MAC Protocol for WLANs: Providing Fairness in Dense Scenarios

Temperature Controller EXPERT-VT212 USER'S MANUAL

Connections, displays and operating elements. 3 aux. 5 aux.

Robust Visual Tracking for Multiple Targets

Quick Verification of Concurrent Programs by Iteratively Relaxed Scheduling

Analysis of Various Types of Bugs in the Object Oriented Java Script Language Coding

Verified Validation of Lazy Code Motion

SCHED_DEADLINE How to use it

Video Content Description Using Fuzzy Spatio-Temporal Relations

MIC2569. Features. General Description. Applications. Typical Application. CableCARD Power Switch

Columbia Univerity Department of Electrical Engineering Fall, 2004

A Novel Approach for Monocular 3D Object Tracking in Cluttered Environment

Transcription:

CMOS INEGRAED CIRCUI DESIGN ECHNIQUES Universiy of Ioannina Clocking Schemes Dep. of Compuer Science and Engineering Y. siaouhas CMOS Inegraed Circui Design echniques Overview 1. Jier Skew hroughpu Laency 2. Pipeline srucures 3. Clocking schemes 4. Skew oleran design 5. Slack Borrowing 6. ime sealing VLSI Sysems and Compuer Archiecure Lab 1

Clock Jier Clock Skew Clock Jier Clock jier is a emporal variaion (uncerainy) of he clock period a a given poin in he chip. he clock period can reduce or expand on a cycle by cycle basis. Clock jier is he inheren inaccuracy of he clock generaion circuiry (e.g. PLLs). Clock Skew Clock skew is a variaion on he arrival ime of a clock signal ransiion due o mismaches and process variaions in he clock pahs and differences in he clock load. Clock skew is he clock inaccuracy inroduced by he clock disribuion nework. Clock skew is consan from cycle o cycle. Clocking Schemes 3 hroughpu Laency Merics for he performance evaluaion of circuis / sysems. hroughpu hroughpu (παραγωγικότητα) is defined as he processing rae of he inpu daa by he circui / sysem. Equivalenly, i is he daa ransfer rae inside he circui. hroughpu is relaed o he clock frequency (clock cycle). Laency Laency (λανθάνων χρόνος) is defined as he ime required by he circui / sysem o complee a compuaion. In case ha he required compuaion ime is available inside a clock cycle, hen laency and hroughpu are conversely proporional beween each oher. Clocking Schemes 4 2

Pipeline Srucures Clocking Schemes 5 Pipeline Srucures Ι a Iniial Design a Pipeline Design + log Ou + R R R log R Ou b b min, org c q p_add p_abs p_log su min, pipe c q max p_add,p_abs,p_log su in case ha hen p_add min,pipe p_abs min,org p_log 3 Clocking Schemes 6 3

Pipeline Srucures ΙΙ D 0 Q 0 D 1 D 2 D 3 D 4 Q 4 Sage Sage Sage Sage IF ID EX MEM r Regiser Regiser r Q1 Regiser r Q2 Regiser r Q3 r Regiser IF ID EX MEM Clock cycles s Operaions Insrucions IF ID EX MEM IF ID EX MEM IF ID EX IF ID MEM EX Clocking Schemes 7 Single Phase Maser Slave Clocking I Regiser Single Phase Maser Slave D Flip FlopFlop Saic Inpus Oupus Posiive edge riggered D Clocking Schemes 8 4

Single Phase Maser Slave Clocking II Clock Cycle Boundary Inpus Oupus c q seup skew logic Available ime for Evaluaion: logic cq seup skew overhead Clocking Schemes 9 Overhead Impac in Pipelines Inpus logic Oupus ' ' l oall ' N sages Inpus 1... 2 N 1 N Oupus logic l oall N... logic overhead laency N logic loall N overhead Clocking Schemes 10 5

Single Phase Double Edge Clocking Concurren Regiser and Subsequen Acivaion Regiser Posiive Edge riggered Maser Slave D Flip FlopFlop Posiive or Saic Inpus Oupus Regiser Negaive Edge riggered Maser Slave D Flip FlopFlop Negaive or Saic Clocking Schemes 11 Single Phase wo Level Clocking Concurren and Subsequen Regiser Acivaion Regiser Posiive Level Lach Negaive or Saic Inpus Laches Laches Laches Laches Oupus Skew relaed clock signals overlap in subsequen laches, may resul in flushhrough problems. Regiser Negaive Level Lach Posiive or Saic Clocking Schemes 12 6

Single Phase wo Level Clocking Concurren Regiser and Subsequen Acivaion Regiser Posiive Level Lach Posiive or Saic Inpus Laches Laches Laches Laches Oupus! Regiser Negaive Level Lach Negaive or Saic Clocking Schemes 13 Muli Phase Clocking wo Phase Clocking In wo phase clocking sysems wo discree clock phases are uilized, which are generaed by he main clock signal a he las level of he clock disribuion nework. Overlapping clock signals can be used or no. In he firs case higher speeds can be achieved a he risk of increased signal inegriy problems due o skew relaed issues in he clock disribuion. Four Phase Clocking Four phase clocking sysems uilize four discree clock phases. In general, design echniques wih more han wo phases are no very common in sysem developmen. Clocking Schemes 14 7

Skew oleran Saic Circuis Lach memory mode @ low! Laches Laches _B _B d q d q Available ime for Evaluaion: logic 2 dq Clocking Schemes 15 Skew oleran Domino Circuis I Sandard Design Memory @ low! Laches Laches Precharge @ low! _B d q _B d q skew skew Available ime for Evaluaion: logic 2 dq 2 skew Clocking Schemes 16 8

Skew oleran Domino Circuis II Wave Pipeline Design Precharge @ low! 1 2 1 2 phase 1 phase 2 Available ime for Evaluaion: logic overlap ime! Clocking Schemes 17 Slack Borrowing In he slack borrowing echnique, a logic pariion uilizes ime lef over (slack) by he previous pariion. By definiion his addiional ime is auomaically (volunarily) surrendered wihou circuiry and/or clock arrival ime adjusmens. his echnique is suiable for use in logic wih wo phase, wo level clocking (lach based)designs. Cycle slack borrowing: permis logic o use more han one cycle ime and sill fi wihin a single clock cycle boundary while mainaining he overall machine cycle ime. he ime used for logic evaluaion exceeds one cycle and he machine sill works a speed. he slack ime is borrowed from preceding cycle(s). Phase slack borrowing: permis logic o use more han one phase ime and sill mainain he overall machine cycle ime. he ime used for logic evaluaion in a clock phase exceeds he clock phase ime and he machine sill works a speed. he slack ime is borrowed from preceding phase(s). Clocking Schemes 18 9

ypical Operaion wo level double phase clocking Lach memory @ low! Clock Cycle Lach Boundary phase boundary phase boundary Evaluaes in Evaluaes in phase ime phase ime a b b c e d e S2a S2 S2b S1a S1 S1b 1 2 1 2 phase ime phase ime Clock Cycle phase ime c sable a sable b sable d sable e sable S2 S1 Clocking Schemes 19 wo level double phase clocking Lach memory @ low! Slack Borrowing Evaluaes in phase ime Clock Cycle Lach Boundary phase boundary Evaluaes in phase ime phase boundary Evaluaes in phase ime a b c d e f g S2a S2 S2b S1a S1 S1b 1 2 1 2 a sable phase ime Slack ime Cycle Borrowing S2a phase ime Clock Cycle phase ime d sable b sable c sable e sable S2b S1a f sable g sable S1b Slack ime slack Clocking Schemes Phase Borrowing 20 10

Slack Borrowing: Clocking Issues (I) Cycle Slack Borrowing he logic propagaion delay wihin a clock cycle lach boundary is: dcycle S2a S2b S1a S1b he clock cycle ime is: cycle S2b S1a S1b slack he ime difference beween he clock cycle lach boundary and he clock cycle ime, is: dcycle cycle S2a slack S2a(max) dcycle(max) 0.5 1.5 cycle cycle Clocking Schemes 21 Slack Borrowing: Clocking Issues (II) Phase Slack Borrowing he logic propagaion delay wihin an phase lach boundary is: dphase S2a S2b he phase cycle ime is: p S2b S1a he ime difference beween he phase lach boundary and he phase cycle ime, is: dphase p S2a S1a S1a(max) S2a(max) dphase(max) 0.5 0.5 1.0 cycle cycle cycle Clocking Schemes 22 11

Dead ime and Lach Relaunch Penaly Lach memory @ low! Evaluaes in phase ime Clock Cycle Lach Boundary phase boundary Evaluaes in phase ime phase boundary e a b c d S2a S2b S1a S1b f Evaluaes in phase ime g S2 1 2 1 2 a sable phase ime S2a b sable phase ime Clock Cycle phase ime d sable Dead ime c sable e sable g sable S2b S1a f sable relaunch_penaly clock_jier + clock_skew Clocking Schemes 23 Lach memory @ low! Phase Pariioning Clock Cycle Lach Boundary phase boundary phase boundary Evaluaes in Evaluaes in phase ime phase ime Evaluaes in phase ime e f a b c d g S2a S2b S1a e S2 a S2 bs2 1 2 1 2 a sable phase ime S2a b sable phase ime Clock Cycle phase ime Dead ime d sable c sable e sable g g sable S2b S1a S2 a S2 b f sable Slack Available for Clocking Schemes Cycle Borrowing 24 12

ime Sealing In he ime sealing echnique, a logic pariion gains evaluaion ime by aking (sealing) i from he nex clock cycle. I is suiable for use in dynamic logic wih wo phase clocking or in logic wih single phase maser slave clocking. he addiional ime is involunarily surrendered and i is obained by adjusing he clock edges arrival imes. Cycle ime sealing: permis logic o use more han one cycle ime and sill fi wihin a single clock cycle boundary while mainaining he overall machine cycle ime. he ime used for logic evaluaion exceeds one cycle and he machine sill works a speed. he ime is solen from he subsequen cycle. Phase ime sealing: permis logic o use more han one phase ime and sill mainain he overall machine cycle ime. he ime used for logic evaluaion in a clock phase exceeds he clock phase ime and he machine sill works a speed. he ime is solen from he subsequen phase. Clocking Schemes 25 wo Phase ypical Lach memory @ low! Cycle Boundary 1 Cycle Boundary 2 a Dyn b c d e f g h i Dyn Dyn Dyn Dyn j k 1 2 1 Precharges Cycle ime 1 Evaluaes Cycle ime 2 Lach Closed Lach Open (Memory) (ransparency) 2 Evaluaes Precharges Lach Open (ransparency) Lach Closed (Memory) Phase ime Phase ime 0.5 cycle 0.5 cycle 0.5 cycle 0.5 cycle 0.5 cycle wo phase clocking dynamic logic (non overlapping clocks) Clocking Schemes 26 13

ime Sealing I Lach memory @ low! Cycle Boundary 1 Cycle Boundary 2 a Dyn b c Dyn d e Dyn f g Dyn h i Dyn j k 1 2 1 Cycle ime 1 Modified Clocks Cycle ime 2 2 Phase ime Sealing Evaluaion Overlap Cycle ime Sealing 0.4 0.5* cycle cycle 0.7 cycle 0.5 cycle 0.3 cycle 0.5 cycle Dead ime wo phase clocking dynamic logic Clocking Schemes 27 ime Sealing II Overlap Fixing Cycle Boundary 1 Cycle Boundary 2 a Dyn b c Dyn d e Dyn f g Dyn h i Dyn j k 1 2 Cycle ime 1 Modified clocks Cycle ime 2 1 2 Original Edges Phase ime Sealing Cycle ime Sealing 0.5 cycle 0.7 cycle 0.5 cycle 0.3 cycle 0.5 cycle wo phase clocking dynamic logic Clocking Schemes 28 14

ime Sealing Maser Slave Flops Cycle 1 Cycle 2 Cycle 3 p Flops Flip a b c d e aic s p Flops Flip aic s p Flops Flip aic s f p Flops Flip g Modified clock Cycle 1 Cycle 2 Cycle 3 Cycle ime Sealing a b c d e f g cycle cycle 1.2 cycle 0.8 cycle cycle Saic logic wih single phase edge riggered (maser slave flip flop) clocking Clocking Schemes 29 References High Speed CMOS Design Syles, K. Bernsein e al, Kluwer, 1999. Skew oleran Circui Design, D. Harris, Morgan Kaufmann Pub., 2001. Digialg Inegraed Circuis: A Design Perspecive,, J.M. Rabaey, A. Chandrakasan and B. Nikolic, Prenice Hall, 2003. CMOS VLSI Design: A Circuis and Sysems Perspecive, N. Wese and D. Harris, Addison Wesley, 2011. Clocking Schemes 30 15