International Training Workshop On FPGA Design For Scientific Instrumentation and Computing 11 - 22 November 2013

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

2499-11

International Training Workshop on FPGA Design for Scientific


Instrumentation and Computing

11 - 22 November 2013

Digital CMOS Design


Basic digital CMOS gates

Pirouz Bazargan-Sabet
Department ASIM, LIP6, University Pierre & Marie Curie (VI), place
Jussieu, 75252 Paris Cedex 0
France
Outline

Digital CMOS design


Boolean algebra
Basic digital CMOS gates
Combinational and sequential circuits

Coding - Representation of numbers

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

How to implement Boolean functions


in CMOS technology ?

Which functionalities are available

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

N-MOS transistor

G
D D S
G
S W
N+ N+

Si L P-

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

P-MOS transistor

G
S D S
G
D
P+ P+

Si N- P-

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

The electrical behavior of a MOS transistor


is very complex

Design of a multi-million transistor circuit ?

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

In a digital circuit a MOS transistor can be


seen as a Switch

N-MOS P-MOS
D D S S
G G G G
S S D D
D = S when G = 1 D = S when G = 0

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

When driving, a MOS transistor can be seen as a Resistor

W
Conductance ∝
L
For the same size, a P-MOS is twice
more resistive than an N-MOS

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

The N-MOS and P-MOS are not exactly symmetrical

A N-MOS is a good transmitter of 0

A P-MOS is a good transmitter of 1

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Not
 
S
G 2W/L
Dual CMOS gate
D

D
 G W/L
 
S

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

 



 



Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates
Design of a dual gate
P network
The P-network must be
the dual of the N-network

 
Series Parallel
Parallel Series

Take care of the size of


N network
transistors

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

P network
To set the output to 0 a path has to
be created through the N network


A series of N-transistor must be
conducting
N network
Π  

Only negative (inverting) functions can be created

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Implementing a Boolean function with a CMOS gate ?

The function must be inverting in regard


of all the variables

Put the function in the form of 

Design the N-network of 

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Implementing a Boolean function with a CMOS gate ?

In the expression of  each  are two


paths in series
In the expression of  each  are two
paths in parallel
The P-network is the dual network of the
N-network
Avoid putting more than 3 transistors in series

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Example :
2W/L 

W/L
 
 2W/L

 
 W/L 
 W/L

 W/L

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Inverter :  4 W/L 


Nand :  4 W/L

Nor :   
W/L W/L


Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Multiplexer :  

 


  

  

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates : Multiplexer :

 

   
   
   

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Multiplexer :  

 


 

 

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

   

   

   

   

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

 If  If 
   is not defined



 

Tri-state driver

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates : Multiplexer :



Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates : Multiplexer :






 



Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

 If  If 
  is not defined
 
If  then 
If  
then 

Pass-transistor

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

 If  If 
  is not defined
 
If  then 

If  then 

Pass-transistor

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :


If  If 
  is not defined
 

If  then 


 If  then 

CMOS Switch

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Multiplexer :




Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Multiplexer :




Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Nxor :   

 


  

I need  and   

Pirouz Bazargan Sabet ICTP November 2013


Basic CMOS Gates

Some gates :

Xor with Pass-transistors :


Nxor



  
   
  
   
   

Pirouz Bazargan Sabet ICTP November 2013

You might also like