300 likes | 396 Views
Andrey Mokhov, Victor Khomenko Arseniy Alekseyev, Alex Yakovlev. Algebra of Parameterised Graphs. Motivation. Design cost is the greatest threat to the semiconductors roadmap: manufacturing takes weeks, with low uncertainty design takes months or years, with high uncertainty
E N D
Andrey Mokhov, Victor Khomenko Arseniy Alekseyev, Alex Yakovlev Algebra of Parameterised Graphs
Motivation • Design cost is the greatest threat to the semiconductors roadmap: • manufacturing takes weeks, with low uncertainty • design takes months or years, with high uncertainty • Designer has to explore a large design space, and thus comprehend a huge number of • system configurations • operational modes • behavioural scenarios • implementation choices • Infeasible to consider each individual mode, need to • exploit similarities between the individual modes • work with groups of modes rather than individual ones • manage the modes and groups of modes compositionally • transform/optimisespecs in a formaland natural way
Design productivity gap “Productivity gap” 10000py Annual manufacturing gain >40% 850py Annual productivity gain ~20%
Individual descriptions ? 13 lines 270 stations
Overlaid descriptions • Easier for comprehension and reasoning • Gives bigger picture of the system • Easier to modify than individual lines Orange Park ?
Design space exploration • 2-input adder • 3-input adder • 2-input multiplier • fast 2-input multiplier • dedicated DP3 unit DP3(x,y)=x1y1 + x2y2 + x3y3 Characteristics of components
Design space exploration 2 multipliers Balanced Fastest Least peak power Dedicated component
Operations on graphs: condition [x]G • [0]G= (empty graph) • [1]G=G • From arithmetic to algebra: use parameters [x]G
Operations on graphs: condition [x]G • [0]G= (empty graph) • [1]G=G • From arithmetic to algebra: use parameters [x]G
Operations on graphs: condition [x]G • [0]G= (empty graph) • [1]G=G • From arithmetic to algebra: use parameters [x]G [1] ? [x] [0]
Canonical form of PGs Proposition: Any PG can be rewritten in the following canonical form: where • V is a subset of singleton graphs that appear in the original PG • bv are canonical forms of Boolean expressions • buv are canonical forms of Boolean expressions, s.t. buv⇒ bubv
Algebra of PGs • We define the equivalence relation on PGs abstractly, using the following axioms: • + is commutative and associative • is associative • is a left and right identity of • left- and right-distributes over + • Decomposition: p q r = p q + p r + q r • Condition: [0]p = and [1]p = p Theorem: The set of axioms of PG-algebra is • sound • minimal • complete w.r.t. PGs
Useful equalities (proved from axioms) • is an identity of + • + is idempotent • Left/right absorption: • p + p q = p q • q + p q = p q • Conditional : [x] = • Conditional + and : • [x](p + q) = [x]p + [x]q • [x](p q) = [x]p [x]q • AND-condition: [x y]p = [x][y]p • OR-condition: [x y]p = [x]p + [y]p
Case study: phase encoder • Phase encoding: data is encoded by the order of arrival of signals on n wires: • Goal: synthesise matrix phase encoder • Inputs: dual-rail ports xij that specify the order of signals • Outputs: phase encoded data vi abdc n! scenarios
Case study: phase encoder • Overall specification: where Hij models behaviour of ith and jth output wires • If xij=1 and xji=0 then there is a causal dependency vi vj • If xij=0 and xji=1 then there is a causal dependency vj vi • If xij=xji=0 then neither vi nor vj can be produced yet; this is expressed by a circular wait condition between vi and vj • |H| and the resulting circuit are linear in the size of input!
Transitive Parameterised Graphs • is often interpreted as causal dependency, so the graphs are transitive • Hence two graphs are considered equal iff their transitive closures are equal • Can express this by an additional axiom Closure: if q then p q + q r = p q + p r + q r • Often allows to simplify expressions by transitive reduction
Transitive parameterised graphs PG expression [x]((a + b)c + cd) + [x]((a + b)(d + e)) with the specialisations TPG expression (a + b)([x]cd + [x]e) with the specialisations
Canonical form of TPGs Proposition: Any TPG can be rewritten in the following canonical form: where • V is a subset of singleton graphs that appear in the original TPG • bv are canonical forms of Boolean expressions • buv are canonical forms of Boolean expressions, s.t. buv⇒ bubv • transitivity: for all u,v,w∈V, buv bvw⇒ buw
TPG axioms – minimal, sound, complete Theorem: The set of axioms of TPG-algebra is • sound • minimal • complete w.r.t. TPGs.
Case study: Processor microcontroller • Instructions classes: • ALU Rn to Rn e.g. ADD A,B; MOV A,B • ALU #123 to Rn e.g. SUB A,#1; MOV B,#3 • ALU Rn to PC e.g. JMP A • ALU #123 to PC e.g. JMP #2012 • Memory access e.g. MOV A,[B]; MOV [B],A • Cond. ALU Rn to Rn e.g. if A<B then ADD A,B • Cond. ALU #123 to Rn e.g. if A<B then SUB A,#1 • Cond. ALU #123 to PC e.g. if A<B then JMP #2012
Case study: Processor microcontroller • ALU #123 to Rn e.g. SUB A,#1; MOV B,#3 • TPG algebra specification: PCIU IFU (ALU + PCIU’) IFU’ • The graph is considered up to transitivity
Case study: Processor microcontroller • Cond. ALU #123 to Rn e.g. if A<B then SUB A,#1 • If A < B holds: (ALU + PCIU) IFU (ALU’+ PCIU’) IFU’ • If A < B does not hold: (ALU + PCIU) PCIU’ IFU’ • Composing the two scenarios, lt := (A<B): [lt]((ALU + PCIU) IFU (ALU’ + PCIU’) IFU’)+ [lt]((ALU + PCIU) PCIU’ IFU’) = (ALU + PCIU) [lt]IFU (PCIU’ + [lt]ALU’) IFU’
Case study: Processor microcontroller • Cond. ALU #123 to Rn e.g. if A<B then SUB A,#1 (ALU + PCIU) [lt]IFU (PCIU’ + [lt]ALU’) IFU’
Conclusions and future work • New formalisms: PG and TPG algebrae with sound, minimal and complete sets of axioms • Canonical forms • Can work with groups of scenarios and exploit the similarities between them • Can formally compose, manipulate and simplify the specifications using the rules of these algebrae • Applications in microelectronics, formal methods, computer architecture, modelling university courses Future work: • Tool implementation • Simplification by modular decomposition of graphs