Establishing VLSI Lab

(Essential codes)

Task: To develop the infrastructure of the VLSI Lab, taking classes of post-graduate and graduate students and demonstrating the VLSI EDA tools in-front of post-graduate and graduate students.

  • Layout designing of lab.
  • Installing Cadence, Mentor Graphics, Synopsys & Vivado in RHEL system enviornment
  • Installing the Linux (RedHat6.6) and VLSI's software like Synopsis (CDesigner, HSPICE), Cadence (Spectre, Virtuoso, Assura), Mentor Graphics (Calibre), Xilinx (ISE,PlanAHead, X-Power Analyser)).

Learnt During this Process:

  1. Developing local repository in RedHat 6.6.
    • mount /dev/cdrom /media
    • cd /media
    • ls
    • cd Packages/
    • rpm -ivh vsftpd*
    • rpm -ivh deltarpm*
    • rpm -ivh python-deltarpm*
    • rpm -ivh createrepo*
    • cd /
    • mkdir Repo
    • cd media
    • ls
    • cp -rvf Packages/ RPM-GPG-KEY-redhat-release /Repo
    • createrepo --database /Repo/Packages/
    • cd /
    • vi etc/yum.repos.d/basic.repo
      • [basic]
      • name=My Local Repository
      • baseurl=file:///Repo/Packages
      • enabled=1
      • gpgcheck=1
      • gpgkey=file:///Repo/RPM-GPG-KEY-redhat-release
      • type :wq!
    • ls Repo
    • yum repolist
    • yum -y install kdebase*
  2. Copying in RHEL through IP to IP
    1. scp /root/Desktop/Mentor_Binaries.tar.gz 172.16.12.136:/tools
  3. Installing .exe file in the linux through TCL (tool command language) files like wine or traditional way is writting the codes
      • [root@localhost Linux x86-64 for RHEL 6&7 & SLES 11sp2sp3]# cd ..
      • [root@localhost CALIBRE]# chmod -R 777 *
      • [root@localhost CALIBRE]# cd Linux\ x86-64\ for\ RHEL\ 6\&7\ \&\ SLES\ 11sp2sp3/
      • [root@localhost Linux x86-64 for RHEL 6&7 & SLES 11sp2sp3]# ./aoi_cal_2016.1_14.11_mib.exe
    1. We are now working on the Python codes of the architecture design and then converting those codes in Verilog and then dumping those in the FPGAs. The necessary commands used for python are as follows:
      1. python --version
      2. Download python then write this command
        1. bash Anaconda3-4.1.0-Linux-x86_64.sh
      3. write conda list and then jupyter notebook in the terminal of a desired folder.
      4. download python myhdl file from github
      5. python setup.py install
      6. Download and install the files for GDK
        1. yum install Judy-1.0.5-1.sdl6.x86_64.rpm
        2. yum install gtkwave-3.3.25-1.el6.x86_64.rpm
    2. Cadence Manual(Spectre, Virtuoso and Assura), Tips for Cadence based layout. common hot keys, start up guide, setting up the licence.
    3. Installing Vivado in Linux RHEL
      1. [root@localhost tools]# cd xilinx_install/
        1. [root@localhost xilinx_install]# cd
        2. DocNav/ SDK/ Vivado/ Vivado_HLS/ xic/ .xinstall/
        3. [root@localhost xilinx_install]# cd Vivado/2016.2/bin/
        4. [root@localhost bin]# ./vlm
        5. [root@localhost bin]# cd
        6. [root@localhost ~]# csh
        7. [root@localhost ~]# setenv XILINXD_LICENSE_FILE 2100@localhost.localdomain
    4. Tips for Mentor Graphics
      1. In terminal vi /etc/yum.repos.d/cd.repo add following lines
      • [cd]
      • name=CD
      • baseurl=file:"///media/RHEL_6.4 x86_64 Disc 1"
      • enabled=1
      • gpgcheck=0
      1. One problem was counterfeit while installing mentor graphics that was the pinging ( server and client ) was there but license was not fetching by the client.
        • [root@localhost Desktop]# gedit /etc/
        • Display all 286 possibilities? (y or n)
        • [root@localhost Desktop]# gedit /etc/
        • [root@localhost Desktop]# gedit /etc/selinux/config
        • [root@localhost Desktop]# setup
        • [root@localhost Desktop]#
        • Changes has made in SELINUX=enforcing to disabled
        • # This file controls the state of SELinux on the system.
        • # SELINUX= can take one of these three values:
        • # enforcing - SELinux security policy is enforced.
        • # permissive - SELinux prints warnings instead of enforcing.
        • # disabled - No SELinux policy is loaded.
        • SELINUX=disabled
        • # SELINUXTYPE= can take one of these two values:
        • # targeted - Targeted processes are protected,
        • # mls - Multi Level Security protection.
        • SELINUXTYPE=targeted
      2. In terminal vi /etc/yum.conf add following lines
        1. Distroverpkg=redhat-release
        2. tolerant=1
      3. cd /media/RHEL_6.4\ x86_64\ Disc\ 1/Packages/
      4. yum search compat-libstdc ( this step will show 3 packages need to install from below command install those 3 packages)
      5. yum install compat-libstdc++-296.i686 compat-libstdc++-33.i686 compat-libstdc-33.x86_64
      6. After installing these 3 packages now which package need to install, you can install that package with respect to each tool
          • #################STEPS TO FOLLOW TO INSTALL THE MENTOR TOOLS ########
            1. go to cd /tools/
            2. tar -zxvf Mentor_Binaries.tar.gz
            3. go to cd Mentor_Binaries
            4. chmod -R 777 *
            5. in terminal type ./install_linux64
            6. this will open GUI window
            7. In HEP1:
            8. for Pyxis select pyxis_v10.5_4.exe
            9. for Calibre select Linux x86-64 for RHEL 6&7 & SLES 11sp2sp3-->aoi_cal_2016.1_14.
              1. 11_mib.exe
              2. for AMS select ELDO_&_QUESTA_ADMS-->ams_16_1.aol-->install.aol
              3. In HEP2:
              4. For Leonardo spectrum select LEOSPEC-->Leonardo-linux32-2015a-update1.bin
              5. For Precision select PRECISION-->Precision-linux64-2015.2.1.bin
              6. for Questacodelink select QUESTA_CODELINK-->10.4b-->install.linux
              7. For QuestaSim select QUESTASIM-->LINUX--->QU_install
              8. For remaining vista and Tessent seperate procedure
    5. Synopsis manual (cdesigner, starrc, waveview, SAE), for RTL to GDSII
    6. Tips for licence sharing for Synopsys
      1. [root@localhost Desktop]# cd
        1. [root@localhost ~]# gedit ~/.bashrc &
        2. [1] 114267
          1. It will open a bashrc file
          2. Put your IP in this Licence file..
        3. # .bashrc
        4. # User specific aliases and functions
        5. alias rm='rm -i'
        6. alias cp='cp -i'
        7. alias mv='mv -i'
        8. # Source global definitions
        9. if [ -f /etc/bashrc ]; then
        10. . /etc/bashrc
        11. fi
        12. LM_LICENSE_FILE=27020@172.16.12.248 (put the IP here)
        13. export LM_LICENSE_FILE
      2. Put the path of the synopsys tool here:
      3. PATH=/tools/synopsys/
        1. cdesigner/bin:/tools/synopsys/cx/bin:/tools/synopsys/hspice/hspice/bin:/tools/synopsys/icv/bin/AMD.64:/tools/synopsys/starrc/bin:/tools/synopsys/icc/bin:/tools/synopsys/nanotime/bin:/tools/synopsys/icwbev/bin:/tools/synopsys/cscope/ai_bin:/tools/synopsys/lc/bin:$PATH
        2. export PATH
        3. ICV_HOME_DIR=/tools/synopsys/icv
        4. export ICV_HOME_DIR
        5. SAED32_28_PDK=/tools/synopsys/ipdk/SAED_PDK32nm
        6. export SAED32_28_PDK
    7. Working in the Vivado HLS (manual) makes use of C or C++ language for the verilog optimization.
    8. Vivado manual for Baysys 3 is provided here.
  4. Miscellaneous
  5. Changing the MAC address of the desired linux RHEL system type ifconfig eth0 hw ether 48:0F:CF:44:CC:XX
  6. For changing the MAC address of the desired Windows.
  7. For installing flash player in the Moxilla download flash-plugin-11.2.202.394-0.1.el6.rf.x86_64.rpm and after installation see the plugins by writing about:plugins in the web-bar.
    1. Running a C code in Linux cc program-source-code.c -o executable-file-name. Example: cc demo.c -o demo.
    2. How to change the hostname "vi /etc/sysconfig/network"
    3. How to change the ip "vi /etc/sysconfig/network-scripts/ifcfg-eth0"
    4. To enter in the other computer which is connected in LAN "ssh ip-address"
    5. To enter in the superuser type "su" then root password.
    6. To copy files in the LAN connected PC "scp -r /(location of file/folder) ipaddress:/(location where we want to copy)"
    7. To restart the network type "service network restart"
    8. To change permission for any file "chmode - R 777 * "
    9. To change the network settings type "setup" in terminal.
    10. To check the status of IP "iptables"
    11. To terminate a running process "pid cdesigner" then it show the pid of the process. after that kill (pid of cdesigner).
    12. How to see the pid of a specific process "ps aux | grep cdesigner"