Presentation is loading. Please wait.

Presentation is loading. Please wait.

Engineering Models and Circuit Realization of Quantum State Machines.

Similar presentations


Presentation on theme: "Engineering Models and Circuit Realization of Quantum State Machines."— Presentation transcript:

1 Engineering Models and Circuit Realization of Quantum State Machines

2 5. Complete Automated System for Design of QSM

3 5.1. Complete Automated System for Design of QSM 1.Use state minimization/state assignment techniques available in the Berkeley tools to obtain various encoded ( and/or minimized ) flavors of the machine 2.Use DCARL/MMD to find the reversible logic solutions for all flavors of the encoded machine 3.Analyze the results and come up with the best state minimization / encoding strategy that works for reversible logic implementation of the FSM 4.Use the Benchmark circuits for the input FSM’s

4 Problem Definition State assignment problem – Involves assigning binary coded values to the states of an FSM – The target is to minimize the area of the combinational circuit required to realize the FSM – The complexity of the combinational component of the FSM depends heavily on the state assignment and selection of memory elements Creating completely specified functions – Done by assigning values to the “don’t care” outputs to produce reversible logic

5 Tools and Flow

6 Available Berkeley tools – MVSIS, SIS, VIS SIS – System for Sequential circuit synthesis MVSIS – for multiple valued logic synthesis, does not implement sequential logic yet VIS – Verification tool for sequential logic, calls SIS to do the optimization for any given state machine SIS available 1.2 for Windows and 1.3 for Linux Can be downloaded from http://embedded.eecs.berkeley.edu/pubs/downloads/sis/ind ex.htm http://embedded.eecs.berkeley.edu/pubs/downloads/sis/ind ex.htm

7 Tools and Flow 1.DCARL – Don’t Care algorithm for reversible logic, developed at PSU in 2007 and presented at RM 2007 2.Assign values to the “don't cares” outputs, and map the outputs according to the assigned input values, creating thus a completely specified reversible Boolean function specification 3.Apply the MMD algorithm to this specification to synthesize the network 4.Compare the cost in terms of the number of Toffoli gates and keep track of the “don't cares” values with the minimal cost 5.Backtrack to find K solutions or until no more backtracking is possible

8 SIS Usage Inputs can be in KISS, BLIF format KISS – uses State Transition Graph format, can be synchronous as well as asynchronous BLIF – Netlist of Combinational gates and latches BLIF – internally represented as care network, don’t care network, can be verified by stg_cover command which simulates both symbolically Performs State minimization, State assignment, Retiming

9 SIS commands and description State minimization – states are equivalent if they produce same outputs for same set of inputs – Uses STAMINA, developed by University of Colorado, Boulder with heuristics implemented for incompletely specified machines – Uses KISS input and output State assignment – STG to binary codes for each symbolic state Retiming – moves registers across logic gates to minimize cycle time, number of registers

10 Nova

11 State assignment tools SIS - NOVA Target two-level PLA based implementations Optimizes the number of product terms called cubes The assignment needs to be in such a way that the area of the combinational circuit required to realize the FSM is minimized Solves two types of problems: – Constrained cubical embedding problem Focused on input constraints – Covered constrained cubical embedding problem Focused on both input and output constraints

12 NOVA Algorithms used for state encoding Algorithms that solve constrained cubical embedding problem: 1.iexact_code Is an exact algorithm Finds an encoding satisfying all input constraints Target is minimizing the encoding length 2.ihybrid_code heuristic encoding algorithms (approximate) Target is to maximize input constraint satisfaction User supplied encoding length (or default used) Based on a polynomial version of iexact_code Yields solutions of high quality and guarantees the satisfaction of all input constraints for an encoding space large enough

13 NOVA Algorithms used for state encoding 3.igreedy_code Heuristic encoding algorithms (approximate) Target is to maximize input constraint satisfaction User supplied encoding length (or default used) Specially tailored for short code-lengths Algorithm that solves covered constrained cubical embedding problem: 1.iohybrid_code heuristic encoding algorithms (approximate) Target is to maximizes simultaneous input and output constraint satisfaction Based on an adaptation of ihybrid_code to deal with both input and output constraints

14 Jedi

15 State assignment tools: SIS - Jedi Target multi-level logic implementations Uses simulated annealing based encoding scheme There are four main heuristics for generating weights between pairs of states: – Input dominant – Output dominant – Coupled – Variations

16 Jedi Algorithms used for state encoding 1.The input dominant algorithm: 1.works on the source states of the transitions of the FSMs (the states from which the transitions are triggered) 2.pairs of present states which assert similar outputs and produce similar sets of next states are given high edge weights 3.This has an effect of maximizing the size of common cubes in the boolean functions corresponding to the output and the next state lines 2.The output dominant algorithm 1.works on the output states of the transitions of the FSMs 2.pairs of next states which are produced by similar inputs and similar sets of present states are given high edge weights 3.This has an effect of maximizing the number of common cubes in the boolean functions corresponding to the next state lines 3.The coupled approach – Uses a hybrid of the input and output dominant heuristics 4.Variations – Examples: one-hot, random, straight mapping

17 SIS example flow Input state machine.i 1.o 1.p 10.s 5 0 A B 0 1 A C 1 0 B C 1 1 B B 0 0 C C 1 1 C D 1 0 D E 1 1 D A 1 0 E B 0 1 E C 1 Minimized State Machine.i 1.o 1.p 8.s 4.r S0 0 S0 S1 0 1 S0 S2 1 0 S1 S2 1 1 S1 S1 0 0 S2 S2 1 1 S2 S3 1 0 S3 S0 1 1 S3 S0 1 Encoded State Machine – part of BLIF output 0 S0 S1 0 1 S0 S2 1 0 S1 S2 1 1 S1 S1 0 0 S2 S2 1 1 S2 S3 1 0 S3 S0 1 1 S3 S0 1.code S0 11.code S1 10.code S2 00.code S3 01

18 DCARL

19 DCARL Usage/Description Inputs are test files that contains input vectors Input bits can be 0, 1 or x Outputs are text files, one for each solution, output file contains output vectors that are output bits Output bits can only be 0 or 1 (completely specified) No repeated output vectors (reversible) Some bits may be added to generate reversible functions Outputs of DCARL applied to MMD to choose best solution

20 DCARL example flow 1 Incompletely Specified Input 001 101 11x 00x 01x xx0 xxx 111 CompletelySpecified Output 1 001101110000010100011111CompletelySpecified Output 2 001101110000011010100111

21 DCARL example flow 2/1 Incompletely Specified Input 001 11x 00x 01x xx0 xxx 111 Output 1 0001100101100000001001000011011101011000101010111100110111101111 Output 2 1001000101100000001001000011011101011000101010111100110111101111 Add Garbage bits Generate reversible logic bitsAdd Garbage bits Generate reversible logic bits

22 DCARL example flow 2/2 Output 4 0001100111100000001001000011011101010110100010101011110011011111 Output 5 0001100111110000001001000011011101010110100010101011110011011110 Add Garbage bits Generate reversible logic bitsAdd Garbage bits Generate reversible logic bits Output 3 0001100101110000001001000011111101010110100110101011110011011110 Output 6 0001100101101000001000000011011101000101101010111100110111101111

23 SIS output to DCARL input conversion Encoded State Machine 0 S0 S1 0 1 S0 S2 1 0 S1 S2 1 1 S1 S1 0 0 S2 S2 1 1 S2 S3 1 0 S3 S0 1 1 S3 S0 1.code S0 11.code S1 10.code S2 00.code S3 01 DCARL format Only outputs in the input file Inputs included here for clarity Format below Encoded State, Input / Output 000 - 001 001 - 011 010 - 111 011 - 111 100 - 001 101 - 100 110 - 100 111 - 001

24 6. Results

25 6.1. Results - Work flow Some FSM’s from MCNC benchmark circuits chosen SIS – State machine minimization run on each circuits State assignment - NOVA and JEDI with options run on all the circuits DCARL input file for each encoded state machine obtained DCARL run on the input and cost obtained

26 Results – Minimal cost and State assign options FSMInputsOutputsStates DCARL input JEDINOVA InputsOutputsStatesoptioncostoptioncost bbtas2265r350ig362 dk1623277r5299 donfile21243c13 all (ie failed)15 lion2144c51ia, ie, ig, ih44 lion92194d, r, i126ia, ig, ih125 s274167r2149r2135 shiftreg1184s6r4 train1121114o, y128ig117 train42144c, i48ie, ig, ih43 s84155c, r10ia, ig,, ih, ioh18 modulo1211125s93iov104 bbara42107y5034ih5148

27 Results – JEDI and DCARL

28 NOVA options and DCARL cost

29 6.2. Conclusions on Software 1.Different algorithms for state assignment and Boolean function realization of excitation functions provide minimal cost for different state machines 2.Some options like “ie” works better with smaller circuits, but bigger circuits it either add extra bits or even fail 3.In almost 70% of the cases the random or coupled approaches gave the best results for Jedi 4.In general Jedi is better in handling bigger circuits compared to Nova One needs new state assignments algorithms for ESOP-type of logic, as it is realized in quantum circuits. 5.Both Nova and Jedi are algorithms developed in past for SOP realization of excitation functions. One needs new state assignments algorithms for ESOP-type of logic, as it is realized in quantum circuits.

30 7. General Conclusions on QSM Synthesis 7. General Conclusions on QSM Synthesis 1.Practical models for QSMs and their classical controllers have been developed. Our approaches all involve state minimization and state assignment of machines. Other methods of realization that are used in classical machines, such as decomposition or one-hot encoding, should be also investigated. 2.A synthesis flow which allows us to design QSMs from abstract specifications has been developed. The CAD tool can be improved by improving backtracking method to convert incomplete to complete functions and by better quantum circuit minimizer that will replace MMD. 3.Synchronous as well as asynchronous techniques for high level synthesis of QSMs have been demonstrated by us. More details can be found in MS thesis of Manjith Kumar. 4.State assignment tools from U.C. Berkeley were used but new algorithms specific to reversible logic should be developed


Download ppt "Engineering Models and Circuit Realization of Quantum State Machines."

Similar presentations


Ads by Google