![Page 1: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/1.jpg)
Engineering Models
and Design Methods
for Quantum State Machines.
![Page 2: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/2.jpg)
• 1. Synthesis Flow for Quantum State Machines (QSM)– Models of QSM
– Models of Controller
– High Level Synthesis
– Low Level Synthesis• DCARL
• 2. Examples
![Page 3: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/3.jpg)
1.2 What is this lecture about?1.2 What is this lecture about?Objectives:
1. Develop models for Quantum State Machines (QSMs) for analysis and synthesis.
2. Develop models for a classical controller which controls the QSM.
3. Develop a step by step procedure for going from abstract specifications (state graphs, signal transition graphs, state tables) to the gate level quantum circuit.
4. Develop a software to automate the low level logic synthesis step.
![Page 4: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/4.jpg)
2. Basics of qubits, quantum gates etc.
• Qubit– Basic unit of quantum information, analogous to “bit” in
classical logic.
– Unlike a “bit” which has to have a value that is either ‘0’ or ‘1’, a “qubit” can exist in a superposition of basis states.
– Represented as |Ψ>= α |0> +β|1>• Where α, β are probability amplitudes such that |α |2+|β|2=1.• |0> and |1> are called the basis states.
– Any two level system can represent a qubit. Eg: Electrons with spin +1/2 and -1/2; photons with horizontal and vertical polarization etc.
![Page 5: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/5.jpg)
Reminder about quantum gates and circuits
• Quantum gates– A logical operation performed on a qubit.
– Usually a series of control pulses (eg: lasers, microwaves) used to control a qubit.
– The gate exists only for the duration of the control pulses! Very different from classical logic.
– Represented as a unitary matrix.
– Gates in quantum are reversible unlike their classical counterparts.
• Quantum Array– A series of logical operations (i.e. gates) applied to a qubit.
– Gates are applied sequentially since no two pulses can simultaneously be applied on a qubit.
![Page 6: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/6.jpg)
Quantum Gate operates in time Quantum Gate operates in time not in spacenot in space
• A universal gate for quantum operations– Toffoli gate.
– Performs Controlled-Controlled-NOT operation.
– The qubit ‘c’ flips if both a and b are 1.
i.e. Cnext=ab c
Note: When c=1, Nand operation is performed on ab!!
Illustration:
C
a
b
c
1. Explain in detail how quantum gate operates in time, based on controlled pulses.
2. Classical computer creates quantum pulses, such as EM
![Page 7: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/7.jpg)
Quantum Computing requires classical Quantum Computing requires classical computer for operationcomputer for operation
• General concept of Quantum computing:1. A classical computer “initializes” the qubits from a
stream of bits.
2. “Computation” is performed (i.e. unitary transformations applied on qubits)
3. The classical computer performs a “measurement” (read out).
INITIALIZATIONINITIALIZATION
COMPUTATIONCOMPUTATION
MEASUREMENTMEASUREMENT
timeCLASSICAL CLASSICAL
COMPUTER COMPUTER WORKS AS A WORKS AS A CONTROLERCONTROLER
![Page 8: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/8.jpg)
3. Synthesis Flow of designing quantum state 3. Synthesis Flow of designing quantum state machinesmachines
![Page 9: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/9.jpg)
3.1 Models of QSM3.1 Models of QSM
1. Existing models like Quantum Turing Machines (QTM) are very mathematical or abstract.
2. We need practical models for implementation.
3. Three models are proposed in this thesis.
![Page 10: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/10.jpg)
QSMs with QSMs with Classical Classical Memory Memory
(QSM-CM)(QSM-CM)
![Page 11: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/11.jpg)
1. Model I: QSMs with Classical Memory (QSM-CM).External memory required. Measurement is performed after each pass through the quantum array (QA). Re-initialization required before each pass through the QA.Very similar to classical logic.
Output bits
Classical Memory
State bits
State bits
Input bits
Input qubits
Qubits after quantum operations
Classical Classical computercomputer
QuantumQuantumcomputercomputer
1.1. Let us observe that the memory is classicalLet us observe that the memory is classical2.2. It can be realized with D, T, JK flip-flops, or other classical It can be realized with D, T, JK flip-flops, or other classical
circuits.circuits.
![Page 12: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/12.jpg)
QSMs with QSMs with QUANTUMQUANTUM
Memory Memory
(QSM-CM)(QSM-CM)
![Page 13: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/13.jpg)
Model IIModel II: QSMs with Quantum Memory (QSM-QM).: QSMs with Quantum Memory (QSM-QM).External quantum memory required. Re-initialization required only when an external input changes.Measurement performed only when computation ceases.
Quantum ArrayInitializationMeasurement and read out.
Quantum Memory
State qubits
Input bits
Input qubits
Output bitsQubits
after quantum operations
1. This model uses a quantum memory.2. Feedback is realized by quantum memory.3. There are several models of quantum memory as a special separate unit
![Page 14: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/14.jpg)
Quantum State Quantum State Machines Machines
With State Retention With State Retention
(QSM-SR)(QSM-SR)
![Page 15: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/15.jpg)
Model IIIModel III: Quantum State Machines With State Retention (QSM-SR): Quantum State Machines With State Retention (QSM-SR)Qubits retain their state.No external feedback required.
Quantum ArrayInitializationMeasurement and read out.
Input bits
Input qubits
Qubits after quantum operations
Output bits
1. This circuit uses internal memory in each qubit, the same as in normal quantum combinational circuit discussed so far in the class.
2. Special way of initialization and measurement is needed.3. This will be discussed in next lectures.
![Page 16: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/16.jpg)
3.2 Models of Classical 3.2 Models of Classical Controller of QFSMController of QFSM
The Controller issues pulses for:1. Initialization of qubits.
2. Generating the quantum array
3. Measurement operation.
Only this part is quantum
The controller is a classical circuit (computer)
![Page 17: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/17.jpg)
Simple Model of a ControllerSimple Model of a Controller• The controller is modeled as an FSM with three states:
– II (Initialize),
– CC (Calculate),
– M M (Measure).
• The controller continuously samples two inputs Ti Ti and TmTm.
• Trigger generator monitors changes in external inputs and sets TiTi.– When TiTi is set, controller jumps to II state.
– After initialization, controller resets Ti Ti and jumps to CC state.
• When TmTm is set, controller jumps to MM state and issues pulses for measurement.
![Page 18: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/18.jpg)
18
• The The transformations transformations
of blocks of of blocks of quantum quantum gates to the gates to the pulses level.pulses level.
![Page 19: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/19.jpg)
Variants of Variants of the controllerthe controller
• Two variants of the controller based on its behavior during the ‘C’ state:– Controller with Repeated
Quantum Array (C-RQA).
– Controller with Single Quantum array (C-SQA)
![Page 20: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/20.jpg)
3.3 High Level Synthesis3.3 High Level Synthesis
1.1. SynchronousSynchronous1. Very similar to classical FSM design.
2. Derive a truth table from the abstract specification (STG, SG etc) and pass it to DCARL.
2.2. AsynchronousAsynchronous
1.1. Muller Method Muller Method 1. Uses generalized Muller C-elements (gC).
2. High level synthesis involves developing the functions for the Set and Reset inputs of the gC element.
2.2. Huffman MethodHuffman Method1. A state encoding which is free from critical races is chosen.
2. High level synthesis involves developing a next state table
There are two types of state machines: synchronous and asynchronous
![Page 21: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/21.jpg)
3.4 Low Level Synthesis3.4 Low Level Synthesis• DCARL – software synthesis tool for Quantum DCARL – software synthesis tool for Quantum
Permutative CircuitsPermutative Circuits– Existing synthesis techniques like the MMD algorithm handle only completely specified
reversible functions.
– Output and Next state functions of state machines have the possibility of large number of “don’t cares”
– DCARL allows incompletely specified functions to be handled by the MMD synthesis package.
• It ensures that there is a “one to one” correspondence between the inputs and outputs of a function.
• It converts irreversible functions to their reversible equivalents by adding ancilla bits.
– Eg:
Completely specified reversible function
Input Output
00 10
01 01
10 00
11 11
This is a standard truth table of a reversible function
![Page 22: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/22.jpg)
Example: Combinational gate – Feynman Example: Combinational gate – Feynman – as a simple quantum state machine– as a simple quantum state machine
• Eg: Irreversible function
• XOR gate
• Incompletely specified function
• Gate level realization
• Fully specified reversible function
Input Output
00 X0
01 X1
10 X1
11 X0
Input(S1So)
Output (S1So)
00 00
01 01
10 11
11 10
Input Output
00 0
01 1
10 1
11 0
DCARLStep 2:
MMDDCARLStep 1:
![Page 23: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/23.jpg)
Example 1: Design of Example 1: Design of Synchronous Synchronous quantum state machine using DCARLquantum state machine using DCARL
Specification:Step 1: Step 1: Transform to truth table
![Page 24: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/24.jpg)
Step 2: Run DCARL
Output of DCARL:
Step 3: Implement complete QSM and controller
0
0
0
1
1
0
1
1
0
0
0
1
0
1
Example 1 (cont): Design of Example 1 (cont): Design of SynchronousSynchronous quantum state machine using DCARLquantum state machine using DCARL
![Page 25: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/25.jpg)
Example 2: Asynchronous design: Example 2: Asynchronous design: Using Huffman method. Using Huffman method.
• Step1Step1: Convert to next state table.Asynchronous toggle circuit:
00 10
00 01
11 01
11 10
ab
t0 1
00
01
11
10t+ = rising edge of a signal
t- = falling edge of a signal
![Page 26: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/26.jpg)
Step 2: Step 2: Derive next state functions
0 1
0 0
1 0
1 1
ab
t0 1
00
01
11
10
a = at b t+
0 0
0 1
1 1
1 0
ab
t0 1
00
01
11
10
b = a t b t+
Note: DCARL can be used in this stepNow these equations will be realized in one of QFSM models
![Page 27: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/27.jpg)
Step 3: Step 3: Implement the QSMImplement the QSM• a) Realization as a QSM-SRQSM-SR
a = at b t+
b = a t b t+
b = a t b t+ a = at b t+
a+
b+
inputs
New states
garbages
a+
b+
In place ( State ( State RetentionRetention )memory
![Page 28: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/28.jpg)
Explanation of feedback circuitExplanation of feedback circuitab b0
0
a
a+ = ab
ab b0
0
a
ab
Above circuit is equivalent to the below circuitAbove circuit is equivalent to the below circuit
0
a+ = ab
ab= garbage
![Page 29: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/29.jpg)
• b) Realization as QSM-QM
Step 3: Step 3: Implement the QSMImplement the QSM
a = at b t+
b = a t b t+New states
![Page 30: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/30.jpg)
c) Realization as a QSM-CM
Step 3: Step 3: Implement the QSMImplement the QSM
The same circuit as in last slide
![Page 31: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/31.jpg)
Generalized Muller C-elements (gC).
![Page 32: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/32.jpg)
Step 2: Derive set and reset functions for the output signals.
Step 3: Implement the QSM using gC elements.
gC element
gC element
a) Implementation as a QSM-SRQSM-SR
Example 3 (cont): Asynchronous Design: Example 3 (cont): Asynchronous Design: Using Muller Method.Using Muller Method.
See next slides for details of calculations
![Page 33: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/33.jpg)
Example 3: Asynchronous Design: Using Example 3: Asynchronous Design: Using Muller Method.Muller Method.
Asynchronous toggle circuit: Step 1: Encode state graph with “R” (excited to rise) and “F” (excited to fall) signals.
![Page 34: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/34.jpg)
Example 3: Asynchronous Example 3: Asynchronous Design: Using Muller Method.Design: Using Muller Method.
Calculating excitation inputs set (a) and reset (a) for C-element a
![Page 35: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/35.jpg)
Example 3: Asynchronous Example 3: Asynchronous Design: Using Muller Method.Design: Using Muller Method.
Calculating excitation inputs set (a) and reset (a) for C-element b
![Page 36: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/36.jpg)
Step 2: Derive set and reset functions for the output signals.
Step 3: Implement the QSM using gC elements.
gC element
gC element
a) Implementation as a QSM-SRQSM-SR
Example 3 (cont): Asynchronous Design: Example 3 (cont): Asynchronous Design: Using Muller Method.Using Muller Method.
![Page 37: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/37.jpg)
b) Implementation as a QSM-QMQSM-QM c) Implementation as a QSM-CMQSM-CM
Example 3 (cont): Asynchronous Design: Example 3 (cont): Asynchronous Design: Using Muller Method.Using Muller Method.
![Page 38: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/38.jpg)
b) Implementation as a QSM-QMQSM-QM
Example 3 (cont): Asynchronous Design: Using Muller Method.Example 3 (cont): Asynchronous Design: Using Muller Method.
![Page 39: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/39.jpg)
c) Implementation as a QSM-CMQSM-CM
Example 3 (cont): Asynchronous Design: Using Muller Method.Example 3 (cont): Asynchronous Design: Using Muller Method.
![Page 40: Engineering Models and Design Methods for Quantum State Machines](https://reader036.vdocument.in/reader036/viewer/2022062518/56813fe8550346895daadacc/html5/thumbnails/40.jpg)
5. Conclusions5. Conclusions1. Practical models for QSMs and their classical controllers have
been developed.
2. A synthesis flow which allows us to design QSMs from abstract specifications has been developed.
3. Synchronous as well as asynchronous techniques for high level synthesis of QSMs have been demonstrated.
4. DCARL software for automating low level synthesis (i.e. quantum array level) has been demonstrated.