110 likes | 287 Views
Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes. Montek Singh Tue, Jan 27, 2004. Definitions. Let P={0,1} and B={0,1,*}. Boolean function : f: P n B minterm : an element in the domain P n of function ON-set: set of minterms for which f=1
E N D
Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Jan 27, 2004
Definitions • Let P={0,1} and B={0,1,*}. • Boolean function: f: Pn B • minterm: an element in the domain Pn of function • ON-set: set of minterms for which f=1 • OFF-set: set of minterms for which f=0 • DC (don’t-care)-set: set of minterms for which f=* • literal: each variable, xi, has three corresponding literals: xi, xi and xi*. • literal xi=1 iff variable xi = 1 • literal xi=1 iff variable xi = 0 • literal xi*=1 iff variable xi = * • product: Boolean product (AND) of literals • cube: set of minterms representable by a product • sum-of-products: Boolean sum (OR) of products • it contains a minterm if some product contains the minterm
Definitions (contd.) • product Y contains product X (X Y) if the cube for X is a subset of the cube for Y • intersection of products X and Y is the set of minterms contained in the intersection of the corresponding cubes • an implicant of a function: product term that contains no OFF-set minterm • prime implicant (PI): implicant contained in no other implicant • essential prime implicant: PI containing an ON-set minterm contained in no other PI • cover of f: a sum-of-products which contains: • all of the ON-set minterms • none of the OFF-set minterms • may include some DC-set minterms • cost function for a cover: each implicant has the same cost • sometimes literal-count can be used as a secondary cost • 2-level logic minimization problem: find a minimum-cost cover of a function
Background: • Circuit and Delay Model • arbitrary fine gate and wire delays • each wire = connection + attached delay element • each gate = instantaneous Boolean operator + delay element attached to its output wire • “unbounded wire delay model” (all delays attached to wires) • Delays are “pure” • delays propagation of waveform, but does not alter it • conservative: does not filter out glitches • Delay Assignment • assign fixed, finite delay values to every gate and wire
Background: Multiple-Input Changes • transition cube: cube with start point and end point • transition cube [A,B], has start point A and end point B • contains all minterms that can be reached during transition from A to B • i-th literal for the product of [A,B] is Ai+Bi • x + x = x* • open transition cube [A,B): [A,B] – B • multiple-input change or input transition: [A,B] • inputs change concurrently, in any order and at any time • inputs change monotonically • fundamental mode: once inputs change, no further input changes may occur until the circuit has stabilized • transition interval: tI≤ t ≤ tF • transition is… • static: if f(A) = f(B) • dynamic: if f(A) ≠ f(B)
Hazards communication must be hazard-free! special design challenge =“hazard-free synthesis” clock tick no problemfor clockedsystems clean signals hazardous signals • Hazards: potential “glitches” on wire
Function Hazards • A function f has a function hazard iff • there exists an input transition for which f does not change monotonically • f contains a static function hazard for input transition from A to C iff: • f(A) = f(C), and • there exists some input state B [A,C] such that f(A) ≠ f(B). • f contains a dynamic function hazard for input transition from A to D iff: • f(A) ≠ f(D) • there exists a pair of input states B and C (A ≠ B, C ≠ D) such that • B [A,D] and C [B,D], and • f(B) = f(D) and f(A) = f(C) • if a transition has a function hazard, no implementation of the function is guaranteed to avoid glitches during transition, assuming arbitrary gate and wire delays
Logic Hazards • If f is free of function hazards, yet, for an input transition [A,B], has a non-monotonic change at the output, for some delay assignment • static logic hazard in [A,B]: if f(A) = f(B) • dynamic logic hazard [A,B]: if f(A) ≠ f(B)
2-Level Hazard-Free Logic Minimization Given: • A Boolean function f, and a set, T, of specified function-hazard-free (static and dynamic) input transitions of f Find: • A minimum-cost cover of f whose AND-OR implementation is free of logic hazards for every input transition t T
Conditions for a Hazard-Free Transition • 0 0: implementation is free of logic hazards • 1 1: implementation is free of logic hazards iff … • [A,B] is contained in some cube of cover C • [A,B] is called a required cube • 1 0: implementation is free of logic hazards iff … • every cube c C intersecting [A,B] also contains A • [A,B] is called a privileged cube • 0 1: symmetric conditions as 1 0 above
Hazard-Free Covers: Existence Hazard-Free Covering Theorem: • A sum-of-products C is a hazard-free cover of f iff: • no cube of C intersects the OFF-set of f • each required cube of f is contained in some cube of cover C • no cube of C intersects any privileged cube illegally