Difference between revisions of "Creating a New Project"
(→Creating and editing a group for a project) |
(→Creating and editing a group for a project) |
||
Line 83: | Line 83: | ||
If you want to change the group ownership of a directory and it's contents recursively, you should use: | If you want to change the group ownership of a directory and it's contents recursively, you should use: | ||
chgrp -R group_name directory | chgrp -R group_name directory | ||
+ | |||
+ | If you want to change the permission on a file or directory, you should use use chmod. | ||
+ | chmod syntax is shown in the following example: | ||
+ | chmod 775 file_name | ||
+ | chmod 775 folder_name | ||
+ | |||
+ | Where the series of three digits defines the permissions for user, group, and others. | ||
+ | Each digit indicates what operations can be accessed, depending on the following operation values: | ||
+ | 1 : Execute | ||
+ | 2 : Write | ||
+ | 4 : Read | ||
+ | |||
+ | So in our above example, the owner has the permission to read/write/execute (4+2+1), the group has the permission to read/write/execute (4+2+1), while others can read/execute only (4+1). | ||
+ | |||
+ | In case you want to use chmod recursively for files underneath a folder, you should use: | ||
+ | chmod -R 751 folder_name | ||
+ | |||
+ | Note that, the three digit number is for understanding the example, and should be changed depending on the user. | ||
== Adding Library == | == Adding Library == |
Revision as of 06:46, 29 May 2014
Before doing this, you need to do the Technology_Setup.
Contents
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:
/projects/cmpe122/techfiles/FreePDK45/ncsu_basekit/cdssetup/setup.sh ( /mada/software/techfiles/FreePDK45/ncsu_basekit/cdssetup/setup.sh for VLSI-DA lab)
This will copy several files into the current directory if they do not exist. It should only need to be run the first time.
For SCMOS
The first thing you must do is 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
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:
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
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.
Selecting the technology
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.
Creating and editing a group for a project
To create a new group, you should type:
addgroup group_name
In case you want to add an existing user to the group, you should type:
adduser user_name group_name
If you want to change the group ownership of a directory and it's contents recursively, you should use:
chgrp -R group_name directory
If you want to change the permission on a file or directory, you should use use chmod. chmod syntax is shown in the following example:
chmod 775 file_name chmod 775 folder_name
Where the series of three digits defines the permissions for user, group, and others. Each digit indicates what operations can be accessed, depending on the following operation values:
1 : Execute 2 : Write 4 : Read
So in our above example, the owner has the permission to read/write/execute (4+2+1), the group has the permission to read/write/execute (4+2+1), while others can read/execute only (4+1).
In case you want to use chmod recursively for files underneath a folder, you should use:
chmod -R 751 folder_name
Note that, the three digit number is for understanding the example, and should be changed depending on the user.
Adding Library
To add an existing library from another machine or user, first you have to copy this library to your local space (where you run virtuoso), then in your cds.lib file you should add:
DEFINE new_library /your/local/space/new_library
Then in your lib.defs file you should add:
DEFINE new_library /your/local/space/new_library ASSIGN new_library libMode shared