Title: Engineering Models and Design Methods for Quantum State Machines.
1Engineering Models and Design Methods for
Quantum State Machines.
2- 1. Synthesis Flow for Quantum State Machines
(QSM) - Models of QSM
- Models of Controller
- High Level Synthesis
- Low Level Synthesis
- DCARL
- 2. Examples
31.2 What is this lecture about?
- Objectives
- Develop models for Quantum State Machines (QSMs)
for analysis and synthesis. - Develop models for a classical controller which
controls the QSM. - Develop a step by step procedure for going from
abstract specifications (state graphs, signal
transition graphs, state tables) to the gate
level quantum circuit. - Develop a software to automate the low level
logic synthesis step.
42. 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 ?gt a 0gt ß1gt
- Where a, ß are probability amplitudes such that
a 2ß21. - 0gt and 1gt 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.
5Reminder 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.
6Quantum Gate operates in time not 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. Cnextab c
- Note When c1, Nand operation is performed on
ab!!
Illustration
a b c
- Explain in detail how quantum gate operates in
time, based on controlled pulses. - Classical computer creates quantum pulses, such
as EM
C
7Quantum Computing requires classical computer for
operation
- General concept of Quantum computing
- A classical computer initializes the qubits
from a stream of bits. - Computation is performed (i.e. unitary
transformations applied on qubits) - The classical computer performs a measurement
(read out).
INITIALIZATION
CLASSICAL COMPUTER WORKS AS A CONTROLER
time
COMPUTATION
MEASUREMENT
83. Synthesis Flow of designing quantum state
machines
93.1 Models of QSM
- Existing models like Quantum Turing Machines
(QTM) are very mathematical or abstract. - We need practical models for implementation.
- Three models are proposed in this thesis.
10QSMs with Classical Memory (QSM-CM)
11Model 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.
Qubits after quantum operations
Input qubits
Output bits
Input bits
State bits
Quantum computer
State bits
Classical computer
Classical Memory
- Let us observe that the memory is classical
- It can be realized with D, T, JK flip-flops, or
other classical circuits.
12QSMs with QUANTUMMemory (QSM-CM)
13Model II 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.
Output bits
Input bits
Qubits after quantum operations
Input qubits
Measurement and read out.
Quantum Array
Initialization
State qubits
Quantum Memory
- This model uses a quantum memory.
- Feedback is realized by quantum memory.
- There are several models of quantum memory as a
special separate unit
14Quantum State Machines With State Retention
(QSM-SR)
15Model III Quantum State Machines With State
Retention (QSM-SR)Qubits retain their state.No
external feedback required.
Output bits
Input bits
Qubits after quantum operations
Input qubits
Measurement and read out.
Quantum Array
Initialization
- This circuit uses internal memory in each qubit,
the same as in normal quantum combinational
circuit discussed so far in the class. - Special way of initialization and measurement is
needed. - This will be discussed in next lectures.
163.2 Models of Classical Controller of QFSM
Only this part is quantum
- The Controller issues pulses for
- Initialization of qubits.
- Generating the quantum array
- Measurement operation.
The controller is a classical circuit (computer)
17Simple Model of a Controller
- The controller is modeled as an FSM with three
states - I (Initialize),
- C (Calculate),
- M (Measure).
- The controller continuously samples two inputs Ti
and Tm. - Trigger generator monitors changes in external
inputs and sets Ti. - When Ti is set, controller jumps to I state.
- After initialization, controller resets Ti and
jumps to C state. - When Tm is set, controller jumps to M state and
issues pulses for measurement.
18- The transformations of blocks of quantum gates to
the pulses level.
19Variants of the 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)
203.3 High Level Synthesis
There are two types of state machines
synchronous and asynchronous
- Synchronous
- Very similar to classical FSM design.
- Derive a truth table from the abstract
specification (STG, SG etc) and pass it to DCARL. - Asynchronous
- Muller Method
- Uses generalized Muller C-elements (gC).
- High level synthesis involves developing the
functions for the Set and Reset inputs of the gC
element. - Huffman Method
- A state encoding which is free from critical
races is chosen. - High level synthesis involves developing a next
state table
213.4 Low Level Synthesis
- DCARL software synthesis tool for Quantum
Permutative 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 dont
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
22Example Combinational gate Feynman as a
simple quantum state machine
- Eg Irreversible function
- XOR gate
- Incompletely specified function
- Gate level realization
- Fully specified reversible function
Input Output
00 0
01 1
10 1
11 0
DCARL Step 1
MMD
Input (S1So) Output (S1So)
00 00
01 01
10 11
11 10
DCARL Step 2
Input Output
00 X0
01 X1
10 X1
11 X0
23Example 1 Design of Synchronous quantum state
machine using DCARL
Specification
Step 1 Transform to truth table
24Example 1 (cont) Design of Synchronous quantum
state machine using DCARL
Step 3 Implement complete QSM and controller
Step 2 Run DCARL
0 0
0 1
1 0
1 1
0 0
0 1
0 1
Output of DCARL
25Example 2 Asynchronous design Using Huffman
method.
- Step1 Convert to next state table.
Asynchronous toggle circuit
t
0 1
ab
00 10
00 01
11 01
11 10
00
01
11
t rising edge of a signal
10
t- falling edge of a signal
26Step 2 Derive next state functions
t
t
0 1
0 1
ab
ab
0 1
0 0
1 0
1 1
0 0
0 1
1 1
1 0
00
00
01
01
11
11
10
10
b a t b t
a at b t
Now these equations will be realized in one of
QFSM models
Note DCARL can be used in this step
27Step 3 Implement the QSM
- a) Realization as a QSM-SR
In place ( State Retention )memory
a at b t
b a t b t
inputs
a
b
a
b
garbages
a at b t
New states
b a t b t
28Explanation of feedback circuit
0
a ab
a
b
b
a
0
Above circuit is equivalent to the below circuit
0
a ab
ab
a
b
b
0
ab garbage
0
a
29Step 3 Implement the QSM
a at b t
New states
b a t b t
30Step 3 Implement the QSM
c) Realization as a QSM-CM
The same circuit as in last slide
31Generalized Muller C-elements (gC).
32Example 3 (cont) Asynchronous Design Using
Muller Method.
Step 2 Derive set and reset functions for the
output signals.
Step 3 Implement the QSM using gC elements.
a) Implementation as a QSM-SR
gC element
See next slides for details of calculations
gC element
33Example 3 Asynchronous Design Using Muller
Method.
Asynchronous toggle circuit
Step 1 Encode state graph with R (excited to
rise) and F (excited to fall) signals.
34Example 3 Asynchronous Design Using Muller
Method.
Calculating excitation inputs set (a) and reset
(a) for C-element a
35Example 3 Asynchronous Design Using Muller
Method.
Calculating excitation inputs set (a) and reset
(a) for C-element b
36Example 3 (cont) Asynchronous Design Using
Muller Method.
Step 2 Derive set and reset functions for the
output signals.
Step 3 Implement the QSM using gC elements.
a) Implementation as a QSM-SR
gC element
gC element
37Example 3 (cont) Asynchronous Design Using
Muller Method.
b) Implementation as a QSM-QM
c) Implementation as a QSM-CM
38Example 3 (cont) Asynchronous Design Using
Muller Method.
b) Implementation as a QSM-QM
39Example 3 (cont) Asynchronous Design Using
Muller Method.
c) Implementation as a QSM-CM
405. Conclusions
- Practical models for QSMs and their classical
controllers have been developed. - A synthesis flow which allows us to design QSMs
from abstract specifications has been developed. - Synchronous as well as asynchronous techniques
for high level synthesis of QSMs have been
demonstrated. - DCARL software for automating low level synthesis
(i.e. quantum array level) has been demonstrated.