Vlsi Record
-
Upload
selvarajkm -
Category
Documents
-
view
225 -
download
0
Transcript of Vlsi Record
-
8/2/2019 Vlsi Record
1/184
INDEX
EXP NO DATE NAME OF THEEXPERIMENT
PAGENO
MARKS STAFFSIGNATURE
09.01.2011 VERIFICATION OF LOGICGATES
(STUDY EXPERIMENT)
02
1 23.01.2011 ADDERS ANDSUBTRACTORS
08
2 29.01.2011 ENCODER ANDDECODER
57
3 29.01.2011 MULTIPLEXER ANDDEMULTIPLEXER
68
4 06.02.2011 DESIGN OF FLIPFLOPS 80
5 12.02.2011 DESIGN OF SHIFTREGISTERS
99
6 26.02.2011 SYNCHRONOUS ANDASYNCHRONOUS
COUNTER
114
7 06.03.2011 DESIGN OF MOORE ANDMEALY FSM
123
8 06.03.2011 STATIC AND ROLLINGDISPLAY 132
9 12.03.2011 FREQUENCY DIVIDER 137
10 12.03.2011 DESIGN OF ARITHMETICAND LOGIC UNIT
141
11 20.03.2011 BARREL SHIFTER 147
12 26.03.2011 TRAFFIC LIGHTCONTROLLER
151
13 02.04.2011 DESIGN OF MEMORIES 159
14 02.04.2011 DESIGN OF MAC UNIT 166
15 09.04.2011 SWITCH LEVEL DESIGN 170
Sathyabama University -Department of VLSI DesignPage 1
-
8/2/2019 Vlsi Record
2/184
DATE: 09-01-11
VERIFICATION OF LOGIC GATES
AIM:
To develop the source code for logic gates by using VHDL/VERILOG and obtain the simulation, synthesis,place and route and implement into FPGA.
ALGORITHM:
Step1: Define the specifications and initialize the design.Step2: Declare the name of the entity and architecture by using VHDL source code.Step3: Write the source code in VERILOG.Step4: Check the syntax and debug the errors if found, obtain the synthesis report.Step5: Verify the output by simulating the source code.Step6: Write all possible combinations of input using the test bench.Step7: Obtain the place and route report.
LOGIC DIAGRAM:
AND GATE: OR GATE:
LOGIC DIAGRAM: TRUTH TABLE: LOGIC DIAGRAM TRUTH TABLE:
NOT GATE:
NAND
GATE:
LOGIC DIAGRAM: TRUTH TABLE: LOGIC DIAGRAM TRUTH TABLE
NOR GATE: XOR GATE:
LOGIC DIAGRAM: TRUTH TABLE: LOGIC DIAGRAM TRUTH TABLE
XNOR GATE:
LOGIC DIAGRAM: TRUTH TABLE:
Sathyabama University -Department of VLSI DesignPage 2
A B Y=A+B
0 0 0
0 1 1
1 0 1
1 1 1
A B Y=AB
0 0 0
0 1 0
1 0 0
1 1 1
A B Y=(AB)
0 0 1
0 1 11 0 1
1 1 0
A Y=A
0 1
1 0
A B Y=(A+B)
0 0 1
0 1 0
1 0 0
1 1 0
A B
0 0 0
0 1 1
1 0 1
1 1 0
A B
0 0 1
0 1 0
1 0 0
1 1 1
-
8/2/2019 Vlsi Record
3/184
VHDL SOUCE CODE:
--Design : VERIFICATION OF LOGIC GATES--Description : To implement LOGIC GATES--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity logicgates isPort ( a : in std_logic;
b : in std_logic;c : out std_logic_vector(6 downto 0));
end logicgates;
architecture dataflow of logicgates is
beginc(0)
-
8/2/2019 Vlsi Record
4/184
ARCHITECTURE testbench OF logicgatestest_vhd ISCOMPONENT logicgatesPORT(
a : IN std_logic;b : IN std_logic;c : OUT std_logic_vector(6 downto 0));
END COMPONENT;
SIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';
SIGNAL c : std_logic_vector(6 downto 0);
BEGIN
uut: logicgates PORT MAP(a => a,b => b,c => c
);
tb : PROCESSBEGIN
a
-
8/2/2019 Vlsi Record
5/184
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Final ResultsRTL Top Level Output File Name : logicgates.ngrTop Level Output File Name : logicgatesOutput Format : NGCOptimization Goal : Speed
Keep Hierarchy : NODesign Statistics# IOs : 9Cell Usage :# BELS : 7# INV : 1
# LUT2 : 6
# IO Buffers : 9# IBUF : 2# OBUF : 7=========================================================================
Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 3 out of 3584 0% Number of 4 input LUTs: 6 out of 7168 0% Number of bonded IOBs: 9 out of 97 9%
Sathyabama University -Department of VLSI DesignPage 5
-
8/2/2019 Vlsi Record
6/184
=========================================================================TIMING REPORT
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------
Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.985ns
Timing Detail:--------------All values displayed in nanoseconds (ns)
=========================================================================Timing constraint: Default path analysis
Total number of paths / destination ports: 13 / 7-------------------------------------------------------------------------Delay: 7.985ns (Levels of Logic = 3)
Source: a (PAD)Destination: y2 (PAD)
Data Path: a to y2Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)---------------------------------------- ------------IBUF:I->O 7 0.715 1.201 a_IBUF (a_IBUF)LUT2:I0->O 1 0.479 0.681 y31 (y3_OBUF)OBUF:I->O 4.909 y3_OBUF (y3)
----------------------------------------Total 7.985ns (6.103ns logic, 1.882ns route)(76.4% logic, 23.6% route)
=========================================================================CPU : 11.83 / 12.59 s | Elapsed : 12.00 / 12.00 s
Place and root report:
Constraints file: logicgates.pcf.Loading device for application Rf_Device from file '3s400.nph' in environmentC:/Xilinx.
"logicgates" is an NCD, version 3.1, device xc3s400, package tq144, speed -5
Initializing temperature to 85.000 Celsius. (default - Range: 0.000 to 85.000Celsius)Initializing voltage to 1.140 Volts. (default - Range: 1.140 to 1.260 Volts)Device speed data version: "ADVANCED 1.35 2005-01-22".Device Utilization Summary:
Number of External IOBs 9 out of 97 9%Number of LOCed IOBs 0 out of 9 0%
Sathyabama University -Department of VLSI DesignPage 6
-
8/2/2019 Vlsi Record
7/184
Number of Slices 3 out of 3584 1%Number of SLICEMs 0 out of 1792 0%
Overall effort level (-ol): Standard (set by user)Placer effort level (-pl): Standard (set by user)Placer cost table entry (-t): 1Router effort level (-rl): Standard (set by user)
Starting Placer
Phase 1.1Phase 1.1 (Checksum:989697) REAL time: 3 secsPhase 2.31Phase 2.31 (Checksum:1312cfe) REAL time: 3 secsPhase 3.2Phase 3.2 (Checksum:1c9c37d) REAL time: 3 secsPhase 4.3Phase 4.3 (Checksum:26259fc) REAL time: 3 secsPhase 5.5Phase 5.5 (Checksum:2faf07b) REAL time: 3 secsPhase 6.8.Phase 6.8 (Checksum:98a1bf) REAL time: 3 secs
Phase 7.5Phase 7.5 (Checksum:42c1d79) REAL time: 3 secPhase 8.18Phase 8.18 (Checksum:4c4b3f8) REAL time: 3 secsPhase 9.5Phase 9.5 (Checksum:55d4a77) REAL time: 3 secsWriting design to file logicgates.ncdTotal REAL time to Placer completion: 3 secsTotal CPU time to Placer completion: 1 secs
Starting Router
Phase 1: 19 unrouted; REAL time: 3 secs
Phase 2: 19 unrouted; REAL time: 3 secsPhase 3: 0 unrouted; REAL time: 3 secsPhase 4: 0 unrouted; REAL time: 3 secs
Total REAL time to Router completion: 3 secsTotal CPU time to Router completion: 1 secsGenerating "PAR" statistics.Generating Pad Report.All signals are completely routed.Total REAL time to PAR completion: 4 secsTotal CPU time to PAR completion: 2 secsPeak Memory Usage: 74 MBPlacement: Completed - No errors found.Routing: Completed - No errors found.Number of error messages: 0Number of warning messages: 0Number of info messages: 1Writing design to file logicgates.ncdPAR done!----------------------------------------------------------------------------------------------------------------------
CONCLUSION:
Thus the outputs of Basic Logic Gates are verified by simulating and synthesizing the VHDL andVERILOG code.
Sathyabama University -Department of VLSI DesignPage 7
-
8/2/2019 Vlsi Record
8/184
EXP NO: 01 DATE: 23-01-11
ADDERS AND SUBTRACTORS
AIM:
To develop the source code for adders and subtractors by using VHDL/VERILOG and obtain the simulation &synthesis.
ALGORITM:
Step1: Define the specifications and initialize the design.Step2: Declare the name of the entity and architecture by using VHDL source code.Step3: Write the source code in VERILOG.Step4: Check the syntax and debug the errors if found, obtain the synthesis report.Step5: Verify the output by simulating the source code.Step6: Write all possible combinations of input using the test bench.Step7: Obtain the place and route report.
BASIC ADDERS & SUBTRACTORS:
HALF ADDER:
LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE CODE:
--Design : HALF ADDER--Description : To implement HALF ADDER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;entity hadd isPort ( a : in std_logic;
b : in std_logic;sum : out std_logic;carry : out std_logic);
end hadd;architecture dataflow of hadd isbeginsum
-
8/2/2019 Vlsi Record
9/184
end dataflow;
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity haddbehavioral isPort ( a : in std_logic;
b : in std_logic;sum : out std_logic;carry : out std_logic);
end haddbehavioral;architecture Behavioral of haddbehavioral isbeginp1:process (a,b)beginsum
-
8/2/2019 Vlsi Record
10/184
b : in std_logic;z : out std_logic);
end and2;architecture dataflow of and2 isbeginz
-
8/2/2019 Vlsi Record
11/184
xorx1(s,a,b);anda1(ca,a,b);
endmoduleTEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_bench_vhd ISEND test_bench_vhd;
ARCHITECTURE behavior OF test_bench_vhd IS
COMPONENT haddPORT(
a : IN std_logic;b : IN std_logic;sum : OUT std_logic;
carry : OUT std_logic);
END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';
--OutputsSIGNAL sum : std_logic;SIGNAL carry : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: hadd PORT MAP(
a => a,b => b,sum => sum,carry => carry
);
tb : PROCESSBEGIN
a
-
8/2/2019 Vlsi Record
12/184
Simulation output:
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of 4 input LUTs: 2 out of 7168 0% Number of bonded IOBs: 4 out of 97 4%=========================================================================TIMING REPORTClock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.824ns
Sathyabama University -Department of VLSI DesignPage 12
-
8/2/2019 Vlsi Record
13/184
HALF SUBTRACTOR:
LOGIC DIAGRAM: TRUTH TABLE
VHDL SOURCE CODE:
--Design : HALF SUBTRACTOR--Description : To implement HALF SUBTRACTOR
--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity hsub_dataflow is
Port ( a : in std_logic;b : in std_logic;diff : out std_logic;
borrow : out std_logic);end hsub_dataflow;architecture dataflow of hsub_dataflow isbegindiff
-
8/2/2019 Vlsi Record
14/184
beginabar:= not a;diff
-
8/2/2019 Vlsi Record
15/184
use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity xor2 is
Port ( a : in std_logic;b : in std_logic;z : out std_logic);
end xor2;architecture dataflow of xor2 isbegin
z
-
8/2/2019 Vlsi Record
16/184
module hs_struct(a, b, dif, bor);input a;input b;output dif;output bor;
wire abar;xorx1(dif,a,b);
notn1(abar,a);anda1(bor,abar,b);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT hsub_dataflowPORT(
a : IN std_logic;b : IN std_logic;diff : OUT std_logic;borrow : OUT std_logic);
END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';
--OutputsSIGNAL diff : std_logic;SIGNAL borrow : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: hsub_dataflow PORT MAP(
a => a,b => b,diff => diff,borrow => borrow
);
tb : PROCESSBEGIN
a
-
8/2/2019 Vlsi Record
17/184
a
-
8/2/2019 Vlsi Record
18/184
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.824ns
FULL ADDER:
LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE CODE:
--Design : FULL ADDER--Description : To implement FULL ADDER
--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fadd_dataflow is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;sum : out std_logic;carry : out std_logic);
end fadd_dataflow;architecture dataflow of fadd_dataflow issignal p,q,r,s:std_logic;beginp
-
8/2/2019 Vlsi Record
19/184
sum
-
8/2/2019 Vlsi Record
20/184
x2: xor2 port map (p,c,sum);a1: and2 port map (a,b,q);a2: and2 port map (b,c,r);a3: and2 port map (c,a,s);o1: or3 port map (q,r,s,carry);end structural;
and2 component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity and2 is
Port ( a : in std_logic;b : in std_logic;z : out std_logic);
end and2;
architecture dataflow of and2 isbeginz
-
8/2/2019 Vlsi Record
21/184
VERILOG SOURCE CODE:
Dataflow Modeling:
module fulladddataflow(a, b, cin, sum, carry);input a;input b;input cin;
output sum;output carry;
assign sum=a^b^cin;assign carry=(a & b) | (b & cin) | (cin & a);endmodule
Behavioral Modeling:
module fuladbehavioral(a, b, c, sum, carry);input a;input b;input c;output sum;
output carry;reg sum,carry;reg t1,t2,t3;always @ (a or b or c) beginsum = (a^b)^c;t1=a & b;t2=b & c;t3=a & c;carry=(t1 | t2) | t3;end
endmodule
Structural Modeling:
module fa_struct(a, b, c, sum, carry);input a;input b;input c;output sum;output carry;
wire p,q,r,s;xorx1(p,a,b),x2(sum,p,c);anda1(q,a,b),a2(r,b,c),a3(s,a,c);oro1(carry,q,r,s);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;
Sathyabama University -Department of VLSI DesignPage 21
-
8/2/2019 Vlsi Record
22/184
USE ieee.numeric_std.ALL;
ENTITY test1_vhd ISEND test1_vhd;
ARCHITECTURE behavior OF test1_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT fadd_dataflow
PORT(a : IN std_logic;b : IN std_logic;c : IN std_logic;sum : OUT std_logic;carry : OUT std_logic);
END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';SIGNAL c : std_logic := '0';
--OutputsSIGNAL sum : std_logic;SIGNAL carry : std_logic;
BEGIN-- Instantiate the Unit Under Test (UUT)uut: fadd_dataflow PORT MAP(
a => a,b => b,c => c,sum => sum,carry => carry
);
tb : PROCESSBEGIN
a
-
8/2/2019 Vlsi Record
23/184
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of 4 input LUTs: 2 out of 7168 0% Number of bonded IOBs: 5 out of 97 5%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Sathyabama University -Department of VLSI DesignPage 23
-
8/2/2019 Vlsi Record
24/184
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.824ns
FULL SUBTRACTOR:
LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE CODE:
--Design :FULL SUBTRACTOR--Description : To implement FULL SUBTRACTOR--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fsub_dataflow is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;diff : out std_logic;borrow : out std_logic);
end fsub_dataflow;architecture dataflow of fsub_dataflow issignal abar:std_logic;begin
Sathyabama University -Department of VLSI DesignPage 24
A B C DIFFERENCE BORROW
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
-
8/2/2019 Vlsi Record
25/184
abar
-
8/2/2019 Vlsi Record
26/184
port(a,b,c:in std_logic;z:out std_logic);
end component;signal p,q,r,s,abar:std_logic;beginx1:xor2 port map (a,b,p);x2:xor2 port map (p,c,diff);n1:not1 port map (a,abar);a1:and2 port map (abar,b,q);
a2:and2 port map (b,c,r);a3:and2 port map (c,abar,s);o1:or3 port map (q,r,s,borrow);end structural;
VERILOG SOURCE CODE:
Dataflow Modeling:
module fulsubdataflow(a, b, cin, diff, borrow);input a;input b;input cin;output diff;output borrow;
wire abar;assign abar= ~ a;assign diff=a^b^cin;assign borrow=(abar & b) | (b & cin) |(cin & abar);
endmodule
Behavioral Modeling:
module fulsubbehavioral(a, b, cin, diff, borrow);input a;input b;input cin;output diff;output borrow;
reg t1,t2,t3;reg diff,borrow;reg abar;always @ (a or b or cin) beginabar= ~ a;diff = (a^b)^cin;t1=abar & b;t2=b & cin;t3=cin & abar;borrow=(t1 | t2) | t3;end
endmodule
Sathyabama University -Department of VLSI DesignPage 26
-
8/2/2019 Vlsi Record
27/184
Structural Modeling:
module fs_struct(a, b, c, diff, borrow);input a;input b;input c;output diff;output borrow;
wire abar,p,q,r,s;
notn1(abar,a);xorx1(p,a,b),x2(diff,p,c);anda1(q,abar,b),a2(r,abar,c),a3(s,a,c);oro1(borrow,q,r,s);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY tst_vhd ISEND tst_vhd;
ARCHITECTURE behavior OF tst_vhd IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT fsub_dataflowPORT(a : IN std_logic;b : IN std_logic;c : IN std_logic;diff : OUT std_logic;borrow : OUT std_logic);
END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';SIGNAL c : std_logic := '0';
--OutputsSIGNAL diff : std_logic;SIGNAL borrow : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: fsub_dataflow PORT MAP(
a => a,
Sathyabama University -Department of VLSI DesignPage 27
-
8/2/2019 Vlsi Record
28/184
b => b,c => c,diff => diff,borrow => borrow
);
tb : PROCESSBEGIN
a
-
8/2/2019 Vlsi Record
29/184
* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of 4 input LUTs: 2 out of 7168 0%
Number of bonded IOBs: 5 out of 97 5%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.824ns
FULL ADDER USING TWO HALF ADDERS:
LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE CODE:
--Design : FULL ADDER USING TWO HALF ADDERS--Description : To implement FULL ADDER USING TWO HALF ADDERS--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Structural Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;
Sathyabama University -Department of VLSI DesignPage 29
A B C SUM CARRY
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
-
8/2/2019 Vlsi Record
30/184
use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fadd2 is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;sum : out std_logic;carry : out std_logic);
end fadd2;
architecture structural of fadd2 iscomponent haddport(a,b:in std_logic;sum,carry:out std_logic);end component;component or2port(a,b:in std_logic;
z:out std_logic);end component;signal p,q,r:std_logic;beginh1:hadd port map (a,b,p,q);h2:hadd port map (p,c,sum,r);
o1:or2 port map (r,q,carry);end structural;
hadd component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity hadd is
Port ( a : in std_logic;b : in std_logic;sum : out std_logic;
carry : out std_logic);end hadd;architecture dataflow of hadd isbeginsum
-
8/2/2019 Vlsi Record
31/184
VERILOG SOURCE CODE:
Structural Modeling:
module fa_2ha(a, b, c, sum, carry);input a;input b;input c;output sum;
output carry;wire p,q,r;ha_dataflowh1(a,b,p,q),h2(p,c,sum,r);oro1(carry,q,r);endmodule
module ha_dataflow(a, b, s, ca);input a;input b;output s;output ca;
assign#2 s=a^b;assign#2 ca=a&b;
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY tst_vhd ISEND tst_vhd;
ARCHITECTURE behavior OF tst_vhd IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT fadd2PORT(
a : IN std_logic;b : IN std_logic;c : IN std_logic;sum : OUT std_logic;carry : OUT std_logic);
END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';SIGNAL c : std_logic := '0';
--OutputsSIGNAL sum : std_logic;SIGNAL carry : std_logic;
BEGIN
Sathyabama University -Department of VLSI DesignPage 31
-
8/2/2019 Vlsi Record
32/184
-- Instantiate the Unit Under Test (UUT)uut: fadd2 PORT MAP(
a => a,b => b,c => c,sum => sum,carry => carry
);
tb : PROCESSBEGIN
a
-
8/2/2019 Vlsi Record
33/184
=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of 4 input LUTs: 2 out of 7168 0% Number of bonded IOBs: 5 out of 97 5%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.824ns
FULL SUBTRACTOR USING TWO HALF SUBTRACTORS:
LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE CODE:
--Design : FULL SUBTRACTOR USING TWO HALF SUBTRACTORS--Description : To implement FULL SUBTRACTOR USING TWO HALF SUBTRACTORS--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Structural Modeling:
Sathyabama University -Department of VLSI DesignPage 33
A B C DIFFERENCE BORROW
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
-
8/2/2019 Vlsi Record
34/184
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fsub2 is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;diff : out std_logic;
borrow : out std_logic);end fsub2;architecture structural of fsub2 iscomponent hsub_dataflowport(a,b:in std_logic;diff,borrow:out std_logic);end component;component or2port(a,b:in std_logic;
z:out std_logic);end component;signal p,q,r:std_logic;begin
h1:hsub_dataflow port map (a,b,p,q);h2:hsub_dataflow port map (p,c,diff,r);o1:or2 port map (r,q,borrow);end structural;
hsub component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity hsub_dataflow is
Port ( a : in std_logic;
b : in std_logic;diff : out std_logic;borrow : out std_logic);
end hsub_dataflow;architecture dataflow of hsub_dataflow isbegindiff
-
8/2/2019 Vlsi Record
35/184
oro1(borrow,q,r);
endmodule
module hs_dataflow(a, b, dif, bor);input a;input b;output dif;output bor;
wire abar;assign#3 abar=~a;assign#3 dif=a^b;assign#3 bor=b&abar;
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY tst_vhd ISEND tst_vhd;
ARCHITECTURE behavior OF tst_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT fsub2PORT(
a : IN std_logic;b : IN std_logic;c : IN std_logic;diff : OUT std_logic;borrow : OUT std_logic
);END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';SIGNAL c : std_logic := '0';
--OutputsSIGNAL diff : std_logic;SIGNAL borrow : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: fsub2 PORT MAP(
a => a,b => b,c => c,diff => diff,borrow => borrow
);
tb : PROCESS
Sathyabama University -Department of VLSI DesignPage 35
-
8/2/2019 Vlsi Record
36/184
BEGINa
-
8/2/2019 Vlsi Record
37/184
Number of 4 input LUTs: 2 out of 7168 0% Number of bonded IOBs: 5 out of 97 5%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.824ns
RIPPLE CARRY ADDER (Binary adder):
LOGIC DIAGRAM:
VHDL SOURCE CODE:
--Design : RIPPLE CARRY ADDER--Description : To implement RIPPLE CARRY ADDER--Author : Jeyakannan.N--Reg no : 3082611
Sathyabama University -Department of VLSI DesignPage 37
A(0) B(0) A(1) B(1) A(2) B(2) A(3) B(3)
S(0) S(1) S(2) S(3)
Cin
-
8/2/2019 Vlsi Record
38/184
--Version : Xilinx- 7.1i
Structural Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity rca is
Port ( a : in std_logic_vector(3 downto 0);b : in std_logic_vector(3 downto 0);c : in std_logic;s : out std_logic_vector(3 downto 0);cout : out std_logic);
end rca;architecture structural of rca iscomponent fadd_behvport(a,b,c:in std_logic;sum,carry:out std_logic);end component;signal c0,c1,c2:std_logic;begin
f1:fadd_behv port map (a(0),b(0),c,s(0),c0);f2:fadd_behv port map (a(1),b(1),c0,s(1),c1);f3:fadd_behv port map (a(2),b(2),c1,s(2),c2);f4:fadd_behv port map (a(3),b(3),c2,s(3),cout);end structural;
fadd_behv component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fadd_behv is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;sum : out std_logic;carry : out std_logic);
end fadd_behv;architecture Behavioral of fadd_behv isbeginp1:process(a,b,c)variable r,s,t:std_logic;beginr:= a and b;s:= b and c;t:= c and a;sum
-
8/2/2019 Vlsi Record
39/184
module rcastructural(a, b, c, s, cout);input [3:0] a;input [3:0] b;input c;output [3:0] s;output cout;
wire c1,c2,c3;fulladddataflowf1(a[0],b[0],c,s[0],c1),
f2(a[1],b[1],c1,s[1],c2),f3(a[2],b[2],c2,s[2],c3),f4(a[3],b[3],c3,s[3],cout);
endmoduleFULL ADDER SOURCE CODE:
module fulladddataflow(a, b, cin, sum, carry);input a;input b;input cin;output sum;output carry;
assign sum=a^b^cin;assign carry=(a & b) | (b & cin) | (cin & a);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT rcaPORT(
a : IN std_logic_vector(3 downto 0);b : IN std_logic_vector(3 downto 0);c : IN std_logic;s : OUT std_logic_vector(3 downto 0);cout : OUT std_logic);
END COMPONENT;--InputsSIGNAL c : std_logic := '0';SIGNAL a : std_logic_vector(3 downto 0) := (others=>'0');SIGNAL b : std_logic_vector(3 downto 0) := (others=>'0');--OutputsSIGNAL s : std_logic_vector(3 downto 0);SIGNAL cout : std_logic;
BEGIN-- Instantiate the Unit Under Test (UUT)uut: rca PORT MAP(
a => a,b => b,
Sathyabama University -Department of VLSI DesignPage 39
-
8/2/2019 Vlsi Record
40/184
c => c,s => s,cout => cout
);tb : PROCESSBEGINa
-
8/2/2019 Vlsi Record
41/184
Clock Information:------------------No clock signals found in this designTiming Summary:---------------
Speed Grade: -5Minimum period: No path foundMinimum input arrival time before clock: No path found
Maximum output required time after clock: No path foundMaximum combinational path delay: 11.747ns
FAST ADDERS:
CARRY SELECT ADDER:
LOGIC DIAGRAM:
VHDL SOURCE CODE:
--Design : CARRY SELECT ADDER--Description : To implement CARRY SELECT ADDER
Sathyabama University -Department of VLSI DesignPage 41
-
8/2/2019 Vlsi Record
42/184
--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Structural Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;entity csa is
Port ( a : in std_logic_vector(7 downto 0);b : in std_logic_vector(7 downto 0);c : in std_logic;su : inout std_logic_vector(3 downto 0);sd : inout std_logic_vector(3 downto 0);s : out std_logic_vector(7 downto 0);cout : out std_logic);
end csa;architecture structural of csa iscomponent rcaport(a,b:in std_logic_vector(3 downto 0);
c:in std_logic;s:out std_logic_vector(3 downto 0);cout:out std_logic);
end component;component mux2port(a,b,s:in std_logic;
z:out std_logic);end component;signal c1,c2,c3:std_logic;beginr1:rca port map (a(3 downto 0),b(3 downto 0),c,s(3 downto 0),c1);r2:rca port map (a(7 downto 4),b(3 downto 0),'0',su(3 downto 0),c2);r3:rca port map (a(7 downto 4),b(3 downto 0),'1',sd(3 downto 0),c3);
m1:mux2 port map (su(0),sd(0),c1,s(4));m2:mux2 port map (su(1),sd(1),c1,s(5));m3:mux2 port map (su(2),sd(2),c1,s(6));m4:mux2 port map (su(3),sd(3),c1,s(7));m5:mux2 port map (c2,c3,c1,cout);end structural;
rca component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity rca is
Port ( a : in std_logic_vector(3 downto 0);b : in std_logic_vector(3 downto 0);c : in std_logic;s : out std_logic_vector(3 downto 0);cout : out std_logic);
end rca;architecture structural of rca iscomponent fadd_behvport(a,b,c:in std_logic;sum,carry:out std_logic);
Sathyabama University -Department of VLSI DesignPage 42
-
8/2/2019 Vlsi Record
43/184
end component;signal c0,c1,c2:std_logic;beginf1:fadd_behv port map (a(0),b(0),c,s(0),c0);f2:fadd_behv port map (a(1),b(1),c0,s(1),c1);f3:fadd_behv port map (a(2),b(2),c1,s(2),c2);f4:fadd_behv port map (a(3),b(3),c2,s(3),cout);end structural;
mux2 component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity mux2 is
Port ( a : in std_logic;b : in std_logic;s : in std_logic;z : out std_logic);
end mux2;architecture behv of mux2 is
beginprocess(a,b,s)beginif (s='0') thenz
-
8/2/2019 Vlsi Record
44/184
module rcast(a, b, c, s, ca);input [3:0] a;input [3:0] b;input c;output [3:0] s;output ca;
wire c1,c2,c3;fulladddataflow
f1(a[0],b[0],c,s[0],c1),f2(a[1],b[1],c1,s[1],c2),f3(a[2],b[2],c2,s[2],c3),f4(a[3],b[3],c3,s[3],ca);
endmodule
mux2 component source code:
module mux2(i0, i1, s0, y);input i0;input i1;input s0;output y;
wire s0bar,p,q;notn1(s0bar,s0);anda1(p,i0,s0bar),a2(q,i1,s0);oro1(y,p,q);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT csaPORT(
a : IN std_logic_vector(7 downto 0);b : IN std_logic_vector(7 downto 0);c : IN std_logic;su : INOUT std_logic_vector(3 downto 0);sd : INOUT std_logic_vector(3 downto 0);s : OUT std_logic_vector(7 downto 0);cout : OUT std_logic);
END COMPONENT;
--Inputs
Sathyabama University -Department of VLSI DesignPage 44
-
8/2/2019 Vlsi Record
45/184
SIGNAL c : std_logic := '0';SIGNAL a : std_logic_vector(7 downto 0) := (others=>'0');SIGNAL b : std_logic_vector(7 downto 0) := (others=>'0');
--BiDirsSIGNAL su : std_logic_vector(3 downto 0);SIGNAL sd : std_logic_vector(3 downto 0);
--Outputs
SIGNAL s : std_logic_vector(7 downto 0);SIGNAL cout : std_logic;
BEGIN-- Instantiate the Unit Under Test (UUT)uut: csa PORT MAP(
a => a,b => b,c => c,su => su,sd => sd,s => s,cout => cout
);
tb : PROCESSBEGINa
-
8/2/2019 Vlsi Record
46/184
Synthesis RTL Schematic:
Synthesis report:
Sathyabama University -Department of VLSI DesignPage 46
-
8/2/2019 Vlsi Record
47/184
=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------Selected Device : 3s400tq144-5
Number of Slices: 21 out of 3584 0% Number of 4 input LUTs: 37 out of 7168 0%
Number of bonded IOBs: 34 out of 97 35%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 16.084ns
CARRY SKIP ADDER:
LOGIC DIAGRAM:
VHDL SOURCE CODE:
Sathyabama University -Department of VLSI DesignPage 47
-
8/2/2019 Vlsi Record
48/184
--Design : CARRY SKIP ADDER--Description : To implement CARRY SKIP ADDER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Structural Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity cskadd is
Port ( a : in std_logic_vector(7 downto 0);b : in std_logic_vector(7 downto 0);c : in std_logic;s : out std_logic_vector(7 downto 0);cout : out std_logic);
end cskadd;architecture structural of cskadd iscomponent rca
port(a,b:in std_logic_vector(3 downto 0);c:in std_logic;
s:out std_logic_vector(3 downto 0);cout:out std_logic);
end component;component skipport(a,b:in std_logic_vector(3 downto 0);
c:in std_logic;z:out std_logic);
end component;component or2port(a,b:in std_logic;
z:out std_logic);
end component;signal c1,c2,c3,x1,x2:std_logic;beginr1:rca port map (a(3 downto 0),b(3 downto 0),c,s(3 downto 0),c1);r2:rca port map (a(7 downto 4),b(7 downto 4),c2,s(7 downto 4),c3);s1:skip port map (a(3 downto 0),b(3 downto 0),c,x1);s2:skip port map (a(7 downto 4),b(7 downto 4),c2,x2);o1:or2 port map (c1,x1,c2);o2:or2 port map (c3,x2,cout);end structural;
rca component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity rca is
Port ( a : in std_logic_vector(3 downto 0);b : in std_logic_vector(3 downto 0);c : in std_logic;s : out std_logic_vector(3 downto 0);cout : out std_logic);
end rca;
Sathyabama University -Department of VLSI DesignPage 48
-
8/2/2019 Vlsi Record
49/184
architecture structural of rca iscomponent fadd_behvport(a,b,c:in std_logic;sum,carry:out std_logic);end component;signal c0,c1,c2:std_logic;beginf1:fadd_behv port map (a(0),b(0),c,s(0),c0);f2:fadd_behv port map (a(1),b(1),c0,s(1),c1);
f3:fadd_behv port map (a(2),b(2),c1,s(2),c2);f4:fadd_behv port map (a(3),b(3),c2,s(3),cout);end structural;
or2 component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity or2 is
Port ( a : in std_logic;b : in std_logic;
z : out std_logic);end or2;architecture dataflow of or2 isbeginz
-
8/2/2019 Vlsi Record
50/184
r2(a[8:5],b[8:5],c2,sum[8:5],c3);skpckts1(a[4:1],b[4:1],cin,x1),s2(a[8:5],b[8:5],c2,x2);oro1(c2,x1,c1),o2(cout,x2,c3);
endmodule
rca component source code:
module rcast(a, b, c, s, ca);input [3:0] a;input [3:0] b;input c;output [3:0] s;output ca;
wire c1,c2,c3;fulladddataflowf1(a[0],b[0],c,s[0],c1),f2(a[1],b[1],c1,s[1],c2),f3(a[2],b[2],c2,s[2],c3),
f4(a[3],b[3],c3,s[3],ca);endmodule
skpckt component source code:
module skpckt(x, y, z, sk);input [3:0] x;input [3:0] y;input z;output sk;
wire [3:0]p;wire sk1;xor
x1(p[0],x[0],y[0]),x2(p[1],x[1],y[1]),x3(p[2],x[2],y[2]),x4(p[3],x[3],y[3]);anda1(sk1,p[0],p[1],p[2],p[3]),a2(sk,sk1,z);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT cskaddPORT(
a : IN std_logic_vector(7 downto 0);
Sathyabama University -Department of VLSI DesignPage 50
-
8/2/2019 Vlsi Record
51/184
b : IN std_logic_vector(7 downto 0);c : IN std_logic;s : OUT std_logic_vector(7 downto 0);cout : OUT std_logic);
END COMPONENT;--InputsSIGNAL c : std_logic := '0';SIGNAL a : std_logic_vector(7 downto 0) := (others=>'0');
SIGNAL b : std_logic_vector(7 downto 0) := (others=>'0');--OutputsSIGNAL s : std_logic_vector(7 downto 0);SIGNAL cout : std_logic;
BEGIN-- Instantiate the Unit Under Test (UUT)uut: cskadd PORT MAP(
a => a,b => b,c => c,s => s,cout => cout
);
tb : PROCESSBEGINa
-
8/2/2019 Vlsi Record
52/184
Synthesis RTL Schematic:
Synthesis report:=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 13 out of 3584 0% Number of 4 input LUTs: 23 out of 7168 0% Number of bonded IOBs: 26 out of 97 26%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------
Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 17.358ns
Sathyabama University -Department of VLSI DesignPage 52
-
8/2/2019 Vlsi Record
53/184
CARRY LOOK AHEAD ADDER:
LOGIC DIAGRAM:
VHDL SOURCE CODE:
--Design : CARRY LOOK AHEAD ADDER--Description : To implement CARRY LOOK AHEAD ADDER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Structural Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity calkadd isPort ( a : in std_logic_vector(7 downto 0);b : in std_logic_vector(7 downto 0);c : in std_logic;s : out std_logic_vector(7 downto 0);cout : out std_logic);
end calkadd;architecture structural of calkadd iscomponent fulladdport(a,b,c:in std_logic;s,ca:out std_logic);end component;signal c0,c1,c2,c3,c4,c5,c6:std_logic;beginf1:fulladd port map (a(0),b(0),c,s(0),c0);f2:fulladd port map (a(1),b(1),c0,s(1),c1);f3:fulladd port map (a(2),b(2),c1,s(2),c2);f4:fulladd port map (a(3),b(3),c2,s(3),c3);f5:fulladd port map (a(4),b(4),c3,s(4),c4);f6:fulladd port map (a(5),b(5),c4,s(5),c5);f7:fulladd port map (a(6),b(6),c5,s(6),c6);f8:fulladd port map (a(7),b(7),c6,s(7),cout);end structural;
Sathyabama University -Department of VLSI DesignPage 53
-
8/2/2019 Vlsi Record
54/184
fulladd component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fulladd isPort ( a : in std_logic;
b : in std_logic;c : in std_logic;s : out std_logic;ca : out std_logic);
end fulladd;architecture dataflow of fulladd issignal l,m,g,p:std_logic;beginl
-
8/2/2019 Vlsi Record
55/184
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT calkaddPORT(
a : IN std_logic_vector(7 downto 0);b : IN std_logic_vector(7 downto 0);c : IN std_logic;
s : OUT std_logic_vector(7 downto 0);cout : OUT std_logic);
END COMPONENT;
--InputsSIGNAL c : std_logic := '0';SIGNAL a : std_logic_vector(7 downto 0) := (others=>'0');SIGNAL b : std_logic_vector(7 downto 0) := (others=>'0');
--OutputsSIGNAL s : std_logic_vector(7 downto 0);SIGNAL cout : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: calkadd PORT MAP(
a => a,b => b,c => c,s => s,cout => cout
);
tb : PROCESSBEGINa
-
8/2/2019 Vlsi Record
56/184
Simulation output:
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Sathyabama University -Department of VLSI DesignPage 56
-
8/2/2019 Vlsi Record
57/184
Number of Slices: 10 out of 3584 0% Number of 4 input LUTs: 17 out of 7168 0% Number of bonded IOBs: 26 out of 97 26%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path found
Maximum output required time after clock: No path foundMaximum combinational path delay: 17.102ns
RESULT:
Thus the OUTPUTs of Adders,Subtractors and Fast Adders are verified by synthesizing and simulating theVHDL and VERILOG code.
Sathyabama University -Department of VLSI DesignPage 57
-
8/2/2019 Vlsi Record
58/184
EXP NO: 02 DATE: 29-01-11
ENCODERS AND DECODERS
AIM
To develop the source code for encoders and decoders by using VHDL/VERILOG and obtain thesimulation & synthesis.ALGORITHM
Step1: Define the specifications and initialize the design.Step2: Declare the name of the entity and architecture by using VHDL source code.Step3: Write the source code in VERILOG.Step4: Check the syntax and debug the errors if found, obtain the synthesis report.Step5: Verify the output by simulating the source code.Step6: Write all possible combinations of input using the test bench.Step7: Obtain the place and route report.
ENCODER
LOGIC DIAGRAM TRUTH TABLE:
VHDL SOURCE CODE
--Design : ENCODER--Description : To implement ENCODER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity encoder_dataflow is
Port ( d : in std_logic_vector(7 downto 0);z : out std_logic_vector(2 downto 0));
end encoder_dataflow;
Sathyabama University -Department of VLSI DesignPage 58
D0 D1 D2 D3 D4 D5 D6 D7 X Y Z
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 10 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
-
8/2/2019 Vlsi Record
59/184
architecture dataflow of encoder_dataflow isbeginz(2)
-
8/2/2019 Vlsi Record
60/184
or4 component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity or4 is
Port ( a : in std_logic;
b : in std_logic;c : in std_logic;d : in std_logic;z : out std_logic);
end or4;architecture dataflow of or4 isbeginz
-
8/2/2019 Vlsi Record
61/184
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd IS
END test_vhd;
ARCHITECTURE behavior OF test_vhd IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT encoder_dataflowPORT(
d : IN std_logic_vector(7 downto 0);z : OUT std_logic_vector(2 downto 0));
END COMPONENT;--InputsSIGNAL d : std_logic_vector(7 downto 0) := (others=>'0');--Outputs
SIGNAL z : std_logic_vector(2 downto 0);
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: encoder_dataflow PORT MAP(
d => d,z => z
);
tb : PROCESSBEGIN
d
-
8/2/2019 Vlsi Record
62/184
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 2 out of 3584 0% Number of 4 input LUTs: 3 out of 7168 0% Number of bonded IOBs: 11 out of 97 11%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.760ns
Sathyabama University -Department of VLSI DesignPage 62
-
8/2/2019 Vlsi Record
63/184
DECODERS:
LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE CODE:
--Design : DECODER--Description : To implement DECODER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity decoder_dataflow is
Port ( a : in std_logic;b : in std_logic;e : in std_logic;z : out std_logic_vector(3 downto 0));
end decoder_dataflow;
architecture dataflow of decoder_dataflow issignal abar,bbar:std_logic;beginabar
-
8/2/2019 Vlsi Record
64/184
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity decoder_behv is
Port ( a : in std_logic;b : in std_logic;
e : in std_logic;z : out std_logic_vector(3 downto 0));
end decoder_behv;architecture Behavioral of decoder_behv isbeginp1:process(a,b)beginif (e='1') thenz(0)
-
8/2/2019 Vlsi Record
65/184
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity nand3 is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;
z : out std_logic);end nand3;architecture dataflow of nand3 isbeginz
-
8/2/2019 Vlsi Record
66/184
z[0] = ~ ((~a) & (~b) & en);z[1] = ~ ((~a) & b & en);z[2] = ~ (a & (~b) & en);z[3] = ~ (a & b & en);
endendmodule
Structural Modeling:
module decod_struct(a, b, e, z);input a;input b;input e;output [3:0] z;
wire abar,bbar;notn1(abar,a),n2(bbar,b);and
a1(z[0],abar,bbar,e),a2(z[1],abar,b,e),a3(z[2],a,bbar,e),a4(z[3],a,b,e);endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT decoder_dataflowPORT(
a : IN std_logic;b : IN std_logic;e : IN std_logic;z : OUT std_logic_vector(3 downto 0));
END COMPONENT;
--InputsSIGNAL a : std_logic := '0';SIGNAL b : std_logic := '0';SIGNAL e : std_logic := '0';
--OutputsSIGNAL z : std_logic_vector(3 downto 0);
BEGIN
Sathyabama University -Department of VLSI DesignPage 66
-
8/2/2019 Vlsi Record
67/184
-- Instantiate the Unit Under Test (UUT)uut: decoder_dataflow PORT MAP(
a => a,b => b,e => e,z => z
);
tb : PROCESSBEGINa
-
8/2/2019 Vlsi Record
68/184
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:
------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.858ns
RESULT:Thus the OUTPUTs of Encoder and Decoder are verified by synthesizing and simulating the VHDL and
VERILOG code.
Sathyabama University -Department of VLSI DesignPage 68
-
8/2/2019 Vlsi Record
69/184
EXP NO: 03 DATE: 29-01-11
MULTIPLEXER AND DEMULTIPLEXERAIM
To develop the source code for multiplexer and demultiplexer by using VHDL/VERILOG and obtain thesimulation & synthesis.
ALGORITHM
Step1: Define the specifications and initialize the design.Step2: Declare the name of the entity and architecture by using VHDL source code.
Step3: Write the source code in VERILOG.Step4: Check the syntax and debug the errors if found, obtain the synthesis report.Step5: Verify the output by simulating the source code.Step6: Write all possible combinations of input using the test bench.Step7: Obtain the place and route report.
MULTIPLEXER:
LOGIC DIAGRAM:TRUTH TABLE:
1
2
8
9
1
2
8
9
Y
D 0
D 1
1
2
D 2
D 3
S 0
1
2
8
9
S 1
1
2
1
2
8
9
2
3
4
5
1
VHDL SOURCE CODE:
--Design : MULTIPLEXER--Description : To implement MULTIPLEXER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;
Sathyabama University -Department of VLSI DesignPage 69
SELECT INPUT OUTPUT
S1 S0 Y
0 0 D0
0 1 D1
1 0 D2
1 1 D3
-
8/2/2019 Vlsi Record
70/184
use IEEE.STD_LOGIC_UNSIGNED.ALL;entity mux_dataflow is
Port ( d : in std_logic_vector(3 downto 0);s : in std_logic_vector(1 downto 0);y : out std_logic);
end mux_dataflow;architecture dataflow of mux_dataflow issignal s0bar,s1bar,p,q,r,st:std_logic;begin
p
-
8/2/2019 Vlsi Record
71/184
z:out std_logic);end component;component and3port(a,b,c:in std_logic;
z:out std_logic);end component;component or4port(a,b,c,d:in std_logic;
z:out std_logic);
end component;signal s0bar,s1bar,p,q,r,st:std_logic;beginn1:not1 port map (s(0),s0bar);n2:not1 port map (s(1),s1bar);a1:and3 port map (d(0),s0bar,s1bar,p);a2:and3 port map (d(1),s0bar,s(1),q);a3:and3 port map (d(2),s(0),s1bar,r);a4:and3 port map (d(3),s(0),s(1),st);o1:or4 port map (p,q,r,st,y);end structural;
and3 component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity and3 is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;z : out std_logic);
end and3;architecture dataflow of and3 isbegin
z
-
8/2/2019 Vlsi Record
72/184
entity or4 isPort ( a : in std_logic;
b : in std_logic;c : in std_logic;d : in std_logic;z : out std_logic);
end or4;architecture dataflow of or4 isbegin
z
-
8/2/2019 Vlsi Record
73/184
n1(s2,s1),n2(s3,s0);anda1(s4,i[0],s2,s3),a2(s5,i[1],s2,s0),a3(s6,i[2],s1,s3),a4(s7,i[3],s1,s0);oro1(y,s4,s5,s6,s7);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS-- Component Declaration for the Unit Under Test (UUT)
COMPONENT mux_dataflowPORT(
d : IN std_logic_vector(3 downto 0);s : IN std_logic_vector(1 downto 0);y : OUT std_logic);
END COMPONENT;
--InputsSIGNAL d : std_logic_vector(3 downto 0) := (others=>'0');SIGNAL s : std_logic_vector(1 downto 0) := (others=>'0');
--OutputsSIGNAL y : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: mux_dataflow PORT MAP(
d => d,s => s,y => y
);
tb : PROCESSBEGIN
d
-
8/2/2019 Vlsi Record
74/184
Simulation output:
Synthesis RTL Schematic:
Synthesis report:
=========================================================================
* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of 4 input LUTs: 2 out of 7168 0% Number of bonded IOBs: 7 out of 97 7%
=========================================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:
Sathyabama University -Department of VLSI DesignPage 74
-
8/2/2019 Vlsi Record
75/184
---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 8.138ns
DEMULTIPLEXER:
LOGIC DIAGRAM: `TRUTH TABLE:
Y 0
S 1 S 0
D i n
E n a b l e
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
1
2
Y 1
2
3
4
5
1
Y 2
1
2
Y 3
VHDL SOURCE CODE:
--Design : DEMULTIPLEXER--Description : To implement DEMULTIPLEXER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Dataflow Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity demux_dataflow is
Port ( d : in std_logic;s : in std_logic_vector(1 downto 0);z : out std_logic_vector(3 downto 0));
end demux_dataflow;
Sathyabama University -Department of VLSI DesignPage 75
INPUT OUTPUT
D S0 S1 Y0 Y1 Y2 Y31 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
-
8/2/2019 Vlsi Record
76/184
architecture dataflow of demux_dataflow issignal s0bar,s1bar:std_logic;begins0bar
-
8/2/2019 Vlsi Record
77/184
z : out std_logic_vector(3 downto 0));end demux_struct;architecture structural of demux_struct iscomponent not1port(a:in std_logic;
z:out std_logic);end component;component and3port(a,b,c:in std_logic;
z:out std_logic);end component;signal s0bar,s1bar:std_logic;beginn1:not1 port map (s(0),s0bar);n2:not1 port map (s(1),s1bar);a1:and3 port map (d,s0bar,s1bar,z(0));a2:and3 port map (d,s0bar,s(1),z(1));a3:and3 port map (d,s(0),s1bar,z(2));a4:and3 port map (d,s(0),s(1),z(3));end structural;
and3 component source code:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity and3 is
Port ( a : in std_logic;b : in std_logic;c : in std_logic;z : out std_logic);
end and3;architecture dataflow of and3 isbegin
z
-
8/2/2019 Vlsi Record
78/184
output [3:0] y;wire s2,s3;assign #2 s2=~s0;assign #2 s3=~s1;assign #3 y[0]=i&s2&s3;assign #3 y[1]=i&s2&s1;assign #3 y[2]=i&s0&s3;assign #3 y[3]=i&s0&s1;
endmodule
Behavioral Modeling:
module demux_behv(s0, s1, i, y);input s0;input s1;input i;output [3:0] y;
reg [3:0] y;reg s2,s3;always@(i or s0 or s1)begins2=~s0;
s3=~s1;y[0]=i & s2 & s3;y[1]=i & s2 & s1;y[2]=i & s0 & s3;y[3]=i & s0 & s1;endendmodule
Structural Modeling:
module demux_struct(s0, s1, i, y);input s0;input s1;
input i;output [3:0] y;wire s2,s3;notn1(s2,s0),n2(s3,s1);anda1(y[0],i,s2,s3),a2(y[1],i,s2,s1),a3(y[2],i,s0,s3),a4(y[3],i,s0,s1);
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
Sathyabama University -Department of VLSI DesignPage 78
-
8/2/2019 Vlsi Record
79/184
-- Component Declaration for the Unit Under Test (UUT)COMPONENT demux_dataflowPORT(
d : IN std_logic;s : IN std_logic_vector(1 downto 0);z : OUT std_logic_vector(3 downto 0));
END COMPONENT;
--InputsSIGNAL d : std_logic := '0';SIGNAL s : std_logic_vector(1 downto 0) := (others=>'0');
--OutputsSIGNAL z : std_logic_vector(3 downto 0);
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: demux_dataflow PORT MAP(
d => d,
s => s,z => z
);
tb : PROCESSBEGIN
d
-
8/2/2019 Vlsi Record
80/184
Synthesis report:
=========================================================================
* Final Report *
=========================================================================
Device utilization summary:
---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 2 out of 3584 0%
Number of 4 input LUTs: 4 out of 7168 0% Number of bonded IOBs: 7 out of 97 7%
=========================================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------No clock signals found in this design
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: No path foundMaximum output required time after clock: No path foundMaximum combinational path delay: 7.858ns
RESULT:
Thus the OUTPUTs of Multiplexers and Demultiplexers are verified by synthesizing and simulating theVHDL and VERILOG code.
Sathyabama University -Department of VLSI DesignPage 80
-
8/2/2019 Vlsi Record
81/184
EXP NO: 04 DATE: 06-02-11
FLIP FLOPS
AIM:
To develop the source code for flip flops by using VHDL/VERILOG and Obtained the simulation &synthesis , place and route and implement into FPGA.
ALGORITHM:
Step1: Define the specifications and initialize the design.Step2: Declare the name of the entity and architecture by using VHDL source code.Step3: Write the source code in VERILOG.Step4: Check the syntax and debug the errors if found, obtain the synthesis report.Step5: Verify the output by simulating the source code.Step6: Write all possible combinations of input using the test bench.Step7: Obtain the place and route report.
SR FLIPFLOP:
LOGIC DIAGRAM: TRUTH TABLE:
Sathyabama University -Department of VLSI DesignPage 81
Q(t) S R Q(t+1)
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 X
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 X
-
8/2/2019 Vlsi Record
82/184
1
2
3
Q
R
S
1
2
3Q
C P
1
2
3
1
2
3
VHDL SOURCE CODE:
--Design : SR-FLIP FLOP--Description : To implement SR-FLIP FLOP--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity srff is
Port ( s : in std_logic;r : in std_logic;clk : in std_logic;rst : in std_logic;q : inout std_logic;qbar : inout std_logic);
end srff;
architecture Behavioral of srff isbeginprocess(s,r,clk,rst,q,qbar)beginif (rst='1') thenq
-
8/2/2019 Vlsi Record
83/184
VERILOG SOURCE CODE:
Behavioral Modeling:
module srflipflop(s, r, clk, rst, q, qbar);input s;input r;input clk;
input rst;output q;output qbar;
reg q,qbar;always @ (posedge(clk) or posedge(rst)) beginif(rst==1'b1) beginq= 1'b0;qbar= 1'b1;endelse if(s==1'b0 && r==1'b0)beginq=q; qbar=qbar;end
else if(s==1'b0 && r==1'b1)
beginq= 1'b0; qbar= 1'b1;end
else if(s==1'b1 && r==1'b0)begin
q= 1'b1; qbar= 1'b0;endelsebeginq=1'bx;qbar=1'bx;endend
endmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT srffPORT(
s : IN std_logic;r : IN std_logic;clk : IN std_logic;rst : IN std_logic;q : INOUT std_logic;qbar : INOUT std_logic);
Sathyabama University -Department of VLSI DesignPage 83
-
8/2/2019 Vlsi Record
84/184
END COMPONENT;
--InputsSIGNAL s : std_logic := '0';SIGNAL r : std_logic := '0';SIGNAL clk : std_logic := '0';SIGNAL rst : std_logic := '0';
--BiDirs
SIGNAL q : std_logic;SIGNAL qbar : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: srff PORT MAP(
s => s,r => r,clk => clk,rst => rst,q => q,qbar => qbar
);
tb : PROCESSBEGIN
clk
-
8/2/2019 Vlsi Record
85/184
Synthesis report:
=========================================================================* Final Report *=========================================================================Final ResultsRTL Top Level Output File Name : srff.ngrTop Level Output File Name : srffOutput Format : NGCOptimization Goal : SpeedKeep Hierarchy : NO
Design Statistics
# IOs : 6
Macro Statistics :# Registers : 2# 1-bit register : 2
Cell Usage :# BELS : 3# LUT2 : 3# FlipFlops/Latches : 2# FDCE : 1# FDPE : 1# Clock Buffers : 1
# BUFGP : 1# IO Buffers : 5# IBUF : 3# OBUF : 2=========================================================================
Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Sathyabama University -Department of VLSI DesignPage 85
-
8/2/2019 Vlsi Record
86/184
Number of Slices: 2 out of 3584 0% Number of Slice Flip Flops: 2 out of 7168 0% Number of 4 input LUTs: 3 out of 7168 0% Number of bonded IOBs: 6 out of 97 6% Number of GCLKs: 1 out of 8 12%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:-----------------------------------------------------+------------------------+-------+Clock Signal | Clock buffer(FF name) | Load |-----------------------------------+------------------------+-------+clk | BUFGP | 2 |-----------------------------------+------------------------+-------+
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: 3.529nsMaximum output required time after clock: 6.216nsMaximum combinational path delay: No path found
Timing Detail:--------------All values displayed in nanoseconds (ns)
=========================================================================Timing constraint: Default OFFSET IN BEFORE for Clock 'clk'Total number of paths / destination ports: 8 / 4
-------------------------------------------------------------------------Offset: 3.529ns (Levels of Logic = 2)
Source: r (PAD)Destination: qbar (FF)Destination Clock: clk rising
Data Path: r to qbarGate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)---------------------------------------- ------------IBUF:I->O 3 0.715 1.066 r_IBUF (r_IBUF)LUT2:I0->O 2 0.479 0.745 _n00051 (_n0005)FDPE:CE 0.524 qbar----------------------------------------Total 3.529ns (1.718ns logic, 1.811ns route)
(48.7% logic, 51.3% route)
=========================================================================Timing constraint: Default OFFSET OUT AFTER for Clock 'clk'
Total number of paths / destination ports: 2 / 2-------------------------------------------------------------------------
Sathyabama University -Department of VLSI DesignPage 86
-
8/2/2019 Vlsi Record
87/184
Offset: 6.216ns (Levels of Logic = 1)Source: qbar (FF)Destination: qbar (PAD)Source Clock: clk rising
Data Path: qbar to qbarGate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)---------------------------------------- ------------
FDPE:C->Q 1 0.626 0.681 qbar (qbar_OBUF)OBUF:I->O 4.909 qbar_OBUF (qbar)----------------------------------------Total 6.216ns (5.535ns logic, 0.681ns route)
(89.0% logic, 11.0% route)
=========================================================================CPU : 5.77 / 7.67 s | Elapsed : 6.00 / 7.00 s
Place and root report:
Constraints file: srff.pcf.
Loading device for application Rf_Device from file '3s400.nph' in environmentC:/Xilinx.
"srff" is an NCD, version 3.1, device xc3s400, package tq144, speed -5
Initializing temperature to 85.000 Celsius. (default - Range: 0.000 to 85.000Celsius)Initializing voltage to 1.140 Volts. (default - Range: 1.140 to 1.260 Volts)
Device speed data version: "ADVANCED 1.35 2005-01-22".
Device Utilization Summary:
Number of BUFGMUXs 1 out of 8 12%Number of External IOBs 6 out of 97 6%
Number of LOCed IOBs 0 out of 6 0%
Number of Slices 2 out of 3584 1%Number of SLICEMs 0 out of 1792 0%
Overall effort level (-ol): Standard (set by user)Placer effort level (-pl): Standard (set by user)Placer cost table entry (-t): 1Router effort level (-rl): Standard (set by user)
Starting Placer
Phase 1.1Phase 1.1 (Checksum:98969a) REAL time: 1 secs
Phase 2.31Phase 2.31 (Checksum:1312cfe) REAL time: 1 secs
Phase 3.2Phase 3.2 (Checksum:1c9c37d) REAL time: 1 secs
Sathyabama University -Department of VLSI DesignPage 87
-
8/2/2019 Vlsi Record
88/184
Phase 4.3Phase 4.3 (Checksum:26259fc) REAL time: 1 secs
Phase 5.5Phase 5.5 (Checksum:2faf07b) REAL time: 1 secs
Phase 6.8Phase 6.8 (Checksum:98f9a3) REAL time: 1 secs
Phase 7.5Phase 7.5 (Checksum:42c1d79) REAL time: 1 secs
Phase 8.18Phase 8.18 (Checksum:4c4b3f8) REAL time: 1 secs
Phase 9.5Phase 9.5 (Checksum:55d4a77) REAL time: 1 secs
Writing design to file srff.ncd
Total REAL time to Placer completion: 1 secsTotal CPU time to Placer completion: 1 secs
Starting Router
Phase 1: 16 unrouted; REAL time: 1 secs
Phase 2: 13 unrouted; REAL time: 1 secs
Phase 3: 7 unrouted; REAL time: 1 secs
Phase 4: 0 unrouted; REAL time: 2 secs
Total REAL time to Router completion: 2 secsTotal CPU time to Router completion: 1 secs
Generating "PAR" statistics.
**************************Generating Clock Report**************************
+---------------------+--------------+------+------+------------+-------------+| Clock Net | Resource |Locked|Fanout|Net Skew(ns)|Max Delay(ns)|+---------------------+--------------+------+------+------------+-------------+| clk_BUFGP | BUFGMUX0| No | 2 | 0.000 | 0.936 |+---------------------+--------------+------+------+------------+-------------+
INFO:Par:340 -The Delay report will not be generated when running non-timing driven PARwith effort level Standard or Medium. If a delay report is required please doone of the following: 1) use effort level High, 2) use the followingenvironment variable "XIL_PAR_GENERATE_DLY_REPORT", 3) create Timingconstraints for the design.
Generating Pad Report.
Sathyabama University -Department of VLSI DesignPage 88
-
8/2/2019 Vlsi Record
89/184
All signals are completely routed.
Total REAL time to PAR completion: 2 secsTotal CPU time to PAR completion: 1 secs
Peak Memory Usage: 74 MB
Placement: Completed - No errors found.Routing: Completed - No errors found.
Number of error messages: 0Number of warning messages: 0Number of info messages: 1
Writing design to file srff.ncd
PAR done!
JK FLIPFLOP:
LOGIC DIAGRAM: TRUTH TABLE:
C P
12
8
9
1
2
3
1
2
3
Q
1
2
8
9 Q
K
J
VHDL SOURCE CODE:
--Design : JK-FLIP FLOP--Description : To implement JK-FLIP FLOP--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity jkff is
Port ( j : in std_logic;k : in std_logic;clk : in std_logic;rst : in std_logic;q : inout std_logic;qbar : inout std_logic);
end jkff;architecture Behavioral of jkff isbeginprocess(j,k,clk,rst,q,qbar)begin
Sathyabama University -Department of VLSI DesignPage 89
Q(t) J K Q(t+1)
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
-
8/2/2019 Vlsi Record
90/184
if (rst='1') thenq
-
8/2/2019 Vlsi Record
91/184
qbar=~qbar;endendendmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT jkffPORT(
j : IN std_logic;k : IN std_logic;
clk : IN std_logic;rst : IN std_logic;q : INOUT std_logic;qbar : INOUT std_logic);
END COMPONENT;
--InputsSIGNAL j : std_logic := '0';SIGNAL k : std_logic := '0';SIGNAL clk : std_logic := '0';SIGNAL rst : std_logic := '0';
--BiDirsSIGNAL q : std_logic;SIGNAL qbar : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: jkff PORT MAP(
j => j,k => k,clk => clk,rst => rst,q => q,qbar => qbar
);
tb : PROCESSBEGIN
clk
-
8/2/2019 Vlsi Record
92/184
j
-
8/2/2019 Vlsi Record
93/184
Selected Device : 3s400tq144-5
Number of Slices: 2 out of 3584 0% Number of Slice Flip Flops: 2 out of 7168 0% Number of 4 input LUTs: 3 out of 7168 0% Number of bonded IOBs: 6 out of 97 6% Number of GCLKs: 1 out of 8 12%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:-----------------------------------------------------+------------------------+-------+Clock Signal | Clock buffer(FF name) | Load |-----------------------------------+------------------------+-------+clk | BUFGP | 2 |
-----------------------------------+------------------------+-------+
Timing Summary:---------------Speed Grade: -5
Minimum period: 2.085ns (Maximum Frequency: 479.513MHz)Minimum input arrival time before clock: 3.529nsMaximum output required time after clock: 6.280nsMaximum combinational path delay: No path found
D FLIPFLOP:
LOGIC DIAGRAM: TRUTH TABLE:
1
2
3
C P
Q 1 2
3
1
2
31
2
3
1
2
3D
Q
VHDL SOURCE CODE:
--Design : D-FLIP FLOP--Description : To implement D-FLIP FLOP
--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dff is
Sathyabama University -Department of VLSI DesignPage 93
Q(t) D Q(t+1)
0 0 0
0 1 1
1 0 0
1 1 1
-
8/2/2019 Vlsi Record
94/184
Port ( d : in std_logic;clk : in std_logic;rst : in std_logic;q : inout std_logic;qbar : inout std_logic);
end dff;architecture Behavioral of dff isbeginprocess(d,clk,rst,q,qbar)
beginif (rst='1') thenq
-
8/2/2019 Vlsi Record
95/184
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)COMPONENT dffPORT(
d : IN std_logic;clk : IN std_logic;rst : IN std_logic;q : INOUT std_logic;qbar : INOUT std_logic);
END COMPONENT;
--InputsSIGNAL d : std_logic := '0';SIGNAL clk : std_logic := '0';SIGNAL rst : std_logic := '0';
--BiDirsSIGNAL q : std_logic;SIGNAL qbar : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: dff PORT MAP(
d => d,clk => clk,rst => rst,q => q,qbar => qbar
);
tb : PROCESSBEGIN
clk
-
8/2/2019 Vlsi Record
96/184
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Device utilization summary:
---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of Slice Flip Flops: 2 out of 7168 0% Number of bonded IOBs: 5 out of 97 5% Number of GCLKs: 1 out of 8 12%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:-----------------------------------------------------+------------------------+-------+Clock Signal | Clock buffer(FF name) | Load |-----------------------------------+------------------------+-------+clk | BUFGP | 2 |-----------------------------------+------------------------+-------+
Sathyabama University -Department of VLSI DesignPage 96
-
8/2/2019 Vlsi Record
97/184
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: 2.796nsMaximum output required time after clock: 6.216nsMaximum combinational path delay: No path found
T FLIPFLOP:LOGIC DIAGRAM: TRUTH TABLE:
VHDL SOURCE
CODE:
--Design : T-FLIP FLOP
--Description : To implement T-FLIP FLOP--Author : Jeyakannan.N
--Reg no : 3082611--Version : Xilinx- 7.1i
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity tff is
Port ( t : in std_logic;clk : in std_logic;rst : in std_logic;q : inout std_logic;
qbar : inout std_logic);end tff;architecture Behavioral of tff isbeginprocess(t,clk,rst,q,qbar)beginif (rst='1') thenq
-
8/2/2019 Vlsi Record
98/184
module tff(t, clk, rst, q, qbar);input t;input clk;input rst;output q;output qbar;
reg q,qbar;always @ (posedge(clk) or posedge(rst)) beginif(rst==1'b1) begin
q= 1'b0;qbar= 1'b1;endelse if (t==1'b0)beginq=q; qbar=qbar;endelsebeginq=~q; qbar=~qbar;endendendmodule
TEST BENCH(VHDL):
LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;
ENTITY test_vhd ISEND test_vhd;
ARCHITECTURE behavior OF test_vhd IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT tffPORT(t : IN std_logic;clk : IN std_logic;rst : IN std_logic;q : INOUT std_logic;qbar : INOUT std_logic);
END COMPONENT;
--InputsSIGNAL t : std_logic := '0';SIGNAL clk : std_logic := '0';SIGNAL rst : std_logic := '0';
--BiDirsSIGNAL q : std_logic;SIGNAL qbar : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: tff PORT MAP(
t => t,
Sathyabama University -Department of VLSI DesignPage 98
-
8/2/2019 Vlsi Record
99/184
clk => clk,rst => rst,q => q,qbar => qbar
);
tb : PROCESSBEGIN
clk
-
8/2/2019 Vlsi Record
100/184
* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 1 out of 3584 0% Number of Slice Flip Flops: 2 out of 7168 0%
Number of bonded IOBs: 5 out of 97 5% Number of GCLKs: 1 out of 8 12%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:------------------
-----------------------------------+------------------------+-------+Clock Signal | Clock buffer(FF name) | Load |-----------------------------------+------------------------+-------+clk | BUFGP | 2 |-----------------------------------+------------------------+-------+
Timing Summary:---------------Speed Grade: -5
Minimum period: 2.707ns (Maximum Frequency: 369.372MHz)Minimum input arrival time before clock: 1.984nsMaximum output required time after clock: 6.280ns
Maximum combinational path delay: No path found
RESULT:
Thus the OUTPUTs of Flip Flops are verified by synthesizing and simulating the VHDL and VERILOGcode.
EXP NO: 05 DATE: 12-02-11
Sathyabama University -Department of VLSI DesignPage 100
-
8/2/2019 Vlsi Record
101/184
SHIFT REGISTERS
AIM:
To develop the source code for shifters unit by using VHDL/VERILOG and obtain the simulation &synthesis.ALGORITM:
Step1: Define the specifications and initialize the design.Step2: Declare the name of the entity and architecture by using VHDL source code.Step3: Write the source code in VERILOG.Step4: Check the syntax and debug the errors if found, obtain the synthesis report.Step5: Verify the output by simulating the source code.Step6: Write all possible combinations of input using the test bench.Step7: Obtain the place and route report.
SERIAL-IN SERIAL-OUT SHIFT REGISTER:
LOGIC DIAGRAM :
VHDL SOURCE CODE:
--Design : SISO SHIFT REGISTER--Description : To implement SISO SHIFT REGISTER--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity siso is
Port ( d : in std_logic;clk : in std_logic;rst : in std_logic;q : out std_logic);
end siso;architecture Behavioral of siso issignal x:std_logic_vector(7 downto 0);
beginprocess(d,clk,rst)beginif (rst='1') thenq
-
8/2/2019 Vlsi Record
102/184
x(5)
-
8/2/2019 Vlsi Record
103/184
SIGNAL q : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: siso PORT MAP(
d => d,clk => clk,rst => rst,
q => q);
tb : PROCESSBEGINclk
-
8/2/2019 Vlsi Record
104/184
Number of bonded IOBs: 4 out of 97 4% Number of GCLKs: 1 out of 8 12%
=========================================================================TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.
Clock Information:-----------------------------------------------------+------------------------+-------+Clock Signal | Clock buffer(FF name) | Load |-----------------------------------+------------------------+-------+clk | BUFGP | 3 |-----------------------------------+------------------------+-------+
Timing Summary:---------------Speed Grade: -5
Minimum period: 3.637ns (Maximum Frequency: 274.963MHz)Minimum input arrival time before clock: 3.144nsMaximum output required time after clock: 6.216nsMaximum combinational path delay: No path found
SERIAL IN PARALLEL OUT SHIFT REGISTER:
LOGIC DIAGRAM:
VHDL SOURCE CODE:
--Design : SIPO SHIFT REGISTER--Description : To implement SIPO SHIFT REGISTER
--Author : Jeyakannan.N--Reg no : 3082611--Version : Xilinx- 7.1i
Behavioral Modeling:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity sipo is
Sathyabama University -Department of VLSI DesignPage 104
-
8/2/2019 Vlsi Record
105/184
Port ( d : in std_logic;clk : in std_logic;rst : in std_logic;q : inout std_logic_vector(7 downto 0));
end sipo;architecture Behavioral of sipo isbeginprocess(d,clk,rst)begin
if (rst='1') thenq
-
8/2/2019 Vlsi Record
106/184
COMPONENT sipoPORT(
d : IN std_logic;clk : IN std_logic;rst : IN std_logic;q : INOUT std_logic_vector(7 downto 0));
END COMPONENT;--Inputs
SIGNAL d : std_logic := '0';SIGNAL clk : std_logic := '0';SIGNAL rst : std_logic := '0';--BiDirsSIGNAL q : std_logic_vector(7 downto 0);BEGIN-- Instantiate the Unit Under Test (UUT)uut: sipo PORT MAP(
d => d,clk => clk,rst => rst,q => q
);
tb : PROCESSBEGINclk
-
8/2/2019 Vlsi Record
107/184
Synthesis RTL Schematic:
Synthesis report:
=========================================================================* Final Report *=========================================================================Device utilization summary:---------------------------
Selected Device : 3s400tq144-5
Number of Slices: 5 out of 3584 0% Number of Slice Flip Flops: 8 out of 7168 0% Number of bonded IOBs: 11 out of 97 11% Number of GCLKs: 1 out of 8 12%
=========================================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORTGENERATED AFTER PLACE-and-ROUTE.
Clock Information:-----------------------------------------------------+------------------------+-------+Clock Signal | Clock buffer(FF name) | Load |-----------------------------------+------------------------+-------+clk | BUFGP | 8 |-----------------------------------+------------------------+-------+
Timing Summary:---------------Speed Grade: -5
Minimum period: No path foundMinimum input arrival time before clock: 1.572nsMaximum output required time after clock: 6.216nsMaximum combinational path delay: 6.756ns
Sathyabama University -Department of VLSI DesignPage 107
-
8/2/2019 Vlsi Record
108/184
PARALLEL-IN PARELLEL-OUT SHIFT REGISTER:
LOGIC DIAGRAM:
VHDL SOURCE CODE:
--Design : PIPO SHIFT REGISTER--Description : To implement PIPO SHIFT REGISTER--Author : Jeyakannan.N--Reg no : 3082611
--Version : Xilinx- 7.1i