Engineering Models and Design Methods for Quantum State

  • Slides: 40
Download presentation
Engineering Models and Design Methods for Quantum State Machines.

Engineering Models and Design Methods for Quantum State Machines.

 • 1. Synthesis Flow for Quantum State Machines (QSM) – Models of QSM

• 1. Synthesis Flow for Quantum State Machines (QSM) – Models of QSM – Models of Controller – High Level Synthesis – Low Level Synthesis • DCARL • 2. Examples

1. 2 What is this lecture about? Objectives: 1. Develop models for Quantum State

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.

2. Basics of qubits, quantum gates etc. • Qubit – Basic unit of quantum

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.

Reminder about quantum gates and circuits • Quantum gates – A logical operation performed

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.

Quantum Gate operates in time not in space • A universal gate for quantum

Quantum Gate operates in time not in space • A universal gate for quantum operations – Toffoli gate. – Performs 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: 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 C

Quantum Computing requires classical computer for operation • General concept of Quantum computing: 1.

Quantum Computing requires classical computer 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). CLASSICAL COMPUTER WORKS AS A CONTROLER INITIALIZATION COMPUTATION MEASUREMENT time

3. Synthesis Flow of designing quantum state machines

3. Synthesis Flow of designing quantum state machines

3. 1 Models of QSM 1. Existing models like Quantum Turing Machines (QTM) are

3. 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.

QSMs with Classical Memory (QSM-CM)

QSMs with Classical Memory (QSM-CM)

1. Model I: QSMs with Classical Memory (QSM-CM). External memory required. Measurement is performed

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. Input qubits Input bits Quantum computer Classical computer Qubits after quantum operations Output bits State bits Classical Memory 1. Let us observe that the memory is classical 2. It can be realized with D, T, JK flip-flops, or other classical circuits.

QSMs with QUANTUM Memory (QSM-CM)

QSMs with QUANTUM Memory (QSM-CM)

Model II: QSMs with Quantum Memory (QSM-QM). External quantum memory required. Re-initialization required only

Model 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. Input bits Input qubits Initialization Output bits Qubits after quantum operations Measurement and read out. Quantum Array State qubits Quantum Memory 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

Quantum State Machines With State Retention (QSM-SR)

Quantum State Machines With State Retention (QSM-SR)

Model III: Quantum State Machines With State Retention (QSM-SR) Qubits retain their state. No

Model III: Quantum State Machines With State Retention (QSM-SR) Qubits retain their state. No external feedback required. Input bits Initialization Output bits Qubits after quantum operations Input qubits Quantum Array Measurement and read out. 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.

3. 2 Models of Classical Controller of QFSM The Controller issues pulses for: 1.

3. 2 Models of Classical Controller of QFSM The Controller issues pulses for: 1. 2. 3. Initialization of qubits. Generating the quantum array Measurement operation. The controller is a classical circuit (computer) Only this part is quantum

Simple Model of a Controller • The controller is modeled as an FSM with

Simple 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. Tm • Trigger generator monitors changes in external inputs and sets Ti. 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.

 • The transformations of blocks of quantum gates to the pulses level. 18

• The transformations of blocks of quantum gates to the pulses level. 18

Variants of the controller • Two variants of the controller based on its behavior

Variants of the controller • Two variants of the controller based on its behavior during the ‘C’ state: – Controller with Repeated Quantum Array (CRQA). – Controller with Single Quantum array (C-SQA)

3. 3 High Level Synthesis There are two types of state machines: synchronous and

3. 3 High Level Synthesis There are two types of state machines: synchronous and asynchronous 1. Synchronous 1. Very similar to classical FSM design. 2. Derive a truth table from the abstract specification (STG, SG etc) and pass it to DCARL. 2. Asynchronous 1. Muller Method 1. Uses generalized Muller C-elements (g. C). 2. High level synthesis involves developing the functions for the Set and Reset inputs of the g. C element. 2. Huffman Method 1. A state encoding which is free from critical races is chosen. 2. High level synthesis involves developing a next state table

3. 4 Low Level Synthesis • DCARL – software synthesis tool for Quantum Permutative

3. 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 “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

Example: Combinational gate – Feynman – as a simple quantum state machine • •

Example: Combinational gate – Feynman – as a simple quantum state machine • • Eg: Irreversible function XOR gate Input Output 00 0 01 1 10 1 11 0 • Gate level realization DCARL Step 1: • Incompletely specified function MMD • DCARL Step 2: Fully specified reversible function Input (S 1 So) Output (S 1 So) Input Output 00 X 0 00 00 01 X 1 01 01 10 X 1 10 11 11 X 0 11 10

Example 1: Design of Synchronous quantum state machine using DCARL Specification: Step 1: Transform

Example 1: Design of Synchronous quantum state machine using DCARL Specification: Step 1: Transform to truth table

Example 1 (cont): Design of Synchronous quantum state machine using DCARL Step 2: Run

Example 1 (cont): Design of Synchronous quantum state machine using DCARL Step 2: Run DCARL Output of DCARL: Step 3: Implement complete QSM and controller 0 01100 0 0 10101 1

Example 2: Asynchronous design: Using Huffman method. Asynchronous toggle circuit: • Step 1: Step

Example 2: Asynchronous design: Using Huffman method. Asynchronous toggle circuit: • Step 1: Step 1 Convert to next state table. t 0 ab t+ = rising edge of a signal t- = falling edge of a signal 1 00 00 10 01 00 01 11 11 01 11 10 10

Step 2: Derive next state functions t 0 ab t 1 0 ab 1

Step 2: Derive next state functions t 0 ab t 1 0 ab 1 00 0 0 01 0 1 11 1 0 11 1 1 10 1 0 10 a + = at bt Note: DCARL can be used in this step b+ = a t bt Now these equations will be realized in one of QFSM models

Step 3: Implement the QSM • a) Realization inputs a + = at bt

Step 3: Implement the QSM • a) Realization inputs a + = at bt b+ = a t bt as a QSM-SR In place ( State Retention )memory a+ b+ b+ = a t bt a + = at bt New states garbages

Explanation of feedback circuit a b 0 0 a+ = ab b a Above

Explanation of feedback circuit a b 0 0 a+ = ab b a Above circuit is equivalent to the below circuit a b 0 0 0 + = ab aab b ab= garbage a

Step 3: Implement the QSM • b) Realization as QSM-QM New states a +

Step 3: Implement the QSM • b) Realization as QSM-QM New states a + = at bt b+ = a t bt

Step 3: Implement the QSM c) Realization as a QSM-CM The same circuit as

Step 3: Implement the QSM c) Realization as a QSM-CM The same circuit as in last slide

Generalized Muller C-elements (g. C).

Generalized Muller C-elements (g. C).

Example 3 (cont): Asynchronous Design: Using Muller Method. Step 2: Derive set and reset

Example 3 (cont): Asynchronous Design: Using Muller Method. Step 2: Derive set and reset functions for the output signals. Step 3: Implement the QSM using g. C elements. a) Implementation as a QSM-SR g. C element See next slides for details of calculations g. C element

Example 3: Asynchronous Design: Using Muller Method. Asynchronous toggle circuit: Step 1: Encode state

Example 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.

Example 3: Asynchronous Design: Using Muller Method. Calculating excitation inputs set (a) and reset

Example 3: Asynchronous Design: Using Muller Method. Calculating excitation inputs set (a) and reset (a) for C-element a

Example 3: Asynchronous Design: Using Muller Method. Calculating excitation inputs set (a) and reset

Example 3: Asynchronous Design: Using Muller Method. Calculating excitation inputs set (a) and reset (a) for C-element b

Example 3 (cont): Asynchronous Design: Using Muller Method. Step 2: Derive set and reset

Example 3 (cont): Asynchronous Design: Using Muller Method. Step 2: Derive set and reset functions for the output signals. Step 3: Implement the QSM using g. C elements. a) Implementation as a QSM-SR g. C element

Example 3 (cont): Asynchronous Design: Using Muller Method. b) Implementation as a QSM-QM c)

Example 3 (cont): Asynchronous Design: Using Muller Method. b) Implementation as a QSM-QM c) Implementation as a QSM-CM

Example 3 (cont): Asynchronous Design: Using Muller Method. b) Implementation as a QSM-QM

Example 3 (cont): Asynchronous Design: Using Muller Method. b) Implementation as a QSM-QM

Example 3 (cont): Asynchronous Design: Using Muller Method. c) Implementation as a QSM-CM

Example 3 (cont): Asynchronous Design: Using Muller Method. c) Implementation as a QSM-CM

5. Conclusions 1. Practical models for QSMs and their classical controllers have been developed.

5. Conclusions 1. 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.