Difference between revisions of "Creating a New Project"

From Vlsiwiki
Jump to: navigation, search
(Selecting the technology)
(For SCMOS)
 
(48 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
<div style="float:left" align=left>[[Technology_Setup|<--1. Technology Setup]]</div><div style="float:right" align=right>[[INV_Schematic_Tutorial|3. INV Schematic Tutorial-->]]</div>
 +
 +
 +
Before doing this, you need to do the [[Technology_Setup]].
 +
 
== Creating a project directory ==
 
== Creating a project directory ==
  
Line 5: Line 10:
 
  mkdir LayoutTutorial
 
  mkdir LayoutTutorial
 
  cd LayoutTutorial
 
  cd LayoutTutorial
 +
 +
=== For FreePDK45 ===
  
 
In this directory, you need to setup some of the library files using either the bash script:
 
In this directory, you need to setup some of the library files using either the bash script:
  /mada/software/techfiles/FreePDK45/ncsu_basekit/cdssetup/setup.sh
+
  source /bsoe/software/design-kits/FreePDK45/ncsu_basekit/cdssetup/setup.sh
or the c-shell script:
+
This will copy several files into the current directory if they do not exist. It should be run for the first time only.
  /mada/software/techfiles/FreePDK45/ncsu_basekit/cdssetup/setup.csh
+
 
depending on what shell you run (find it by running echo $SHELL).
+
=== For FreePDK15 ===
 +
Make PDK15 directory and copy files as below. It should be run for the first time only.
 +
  mkdir ~/PDK15
 +
cd ~/PDK15
 +
cp ~bradchoi/open15/* .
 +
 
 +
Add the line at the ends of ~/.bash_profile and ~/.bashrc.
 +
source ~/PDK15/setup.sh
 +
 
 +
=== For SCMOS ===
 +
Ignore this section.
 +
----
 +
First, copy the system-wide technology library to your project (or home) directory:
  
This will copy several files into the current directory if they do not exist. It should only need to be run the first time.  
+
cp /mada/software/techfiles/NCSU_CDK_1.5.1/.cdsinit .cdsinit
  
 +
== Running Virtuoso ==
 +
Make sure to allow X-windows as below:
 +
xhost +
 
From this directory, run virtuoso:  
 
From this directory, run virtuoso:  
 
  virtuoso &
 
  virtuoso &
Line 33: Line 55:
 
* basic - contains power supplies
 
* basic - contains power supplies
  
Note that the image does not show these.
+
For SCMOS, similar directories will be:
 +
* NCSU_TechLib_tsmc02d - the design rules and via layouts
 +
* NCSU_Analog_Parts - the transistor models
 +
* basic - contains power supplies
  
 
[[Image:2-library_manager.jpg|center|500px]]
 
[[Image:2-library_manager.jpg|center|500px]]
Line 44: Line 69:
  
 
== Selecting the technology ==
 
== Selecting the technology ==
A special window will pop up that prompts you to pick a technology library. We are going to use the NCSU_TechLib_tsmc02d technology which is a SCMOS 180nm process. It can be manufactured by several different vendors including TSMC. You can leave the path alone.
 
  
[[Image:4-choose_technology.jpg|center|200px]]
+
[[File:Screenshot-Technology File for New Library.png|center|300px]]
  
 
[[Image:5-attach_to_technology_lib.jpg|center|300px]]
 
[[Image:5-attach_to_technology_lib.jpg|center|300px]]
 +
 +
 +
=== For FreePDK45 ===
 +
 +
A special window will pop up that prompts you to pick a technology library. We are going to use the NCSU_TechLib_FreePDK45 technology which is a "fake" 45nm process. It cannot actually be manufactured.
 +
 +
=== For SCMOS ===
 +
 +
We are going to use the NCSU_TechLib_tsmc02d technology which is a SCMOS 180nm process. It can be manufactured by several different vendors including TSMC.

Latest revision as of 02:44, 24 November 2021


Before doing this, you need to do the Technology_Setup.

Creating a project directory

You will need to create a separate directory where you will create your libraries:

mkdir LayoutTutorial
cd LayoutTutorial

For FreePDK45

In this directory, you need to setup some of the library files using either the bash script:

source /bsoe/software/design-kits/FreePDK45/ncsu_basekit/cdssetup/setup.sh

This will copy several files into the current directory if they do not exist. It should be run for the first time only.

For FreePDK15

Make PDK15 directory and copy files as below. It should be run for the first time only.

mkdir ~/PDK15
cd ~/PDK15
cp ~bradchoi/open15/* .

Add the line at the ends of ~/.bash_profile and ~/.bashrc.

source ~/PDK15/setup.sh

For SCMOS

Ignore this section.


First, copy the system-wide technology library to your project (or home) directory:

cp /mada/software/techfiles/NCSU_CDK_1.5.1/.cdsinit .cdsinit

Running Virtuoso

Make sure to allow X-windows as below:

xhost +

From this directory, run virtuoso:

virtuoso &

Note that the ampersand runs the command in the background so you can do other things in the shell. Do not close the shell or the program will also close.

CIW

After you start virtuoso, the first window that pops up is the command interface window (CIW). It looks like this:


1-ciw.jpg

Library Manager

Another window may pop up which is the Library Manager. If it doesn't show automatically, you can view it with Tools->Library Manager. The important libraries that will show up in the manager are:

  • NCSU_DeviceLib_FreePDK - contains transistor models
  • NCSU_TechLib_FreePDK - contains Pcells (parameterized cells) for transistors and vias
  • basic - contains power supplies

For SCMOS, similar directories will be:

  • NCSU_TechLib_tsmc02d - the design rules and via layouts
  • NCSU_Analog_Parts - the transistor models
  • basic - contains power supplies
2-library manager.jpg

Creating a Library

The first step is to create a new library with File->New->Library. Add a unique name for your library. It will contain all of your layout and schematics. We will also "attach" the library to a given technology library that is already set up.

3-new library.jpg

Selecting the technology

Screenshot-Technology File for New Library.png
5-attach to technology lib.jpg


For FreePDK45

A special window will pop up that prompts you to pick a technology library. We are going to use the NCSU_TechLib_FreePDK45 technology which is a "fake" 45nm process. It cannot actually be manufactured.

For SCMOS

We are going to use the NCSU_TechLib_tsmc02d technology which is a SCMOS 180nm process. It can be manufactured by several different vendors including TSMC.