100% found this document useful (1 vote)
104 views71 pages

Week 5

The document provides information on inputs for physical design (PD) and basic Linux commands. It discusses PD inputs like the netlist, timing constraints, libraries, and technology files. It also covers floor planning concepts such as defining the size and shape of blocks, creating voltage areas, placing macros and I/Os, and adding placement and routing blockages. Basic Linux commands allow users to navigate directories, manage files, and get system information.

Uploaded by

apoorva
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
100% found this document useful (1 vote)
104 views71 pages

Week 5

The document provides information on inputs for physical design (PD) and basic Linux commands. It discusses PD inputs like the netlist, timing constraints, libraries, and technology files. It also covers floor planning concepts such as defining the size and shape of blocks, creating voltage areas, placing macros and I/Os, and adding placement and routing blockages. Basic Linux commands allow users to navigate directories, manage files, and get system information.

Uploaded by

apoorva
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 71

Weekly Assessment

PD INPUTS
FLOOR PLAN &
BASIC LINUX
Presented by:
Apoorva
COMMANDS
Jigar Kumar Luhar

Susmita Bera
CONTENTS
 PD inputs
 Floor planning
 Basic Linux Commands

All Rights Reserved


PD inputs
Netlist
 Textual description of circuits components (like logic gates, combinational
circuits, sequential circuits), so netlist is a collection of gates.

 It contains the logical connectivity of all the cells.

 It can also be a collection of resistors, capacitors or transistors.


Synopsys Design Constraints(SDC) :
 These are timing constraints and used to meet the timings.

constraints are :
 create clock definition
 generated clock definition
 Virtual clock
 input delay
 output delay
Timing library/logical library (.lib):
 It contains timing information of standard cells, soft macros, hard macros.

 It contains Functionality information of standard cells and soft macros.

 Timing information like cell delay setup, hold, recovery, removal are
present.

 Design rules like max tran, max cap, max fanout, min cap are present
Timing library/logical library (.lib):
 Cell delay is a function of input transition and output load and is
calculated based on lookup tables.It is calculated by Nonlinear Delay
Mode(NLDM) and composite current source(CCS)models.
Physical Library(.lef) :
 It contains physical information of standard cells, macros, pads.

 Contain the name of the pin, pin location, pin layers, direction of pin(in,
out,inout), uses of pin (Signal, Power, Ground) site row, height and width
of the pin and cell.

 Contain the height of standard cell placement rows.


Physical Library(.lef) :
 .lef contains two types of views

 CELL view: it is a full layout of the block and used at the time of tape out.

 FRAM view: this is an abstract view that has only the pins, metals, via and
blockages that are used in Placement & Route stages.
Technology File :
 Contain the number of metal layers and vias and their name and
conventions.

 Design rules for metal layers like the width of metal layer and spacing
between two metal layers.

 Metal layers resistance and capacitance as well as routing grid.

 Unit, precision, color, and pattern of metal layer and via.


TLU+(Table Lookup)
 It is a table containing wire cap at diffrent net length and spacing.

 contain RC coeficients for specific technology.

 TLU+ files are extracted or generated from ITF(contains interconnect


details) file results.
TLU+(Table Lookup)

 The main function of this files are--

[a] . Extracted R, C parasitics of metal per unit length


[b] . These RC parasitics are used for calculating net delays.
[c]. If TLU+ files are not present these R,C parasitics extracted from.ITF files
[d]. For loading of TLU+ we have to load 3 files: 1. TLU+ 2. Min TLU+ 3. Max
TLU+
[e]. Map file maps the .itf file and .tf files of the layer and via names.
Floor planning
 In physical design, the first step in RTL-to-GDSII design is floor planning.
 Floorplan is one of the critical & important step in Physical design.
Quality of your Chip / Design implementation depends on how good is
the Floorplan.
 Floorplan control Parameters :
1. Aspect Ratio = Height / Width
2. Utilization Factor = (Netlist Area) / Total Core Area
Netlist Area = standard cell area + macro area

All Rights Reserved


All Rights Reserved
Floor plan Inputs:
 Synthesis Netlist
 Physical Libraries
 Logic Libraries
 Timing constraints
 Power requirement
 Floor planning control parameters.

All Rights Reserved


Floorplan Requirements
1. Basic design understating
2. Data flow diagram (DFA / Analyse logic connectivity in Synopsys ICC)
3. Integration guidelines
4. IO / Pin placement requirements
5. Special requirements from Full Chip floorplan
6. MV / LP requirements. Understanding of PDs & Vas

All Rights Reserved


Types of Partitions/ Blocks
1. Memory intensive digital cores, graphic cores
2. Partitions / Blocks with analog Hard IPs
3. DDR & other High Speed Interface partitions / blocks / sub-systems
4. Channel partitions

 Partition with different critical task


1. Timing critical
2. Routing critical / Congestion
3. Blocks with complex Clock structure

All Rights Reserved


Floorplan Techniques
1. Abutted (All inter block pin connections are done through FTs)
2. Non abutted (Channel based. All inter block pin connections are routed
in channels)
3. Mix of both – partially abutted with some channels

All Rights Reserved


Floorplan Steps
1. Size & shape of the block (Usually provided by FC floorplan)
2. Voltage area creation (Power domains)
3. IO placement
4. Creating standard cell rows
5. Macro-placement
6. Adding routing & placement blockages (as required)
7. Adding power switches (Daisy chain)
8. Creating Power Mesh
9. Adding physical cells (Well taps, End Caps etc)

All Rights Reserved


Floorplan steps
1. Size & shape of the block: In most of the case, block size & shape is
decided by FC floorplan. Rectangle/Square shape is best in terms of
floorplan & further design closure.
2. Voltage area creation: In multi-voltage & multi power domain designs,
voltage areas are required to guide the tool to understand different
domains.
Two methods to create voltage area:
a) Abutted voltage area
b) Non-abutted voltage area

All Rights Reserved


Floorplan steps
3. IO placement: IOs / Pins are placed at the boundary of the block. Usually
pin placement information is pushed down from FC floorplan.
4. Creating standard cell row: Rows area created in the design using cell-
site (unit / basic). Rows aid in systematic placement of standard cells. And
standard cell power routes done considering rows.

All Rights Reserved


5.Macro Placement
 Steps:
1. Understand Pins & Orientation requirements of Macros
2. Follow data flow /hierarchy to place the Macros. Make use of reference
floorplan if available
3. All the pins of the Macros should point towards the core logic
4. Channels between macros should be big enough to accommodate all
routing requirements & should get a minimum of one pair VDD & VSS
power grids in the channel

All Rights Reserved


All Rights Reserved
Macro placement checks
 All macros should be placed at the boundary
 Check the orientation & pin directions of all macros
 Spacing between macros should be enough for routing & power grid
 Macros should not block partition level pins
 Less congestion & good timing QoR – These cannot be achieved in one
shot, but need few iterations

All Rights Reserved


6.Adding placement & routing blockages
 Buffer only blockages are added in channels between macros.
 Partial placement blockages can be added between the channels
blocking sequential cells. Partial blockages are added in congestion
prone areas/notches/corners.

All Rights Reserved


7.Adding Power switches
 Power switches are MT-CMOS (multi-threshold) cells, which will have
very high threshold voltage when device is OFF & very low threshold
voltage when device is on.
 A strong network of power switches connected in daisy chain fashion
will be inserted in the design

All Rights Reserved


8.Adding special cells
 Special cells are Well Taps, EndCaps, Spare Cells, Metal ECO-able cells
etc.
 Well-taps cells are added in partition/chip level to tie the wells to
VDD/VSS.
 End Cap Cells ensure proper terminations of rows, so that no DRC are
created. This is a physical-only cell.
 Spare cells are extra cells placed in your layout in anticipation of a future
ECO(Engineering change order).

All Rights Reserved


Floorplan Checks
 Check PG connections (For macros & pre-placed cells only)
 LP / MV checks on floorplan database
 Check the power connections to all Macros, specially analog/special
macros if any
 All the macros should be placed at the boundary
 There should not be any notches / thin channels. If unavoidable, proper
blockages has to be added
 Remove all unnecessary placement blockages & routing blockages
 Check power connection to power switches
 Check power mesh in different voltage area
 Check pin-layers & check layer directions
All Rights Reserved
Floorplanning Algorithms
Several broad classes of algorithms:

 Integer programming based


 Rectangular dual graph based
 Hierarchical tree based
 Simulated annealing based–Other variations

All Rights Reserved


Integer Linear Programming Formulation
 The problem is modeled as a set of linear equations using 0/1 integer
variables.
 ILP solver used to obtain optimal solution based on a defined cost
function.
 Can be use only for small problem instances
-Very high computional complexity.

All Rights Reserved


Rectangular Dual-Graph Approach
Basic Concept:
 Output of partitioning algorithms represented by a graph.
 –Floorplans can be obtained by converting the graph into
 its rectangular dual.

The rectangular dual of a graph satisfies the following properties:


 – Each vertex corresponds to a distinct rectangle.
 – For every edge, the corresponding rectangles are adjacent.

All Rights Reserved


Hierarchical Approach
Widely used approach to floorplanning.
 Based on a divide-and-conquer paradigm.
 At each level of the hierarchy, only a small number of rectangles are
considered.

A small graph, and all possible floorplans.

All Rights Reserved


Simulated Annealing
Important issues in the design of a simulated annealing optimization
problem:
 1. The solution space.
 2. The movement from one solution to another.
 3. The cost evaluation function.

A solution by Wong & Liu is applicable to sliceable floorplans only.


 – Floorplan can be represented by a tree.
 – Postfix notations used for easy representation and
 manipulation.
All Rights Reserved
Floor plan Outputs:
 Die/block Area
 I/O placed
 Macros Placed
 Power Grid designed
 Power Pre-routing
 Standard Cell Placement Areas

All Rights Reserved


LINUX Operating System
 Linux is a family of open-source Unix-like operating systems based on
the Linux kernel, an operating system kernel first released on Sept 17,
1991, by Linus Torvalds.
 Where, Kernel is a computer program at the core of a computer's
operating system with complete control over everything in the system.
 Some popular distributions are: Ubuntu, Linux mint, Manjaro, Fedora,
Pop os, Debian, elementary os.
 The most attractive thing in Linux is “Linux shell or terminal”.
 Terminal or shell is a program that receives commands from the user
and gives it to the OS to process, and it shows the output.

All Rights Reserved


Basic Linux Commands
 pwd: It gives us the absolute path, which means the path that starts
from the root. The root is the base of the Linux file system.
 ls : command to know what files are in the directory you are in. You can
see all the hidden files by using the command “ls-a”.
 cd : use “cd” command to go to a directory and to go 1 step back type
“cd ..”. The two dots represent back.
 mkdir : Use the mkdir command when you need to create a folder or a
directory.
 rmdir: Use rmdir to delete a directory. But rmdir can only be used to
delete an empty directory.

All Rights Reserved


Basic Linux Commands
 rm: Use the rm command to delete files and directories. Use "rm -r" to
delete just the directory.
 touch: The touch command is used to create a file. It can be anything,
from an empty txt file to an empty zip file.
 man & --help : To know more about a command and how to use it, use
the man command
 cp: Use the cp command to copy files through the command line. It
takes two arguments: The first is the location of the file to be copied,
the second is where to copy.
 mv: Use the mv command to move files through the command line.
Also used to rename a file. It takes two arguments like cp.
All Rights Reserved
Basic Linux Commands
 locate :The locate command is used to locate a file in a Linux system,
just like the search command in Windows.
 echo: The "echo" command helps us move some data, usually text into a
file.
 cat: Used to display the contents of a file. It is usually used to easily view
programs.
 sudo(SuperUser Do): if we want any command to be done with
administrative or root privileges, we use the sudo command.
 find: To locate files within a given directory.
 grep: search through all the text in a given file.

All Rights Reserved


Basic Linux Commands
 df: To get a report on the system’s disk space usage.
 du: To check how much space a file or a directory takes.
 head: To view the first lines of any text file.
 tail: To view the last lines of any text file.
 diff: Compares the contents of two files line by line.
 kill: To terminate unresponsive program manually.
 ping: To check connectivity status to a server.
 uname: Print detailed information about Linux system.
 top: Display a list of running processes and how much CPU each process
uses.

All Rights Reserved


LS
• List the contents of the folder from which it runs.
• Syntax: ls
• Example:
ls –l
ls -a
MKDIR
• The “mkdir” (Make directory) command create a new directory.

• If directory already exists, it will return an error message “cannot


create folder, folder already exists”.

• Syntax: mkdir directory_name

• Example: mkdir student


CAT
• It is used to create a file with content.
• And can concatenate two or more file
contents.
• Syntax: cat > filename
• Example: cat > file1
TOUCH
• It is used to create file without content.

• Syntax: touch filename

• Example: touch file1


CP
Itcopies a file from one location to another location.

• Syntax: cp src_file desti_file

• Example: cp file1 file2


CD
• It is used for changing the directory.
• Syntax: cd dir_name
• Example: cd student
MV
• The “mv” command moves a file from
one location to another location.
• Syntax: mv source destination
• Example: mv file1 student
PWD
• It prints the current working directory with
full path name from terminal.
• Syntax: pwd
WHEREIS
• Itis used to locate the Sources and
Manual Pages of the command.

• Syntax: whereis command

• Example: whereis cat


WHICH
• It is used to locate executables in the system.
• It allows user to pass several command names as
arguments to get their paths in the system.
• Syntax: which command
• Example: which ls
MAN
• Itprovides online documentation for all
the possible options with a command and its
usages.

• Syntax: man command

• Example: man cat


INFO

• Itprovides online documentation for all


the commands but in a better structured way.
• Syntax: info command
• Example: info cat
WHOAMI

Itis used to find out the current user of


the terminal.
• Syntax: whoami
GREP
Itsearches the given file for lines containing a match to the
given strings or words.

• Syntax: grep word filename

• Example: grep m file2


HEAD
• It prints the first 10 lines of the given file.

• Syntax: head filename

• Example: head stu


TAIL
• It prints the last 10 lines of the given file.

• Syntax: head filename

• Example: head std


TAC
Itprints content of the given file in reverse order.

• Syntax: tac filename

• Example: tac kk
PS

• ps (Process) gives the status running


of processes with a unique Id called
PID.
• Syntax: ps
ALIAS
• It is a built in shell command that lets you assign
name for a long command or frequently used
command.

• Syntax: alias aliasname command

• Example: alias q=ls-l


SUDO
• It allows a permitted user to execute a command
as the super user or another user.

• Syntax: sudo cmd

• Example: sudo passwd


HISTORY
• Itprints the history of long list of
executed commands in terminal.

• Syntax: history
PASSWD
It is used for changing the passwd.

You must know the current passwd for the security reason.

• Syntax: passwd
DATE
• Itprint the current date and on the
time standard output & can further be
• Syntax: date
set.
• To set date: date - -set=‘14 may 2013
13:57’
CAL
• Itis used to display calendar of the
present month or any other month.

• Syntax: cal

• Example: 3 1991
CLEAR
• It is used to clear the screen.

• Syntax: clear
DU
• Estimate files space usage.

• df only reports usage statistics on file systems, while


‘du‘, on the other hand, measures directory
contents.

• Syntax: du
Work Done
 Apoorva
1. Floorplan
2. PD Inputs
3. Linux commands

All Rights Reserved


Work Done
 Jigar
1. PD Inputs
2. Floorplan
3. Basic Linux commands

All Rights Reserved


Work Done
 Susmita
1. Floorplan
2. PD Inputs
3. Linux commands

All Rights Reserved


All Rights Reserved

You might also like