Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
vlsi:computing_cdsterm [09/04/2013 08:01]
pacher
— (versione attuale)
Linea 1: Linea 1:
  
-====== Running VLSI design platforms ====== 
- 
-[ __[[vlsi:​home|Home]]__ ] 
-[ __[[vlsi:​workbook|VLSI Design WorkBook]]__ ] 
-[ __[[vlsi:​computing_main#​contents|Back to index]]__ ] 
- 
- 
-== Contents == 
- 
-   * [[vlsi:​computing_cdsterm#​introduction|Introduction]] 
-   * [[vlsi:​computing_cdsterm#​main_initialization_script|Main initialization script]] ​ 
-   * [[vlsi:​computing_cdsterm#​run_cadence_executables|Run Cadence executables]] 
-   * [[vlsi:​computing_cdsterm#​start_a_vanilla_environment|Start a vanilla environment]] 
-   * [[vlsi:​computing_cdsterm#​manual_configuration|Manual configuration]] ​ 
- 
-**Keywords:​** environment variable, search path, ''​cdsterm'',​ technology 
- 
- 
- 
-===== Introduction ===== 
- 
-Before you can run any licensed VLSI tool you need to set necessary UNIX **environment variables** ​ 
-and add **executables** to the system **search path**. The runtime environment must be set  
-every time you start a session work, but all the stuff is automatically done for you by an  
-**interactive initialization script** provided by the VLSI system administrator,​ as described below. 
- 
-===== Main initialization script ===== 
- 
-The setup script is named ''​cdsterm''​ and is located in the ''/​usr/​local/​bin/''​ directory, ​ 
-which should already be included in your default search path. Please, check it out using  
-the ''​which''​ command, ​ 
- 
-<​code>​ 
-which cdsterm 
-/​usr/​local/​bin/​cdsterm 
-</​code>​ 
- 
- 
-\\ 
-The script is a csh script that interactively sets environment variables and adds search paths  
-for different design platforms and technologies. 
- 
-To launch the script, move into your working directory and simply type ''​cdsterm''​ 
-at the command line 
- 
-<​code>​ 
-cd ~/​scratch/<​tech_dir 
-cdsterm 
-</​code>​ 
- 
-or equivantely source the script with 
- 
-<​code>​ 
-source /​usr/​local/​bin/​cdsterm 
-</​code>​ 
- 
-\\ 
-At first you are prompted to choose the **design suite** you want to work with: 
- 
-<​code>​ 
-Select Cadence product :  
- [1a] IC  5.1.41HF137 
- [1b] IC  6.1.3 
- [1c] IC  6.1.4 
- [1d] IC  6.1.5 
- [2a] RC  8.10 
- [2b] RC  9.10 
- [2c] SOC 8.10 
- [2d] EDI 9.12 
- [3a] SPB 16.30 
- [3b] SPB 16.50 
- 
-</​code>​ 
- 
- 
-\\ 
-Type in the tool identifier and press the ''​Return''​ key. Available Cadence ​ 
-platforms are **IC** (//​Virtuoso//​ full-custom analog and mixed-mode IC design), ​ 
-**RC** (Verilog/​VHDL logic synthesizer),​ **SOC** (//SoC Encounter RTL-to-GDSII System//, ​ 
-digital place-and-route tool), **EDI** (//​Encounter Digital Implementation System//, ​ 
-next generation digital place-and-route tool) and **SPB** (//​Allegro//​ PCB design suite). \\ 
-The **Incisive** platform (Verilog/​VHDL logic simulator) environment is included ​ 
-with both IC and RC setups. ​ 
-For more details about available tools see __[[computing_tools|Licensed softwares]]__. 
- 
-Next you have to select the **technology** with the same procedure: 
- 
- 
-<​code>​ 
-Available tecnologies are :  
- 
- [1a] AMS 0.35 um CMOS (c35b4) 
- [1b] AMS 0.35 um SiGe (s35d4) 
- [2a] IBM 0.13 um CMOS (cmrf8sf) - LM 
- [2b] IBM 0.13 um CMOS (cmrf8sf) - DM 
- [2c] IBM   90 nm CMOS (cms9flp) 
-         [3a] ... 
-                         ... 
-                         ... 
-              ​ 
-</​code>​ 
- 
-\\ 
-All VLSI users can work with AMS and IBM technologies. The access to other cutting-edge 
-technologies is restricted and it depends on the selected tool and on the user membership ​ 
-to a specific **technology group** defined by the system administrator. Technology ​ 
-permissions are verified by the ''​cdsterm''​ script and different lists of available ​ 
-technologies are shown in the menu. You can check yourself the technology you are allowed ​ 
-to use with the command 
- 
-<​code>​ 
-id -n -G 
-</​code> ​ 
- 
-which prints username and groups. You can also inspect the ''/​etc/​group''​ configuration file with 
- 
-<​code>​ 
-more /etc/group 
-</​code>​ 
- 
-\\ 
-Note that if the selected tool is Cadence SPB (Allegro) you are not asked to choose a technology. 
- 
- 
- 
-===== Run Cadence executables ===== 
- 
-The ''​cdsterm''​ script modifies your UNIX environment,​ setting path and environment variables. 
-Furthermore,​ once the technology has been selected the script opens a new **xterm** terminal and  
-the overall UNIX environment set in the parent shell is exported into the new one.  
- 
- 
-{{:​vlsi:​parent_shell_and_xterm.png?​800}} 
- 
-You can make a comparison between your parent shell environment and the xterm exported environment typing 
- 
-<​code>​ 
-set 
-</​code>​ 
- 
-in the two different shells. 
- 
-\\ 
-Each design tool will be launched from the xterm command prompt by invoking its specific executable ​ 
-name with the general syntax 
- 
-<​code>​ 
-executable &    
-</​code> ​ 
- 
-or 
- 
-<​code>​ 
-executable ​     
-</​code>​ 
- 
-Since environment variables and search paths have been exported in xterm, don't invoke ​ 
-a tool in the parent shell, you will get a ''​Command not found''​ issue otherwise. 
- 
-Depending on the selected tool follow the instructions listed below. ​ 
- 
-   * [[computing_run_ic|Cadence IC 6.1.x (Virtuoso)]] FIXME 
- 
-   * [[computing_run_ius|Cadence Incisive]] FIXME 
- 
-   * [[computing_run_rc|Cadence RC]] FIXME 
- 
-   * [[computing_run_soc|Cadence SOC]] FIXME 
- 
-   * [[computing_run_edi|Cadence EDI (Encounter)]] FIXME 
- 
-   * [[computing_run_spb|Cadence SPB 16.x (Allegro)]] FIXME 
- 
-If the first time  that you try running a tool you face any problems with the Cadence ​ 
-**license checking management**,​ please contact the VLSI system administrator ​ 
-([[mazza@NOSPAMto.infn.it]],​ remove NOSPAM in the address). ​ 
- 
-Instructions for starting Cadence tools with a **technology-independent environment** ​ 
-are discussed in __[[vlsi:​computing_cdsterm#​start_a_vanilla_environment| 
-Start a vanilla environment]]__.  ​ 
- 
- 
- 
-===== Start a vanilla environment ===== 
- 
-Cadence design platforms are completely general and can support different ​ 
-fabrication technologies. When a particular technology is selected through ​ 
-the ''​cdsterm''​ initialization script, necessary UNIX environment variables (e.g. the PDK installation ​ 
-directory) are set and specific technology-related files (e.g. ''​.cdsinit_tech''​ file)  
-are loaded at Cadence startup. \\ 
-Cadence environment setups and technology setups are kept separate. ​ 
-Each platform has its own configuration script placed in the ''/​usr/​local/​config/​cds_config/'' ​ 
-directory, ​ 
- 
-<​code>​ 
-ls -l /​usr/​local/​config/​cds_config 
-</​code> ​ 
- 
-which is then sourced in the ''​cdsterm''​ according to the selected design platform. 
- 
- 
-For **getting started training** purposes you are not required to run  
-Cadence platforms attached to a process design kit. 
-You can always start a //vanilla// (technology-independent) Cadence environment,​ 
-all you need is to **source by hand** the right platform configuration script. 
-As a matter of fact, //schematic level simulations//​ (pre-layout simulations) ​ 
-in **Cadence IC** (Virtuoso) can be always performed using simple SPICE device ​ 
-models that can be found on the Web as well as in many microelectronics textbooks. 
-On the other hand, //​Verilog/​VHDL logic simulations//​ (pre-synthesis simulations) ​ 
-with **Cadence Incisive** only require the hardware description language source code. 
-Furthermore,​ the above-mentioned Cadence SPB (Allegro) used in designing PCBs  
-is technology-independent. A specific technology is required indeed if you want to do  
-full-custom analog layout with Cadence IC or if you deal with digital synthesis and  
-place-and-route with Cadence RC and Cadence SOC/EDI respectively. \\ 
-According to this, the most part of WorkBook tutorial can be carried out with a simple ​ 
-Cadence IC 6.1.x vanilla environment (the latest software release is 6.1.5). 
- 
-To set up a Cadence IC 6.1.5 vanilla environment,​ move into your working ​ 
-directory (''​~/​scratch/​tutorials''​ in the WorkBook tutorials) and  
-source by hand the ''/​usr/​local/​config/​cds_config/​CdsIC_615.rc''​ script: ​ 
- 
-<​code>​ 
-cd ~/​scratch/​tutorials 
-source /​usr/​local/​config/​cds_config/​CdsIC_615.rc 
-</​code>​ 
- 
-\\ 
-You should launch a new **xterm** instance in order to export the UNIX environment 
-into a separate terminal, as usually performed by ''​cdsterm'':​ 
- 
-<​code>​ 
-xterm & 
-</​code>​ 
- 
-\\ 
-The ''​CdsIC_615.rc''​ script defines the proper UNIX environment ​ 
-for both Cadence IC 6.1.5 and Incisive 10.20 platforms, hence you  
-will be able to work through either analog or digital tutorials. 
- 
-\\ 
-:!: **//​Note//​**\\ 
-The procedure doesn'​t work out of the box because 
-a ''​MANPATH''​ environment variable is required in  
-''/​usr/​local/​config/​cds_config/​CdsIC_615.rc''​. ​ 
-You should retrive a ''​MANPATH:​ Undefined variable''​ error in fact, 
- 
-<​code>​ 
-source /​usr/​local/​config/​cds_config/​CdsIC_615.rc 
-MANPATH: Undefined variable 
-</​code>​ 
- 
-\\ 
-To solve the problem, just set by hand an empty ''​MANPATH'' ​ 
-environment variable (this is normally done by ''​cdsterm''​ itself ​ 
-if ''​MANPATH''​ does not exist) before sourcing the script, 
- 
-<​code>​ 
-setenv MANPATH ""​ 
-source /​usr/​local/​config/​cds_config/​CdsIC_615.rc 
-</​code> ​ 
- 
-or define your own ''​MANPATH''​ environment variable in the home ''​.cshrc'' ​ 
-(don't forget to source the file to make changes effective). 
- 
-===== Manual configuration ===== 
- 
-If you are more confident with shell scripting you can write your own initialization script ​ 
-(e.g. ''​~/​scratch/<​tech_dir>/​setup.csh''​) and set up the proper UNIX environment to run a  
-particular Cadence tool attached to the specific technology you are working with. \\ 
-More knowledge of the required UNIX environment will help you 
-to fix yourself the most common problems related to missing environment variables, wrong paths etc.  
- 
-Create local copies of ''​cdsterm''​ and ''/​usr/​local/​config/​cds_config/'' ​ 
-configuration files provided by the VLSI system administrator,​ e.g. 
- 
-<​code>​ 
-cd ~/scratch 
-mkdir setup 
-cd setup 
-cp /​usr/​local/​bin/​cdsterm cdsterm.local 
-cp /​usr/​local/​config/​cds_config/​CdsIC_615.rc CdsIC_615.rc.local 
-... 
-</​code> ​ 
- 
-\\ 
-Then use your preferred text editor to inspect the syntax and the content of  
-the different files. Pay attention to the license management and  
-learn which technology-dependent environment variables are set in the ''​cdsterm'' ​ 
-for the specific technolgy you are working with. 
-For more details about any technology setup refer to the documentation ​ 
-contained in the __[[vlsi:​private:​home|VLSI protected area]]__. 
- 
-Put in your file necessary UNIX environment variables and paths. Once the script is  
-ready you can either source 
- 
-<​code>​ 
-source setup.csh ​ 
-</​code>​ 
- 
-or run it (don't forget to make the file executable with the ''​chmod''​ command before) 
- 
-<​code>​ 
-chmod +x setup.csh 
-./setup.csh 
-</​code>​ 
- 
-\\ 
-A complete example of configuration for Cadence IC can be found at 
- 
-//​[[https://​intranet.ece.cornell.edu/​computing/​kb_articles/​kba_detail.cfm?​article_id=53]]//​ 
- 
-\\ 
-If you are confused indeed, please keep using the main ''​cdsterm''​ setup script. 
- 
- 
- 
-====== ====== 
-\\ 
----- 
-Last update: [[ pacher@NOSPAMto.infn.it | Luca Pacher ]] - Apr 9, 2013 
- 
-~~NOTOC~~