Top Banner

of 36

Vlsi Manual 2013-2014

Jun 04, 2018

Download

Documents

hr_suresh_k
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/13/2019 Vlsi Manual 2013-2014

    1/36

    1

    Vi INSTITUTE OF TECHNOLOGY

    VLSI DESIGN LAB MANUAL

    NAME:

    SIXTH SEMESTER

    DEPT. OF ELECTRONICS AND COMMUNICATION ENGINEERING

    2013-2014

  • 8/13/2019 Vlsi Manual 2013-2014

    2/36

    2

    EC 2357: VLSI DESIGN LAB

    ANNA UNIVERSITY SYLLABUS

    1. Design Entry and simulation of combinational logic circuits (8 bit adders, 4 bit multipliers, address

    decoders, multiplexers), Test bench creation, functional verification, and concepts of concurrent andsequential execution to be highlighted.

    2. Design Entry and simulation of sequential logic circuits (counters, PRBS generators, accumulators). Testbench creation, functional verification, and concepts of concurrent and sequential execution to be

    highlighted.

    3. Synthesis, P&R and Post P&R simulation for all the blocks/codes developed in Expt. No. 1 and No. 2

    given above. Concepts of FPGA floor plan, critical path, design gate count, I/O configuration and pinassignment to be taught in this experiment.

    4. Generation of configuration/fuse files for all the blocks/codes developed as part of Expt.1. and Expt. 2.

    FPGA devices must be configured and hardware tested for the blocks/codes developed as part of Expt. 1.and Expt. 2. The correctness of the inputs and outputs for each of the blocks must be demonstrated at leaston oscilloscopes (logic analyzer preferred).

    5. Schematic Entry and SPICE simulation of MOS differential amplifier. Determination of gain, bandwidth,

    output impedance and CMRR.

    6. Layout of a simple CMOS inverter, parasitic extraction and simulation.

    7. Design of a 10 bit number controlled oscillator using standard cell approach, simulation followed by

    study of synthesis reports.

    8. Automatic layout generation followed by post layout extraction and simulation of the circuit studied inExpt. No.7

    Note 1. For Expt. 1 to 4 can be carried out using Altera (Quartus) / Xilinx (Alliance) / ACTEL (Libero)tools.

    Note 2. For expt. 5-8 introduce the student to basics of IC design. These have to be carried out using atleast0.5u CMOS technology libraries. The S/W tools needed Cadence / MAGMA / Tanner.

    @ViIT

    For Expt. 1 to 4 Xilinx 13.1 (Alliance) Tool

    For Expt. 5 to 8 Cadence Tool

  • 8/13/2019 Vlsi Manual 2013-2014

    3/36

    3

    STUDY OF VERILOG HDL AND SPARTAN-3E FPGA BOARDEXP NO DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To study Verilog HDL, Spartan-3E FPGA board and the related software.

    Software used:

    Xilinx 13.1

    Device used:

    Spartan-3E FPGA 250S

    Theory:

    Introduction to Verilog HDL:

    Verilog HDL is one of the Hardware Description Languages (HDL) used to describe a

    digital system. VHDL is the other one. Verilog HDL allows a hardware designer to describedesigns at a high level of abstraction such as an the architectural or behavioral level as a set of

    modules. Modules can either be specified behaviorally or structurally (for a combination of two).

    A behavioral specification defines the behavior of a digital system (module) using traditional

    programming language constructs. E.g. if assignment statements. A structural specificationexpresses the behavior of a digital system (module) as a hierarchical interconnection of sub

    modules. At the bottom of the hierarchy the components must be primitives or specified

    behaviorally. Verilog provides the following gate level primitives:

    And/nand - logical AND/NAND

    or/nor - logical OR/NOR

    xor/xnor - logical XOR/XNORbuf/not - buffer/inverter

    bufif0/notif0 - tristate with low enable

    bufif1/notif1 - tristate with high enable

    The structure of a module is the following:

    Module ();

    End module.

    The is an identifier that uniquely names the module. The is a list of

    input, in-out and output ports which are used to connect to other modules. The section

    specifies data objects as registers, memories and wires as well as procedural constructs such asfunctions and tasks. The may be initial constructs, always constructs, continuous

    assignments or instances of modules.

  • 8/13/2019 Vlsi Manual 2013-2014

    4/36

    4

    OPERATORS:

    Bitwise operators: ~(not), &(and), |(or) and ^(xor)

    Arithmetic: +, -, *, /Unary reduction: &, &&, |, ~|, ^, ~ ^

    Logical: !, &&, ||

    Equality: ==, != (0,1)Identity: ===, !== (0,1,x,z)

    Relational: ,=

    Logical shift :Conditional: ?:

    Concatenate: {}

    Replicate: {{}}

    DESIGN FLOW:

    Fig. Flow chart of VLSI design flow

    DESIGN ENTRY: The designed circuit is specified either by means of a schematic diagram or

    by using a hardware description language, such as Verilog or VHDL.

  • 8/13/2019 Vlsi Manual 2013-2014

    5/36

    5

    SYNTHESIS: The entered design is synthesized into a circuit that consists of the logic elements

    (LEs) provided in the FPGA board.

    FUNCTIONAL SIMULATION: The synthesized circuit is tested to verify itsfunctional

    correctness. This simulation does not take into account any

    timing issues. A test bench is HDL code that allows you toprovide a repeatable set of stimuli with clock and input dat for

    error checking, file input and output and conditional testing.

    FITTING: The CAD filter told determines the placement of LEs defined in the netlist into the

    LEs in the actual FPGA chip. It also chooses routing wires in the chip to make the

    required connections between specific LEs.

    TIMING ANALYSIS: Propagation delays along the various paths in the fitted circuit are

    analyzed to provide an indication of the expected performance of the

    circuit.

    TIMING SIMULATION: The fitted circuit is tested to verify both its functional correctness and

    timing.

    PROGRAMMING AND CONFIGURATION: The designed circuit is implemented in a physical

    FPGA chip by programming the configurationswitches that configure the LEs and established

    the required wiring connections.

    SPARTAN-3E FPGA BOARD:

    Fig. Functional block diagram

  • 8/13/2019 Vlsi Manual 2013-2014

    6/36

    6

    FPGA device used: XC3S500E

    The Features of the XC3S500E FPGA board are the following:

    No. of Logic Blocks: 1564No. of Macrocells: 10476

    Family Type: Spartan-3ELogic Case Style: QFP

    No. of Pins: 208

    No. of Speed Grades: 4

    Total RAM Bits: 368640No. of I/O's: 158

    Clock Management: DLL

    Core Supply Voltage Min: 1.14V

    Core Supply Voltage Max: 1.26V

    Operating Frequency Max: 240MHzMSL: MSL 3 - 168 hours

    SVHC: No SVHC (19-Dec-2012)Core Supply Voltage Range: 1.14V to 1.26V

    Frequency: 572MHz

    I/O Interface Standard: HSTL, LVCMOS, LVTTL, SSTLI/O Output Drive: 1.2V, 1.5V, 1.8V, 2.5V, 3.3V

    Logic IC Base Number: 3S500

    Logic IC Function: FPGA

    No. of Gates: 500000Operating Temperature Max: 85C

    Operating Temperature Min: -40COperating Temperature Range: -40C to +85CProgrammable Logic Type: FPGA

    Termination Type: SMD

    POCEDURE OF XILINX 13.1 SOFTWARE:

    1. Start Xilinx ISE 13.1, click on CREATE A NEW PROJECT and then click on Next.2. Select youreworking directory, give the name of the project, then click on NEXT.3. Select the device family (Spartan 3E), Device (XC3S250E), package (PQ208), Speed grade

    (4), Synthesis tool (XST [VHDL/VERILOG]), simulator (ISim) and preferred language

    (Verilog) from the available device list, and then click NEXT and click FINISH.4. Write the HDL code and be careful to give the entity name the same as project name. After

    writing the code save the file and click on Synthesis XST.

    5. If the HDL code is error free a green check mark will be shown on the synthesis XST.6. Select simulation then double click on Simulate Behavioral Model (here we can change

    the level of abstraction. i.e. structural/behavioral/dataflow/switch level)

    7. If there is zero error a new window will be shown. Apply the desired input as 1s and 0sand check whether the outputs are correct or not in the output waveform.

  • 8/13/2019 Vlsi Manual 2013-2014

    7/36

    7

    8. Expand the user constraints n the processes for source window and double click Assignpackage pins(with ISE 13.1 web pack is called I/O floor plan presynthesis). This is where

    you tell Xilinx which pins on Spartan 3E will be used.

    9. In the Design object list I/O pins window type the pin numbers in the following pinassignments under the heading LOC. This action will create a .UCF file for the

    top_level_struct file and will contain the pin assignments for the Spartan-3E.

    10.Make sure that the top_level_struct file is selected in the sources window.11.Expand the Synthesis-XST in the Processes window and then double click it. This actionwill check the syntax of the source code for top_level_struct and convert the source code

    into a netlist of gates. A synthesis report will also be produced. When the synthesis isfinished, green check marks should be displayed indicating that top_level_struct has

    compiled successfully.

    12.Expand the Implement designprocess and double click on it. This is where the netlist istranslated, mapped, placed and routed for the logic circuits of the Spartan-3E FPGA. Afterthis process has been run, green check mark should be displayed.

    13.Expand the Generate Programming fileprocess and double click it. This process createsA bit file that is used to program the Spartan-3E chip. Again, after this process is finished,

    green check mark should be shown.14.Expand the Implement designand double click on Generate programming file.15.Right click on the depiction of the Spartan-3E chip and select program. If the download

    was successful, the message Program succeeded will be displayed.

    RESULT:

  • 8/13/2019 Vlsi Manual 2013-2014

    8/36

    8

    SIMULATION AND SYTHESIS OF HALF ADDER AND FULL ADDEREXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To simulate and synthesis of half adder and full adder in behavior and structural model ofVerilog HDL and to perform timing and power analysis.

    Software used:]

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Program:

    Half adder in Behavioral model:

    module ha_behav (a, b, sum, cout);Input a, b;

    Output sum, cout;

    Assign sum = a ^ b;Assign cout = a & b;

    endmodule

    Half adder in Structural model:

    module ha_struct (x, y, sum, co);

    Input x, y;Output sum, co;

    xor (sum, x, y);

    and (co, x, y)

    Full adder in Behavioral model:

    module fa_behav (a, b, cin, sum, cout);

    Input a, b, cin;output sum, cout;

    Assign sum = a ^ b ^ c;

    Assign cout = (a & b) | (b & cin) | (a & cin);Endmodule

    Full adder in Structural model:

  • 8/13/2019 Vlsi Manual 2013-2014

    9/36

    9

    module fa_struct (x, y, ci, sum, co);

    Input x, y, ci;

    Output sum, co;Wire im1, im2, im3;

    xor (sum, x, y, ci);

    and (im1, x, y);and (im2, y, ci);

    and (im3, ci, x);

    or (co, im1,im2,im3);endmodule

    Observation:

    Half adder:

    RTL view:

    Flow summary:

    Total logic elements - 2/33,216 [

  • 8/13/2019 Vlsi Manual 2013-2014

    10/36

    10

    Simulation waveform:

    Full adder:

    RTL View:

    Flow summary:

    Total logic elements - 2/33,216 [

  • 8/13/2019 Vlsi Manual 2013-2014

    11/36

    11

    Classic Timing Analysis:

    Worst case tpd - 9.265 ns

    Total no.of failed pathsNil

    Power analysis:

    Total thermal power dissipation - 110.44mw

    Core dynamic thermal power dissipation - 0.00mw

    Core static thermal power dissipation - 79.92 mwi/o thermal - 30.52mw

    Simulation waveform:

    Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    12/36

    12

    SIMULATION AND SYNTHESIS OF 8-BIT RIPPLE CARRY ADDER

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To simulate and synthesis of 8-bit ripple carry adder in structural model of Verilog HDLand to perform timing and power analysis.

    Software used:

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Logic diagram:

    Program of 8-bit ripple carry adder:

    module ripmod (a, b, cin, sum, cout);

    input [7:0] a;input [7:0] b;input cin;

    output [7:0] sum;output cout;

    wire [6:0] c

    fulladd a1 (a[0], b[0], cin, sum[0], c[0]);

  • 8/13/2019 Vlsi Manual 2013-2014

    13/36

    13

    fulladd a2 (a[1], b[1], c[0], sum[1], c[1]);

    fulladd a3 (a[2], b[2], c[1], sum[2], c[2]);fulladd a4 (a[3], b[3], c[2], sum[3], c[3]);

    fulladd a5 (a[4], b[4], c[3], sum[4], c[4]);fulladd a6 (a[5], b[5], c[4], sum[5], c[5]);

    fulladd a7 (a[6], b[6], c[5], sum[6], c[6]);fulladd a1 (a[7], b[7], c[6], sum[7], cout);

    endmodule.

    //Full adder

    module fulladd (a, b, cin, sum, cout);

    Input a, b, cin;output sum, cout;

    Assign sum = a ^ b ^ c;

    Assign cout = (a & b) | (b & cin) | (a & cin);Endmodule

    Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    14/36

    14

    SIMULATION AND SYNTHESIS OF 8-BIT ADDER SUBTRACTOR

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To simulate and synthesis of 16-bit adder subtractor using Verilog HDL and to performtiming and power analysis.

    Software used:]

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Program of 16-bit adder subtractor:

    Module ass (a, b, cin, sum, cout);

    input [15:0] a, b;

    input cin;output cout;

    wire [15:0] c, d;

    output [15:0] sum;assign d[0] = b[0] ^ cin;

    assign d[1] = b[1] ^ cin;

    assign d[2] = b[2] ^ cin;

    assign d[3] = b[3] ^ cin;assign d[4] = b[4] ^ cin;

    assign d[5] = b[5] ^ cin;

    assign d[6] = b[6] ^ cin;assign d[7] = b[7] ^ cin;

    assign d[8] = b[8] ^ cin;

    assign d[9] = b[9] ^ cin;assign d[10] = b[10] ^ cin;

    assign d[11] = b[11] ^ cin;

    assign d[12] = b[12] ^ cin;

    assign d[13] = b[13] ^ cin;

    rip r1 (a[7]), d[7:0], cin, sum[7:0], c[7:0]);rip 21 (a[15:8]), d[15:8], c[7:0], sum[15:8], cout);

    endmodule

    // Ripple adder

    module rip (a, b, cin, sum, cout);

    input [7:0] a;

  • 8/13/2019 Vlsi Manual 2013-2014

    15/36

    15

    input [7:0] b;

    input cin;output [7:0] sum;

    output cout;wire [6:0] c

    fulladd a1 (a[0], b[0], cin, sum[0], c[0]);fulladd a2 (a[1], b[1], c[0], sum[1], c[1]);

    fulladd a3 (a[2], b[2], c[1], sum[2], c[2]);

    fulladd a4 (a[3], b[3], c[2], sum[3], c[3]);fulladd a5 (a[4], b[4], c[3], sum[4], c[4]);

    fulladd a6 (a[5], b[5], c[4], sum[5], c[5]);fulladd a7 (a[6], b[6], c[5], sum[6], c[6]);

    fulladd a1 (a[7], b[7], c[6], sum[7], cout);

    endmodule.

    Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    16/36

    16

    SIMULATION AND SYNTHESIS OF MUX AND PRIORITY ENCODER

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:To simulate and synthesis of 4x1 MUX and 4x2 Priority encoder using Verilog HDL and to

    perform timing and power analysis.

    Software used:

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Program:

    Program for 4x1 MUX:

    module mux41 (a, b, c, d, s, o);input a, b, c, d;input [1:0] s;output o;

    reg o;always @ *

    begin

    case (s)2b00 : o = a;

    2b01 : o = b;2b10 : o = c;2b11 : o = d;default : o=a;end case

    endendmodule;

    Program for 4x2 Priority encoder:

    module pri (i,out, valid);input [3:0] i;output reg [1:0] out;output reg valid;

    always @ *case (1)i[3] : begin out = 2b11 ; valid = 1b1;end

    i[2] : begin out = 2b10 ; valid = 1b1;endi[1] : begin out = 2b01 ; valid = 1b1;end

    i[0] : begin out = 2b00 ; valid = 1b1;enddefault : begin out = 2b00 ; valid = 1b0;endendcaseendmodule.

    Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    17/36

    17

    SIMULATION AND SYNTHESIS OF D-FLIPFLOP AND T-FLIPFLOP

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:To simulate and synthesis of D Flip-flop and T Flip-Flop using Verilog HDL and to

    perform timing and power analysis.

    Software used:

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Program for D Flip-Flop:

    module dff1 (data, clk, reset, q);input data, clk, reset;

    output q;

    reg q;always @ (posedge clk)

    if (reset)

    q

  • 8/13/2019 Vlsi Manual 2013-2014

    18/36

    18

    SIMULATION AND SYNTHESIS OF 4-BIT RIPPLE COUNTER

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To simulate and synthesis of 4-bit ripple counter in behavioral model of Verilog HDL and

    to perform timing and power analysis.

    Software used:

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Program:

    module rc (a0, a1, a2, a3, cout, reset);

    output a0, a1, a2, a3;

    input cout, reset;df f0 (a0, cout, reset);

    df f1 (a1, a0, reset);

    df f2 (a2, a1, reset);

    df f3 (a3, a2, reset);

    endmodule

    module df (q, clk, reset);input data, clk, reset;

    output q;

    reg q;

    always @ (negedge clk or posedge reset)if (reset)

    q

  • 8/13/2019 Vlsi Manual 2013-2014

    19/36

    19

    SIMULATION AND SYNTHESIS OF SEQUENCE DETECTOR USING MEALYAND MOORE MODEL

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:To simulate and synthesis Mealy and Moore model in Verilog HDL and to perform timing

    and power analysis.

    Software used:

    Xilinx Spartan-3E

    Device used:

    XC3S250E FPGA320

    Program:

    Mealy model:

    module mealy (clk, reset, state, nstate, in, out);

    input clk, reset, in;

    output out;reg out;

    output reg [2:0] state;

    output reg [2:0] nstate;parameter [2:0] S0 = 3b000;parameter [2:0] S1 = 3b001;

    parameter [2:0] S2 = 3b010;

    parameter [2:0] S3 = 3b011;parameter [2:0] S4 = 3b100;

    always@(in or state)

    case (state)S0 : begin

    if(in)

    nstate = S1;

    else

    nstate = S0;out=0;

    end

    S1 : beginif(in)

    nstate = S1;

    elsenstate = S2;

  • 8/13/2019 Vlsi Manual 2013-2014

    20/36

    20

    out=0;end

    S2 : beginif(in)

    nstate = S1;

    else nstate = S3;

    out=0;

    endS3 : begin

    if(in)

    nstate = S4;

    elsenstate = S0;

    out=0;

    end

    S4 : begin

    if(in)

    nstate = S1;else

    nstate = S0;

    out=1;end

    endcase

    always@(posedge clk or posedge reset)begin

    if(reset)

    state

  • 8/13/2019 Vlsi Manual 2013-2014

    21/36

    21

    Moore model:

    module moore (clk, reset, state, nstate, in, out);

    input clk, reset, in;output out;

    reg out;

    output reg [2:0] state;output reg [2:0] nstate;

    parameter [2:0] S0 = 3b000;

    parameter [2:0] S1 = 3b001;

    parameter [2:0] S2 = 3b010;parameter [2:0] S3 = 3b011;

    parameter [2:0] S4 = 3b100;

    parameter [2:0] S5 = 3b101;

    always@(in or state)

    case (state)

    S0 : beginout=0;

    if(in)

    nstate = S1;else

    nstate = S0;

    end

    S1 : beginout=0;

    if(in)

    nstate = S1;else

    nstate = S2;

    end

    S2 : begin

    out=0;

    if(in)nstate = S1;

    else

    nstate = S3;

    endS3 : begin

    out=0;

    if(in)nstate = S4;

    else

    nstate = S0;

  • 8/13/2019 Vlsi Manual 2013-2014

    22/36

    22

    end

    S4 : beginout=0;

    if(in)

    nstate = S1;else

    nstate = S5;

    endS5 : begin

    out=1;

    if(in)

    nstate = S1;else

    nstate = S0;

    end

    endcase

    always@(posedge clk or posedge reset)

    beginif(reset)

    state

  • 8/13/2019 Vlsi Manual 2013-2014

    23/36

    23

    SIMULATION AND SYNTHESIS OF 8-BIT RADIX 4 BOOTH

    MMULTIPLIEREXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Program:

    module bootha (p, a, b);input [7:0] a, b;

    output [15:0] p;

    wire [8:0] c;wire [15:0] p1, p2, p3, p4;

    assign {c[8:0]} = b[7:0]*2;

    callbooth s1(p1[15:0], a[7:0], c[2:0]);callbooth s2(p2[15:0], a[7:0], c[4:2]);

    callbooth s3(p3[15:0], a[7:0], c[6:4]);

    callbooth s4(p4[15:0], a[7:0], c[8:6]);

    assign {p[15:0} = p1[15:0] + p2[15:0]*4 +p3[15:0]*16 + p4[15:0] * 64;

    endmodule

    module callbooth (prod, a, y);

    input [7:0]a;

    output reg [15:0]w;

    assign w[15:0] = {a[7], a[7], a[7], a[7], a[7],a[7], a[7], a[7], a};

    always @ (y)

    beginif (y== 3b000 || y == 3b111)

    begin

    prod

  • 8/13/2019 Vlsi Manual 2013-2014

    24/36

    24

    SIMULATION AND SYNTHESIS 4-BIT ALUEXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Program:

    module alu3 (a, b, choi, clk, x,

    out, c, z, s, ac, so);input [3:0] a, b;

    output c, z, s,ac,so;

    input [3:0] choi;

    input clk, x;output [3:0] out;

    reg [3:0] out;

    reg[2:0] d;reg [4:0] e;

    integer I;

    reg c;reg ac;

    reg z;

    reg s;

    reg so;

    always@(posedge clk)begin

    case (choi)4b0000 : begin

    out = a+b;

    e[4:0] = a[3:0] + b[3:0];

    if (e[4] == 1)c=i;

    if (e[3:0] == 4b0000)

    z=0;

    if (e[3] == 1)

    s=1;d[2:0] = a[1:0] + b[1:0];

    if (d[2] == 1)ac=1;

    end

    4b0001: beginout

  • 8/13/2019 Vlsi Manual 2013-2014

    25/36

    25

    z=0; end

    4b1000: begin

    reg [3:0] temp;

    for (i=0; i1;

    tmp [3]

  • 8/13/2019 Vlsi Manual 2013-2014

    26/36

    26

    HARDWARE FUSING AND TESTING OF VERILOG CODE USING XILINXCHOPSCOPE PRO ANALYZER

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To test the Verilog code for hardware fusing using Xilinx chip scope pro analyzer.

    ChipScope Pro system diagram:

    Xilinx chip scope pro Analyzer Design flow:

  • 8/13/2019 Vlsi Manual 2013-2014

    27/36

    27

    Procedure:

    1. Click the project menu and then select new source.2. Select Chip Scope Definition and Connection File and enter the file name, click Next and click finish.3. Double click your .cdcFile.4. Now your chip scope pro application will open, and then click next.5. Mention the Number of Input Trigger Port and Mention the Trigger Width then Click Next.6. Click Modify Connections and Select your clk_BUFGP then click Make connections.7. Mention your Trigger input then click Make connections, click OK.8. Click Return to Project Navigator and then click YES.9. Right click the Analyze Design Using Chip scope and Click Run.10.Connect your board using JTAG.11.Open the Chip scope Pro Analyzer.12.Click JTAG Chain and select Xilinx Parallel cable, Click Auto Detect Cable Type then click OK.13.Your IC has been detected then clicks OK. Now Select My Device and click configure.14.Click Select New File and Select your .bitfile and click open.15.Click Select New File Select your .cdcfile and click open and then click OK.16.Open the UNIT:0 then Right click the Trigger setup and open the trigger setup.17.Now the Trigger setup will be appear.18.Right Click the Waveform and Open Waveform.19.Right Click the Trigger setup => click trigger run mode =>click Repetitive, click RUN.20.

    You can change the input in your board the corresponding output is show in your PC.

    Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    28/36

    28

    SCHEMATIC ENTRY AND SPICE SIMULATION OF MOS DIFFERENTIAL

    AMPLIFIEREXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:To determine the gain, bandwidth, output impedance and CMRR of a MOS differential

    amplifier.

    Apparatus required:

    Software used: OrCAD-PSpice

    Procedure:

    1. Select components in the place part2. Paste the circuit components in the schematic window3. Enter the values for each component4. Creating a new simulation profile from the menu bar5. Place the voltage or level marker in the input and output nodes6. Then save the circuit7. Run the program.

    Circuit diagram:

    V1

    FREQ = 4kVAMPL = 50mv

    VOFF = 0v

    Q1

    BC548A

    Q2

    BC548A

    R1

    10k R2

    10k

    R3

    8k

    V2

    -15

    V3

    +15v0

    0

    0

    0

    R4

    100k

    V

    V

  • 8/13/2019 Vlsi Manual 2013-2014

    29/36

    29

    Fig. MOS Differential Amplifier

    Netlist:

    Source Differential amplifier

    V_V1 N00247 0

    +SIN 0v 50mv 4k 0 0 0

    Q_Q1 N00256 N00909 N00325 BC548A

    Q_Q2 N00291 0 N00325 BC548A

    R_R1 N00256 N00265 10k

    R_R2 N00291 N00265 10k

    R_R3 N00418 N00325 8k

    V_V2 N00418 0 -15

    V_V3 N00265 0 +15v

    R_R4 N00247 N00909 100k

    Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    30/36

    30

    STATIC TIMING ANALYSIS OF CMOS INVERTER USING CADENCE TOOL

    EXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:To design and simulate the CMOS inverter and observe the DC and transient responses

    using cadence tool.

    Schematic Entry:

    Creating a new library:

    1. In the library manager, execute File - New library. The new library form appears.2. In the new library form, type my design lib in the name section.3. In the field of directory section, verify that the path to the library is set to ~/Database /

    Cadence- analoglabbl3 and click ok.4. In the next technology file for new library form select option attach to an existing tech fileand click ok.

    5. In the attach design library to technology file form, select gpdk180 form the cyclic fieldand click ok.

    6. After creating a new library you can verify it from the library manager.7. If you right click on the my design lib and select properties, you wil find that gpdk180

    library is attached as techlib to my design lib.

    Creating a schematic cell view:

    1.

    In the CIW or library manager, execute filenewcell viw.2. Setup the new file form as follows, Do not edit the library path file and the above might bedifferent from the path shown in your form.

    3. Click ok when done the above setting. A black schematic window for the inverter designappears.

    Adding components to schematic:

    1. In the inverter schematic window, click the instance fixed menu icon to display the addinstance form.

    2. Click on the browse button. This opens up a library browser from which you can selectcomponents and the symbol view.3. After you complete the add instance form move your cursor to the schematic window andclick left to place a component.

    4. This is a table of components for building the inverter schematic.5. After entering components, click cancel in the add instance form or press ESC with your

    cursor in the schematic window.

  • 8/13/2019 Vlsi Manual 2013-2014

    31/36

    31

    Adding pins to schematic:

    1. Click the pin fixed menu icon in the schematic window. You can execute create pin orpress p.

    2. Add pin form appears. Type the following in the ADD pin form in the next order leavingspace between the pin.

    PIN NAMES DIRECTION

    Vin Input

    Vout output

    3. Select cancel and then the schematic window enter window file or press the f bind key.

    Adding wires to schematic:

    1. Click the wire (narrow) icon in the schematic window.2. In the schematic window click on a pin of one of your components as the first point for

    your wiring. A diamond shape appears over the starting point of this wire.

    3. Follow the prompts at the bottom of design window and click left on the destination pointfor your wire. A wire is routed between the source and destination points.

    4. Complete the wiring as shown in the figure and when done wiring press ECS key in theschematic window to cancel wiring.

    Saving the design:

    Click the check and save icon in the schematic editor window observe CIW output for any

    errors.

    Building the inverter test design:

    Creating the inverter test cell view:

    1. In the CIW or library manager, execute filenewcell view.2. Setup the newfile as shown below.3. Click ok when done. A blank schematic window for the inverter test design appears.

    LIBRARY NAME CELL NAME PROPERTIES/COMMENTS

    gpdk180 PMOS For MO : model name

    PMOS1,W = wp, L =180n

    gpdk180 NMOS For M1 : model name

    NMOS1,

    W = 2u, L =180n

  • 8/13/2019 Vlsi Manual 2013-2014

    32/36

    32

    4. Using the components list and properties/ comments in this table build the inverter testschematic.

    LIBRARY NAME CELL VIEW NAME PROPERTIES/COMMENTS

    My design lib Inverter Symbol

    Analog lib Vpulse V1 = 0, v2 = 1, td = 0,tr=tf=1ns, ton = 10ns, T=

    20ns

    Analog lib Vdc, gnd Vdc = 1.8v

    5. Add the above components using createinstance or by pressing I.6. Click the wire (narrow) icon and wire your schematic.7. Click create wirename or press c to name the i/p (vin) and output wires as in below

    schematic.8. Click on the check and save icon to save the design.

    Analog simulation with spectra:

  • 8/13/2019 Vlsi Manual 2013-2014

    33/36

    33

    Starting the simulation environment:

    1. In the inverter-test schematic window execute launchADEL. The variable virtuoso analog designenvironment (ADE) simulation window appears.

    Choosing a simulator:

    1. In the simulation window (ADE) execute setupsimulator / directory / host.2. In the choosing simulator form, set the simulator field to specra and click ok.3. In the simulation window (ADE) execute the setup model libraries.

    To complete, move the cursor and click ok.

    Choosing Analysis:1. Click the choose- Analysis icon in the simulation window (ADE).2. The choosing analysis form appears.3. To Setup the transient analysis.

    a. In the analysis section select tron.b. Set the stoptime as 200nsc. Click at the moderate or enabled button and the bottom and then click apply.

    4. To set for DC analysisa. In the analysis section select DC.

    b. Turn on save DC operating point.c. Turn on the component parameters.d. Double click the select Vpulse source.e. Select the DC voltage in the select window parameter and click in the form start and stop

    voltages are 0 to 1.8.f. Select the enable button and click apply and then click ok.

    Setting deign variables:1. Click on the edit variable icon and its corresponding form appears.2. Click copy from at the bottom of the form. The design is scanned. All variables formed in the

    design are listed.In the few moments the wp variable name wp and enter.

    Value (ixpr) 2u3. Click change and notice the update and then click ok or cancel (in the editing design variable

    window)

    Selecting o/ps for plotting:1. Execute the o/ps to be plotted -select on sschematic in the simulation window.2. Follow the prompt at the bottom. Click on the o/p net vout input vin of the inverter. Press esc with

    the cursor after selecting.

    Running the simulation:

    1. Execute the simulation Netlist and run in the simulation window to start the simulation on the icon.This will create the netlist as well as run the simulation.

    2. When the simulation finishes the transient DC plots automatically with the log file.Result:

  • 8/13/2019 Vlsi Manual 2013-2014

    34/36

    34

    LAYOUT GENERATION AND PARASITIC EXTRACTION OF CMOS INVERTER

    USING CADENCE TOOLEXP. NO. DATE VIVA ASSIGNMENT REMARKS

    Aim:

    To create the layout of CMOS inverter and extract the parasitic values using cadence tool.

    Procedure:

    Creating layout view of inverter:

    1. From the inverter schematic window menu execute Launchlyout XL. A startup optionform appears.

    2. Select create new option. This gives a new cell view form.3. Check the cell name (inverter). Viewname (Layout).4. Click ok from the newcell view form. LSW and a black layout window appears along with

    schematic window.

    Adding components to layout:

    1. Execute connecting GenerateAll from source or click the icon in the layout editorwindow. Generate the layout form appears. Click ok which imports the schematic

    components into the layout window automatically.2. Rearrange the components with in PRBoundary as shown.3. To rotate a component select the component and execute EditProperties. Now select the

    degree of rotation from the property edit form.4. Move a component, select the component and execute editMove command.

    Making connection:

    1. Execute connectivityNetsshow/hide selected incomplete Nets or click the icon in thelayout menu.

    2. Move the mouse pointer over the device and click LMB to get the connectivity informationwhich shows the guide lines for the interconnections of the components.

    3. From the layout window, execute createshapepath / create wire or createshaperectangle and select the appropriate layers from the LSW window and vias for making the

    interconnections.

  • 8/13/2019 Vlsi Manual 2013-2014

    35/36

    35

    Creating contacts/vias:Execute create-via to place different contacts.

    Connection Contact Type

    For metal 1Polyconnection Metal 1Poly

    For metal 1psubstrate connection Metal 1psub

    For metal 1nwell connection Metal 1 - nwell

    Saving the design:

    Save your design by selecting filesave to save the layout and layout appears.

    Running a DC:

    1. Open the inverter layout form the CIW or library manager if you have closed that. Pressshiftf in the layout to display all the levels.

    2. Select AssuraRun DRC from layout window. The DRC form appears. The library andcellname are taken from the current design window, but rule file maybe missing.

    3. Seelect the technology as gpdk180. This automatically loads the rule file.4. Click ok to start DRC.5. A progress form will appear. You can click on the watch log file to see the log file.6. When DRC finishes a dialog box asking you if you want to view your DRC results, and

    click yes to view results of the run.7. If there any DRC results in the design view layer window (VLW) and error layer window

    (ELW) appears. Also the errors highlight in the design itself.

    8. Click viewsummary in the ELW to find the details of error.9. You can refer to the run file for info, correct all the DRC error and the Re-run the DRC.10.If there are no errors in the layout then a dialog bo appears with no DRC errors foundwritten in it, click on close to terminate the DRC run.

    Running LVS:

    1. Select AssuraRun LVS from the layout window. The AssuraRunLVS form appears.It will automatically load both the schematic and layout view of the cell and click ok.

    2. The LVS begins and a progress form appears.3. If the schematic and layout matches completely, you will get form displaying schematic

    and layout match.

    4. If the schematic and layout do not matches, a form informs that the LVS completedsuccessfully and asks if you want to see the results of this sum.

    5. Click yes in the form.6. In the LVS dialog box you can find the details of mismatches and you need to correct all

    those mismatches and Re-Run the LVS.

    7. In the filtering tab of the form enter power nets as vdd! , vss! And enter ground nets as gnd!8. Click ok in the assura parasitic extraction form when done. The RCX progress form

    appears, in the progress form click watch log file to see the output log file.

    9. When RCX completes, a dialog box appears, informs you that Assura RCX run completedsuccessfully.

  • 8/13/2019 Vlsi Manual 2013-2014

    36/36

    10.You can open the av-extracted view from the library manager and view the parasitic.