Professional Documents
Culture Documents
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
Half adder :
Block Diagram:
a
HALF
ADDER
sum
carry
Truth table:
a
sum carry
0 0
1 0
1 0
0 1
Circuit diagram :
UR11EC098
VLSI LAB
Ex No:1
Date: 18-12-13
Dept. of ece
AIM:
To design and simulate Half and Full adder using three different
architectures namely
i.
ii.
iii.
Dataflow
Behavioral
Structural
SOFTWARE USED:
1.Xilinx ISE 9.2i
2.Model SIM SE6.5
THEORY:
HALF ADDER:
A combinational circuit that performs the addition of 2 bits is called a half
adder. This circuit accepts two binary inputs and produces two binary outputs.
The input variables designate augends and addend bits; the output variables
designate sum and carry.
sum= ab.
carry = ab.
FULLADDER:
A combinational circuit that performs the addition of 3 bits is called a full
adder. This circuit accepts 3 binary inputs and produces two binary outputs. The
two outputs are denoted by sum and carry.
sum= ab c
carry = ab + bc+ca
UR11EC098
VLSI LAB
Dept. of ece
FULL ADDER :
Block Diagram:
a
sum
FULL
b
c
carry
ADDER
Truth table:
a
sum
carry
Logic circuit:
UR11EC098
VLSI LAB
Dept. of ece
Procedure:
UR11EC098
VLSI LAB
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
Behavioral Model:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity ha behavioral is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
sum : out STD_LOGIC;
carry : out STD_LOGIC);
end ha behavioral;
architecture Behavioral of ha behavioral is
begin
process (a,b)
begin
if a='0' and b='0' then
sum<='0';carry<='0';
elsif a='0' and b='1' then
sum<='1';carry<='0';
elsif a='1' and b='0' then
sum<='1';carry<='0';
elsif a='1' and b='1' then
sum<='0';carry<='1';
end if;
end process;
end Behavioral;
UR11EC098
VLSI LAB
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
Structural Model :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity ha structural is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
sum : out STD_LOGIC;
carry : out STD_LOGIC);
end ha structural;
architecture structure of ha structural is
component xor1 is
port(l, m: in std_logic;n:outstd_logic);
end component;
component and1 is
port(x, y: in std_logic;z:outstd_logic);
end component;
begin
x1:xor1 port map(a, b, sum);
x2:and1 port map(a, b, carry);
end structural;
Subroutine Program :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
UR11EC098
VLSI LAB
Dept. of ece
10
UR11EC098
VLSI LAB
Dept. of ece
entity xor1 is
Port ( x1 : in STD_LOGIC;
y1 : in STD_LOGIC;
w1 : out STD_LOGIC);
end xor1;
architecture dataflow of xor1 is
begin
w1<=x1 xor y1;
end dataflow;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity and1 is
Port ( x2 : in STD_LOGIC;
y2 : in STD_LOGIC;
w2 : out STD_LOGIC);
end and1;
architecture dataflow of and1 is
begin
w2<=(x2 and y2);
end dataflow;
11
UR11EC098
VLSI LAB
Dept. of ece
12
UR11EC098
VLSI LAB
Dept. of ece
Behavioral Model:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fa is
Port ( a ,b,c : in STD_LOGIC;
13
UR11EC098
VLSI LAB
Dept. of ece
14
UR11EC098
VLSI LAB
Dept. of ece
15
UR11EC098
VLSI LAB
Dept. of ece
16
UR11EC098
VLSI LAB
Dept. of ece
end process;
end behavioral;
Structural Model :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity fa is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
c : in STD_LOGIC;
sum : out STD_LOGIC;
carry : out STD_LOGIC);
end fa;
architecture structural of fa is
component xor1 is
port(x1,y1,z1:in std_logic;
w1:out std_logic);
end component;
component and1 is
port(x2,y2:in std_logic; w2:out std_logic);
end component;
component or1 is
port(x3,y3,z3:in std_logic; w3:out std_logic);
end component;
17
UR11EC098
VLSI LAB
Dept. of ece
18
UR11EC098
VLSI LAB
Dept. of ece
signalx,y,z:std_logic;
begin
x1:xor1 port map(a,b,c,sum);
x2:and1 port map(a,b,x);
x3:and1 port map(b,c,y);
x4:and1 port map(c,a,z);
x5:or1 port map(x,y,z,carry);
end structural;
Subroutine Program :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity xor1 is
Port ( x1 : in STD_LOGIC;
y1 : in STD_LOGIC;
z1:instd_logic;
w1 : out STD_LOGIC);
end xor1;
architecture dataflow of xor1 is
begin
w1<=x1 xor y1 xor z1;
end dataflow;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity and1 is
19
UR11EC098
VLSI LAB
Dept. of ece
20
UR11EC098
VLSI LAB
Dept. of ece
Port ( x2 : in STD_LOGIC;
y2 : in STD_LOGIC;
w2 : out STD_LOGIC);
end and1;
architecture dataflow of and1 is
begin
w2<=(x2 and y2);
end dataflow;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity or1 is
Port ( x3 : in STD_LOGIC;
y3 : in STD_LOGIC;
z3 : in STD_LOGIC;
w3 : out STD_LOGIC);
end or1;
architecture dataflow of or1 is
begin
w3<=x3 or y3 or z3;
end dataflow;
21
UR11EC098
VLSI LAB
Dept. of ece
22
UR11EC098
VLSI LAB
Dept. of ece
Result:
The design and simulation of the half adder and full adder using dataflow,
behavioral, structural modeling has been performed using VHDL codeand
software mentioned.
23
UR11EC098
VLSI LAB
Dept. of ece
4*1 Multiplexer :
Block diagram :
Function Table :
24
UR11EC098
VLSI LAB
Dept. of ece
Ex No:2
Date : 8-1-14
AIM:
To design and simulate Multiplexer and Demultiplexer using three
different architectures namely
i.
ii.
iii.
Dataflow
Behavioral
Structural
SOFTWARE USED:
ISE Design Suite 14.2.
THEORY:
MULTIPLEXER:
It is combinational circuit that selects binary information from one of the many
inputs and directs it to a single output. The selection lines or controlled lines. It
is used as a data selector and parallel to serial convertor. In reference to the
block diagram a two bit binary code on the data select input will also allow the
data on the corresponding data input to pass through the data output.
OUTPUT :(F)=a s0s1+b s0s1+c s0s1+d s0s1
DEMULTIPLEXER:
This is a circuit that receives data from one line and transmits this information
on one of the 2n possible output lines. It performs reverse operation of
multiplexer. The data input line goes to all of and gate. The two select lines
enable only one gate at a time and the data appearing on the input will pass
through the selected gate.
OUTPUT: Y0=DS0S1; Y1=DS0S1 ;Y2=DS0S1 ; Y3= DS0S1;
25
UR11EC098
VLSI LAB
Dept. of ece
1*4 Demultiplexer :
Block diagram :
Truth Table :
26
UR11EC098
VLSI LAB
Dept. of ece
Procedure :
27
UR11EC098
VLSI LAB
Dept. of ece
28
UR11EC098
VLSI LAB
Dept. of ece
begin
y<=((a and (not s0) and (not s1)) or
(b and (not s0) and s1) or
(c and s0 and (not s1)) or
(d and s0 and s1));
end dataflow;
Behavioral Model:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity mux is
Port ( a : in STD_LOGIC;
b : in STD_LOGIC;
c : in STD_LOGIC;
d : in STD_LOGIC;
s : in STD_LOGIC_VECTOR(0 to 1);
y : out STD_LOGIC);
end mux;
architecture behavioral of mux is
begin
process(a,b,c,d,s)
begin
case s is
when "00" => y<=a;
29
UR11EC098
VLSI LAB
Dept. of ece
30
UR11EC098
VLSI LAB
Dept. of ece
Structural Modeling :
library IEEE;
use IEEE.std_logic_1164.all;
entity Structural_4x1 is
port(s1,s2,d00,d01,d10,d11 : in std_logic;
z_out : out std_logic);
end Structural_4x1;
architecture arc of Structural_4x1 is
component mux
port(sx1,sx2,d0,d1 : in std_logic;
z : out std_logic);
end component;
component or_2
port(a,b : in std_logic;
c : out std_logic);
end component;
signal intr1, intr2, intr3, intr4 : std_logic;
begin
mux1 : mux port map(s1,s2,d00,d01,intr1);
mux2 : mux port map(not s1,s2, d10,d11,intr2);
o1 : or_2 port map(intr1, intr2, z_out);
end arc;
31
UR11EC098
VLSI LAB
Dept. of ece
32
UR11EC098
VLSI LAB
Dept. of ece
33
UR11EC098
VLSI LAB
Dept. of ece
34
UR11EC098
VLSI LAB
Dept. of ece
s0 : in STD_LOGIC;
s1 : in STD_LOGIC;
y : out STD_LOGIC_VECTOR (0 TO 3));
end data;
architecture dataflow of dmux is
begin
y(0)<= a and (not s0) and (not s1);
y(1)<= a and (not s0) and (s1);
y(2)<= a and (s0) and (not s1);
y(3)<= a and (s0) and (s1);
end dataflow;
Behavioral Model :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity dmux is
Port ( s0 : in STD_LOGIC;
s1 : in STD_LOGIC;
a : in STD_LOGIC;
y : out STD_LOGIC_VECTOR (0 to 3));
end dmux;
architecture Behavioral of dmux is
begin
process(a,s0,s1)
35
UR11EC098
VLSI LAB
Dept. of ece
36
UR11EC098
VLSI LAB
Dept. of ece
begin
if a='1' and s0='0' and s1='0' then
y(0)<='1';y(1)<='0';y(2)<='0';y(3)<='0';
elsif a='1' and s0='0' and s1='1' then
y(0)<='0';y(1)<='1';y(2)<='0';y(3)<='0';
elsif a='1' and s0='1' and s1='0' then
y(0)<='0';y(1)<='0';y(2)<='1';y(3)<='0';
elsif a='1' and s0='1' and s1='1' then
y(0)<='0';y(1)<='0';y(2)<='0';y(3)<='1';
end if;
end process;
end Behavioral;
Structural Modeling:
library IEEE;
use IEEE.std_logic_1164.all;
entity Structural_1x4 is
port(s1,s2,data_in : in std_logic;
d1,d2,d3,d4 : out std_logic);
end Structural_1x4;
architecture arc of Structural_1x4 is
component dmux
port(sx1,sx2,d : in std_logic;
z1,z2 : out std_logic);
end component;
begin
37
UR11EC098
VLSI LAB
Dept. of ece
38
UR11EC098
VLSI LAB
Dept. of ece
39
UR11EC098
VLSI LAB
Dept. of ece
40
UR11EC098
VLSI LAB
Dept. of ece
Result:
The design and simulation of the multiplexer and demultiplexer using
dataflow, behavioral modeling and Structural modeling has been
performed using VHDL code and software mentioned.
41
UR11EC098
VLSI LAB
Dept. of ece
Ex No: 3
Date :22-1-14
AIM:
To design and simulate 3x8 Decoder and 2 Bit Magnitude Comparator
using three different architectures namely
i.
ii.
iii.
Dataflow
Behavioral
Structural
SOFTWARE USED:
1.Xilinx ISE 9.2i
2.Model SIM SE6.5
THEORY :
3x8 DECODER
A decoder is a device which does the reverse operation of an encoder, undoing
the encoding so that the original information can be retrieved. The same method
used to encode is usually just reversed in order to decode. It is a combinational
circuit that converts binary information from n input lines to a maximum of 2n
unique output lines.
A 3 to 8 decoder consists of three inputs and eight outputs.
Application :
A simple CPU with 8 registers may use 3-to-8 logic decoders inside the
instruction decoder to select two source registers of the register file to feed into
the ALU as well as the destination register to accept the output of the ALU. A
typical CPU instruction decoder also includes several other things.
42
UR11EC098
VLSI LAB
Dept. of ece
3X8 DECODER
Block Diagram :
Truth Table :
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F0
1
0
0
0
0
0
0
0
F1
0
1
0
0
0
0
0
0
F2
0
0
1
0
0
0
0
0
F3
0
0
0
1
0
0
0
0
F4
0
0
0
0
1
0
0
0
F5
0
0
0
0
0
1
0
0
F6
0
0
0
0
0
0
1
0
F7
0
0
0
0
0
0
0
1
F0=XYZ;
F6=XYZ;
F1=XYZ;
F7=XYZ;
F2=XYZ;
F3=XYZ;
F4=XYZ;
F5=XYZ;
43
UR11EC098
VLSI LAB
Dept. of ece
Procedure:
44
UR11EC098
VLSI LAB
Dept. of ece
Truth Table :
45
UR11EC098
VLSI LAB
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
47
UR11EC098
VLSI LAB
Dept. of ece
48
UR11EC098
VLSI LAB
Dept. of ece
49
UR11EC098
VLSI LAB
Dept. of ece
component not1 is
port(a:in bit; b:out bit);
end component;
signal s1,s2,s3:bit;
begin
x1:not1 port map(a,s1);
x2:not1 port map(b,s2);
x3:not1 port map(c,s3);
x4:and4 port map(s1,s2,s3,e,z0);
x5:and4 port map(s1,s2,c,e,z1);
x6:and4 port map(s1,b,s3,e,z2);
x7:and4 port map(s1,b,c,e,z3);
x8:and4 port map(a,s2,s3,e,z4);
x9:and4 port map(a,s2,c,e,z5);
x10:and4 port map(a,b,s3,e,z6);
x11:and4 port map(a,b,c,e,z7);
end structural;
SubProgram for not1 :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity not1 is
Port ( a : in STD_LOGIC;
b : out STD_LOGIC);
end not1;
architecture Structural of not1 is
begin
b<=not a;
end Structural;
50
UR11EC098
VLSI LAB
Dept. of ece
51
UR11EC098
VLSI LAB
Dept. of ece
52
UR11EC098
VLSI LAB
Dept. of ece
53
UR11EC098
VLSI LAB
Dept. of ece
end comparator_2bit;
architecture Dataflow of comparator_2bit is
begin
equal <= '1' when (a=b) else '0';
greater <= '1' when (a<b) else '0';
lower <= '1' when (a>b) else '0';
end Dataflow;
Behavioral Modeling:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity comparator_2bit is
Port ( a : in STD_LOGIC_VECTOR:="00";
b : in STD_LOGIC_VECTOR:="00";
equal : out STD_LOGIC;
greater : out STD_LOGIC;
lesser : out STD_LOGIC);
end comparator_2bit;
54
UR11EC098
VLSI LAB
Dept. of ece
55
UR11EC098
VLSI LAB
Dept. of ece
equal<='1';
greater<='0';
lesser<='0';
elsif(a>b)then
equal<='0';
greater<='1';
lesser<='0';
elsif(a<b)then
equal<='0';
greater<='0';
lesser<='1';
end if;
end process;
end Behavioral;
Structural Modeling :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity comparator2bit is
Port ( a1 : in STD_LOGIC;
a0 : in STD_LOGIC;
56
UR11EC098
VLSI LAB
Dept. of ece
57
UR11EC098
VLSI LAB
Dept. of ece
b1 : in STD_LOGIC;
b0 : in STD_LOGIC;
x : out STD_LOGIC;
y : out STD_LOGIC;
z : out STD_LOGIC);
end comparator2bit;
58
UR11EC098
VLSI LAB
Dept. of ece
59
UR11EC098
VLSI LAB
Dept. of ece
component not1 is
port(q:in std_logic;
r:out std_logic);
end component;
signal s,t,u,s1,t1,u1,s2,t2,s3,t3,u3,v3:std_logic;
begin
TT1:not1 port map (a1,s3);
TT2:not1 port map (a0,t3);
TT3:not1 port map (b1,u3);
T4:not1 port map (b0,v3);
T5:and1 port map (a1,u3,s);
T6:and6 port map (a0,u3,v3,t);
T7:and6 port map (a0,a1,v3,u);
T8:or1 port map (s,t,u,x);
T9:and1 port map (s3,b1,s1);
T10:and6 port map (b0,s3,t3,t1);
T11:and6 port map (b0,b1,t3,u1);
T12:or1 port map (s1,t1,u1,y);
T13:xnor1 port map (a1,b1,s2);
T14:xnor1 port map (a0,b0,t2);
T15:and1 port map (s2,t2,z);
end Structural;
60
UR11EC098
VLSI LAB
Dept. of ece
61
UR11EC098
VLSI LAB
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
63
UR11EC098
VLSI LAB
Dept. of ece
64
UR11EC098
VLSI LAB
Dept. of ece
3x8Decoder:
OUTPUT:
65
UR11EC098
VLSI LAB
Dept. of ece
Result:
The design and simulation of the 3x8 Decoder and 2Bit Magnitude Comparator
using dataflow,behavioral,structural modeling has been performed using VHDL
code and software mentioned.
66
UR11EC098
VLSI LAB
Ex No: 4
Date: 29-1-14
Dept. of ece
AIM:
To design and simulate Arithmetic and Logic Unit using architecture
namely
i.
Behavioral Modeling
SOFTWARE USED:
1.Xilinx ISE 14.7
2.ISIM Simulator
THEORY :
An arithmetic
and
logic
unit (ALU)
is
a digital
circuit that
performs integer arithmetic and logical operations. The ALU is a fundamental
building block of the central processing unitof a computer, and even the
simplest microprocessors contain one for purposes such as maintaining timers.
The processors found inside modern CPUs and graphics processing units
(GPUs) accommodate very powerful and very complex ALUs; a single
component may contain a number of ALUs.
Procedure:
UR11EC098
VLSI LAB
Dept. of ece
68
UR11EC098
VLSI LAB
Dept. of ece
SOURCE CODE :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity aluarith is
Port ( a,b : in INTEGER;
x,y : in STD_LOGIC_VECTOR(7 DOWNTO 0);
x1 : in BIT_VECTOR(7 DOWNTO 0);
asel : in STD_LOGIC_VECTOR(1 DOWNTO 0);
lsel : in STD_LOGIC_VECTOR(2 DOWNTO 0);
l1sel : in STD_LOGIC_VECTOR(2 DOWNTO 0);
aout : out INTEGER;
lout : out STD_LOGIC_VECTOR(7 DOWNTO 0);
l1out : out BIT_VECTOR(7 DOWNTO 0));
end aluarith;
69
UR11EC098
VLSI LAB
Dept. of ece
70
UR11EC098
VLSI LAB
Dept. of ece
process(x,y,lsel)
begin
case lsel is
when "000"=> lout <= "00000000";
when "001"=> lout <= x or y ;
when "010"=> lout <= x nor y;
when "011"=> lout <= x xor y;
when "100"=> lout <= x xnor y;
when "101"=> lout <= x nand y;
when "110"=> lout <= x and y;
when "111"=> lout <= not y;
when others=>lout<="--------";
end case;
end process;
71
UR11EC098
VLSI LAB
Dept. of ece
72
UR11EC098
VLSI LAB
Dept. of ece
process(x1,l1sel)
begin
case l1sel is
when "000"=> l1out <= "00000000";
when "001"=> l1out <= x1 SLA 2;
when "010"=> l1out <= x1 SRA 2;
when "011"=> l1out <= x1 SLL 2;
when "100"=> l1out <= x1 SRL 2;
when "101"=> l1out <= x1 ROL 2;
when "110"=> l1out <= x1 ROR 2;
when "111"=> l1out <= "00000000";
when others=>l1out<="00000000";
end case;
end process;
end Behavioral;
73
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT WAVEFORM
74
UR11EC098
VLSI LAB
Dept. of ece
Result:
The design and simulation of the Arithmetic and logic unit (ALU) using
behavioral modeling has been performed using VHDL codeand simulated
through software mentioned.
75
UR11EC098
VLSI LAB
Ex No: 5
Date: 5-2-14
Dept. of ece
AIM:
To design and simulate T-FlipFlop using architectures namely
i.
ii.
iii.
Dataflow Modeling.
Behavioral Modeling.
Structural Modeling.
SOFTWARE USED:
1.Xilinx ISE 14.7
2.ISIM Simulator.
Theory:
T Flip-Flop:
The T FF is a single input version of the JK FF, where both J and J inputs
are tied together. This FF has the ability to toggle regardless of its present state
when the clock pulse occurs and while the T input is 1.
Characteristic Equation: Qt+1=Qt xor t
Procedure:
UR11EC098
VLSI LAB
Dept. of ece
T-FLIPFLOP:
Block Diagram:
Characteristic Table :
Q
Q(t+1)
Qt+1=Qt xor t
Circuit Diagram :
77
UR11EC098
VLSI LAB
Dept. of ece
Source code :
Dataflow Modeling
library IEEE;
Use IEEE.STD_LOGIC_1164.All;
entity tff is
Port (t : in std_logic;
clk : in std_logic;
q : in out std_logic;
qbar : in out std_logic);
end tff;
Behavioral Modeling :
library IEEE;
Use IEEE.STD_LOGIC_1164.All;
78
UR11EC098
VLSI LAB
Dept. of ece
79
UR11EC098
VLSI LAB
Dept. of ece
entity tff is
Port (t : in std_logic;
clk : in std_logic;
q : in out std_logic;
qbar : in out std_logic);
end tff;
80
UR11EC098
VLSI LAB
Dept. of ece
81
UR11EC098
VLSI LAB
Dept. of ece
Structural Modeling :
library IEEE;
Use IEEE.STD_LOGIC_1164.All;
entity tff is
Port (t : in std_logic;
clk : in std_logic;
q : in out std_logic;
qbar : in out std_logic);
end tff;
component and3 is
port (a,b,c: in std_logic;
d : out std_logic);
end component;
begin
x1: and3 port map(t,clk,q,s1);
82
UR11EC098
VLSI LAB
Dept. of ece
83
UR11EC098
VLSI LAB
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
85
UR11EC098
VLSI LAB
Dept. of ece
Port ( a: in STD_LOGIC;
b : in STD_LOGIC;
c : in STD_LOGIC;
d : out STD_LOGIC);
end and3;
architecture Dataflow of and3 is
begin
d<=a and b and c;
end Dataflow;
86
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT WAVEFORM :
87
UR11EC098
VLSI LAB
Dept. of ece
Result:
The design and simulation of the T-flipflop using dataflow,behavioral,
structural modeling has been performed using VHDL codeand software
mentioned.
88
UR11EC098
VLSI LAB
Ex No: 6
Date: 19-2-14
Dept. of ece
AIM:
To design and simulate counters [updown,ring & mod10] using behavioral
modeling in VHDL code.
SOFTWARE USED:
Xilinx ISE 14.7
THEORY:
UPDOWN COUNTER
A counter that can change state in either direction, under the control of an up or
down selector input, is known as an up/down counter. When the selector is in
the up state, the counter increments its value. When the selector is in the down
state, the counter decrements the count.
RING COUNTER
A ring counter is a circular shift register which is initiated such that only one of
its flip-flops is the state one while others are in their zero states.
A ring counter is a Shift Register (a cascade connection of flip-flops) with the
output of the last one connected to the input of the first, that is, in a ring.
Typically, a pattern consisting of a single bit is circulated so the state repeats
every n clock cycles if n flip-flops are used. It can be used as a cycle counter of
n states.
MOD10 COUNTER
A MOD 10 counter has 10 possible states. In other words, it counts from 0 to 9
and rolls over. The decade counter is also known as a mod-counter when it
counts to ten (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). A Mod Counter that counts to 64 stops
at 63 because 0 counts as a valid digit.
89
UR11EC098
VLSI LAB
Dept. of ece
UP-DOWN COUNTER:
TRUTH TABLE:
Present State
0000
0001
1111
0001
0010
0000
0010
0011
0001
0011
0100
0010
0100
0101
0011
0101
0110
0100
0110
0111
0101
0111
1000
0110
1000
1001
0111
1001
1010
1000
1010
1011
1001
1011
1100
1010
1100
1101
1011
1101
1110
1100
1110
1111
1101
1111
0000
1110
90
UR11EC098
VLSI LAB
Dept. of ece
PROCEDURE :
Open a new project from Xilinx ISE9.2i,a project navigation software
tool.
Select a source file name as VHDL module and define VHDL sources
respectively, the input and output ports.
Enter the program and save the file.
Check the syntax option from synthesis to know the error.
Go for the synthesis XST to view RTL schematic report (new list).
Launch Modelsim simulator from design entry utilities and enter the
value of input ports.
SOURCE CODES :
UP DOWN COUNTER(Behavioral)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity updowncounter is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC;
count : in STD_LOGIC;
s : inout STD_LOGIC_VECTOR (3 downto 0));
end updowncounter;
91
UR11EC098
VLSI LAB
Dept. of ece
RING COUNTER :
Block Diagram :
Truth Table :
Reset
Present State
000
0
0
001
011
0
0
0
0
Next State
00000001
00000010
00000100
010
00001000
00010000
100
00100000
101
01000000
110
10000000
111
92
UR11EC098
VLSI LAB
Dept. of ece
begin
process(clk,reset,count)
begin
if reset='1' then s<="0000";
elsif count='1' and rising_edge(clk) then s<=s+1;
elsif count='0' and rising_edge(clk) then s<=s-1;
end if;
end process;
end Behavioral;
RING COUNTER(Behavioral)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity ring_ctr is
Port ( clk,reset : in STD_LOGIC;
q : inout STD_LOGIC_VECTOR (0 to 1);
s : out STD_LOGIC_VECTOR (0 to 3));
end ring_ctr;
93
UR11EC098
VLSI LAB
Dept. of ece
MOD 10 COUNTER:
Block Diagram :
Truth Table :
Reset
Present State
Next State
0000
0001
0
0
0001
0010
0010
0011
0011
0100
0100
0101
0101
0110
0110
0111
0111
1000
1000
1001
1001
1010
1010
0000
0
0
0
0
0
0
0
94
UR11EC098
VLSI LAB
Dept. of ece
process(clk,reset,q)
begin
if reset='1' then q<="00";
elsif rising_edge(clk) then q<=q+1;
end if;
case q is
when "00"=>s<="0001";
when "01"=>s<="0010";
when "10"=>s<="0100";
when others=>s<="1000";
end case;
end process;
end Behavioral;
MOD-10 COUNTER(Behavioral)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity mod_ctr is
Port ( clk,reset: in STD_LOGIC;
q : inout STD_LOGIC_VECTOR(3 downto 0));
end mod_ctr;
95
UR11EC098
VLSI LAB
Dept. of ece
96
UR11EC098
VLSI LAB
Dept. of ece
97
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT WAVEFORMS:
UP-DOWN COUNTER
RING COUNTER :
MODULO-10 COUNTER :
98
UR11EC098
VLSI LAB
Dept. of ece
RESULT :
Thus the design and simulation of all the counters using behavioral modeling
are done and the outputs are verified.
99
UR11EC098
VLSI LAB
Dept. of ece
100
UR11EC098
VLSI LAB
Ex No: 7
Date: 5-3-14
Dept. of ece
AIM :
To design and simulate a static random access memory using behavioral
modeling in VHDL.
SOFTWARE USED:
Xilinx ISE 14.7i
THEORY:
Static random-access memory (SRAM) is a type of semiconductor memory that
uses bistable latching circuitry to store each bit. The term static differentiates it
from dynamic RAM (DRAM) which must be periodically refreshed. SRAM
exhibits data remanence, but it is still volatile in the conventional sense that data
is eventually lost when the memory is not powered.
Procedure :
Open XilinxISE projectnavigatorwindow.
Close allprojects whichareopen.
Create anew project.
Select a project title and check next.
Select newsource and VHDLmodule.
Select sourcename andclick next till finish.
Writethe program with the correspondingmodellingtechnique.
Check the syntaxand correct theerrors.
Simulateitand forceinput values.
Observethewaveforms
101
UR11EC098
VLSI LAB
Dept. of ece
SRAM :
Logic Diagram :
102
UR11EC098
VLSI LAB
Dept. of ece
SOURCE CODE:
SRAM(Behavioral modeling)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
entity sram is
generic(width: integer :=4;
depth:integer:=4;
addr:integer:=2);
Port ( clk : in STD_LOGIC;
en : in STD_LOGIC;
rd : in STD_LOGIC;
wr : in STD_LOGIC;
rdaddr : in STD_LOGIC_VECTOR (addr-1 downto 0);
wraadr : in STD_LOGIC_VECTOR (addr-1 downto 0);
datain : in STD_LOGIC_VECTOR (width-1 downto 0);
dataout : out STD_LOGIC_VECTOR (width-1 downto 0));
end sram;
103
UR11EC098
VLSI LAB
Dept. of ece
104
UR11EC098
VLSI LAB
Dept. of ece
begin
process(clk,rd)
begin
if(clk' event and clk='1') then
if en='1' then
if rd='1' then
dataout<=tmpram(conv_integer(rdaddr));
else
dataout<=(dataout' range =>'Z');
end if;
end if;
end if;
end process;
process(clk,wr)
begin
if(clk' event and clk='1') then
if en='1' then
if wr='1' then
tmpram(conv_integer(wraadr))<=datain;
end if;
end if;
end if;
end process;
end Behavioral;
105
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT WAVEFORM :
106
UR11EC098
VLSI LAB
Dept. of ece
Result:
Thus the static random access memory was successfullydesigned,
simulated and the output was verified .
107
UR11EC098
VLSI LAB
Dept. of ece
CODING:(CMOS INVERTER)
108
UR11EC098
VLSI LAB
Ex No: 8
Date: 05-3-14
Dept. of ece
AIM:
To design and simulate CMOS inverter, CMOS NAND and CMOS NOR gate
using TANNER EDA.
SOFTWARE USED:
Tanner EDA 7.0
THEORY:
Cmos inverter:
A CMOS inverter contains a PMOS and a NMOS transistor connected at the drain
and gate terminals, a supply voltage VDD at the PMOS source terminal, and a
ground connected at the NMOS source terminal, where VIN is connected to the
gate terminals and VOUT is connected to the drain terminals. It is important to
notice that the CMOS does not contain any resistors, which makes it more power
efficient that a regular resistor-MOSFET inverter.As the voltage at the input of the
CMOS device varies between 0 and 5 volts, the state of the NMOS and PMOS
varies accordingly. If we model each transistor as a simple switch activated by
VIN, the inverters operations can be seen very easily.
109
UR11EC098
VLSI LAB
Dept. of ece
CODING:
110
UR11EC098
VLSI LAB
Dept. of ece
any of the inputs are low, output is low.If both inputs are low then output is
high.
PROCEDURE:
1. Open the schematic editor(S-edit) from the tanner EDA tool.
2. Get the required components from the symbol browser and design given
circuit using the S-edit.
3. Give the external supply from the library to the circuit.
4. Write the program in the T-edit and run the simulation and check for errors.
5. Remove all the errors and again write the program in the T-edit and run.
6. Output waveform is viewed in the waveform viewer.
7. Get the net list and verify the output.
NETLIST:(CMOS INVERTER)
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Parsing "C:\Users\KARUNYA\Desktop\Module0.sp"
MOSFET geometries - 2
JFETs - 0
Diodes - 0
Resistors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 2
Current sources - 0
VCVS - 0
VCCS - 0
111
UR11EC098
VLSI LAB
Dept. of ece
CODING:
112
UR11EC098
VLSI LAB
Dept. of ece
CCVS - 0
CCCS - 0
V-control switch - 0
Macro devices - 0
Subcircuits - 0
I-control switch - 0
Functional model instances - 0
Subcircuit instances - 0
Independent nodes - 1
Boundary nodes - 3
Total nodes - 4
Parsing
0.01 seconds
Setup
0.01 seconds
DC operating point
0.00 seconds
Transient Analysis
0.00 seconds
----------------------------------------Total
0.02 seconds
NETLIST:(CMOS NAND )
NETLIST:
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Device and node counts:
MOSFETs - 4
BJTs - 0
MESFETs - 0
Capacitors - 0
Inductors - 0
Transmission lines - 0
MOSFET geometries - 2
JFETs - 0
Diodes - 0
Resistors - 0
Mutual inductors - 0
Coupled transmission lines - 0
113
UR11EC098
VLSI LAB
Dept. of ece
114
UR11EC098
VLSI LAB
Dept. of ece
Voltage sources - 3
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
Macro devices - 0
I-control switch - 0
Functional model instances - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 3
Boundary nodes - 4
Total nodes - 7
Warning T-SPICE : The vrange voltage range limit (5.5) for diode tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit (5.5) for MOSFET tables has been
exceeded.
Warning T-SPICE : The vrange voltage range limit should be set to
at least 7.63709 for best accuracy and performance.
Parsing
0.00 seconds
Setup
0.00 seconds
DC operating point
0.00 seconds
Transient Analysis
0.01 seconds
----------------------------------------Total
0.01 seconds
NETLIST:(CMOS NOR)
NETLIST:
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
115
UR11EC098
VLSI LAB
Dept. of ece
116
UR11EC098
VLSI LAB
Dept. of ece
Parsing "F:\Softwares\Tanner\S-Edit\Module0.sp"
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 3
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
Macro devices - 0
Subcircuits - 0
I-control switch - 0
Functional model instances - 0
Subcircuit instances - 0
Independent nodes - 2
Boundary nodes - 4
Total nodes - 6
Parsing
0.00 seconds
Setup
0.00 seconds
DC operating point
0.00 seconds
Transient Analysis
0.00 seconds
----------------------------------------Total
0.00 seconds
117
UR11EC098
VLSI LAB
Dept. of ece
118
UR11EC098
VLSI LAB
Dept. of ece
RESULT:
The design and simulation of a CMOS inverter,CMOS NAND and CMOS
NOR logic has been verified using tanner tools.
119
UR11EC098
VLSI LAB
Dept. of ece
NETLIST:
120
UR11EC098
VLSI LAB
Ex No: 9
Date: 12-3-14
Dept. of ece
AIM:
To design and simulate CMOS half-adder and full-adder using tanner EDA.
SOFTWARE USED:
Tanner EDA 7.0
THEORY:
HALF ADDER:
A combinational circuit that performs the addition of 2 bits is called a half
adder. This circuit accepts two binary inputs and produces two binary outputs.
The input variables designate augends and addend bits; the output variables
designate sum and carry.
The simplified SOP terms are
sum = ab+ab
carry = ab
FULLADDER:
A combinational circuit that performs the addition of 3 bits is called a full
adder. This circuit accepts 3 binary inputs and produces two binary outputs. The
two outputs are denoted by sum and carry.
The simplified SOP terms are
sum= abc+abc+abc+abc
carry = ab + bc+ca
PROCEDURE:
1.Open the schematic editor(S-edit) from the tanner EDA tool.
2.Get the required components from the symbol browser and design given
circuit using the S-edit.
121
UR11EC098
VLSI LAB
Dept. of ece
122
UR11EC098
VLSI LAB
Dept. of ece
UR11EC098
VLSI LAB
Dept. of ece
NETLIST:
124
UR11EC098
VLSI LAB
Dept. of ece
M17 sum Ybar Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M18 N6 Abar Vdd N7 PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M19 carry Bbar N6 N7 PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
v20 Vdd Gnd 5.0
.model pmos pmos
.model nmos nmos
v1 A gnd BIT ({110011})
v2 B gnd BIT ({100001})
.tran 4n 400n
.print A B sum carry
* End of main circuit: Module0
125
UR11EC098
VLSI LAB
Dept. of ece
126
UR11EC098
VLSI LAB
Dept. of ece
M10 N5 B Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M11 Gnd Bbar N3 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M12 Bbar B Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M13 Cbar C Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M14 Abar A Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M15 S3 A N2 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M16 N4 C Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M17 S3 B N4 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M18 N10 A Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M19 S3 C N10 Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M20 CARRY S3 Gnd Gnd NMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M21 S1bar S1 Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M22 S2 C N19 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M23 N19 S1bar S2 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M24 N19 Cbar Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M25 Vdd S1 N19 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M26 SUM S2 Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M27 Vdd B N1 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M28 N1 A Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M29 S1 A N6 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M30 N6 Bbar S1 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M31 Bbar B Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M32 Cbar C Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M33 Abar A Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M34 N6 Abar Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M35 Vdd B N6 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M36 Bbar B Vdd Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
M37 N1 C N8 Vdd PMOS L=2u W=22u AD=66p PD=24u AS=66p PS=24u
127
UR11EC098
VLSI LAB
Dept. of ece
128
UR11EC098
VLSI LAB
Dept. of ece
RESULT:
The design and simulation of half-adder and full-adder has been verified using
Tanner.
129
UR11EC098
VLSI LAB
Dept. of ece
130
UR11EC098
VLSI LAB
Ex No: 10
Date: 19-3-14
Dept. of ece
AIM:
To design and simulate 2x1 Mux and Transmission gate using Tanner
software.
SOFTWARE USED:
Tanner EDA 7.0
THEORY:
MULTIPLEXER:
It is combinational circuit that selects binary information from one of the many
inputs and directs it to a single output. The selection lines or controlled lines. It
is used as a data selector and parallel to serial convertor. In reference to the
block diagram a two bit binary code on the data select input will also allow the
data on the corresponding data input to pass through the data output.
TRANSMISSION GATE:
Transmission gates also known as pass gates represents another class of
logic circuits which use TGs as basic building block. It consist of a PMOS and
NMOS connected in parallel. Gate voltage applied to these gates is
complementary of each other(C and Cbar). TGs act as bidirectional switch
between two nodes A and B controlled by signal C. Gate of NMOS is connected
to C and gate of PMOS is connected to Cbar(invert of C). When control signal
C is high i.e. VDD, both transistor are on and provides a low resistance path
between A and B. On the other hand , when C is low both transistors are turned
off and provides high impedance path between A and B.
131
UR11EC098
VLSI LAB
Dept. of ece
TRANSMISSION GATE
CIRCUIT DIAGRAM:
CODING:
132
UR11EC098
VLSI LAB
Dept. of ece
PROCEDURE:
1. Open the schematic editor(S-edit) from the tanner EDA tool.
2. Get the required components from the symbol browser and design given
circuit using the S-edit.
3. Give the external supply from the library to the circuit.
4. Write the program in the T-edit and run the simulation and check for errors.
5. Remove all the errors and again write the program in the T-edit and run.
6. Output waveform is viewed in the waveform viewer.
7. Get the net list and verify the output.
133
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT:
134
UR11EC098
VLSI LAB
Dept. of ece
Netlist:(Transmission gate)
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Parsing "C:\Users\KARUNYA\Desktop\Module0.sp"
Device and node counts:
MOSFETs - 4
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 3
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 2
Boundary nodes - 4
Total nodes - 6
Parsing
0.00 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
Total
0.00 seconds
0.03 seconds
0.03 seconds
135
UR11EC098
VLSI LAB
Dept. of ece
2X1 MULTIPLEXER
CIRCUIT DIAGRAM :
CODING:
136
UR11EC098
VLSI LAB
Dept. of ece
NETLIST:
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Parsing "F:\Softwares\Tanner\S-Edit\Module0.sp"
Warning T-SPICE : DC sources have non-unique names. "V1".
Device and node counts:
MOSFETs - 6
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 4
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
Macro devices - 0
Subcircuits - 0
I-control switch - 0
Functional model instances - 0
Subcircuit instances - 0
Independent nodes - 2
Boundary nodes - 5
Total nodes - 7
*** 1 WARNING MESSAGES GENERATED
Parsing
0.00 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
Total
0.00 seconds
0.04 seconds
0.04 seconds
137
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT:
138
UR11EC098
VLSI LAB
Dept. of ece
RESULT:
The design and simulation of transmission gate multiplexer has been
verified using Tanner tools
139
UR11EC098
VLSI LAB
Dept. of ece
140
UR11EC098
VLSI LAB
Ex No: 11
Date: 26-3-14
Dept. of ece
AIM:
To design and simulate BICMOS inverter, BICMOS NAND
BICMOS NOR gate and Boolean expression using Tanner EDA.
and
SOFTWARE USED:
Tanner EDA 7.0
THEORY:
BICMOS on chip is obtained by merging CMOS and BJT devices.An
alternative solution to the problem of driving large capacitive loads can be provided
by BICMOS.Taking advantage of the low problem consumption of the CMOS and
the high current driving capability of BJT during transients, the BICMOS can
combine the best of both worlds.The BICMOS combination has significant
advantages to offer such as improved switching speed and less sensitivity w.r.t the
load capacitance.In general, BICMOS logic circuits are not bipolar intensive i.e most
logic operations are performed by conventional CMOS sub circuits,while the bipolar
transistor are used only when high on chip or off chip drive capability is required.
The most significant drawback of BICMOS circuit lies in the increased
fabrication process complexity,it requires 3-4 masks in addition to the well
established CMOS process.
BICMOS INVERTER:
It consists of two MOS transistors(inverter part) and two npn BJT which
can drive a large capacitive load.In addition,two n-MOS transistors(Mb1 & Mb2) are
usually added to provide the necessary base discharge path.
When the input voltage is very close to zero, the n-MOS transistors Mh
and Mb1 are off,whereas p-MOS transistor Mp and thus the n-MOS transistor Mb2
are on.Since the base voltage of Q2 is equal to zero the bipolar output pull down
transistor is in cut off mode,consequently, both the BJT Q1 and Q2 are not able to
conduct any current at this point.
141
UR11EC098
VLSI LAB
Dept. of ece
CODING:
142
UR11EC098
VLSI LAB
Dept. of ece
When the input voltage is increased beyond the threshold, the n-MOS
transistor Mn starts to conduct a non-zero base currents for Q2.Thus,the BJT Q1 and
Q2 enter the forward active region. The base emitter junction voltage of both
transistors rise very abruptly and cause step down in DC voltage characteristics.For
high voltage levels,the drain to source voltage of Mn is zero and no base current can
be supplied to Q2.
BICMOS NOR LOGIC:
The base of the bipolar pull up transistor Q1 is being driven by two series
connected p-MOS transistors.Therefore the pull up device can be turned on only if
both the inputs are logic low.
The base of the bipolar pull down transistor Q2 is being driven by two //lel
connected n-MOS transistors.Therefore, the pull down device can be turned on if
either one or both of the inputs are high.Also, the base charge of the pull up device is
removed by two minimum sized n-MOS transistors connected in //lel between the
base node and the ground.
BICMOS NAND LOGIC:
The base of the bipolar pull up transistor Q1 is being driven by two//lel
connected p-MOS transistors.Here, the pull up device is turned on when either one or
both of the inputs are logic low.The bipolar pull down transistor Q2 on the other hand
is driven by two series connected n-MOS transistors between output node and the
base.Therefore, the pulldown device can be turned on only if both of the inputs are
logic high.For the removal of the base charge of Q1 during turn off,two series
connected n-MOS transistors are used,whereas only one n-MOS transistor is utilised
for removing the base charge of Q2.
PROCEDURE:
1.Open the schematic editor(S-edit) from the tanner EDA tool.
2.Get the required components from the symbol browser and design given
circuit using the S-edit.
3.Give the external supply from the library to the circuit.
4.Write the program in the T-edit and run the simulation and check for errors.
5.Remove all the errors and again write the program in the T-edit and run.
6.Output waveform is viewed in the waveform viewer.
7.Get the net list and verify the output.
143
UR11EC098
VLSI LAB
Dept. of ece
CODING:
144
UR11EC098
VLSI LAB
Dept. of ece
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 4
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 6
Boundary nodes - 5
Total nodes - 11
Warning T-SPICE : The vrange voltage range limit (5.5) for diode tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit (5.5) for MOSFET tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit should be set to at least 1480.5 for best accuracy
and performance.
Parsing
0.04 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
Total
0.00 seconds
4.23 seconds
4.27 seconds
145
UR11EC098
VLSI LAB
Dept. of ece
CODING:
146
UR11EC098
VLSI LAB
Dept. of ece
INVERTER NETLIST:
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Device and node counts:
MOSFETs - 2
MOSFET geometries - 2
BJTs - 2
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 1
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 2
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 3
Boundary nodes - 3
Total nodes - 6
Warning T-SPICE : The vrange voltage range limit (5.5) for diode tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit (5.5) for MOSFET tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit should be set to at least 25.525 for best accuracy
and performance.
Parsing
0.03 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
Total
0.00 seconds
0.16 seconds
0.19 seconds
147
UR11EC098
VLSI LAB
Dept. of ece
CODING:
148
UR11EC098
VLSI LAB
Dept. of ece
MOSFET geometries - 2
BJTs - 2
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 1
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 3
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 3
Boundary nodes - 4
Total nodes - 7
Parsing
0.01 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
0.01 seconds
5.35 seconds
----------------------------------------Total
5.37 seconds
149
UR11EC098
VLSI LAB
Dept. of ece
150
UR11EC098
VLSI LAB
Dept. of ece
Parsing "F:\Softwares\Tanner\S-Edit\Module0.sp"
MOSFET geometries - 2
BJTs - 2
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 1
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 3
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 3
Boundary nodes - 4
Total nodes - 7
Parsing
0.03 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
0.00 seconds
0.01 seconds
----------------------------------------Total
0.04 seconds
151
UR11EC098
VLSI LAB
Dept. of ece
152
UR11EC098
VLSI LAB
Dept. of ece
RESULT:
The design and simulation of BICMOS inverter, BICMOS NAND,
BICMOS NOR logic and a Boolean Expression has been verified using tanner
tools.
153
UR11EC098
VLSI LAB
Dept. of ece
Coding:
154
UR11EC098
VLSI LAB
Ex No: 12
Date: 2-04-14
Dept. of ece
AIM:
To design and simulate different CMOS design styles using tanner EDA
for the expression .((A.B)+C)
SOFTWARE USED:
Tanner EDA 7.0
THEORY:
Dynamic logic:
In static circuits the output is connected to either GND or VDD via a
low resistance path.
fan-in of n requires 2n (n N-type + n P-type) devices.
Dynamic circuits use temporary storage of signal values on the
capacitance of high impedance nodes.
requires on n + 2 (n+1 N-type + 1 P-type) transistors.
Conditions on Output:
1.Once the output of a dynamic gate is discharged, it cannot be charged
again until the next precharge operation.
2.Inputs to the gate can make at most one transition during evaluation.
3.Output can be in the high impedance state during and after evaluation
(PDN off), state is stored on CL.
Properties of dynamic gates:
1. Overall power dissipation usually higher than static CMOS
no static current path ever exists between VDD and GND (including
Psc)
no glitching
higher transition probabilities
extra load on Clk
2.PDN starts to work as soon as the input signals exceed VTn, so VM, VIH
and VIL equal to VTn
low noise margin (NML)
3.Needs a precharge/evaluate clock.
155
UR11EC098
VLSI LAB
Dept. of ece
Coding:
156
UR11EC098
VLSI LAB
Dept. of ece
Characteristics:
Consumes static power.
Has much smaller pullup network than static gate.
Pulldown time is longer because pullup is fighting.
Producing O/P Voltages:
For logic 0 output, pullup and pulldown form a voltage
divider.
157
UR11EC098
VLSI LAB
Dept. of ece
PSEUDO LOGIC:
CODING:
158
UR11EC098
VLSI LAB
Dept. of ece
PROCEDURE:
1.Open the schematic editor(S-edit) from the tanner EDA tool.
2.Get the required components from the symbol browser and design given
circuit using the S-edit.
3.Give the external supply from the library to the circuit.
4.Write the program in the T-edit and run the simulation and check for errors.
5.Remove all the errors and again write the program in the T-edit and run.
6.Output waveform is viewed in the waveform viewer.
7.Get the net list and verify the output.
159
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT:(Dynamic logic)
OUTPUT:(Domino logic)
160
UR11EC098
VLSI LAB
Dept. of ece
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 5
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 3
Boundary nodes - 6
Total nodes - 9
Parsing
0.01 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
0.00 seconds
0.01 seconds
----------------------------------------Total
0.02 seconds
161
UR11EC098
VLSI LAB
Dept. of ece
OUTPUT:(Pseudo logic)
162
UR11EC098
VLSI LAB
Dept. of ece
Domino logic:(Netlist)
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Device and node counts:
MOSFETs - 9
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 4
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
I-control switch - 0
Macro devices - 0
Subcircuits - 0
Subcircuit instances - 0
Independent nodes - 6
Boundary nodes - 5
Total nodes - 11
0.01 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
0.00 seconds
0.07 seconds
----------------------------------------Total
0.08 seconds
163
UR11EC098
VLSI LAB
Dept. of ece
164
UR11EC098
VLSI LAB
Dept. of ece
Pseudo Logic:(Netlist)
TSPICE - Tanner SPICE
Version 7.10
Copyright (c) 1993-2001 Tanner Research, Inc.
Parsing "F:\Softwares\Tanner\S-Edit\Module0.sp"
Device and node counts:
MOSFETs - 4
MOSFET geometries - 2
BJTs - 0
JFETs - 0
MESFETs - 0
Diodes - 0
Capacitors - 0
Resistors - 0
Inductors - 0
Mutual inductors - 0
Transmission lines - 0
Voltage sources - 4
Current sources - 0
VCVS - 0
VCCS - 0
CCVS - 0
CCCS - 0
V-control switch - 0
Macro devices - 0
Subcircuits - 0
I-control switch - 0
Functional model instances - 0
Subcircuit instances - 0
Independent nodes - 2
Boundary nodes - 5
Total nodes - 7
Warning T-SPICE : The vrange voltage range limit (5.5) for diode tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit (5.5) for MOSFET tables has been exceeded.
Warning T-SPICE : The vrange voltage range limit should be set to
at least 28.6857 for best accuracy and performance.
Parsing
0.01 seconds
Setup
0.00 seconds
DC operating point
Transient Analysis
Total
0.00 seconds
0.01 seconds
0.02 seconds
165
UR11EC098
VLSI LAB
Dept. of ece
166
UR11EC098
VLSI LAB
Dept. of ece
Result:
The design and simulation of dynamic,domino and Pseudo logics has
been verified using Tanner.
167
UR11EC098