Skip to content

silverlining2242/NTHU_VLSI-PhysicalDesignAutomation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VLSI Physical Design Automation

CS6135 VLSI Physical Design Automation courses projects

Each homework's analysis and experiemental results are under README.md in the corresponding directory

HW1 - P&R Tools

In this homework, you will use Cadence Innovus to complete the Place and Route (P&R) flow for a given synthesized standard-cell design. This assignment aims to familiarize you with Innovus and the P&R process. Additionally, you are encouraged to optimize timing, chip area, and wire length. The quality of your optimization will affect your score, so strive for the best performance in all metrics.

HW2 - Two-way Min-cut Partitioning

In this homework, you are asked to implement an existing algorithm or develop your own algorithm to solve the problem of two-way min-cut partitioning (with balance constraint) (implement the FM algorithm)

HW3 - Fixed-outline Slicing Floorplan Design

In this homework, you are asked to adapt and implement an existing algorithm, published in the DAC-86 paper entitled “A New Algorithm for Floorplan Design” by Wong and Liu, for solving the fixed-outline slicing floorplan design problem with a set of hard blocks.

HW4 - Analog Device Placement Considering Symmetry Constraints

In this homework, you are asked to implement an analog device placer considering symmetry constraints, using the benchmark circuits published in the 2009 IEEE TCAD paper entitled “Analog Placement Based on Symmetry-Island Formulation” by Lin et al.

HW5 - Placement Legalization (Abacus)

In this homework, you are asked to adapt and implement an existing algorithm, published in the ISPD-08 paper entitled “Abacus: fast legalization of standard cell circuits with minimal movement” by Spindler, Schlichtmann and Johannes, to legalize a given global placement result with minimal total displacement (measured by Euclidean distance)

How to compile, run and verify

### [ How to compile and clean]
cd HW3/src
make # to compile (HW5/bin generated)
make clean # to clean compiled files

### [ How to run ]
# refer to each HW secton's README

### [ How to run judge]
./judge.sh # verify all directory structure 

### [ Others ]
# run in background and write log
nohup ./judge.sh >& judge.log & 
# run in the background using tmux
tmux               # to open tmux session
./judge.sh         # run in tmux session
# press 'ctrl + B', and then 'D' to leave the tmux session
tmux ls            # list the current tmux windows
tmux attach -t 0   # resume to the 0-th session
# to sync between local and remote machine (from-to)
rsync -avz ./HW5/src/ ttyang24@ic21:~/HW5/src/ 

About

CS6135 VLSI Physical Design Automation courses projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors