Friday, 11 July 2014

Feynman Gate

Feynman gate is a 2*2 one through reversible gate. The input vector is I(A, B) and the output vector is O(P, Q). The outputs are defined by P=A, Q=A xor B. Quantum cost of a Feynman gate is 1. Feynman Gate (FG) can be used as a copying gate. Since a fan-out is not allowed in reversible logic, this gate is useful for duplication of the required outputs. The architecture of the gate is shown below.


The truth table of the Feynman gate is given below



The VHDL code for the Feynman gate is:-
----------------------------------------------------
--Author: Aneesh Raveendran
---------------------------------------------------- 
Library ieee;
Use ieee std_logic.1164.all;
Entity feynmangate is Port(
                A, B     :         in      std_logic;
                 P, Q    :         out    std_logic);
end feynmangate;
architecture RTL of feynmangate is
begin
                process (A, B)
                begin
                P<= A;
                Q<= A xor B;
                end process;
end RTL;





  

Reversible logic gates

For implementing the reversible functions, the digital world uses different types of the logic gates. The gates are listed below.
  • NOT gate
  • FEYNMAN gate
  • TOFFOLI gate
  • FREDKIN gate
  • PERES gate
  • NEW gate
  • TR gate

Saturday, 5 April 2014

Reversible Logic Circuits Design Cosntraints

Reversible logic imposes many design constraints that need to be either ensured for optimized for implementing any particular Boolean functions.

Firstly, in reversible logic circuits the number of inputs must be equal to the outputs.

Secondly, for each input pattern there must be a unique output pattern.

Thirdly, each output will be used only once, that is no fan out is allowed.


Finally, the resulting circuits must be acyclic.

Reversible Logic Gates- An introduction

Reversible circuits or Gates can generates unique output vector form each input vector, and vice versa, i.e., there is a one to one correspondence between the input and output vectors. Thus, the number of outputs in a reversible gate or circuit has the same as the number of inputs, and commonly used traditional NOT gate is the only reversible gate. More formally, a reversible logic gate is a K-input, K-output (denoted K*K) device that maps each possible input pattern into a unique output pattern. While constructing reversible circuits with the help of reversible gates, some restrictions should be strictly maintained.
·        Fan-out is not permitted

·        Loops are not permitted

Motivation Behind Reversible Logic Gates

 High-performance chips releasing large amounts of heat impose practical limitation on how far can we improve the performance of the system. Reversible circuits that conserve information, by un-computing bits instead of throwing them away, will soon offer the only physically possible way to keep improving performance. Reversible computing will also lead to improvement in energy efficiency. Energy efficiency will fundamentally affect the speed of circuits such as nano-circuits and therefore the speed of most computing applications. To increase the portability of devices again reversible computing is required. It will let circuit element sizes to reduce to atomic size limits and hence devices will become more portable. Although the hardware design costs incurred in near future may be high but the power cost and performance being more dominant than logic hardware cost in today’s computing era, the need of reversible computing cannot be ignored.

Saturday, 22 March 2014

Reversible and Irreversible Logic Circuits

Logic circuit is said to be reversible if the “input of the circuit can be derived from its output”. For example, from a NOT gate output we can construct the input of the gate form its output. Unlikely gates such as AND, OR, X-OR, NAND and NOR are irreversible logic gates i.e., form its output it is impossible to construct the input. Such types of gates are called irreversible logic gates.

Thursday, 20 March 2014

Reversible Computing

Reversible computing in a general sense means, computing using reversible operations that is, the operation that can be easily and exactly reversed or undo. In technical terms a reversible operation performs a bijective transformation of its local configuration space. By maintaining the reversibility of the circuit at low level (transistor level) , it avoids dissipating the energy that is associated with the bits of information that is being manipulated. This can help to reduce the overall energy dissipation of computations. There are two kind of reversibility is used for computing:- "physical reversibility and logical reversibility".

Physical reversibility:- A process is said to be physically reversible, if it results in no increase in physical entropy. These types of circuits are referred as charge recovery logic circuits or adiabatic circuits.


Logical reversibility:- A discrete, deterministic computational process is said to be logically reversible if the transition that maps old computational states to new one is a one-to-one function; i.e. the output logical state uniquely defines the input logic state of the computational operation