very large scale integration ii - vlsi ii synthesis using rtl compiler hayri u ğur uyanik

33
03/23/22 1 www.vlsi.itu.edu.t r Very Large Scale Integration II - VLSI II Synthesis Using RTL Compiler Hayri Uğur UYANIK ITU VLSI Laboratories Istanbul Technical University

Upload: sarah-mason

Post on 31-Dec-2015

50 views

Category:

Documents


1 download

DESCRIPTION

Very Large Scale Integration II - VLSI II Synthesis Using RTL Compiler Hayri U ğur UYANIK ITU VLSI Laboratories Istanbul Technical University. Synthesis Using RTL Compiler. CNT_16 Module: 16 bit up counter with asynchronous active-low reset `timescale 1ns/1ps - PowerPoint PPT Presentation

TRANSCRIPT

04/19/23

1

www.vlsi.itu.edu.tr

Very Large Scale Integration II - VLSI II

Synthesis Using RTL Compiler

Hayri Uğur UYANIK

ITU VLSI Laboratories

Istanbul Technical University

04/19/23

2

www.vlsi.itu.edu.tr

Synthesis Using RTL CompilerCNT_16 Module: 16 bit up counter with asynchronous active-low reset

`timescale 1ns/1ps

module CNT_16(CLK, RSTB, OUT);

input CLK, RSTB;output [15:0] OUT;

reg [15:0] OUT;

always@(posedge CLK or negedge RSTB) beginif(!RSTB) begin

OUT <= 0;endelse begin

OUT <= OUT + 1;end

end

endmodule

04/19/23

3

www.vlsi.itu.edu.tr

Synthesis Using RTL CompilerCMP_16 Module: Comparator which compares the 16 bit input with 50.

`timescale 1ns/1ps

module CMP_16(IN, OUT);

input [15:0] IN;output OUT;

reg OUT;

always@(IN) beginif(IN <= 50) begin

OUT = 0;endelse begin

OUT = 1;end

end

endmodule

04/19/23

4

www.vlsi.itu.edu.tr

Synthesis Using RTL CompilerTOP Module: The top module which connects both. The resulting design makes OUT=1 after 50 clock cycles.

`timescale 1ns/1ps

module TOP(CLK, RSTB, OUT);

input CLK, RSTB;output OUT;

wire [15:0] OUT_16;

CMP_16 U1(OUT_16, OUT);CNT_16 U2(CLK, RSTB, OUT_16);

endmodule

04/19/23

5

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Make a new folder

04/19/23

6

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Copy all Verilog files to newly created folder

04/19/23

7

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

rc –gui

04/19/23

8

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

RTL Compiler windows

04/19/23

9

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

set_attribute lib_search_path /work/kits/ams/3.70/liberty/c35_3.3V

04/19/23

10

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

set_attribute library {c35_CORELIB.lib}

04/19/23

11

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

read_hdl CNT_16.v

read_hdl CMP_16.v

read_hdl TOP.v

04/19/23

12

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

elaborate TOP

04/19/23

13

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Sub Blocks

04/19/23

14

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Technology independent D type Flip Flop

04/19/23

15

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Technology independent adder

04/19/23

16

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

define_clock -period 100000 -fall 80 -rise 80 -name clkin /designs/TOP/ports_in/CLK

04/19/23

17

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

set_attribute slew {100 100 200 200} [find -clock clkin]

04/19/23

18

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

external_delay -input 1000 -clock [find -clock clkin] -edge_rise [find /des* -port ports_in/*]

04/19/23

19

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

external_delay -output 1000 -clock [find -clock clkin] –edge_rise /designs/TOP/ports_out/*

04/19/23

20

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

synthesize -to_mapped

04/19/23

21

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Technology dependent D type Flip Flop

04/19/23

22

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Technology dependent adder

04/19/23

23

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

write –mapped > TOP_syn.v

04/19/23

24

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

write_sdc > TOP.sdc

04/19/23

25

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

report_timing >timing_report.txt

04/19/23

26

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

report_area >area_report.txt

04/19/23

27

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

bgx_shell

04/19/23

28

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

BuildGates

04/19/23

29

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

source /work/kits/ams/3.70/buildgates/c35_3.3V/read_libs.tcl

04/19/23

30

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

read_verilog -st TOP_syn.v

04/19/23

31

www.vlsi.itu.edu.tr

Synthesis Using RTL Compilerwrite_sdf -prec 3 -edges check_edge -splitsetuphold -splitrecrem -remashold -force_calculation TOP.sdf

04/19/23

32

www.vlsi.itu.edu.tr

Synthesis Using RTL CompilerNew Testbench:

`timescale 1ns/1ps`include "/work/kits/ams/3.70/verilog/c35b4/c35_CORELIB.v"`include "/work/kits/ams/3.70/verilog/udp.v“module TEST_TOP;

reg CLK, RSTB;wire OUT;

initial $sdf_annotate("TOP.sdf",U1);initial begin

RSTB = 0;CLK = 0;#30 RSTB = 1;#100000 $finish;

end

always #50 CLK = ~CLK;

TOP U1(CLK, RSTB, OUT);

endmodule

04/19/23

33

www.vlsi.itu.edu.tr

Synthesis Using RTL Compiler

Add

`timescale 1ns/1ps

to TOP_syn.v and simulate

OUT rises 1.225ns after the rising edge of CLK