2013年1月31日 星期四

[Hspice, Cadence, IC615] Using Hapice as simulator in Cadence

Part A) Install Hspice

1. Install Hspice from synopsys http://www.synopsys.com/Support/LI/Installation/Pages/default.aspx

2. Install installer first for install hspice. It is something like IScape

3. Follow the instructure that they have

4. Complete installation of installer and Hspice

5. edit the cshrc.meta or place licence file

6. Now, you can use Hspice in Linux by command mode.


Part B) Include Hspice to IC615

1. Edit the script for including Hspice licence and path. You can refer the script that we have.

2. Using cadence as usual. Choose HspiceD as the simulator.

3. Enjoy and have fun!!!

2013年1月21日 星期一

[CentOS] Display Chinese Char

在自己的機器上裝了個CentOS5.5的虛擬機,做自己學習之用,今天想讓他支持中文,但是切換語言之後,中文顯示的都是方塊字,很是鬱悶,網上找了好 多文章,都是讓我修改、/etc/sysconfig/i18N這個文件,改完之後,注銷退出,沒用,重启好多次,也是沒用,後來看到原來只要安裝2個 RPM文件才可以:fonts-chinese-3.029-9.*.noarch.rpm   和 fonts-ISO8859-2*.rpm包之後再切換成中文,就搞掂了。。。

from: http://world77.blog.51cto.com/414605/472084

[CentOS] Mount NTFS HDD


  1. 下載 rpmforge rpm-release
  2. 執行
    rpm -Uhv rpmforge-release-0.3.6-1.$dist.rf.$arch.rpm

  3. 執行
    yum install dkms dkms-fuse fuse-ntfs-3g
  4. 完成 

from: http://tw.myblog.yahoo.com/weslyyen-0704/article?mid=1230

2013年1月17日 星期四

[Verilog] How to record a multi-dimensional reg/wire in your design?


Situation:
With $recordvar(); I can't find those 2D Array signal likes Block Memory or Wiring Matrix from the record.
We have to assign 1D Wire Array to read a single entry of the 2D Array. Not Good.

Solution:
shm_probe is the major stament, All 2D-Wire/Reg within tb.testUnit are being recorded.

$shm_open("record.shm");
$shm_probe(tb,("AC"),tb.testUnit,("ACM"));
....
$shm_close();

This works with Cadence NC-Verilog.

2013年1月9日 星期三

CentOS LVM Resize

Follow this steps:

Since the release of CentOS 5.5 we noticed that the default CentOS install assigns a considerable amount of its available storage space to Swap. If you don’t catch this during the installation don’t worry, Logical Volume Manager or LVM will rectify this post install.
LVM is a logical volume manager for the Linux kernel; it manages disk drives and similar mass-storage devices, in particular large ones. The term “volume” refers to a disk drive or partition thereof.

Before we start just some general housekeeping. The XEN virtual CentOS 5.5 server (base install) in this tutorial was assigned 10GB of storage with the default partitioning layout.
Let check the amount of disk space available on the file system.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
4.9G 2.4G 2.3G 51% /
/dev/xvda1 99M 23M 72M 25% /boot
tmpfs 4.0G 0 4.0G 0% /dev/shm
Let see the attributes of the logical volumes like size, read/write status, snapshot information
# lvdisplay
— Logical volume —
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID oFXKGg-nBPo-Fk27-3ino-zaHZ-cEcv-fk0dS0
LV Write Access read/write
LV Status available
# open 1
LV Size 5.00 GB
Current LE 160
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:0
— Logical volume —
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID Ntffw7-dqPh-Rjhy-rWLv-BGA0-iGik-LoyHET
LV Write Access read/write
LV Status available
# open 1
LV Size 4.88 GB
Current LE 156
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:1
Let’s begin but first turning off swap on the Swap Logical Volume
# swapoff /dev/VolGroup00/LogVol01
Once swap is off let’s take the disk space we require.
# lvresize -L -4GB /dev/VolGroup00/LogVol01
WARNING: Reducing active logical volume to 896.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol01? [y/n]: y
Reducing logical volume LogVol01 to 896.00 MB
Logical volume LogVol01 successfully resized
Now let’s add what we removed to the main Logical Volume.
# lvresize -L +4GB /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 9.00 GB
Logical volume LogVol00 successfully resized
Resize the File System
# resize2fs -p /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2359296 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 2359296 blocks long.
Rebuild the swap partition.
# mkswap /dev/VolGroup00/LogVol01
Setting up swapspace version 1, size = 939520 kB
Turn swap on.
# swapon /dev/VolGroup00/LogVol01
Let’s check the amount of disk space available and LVM attributes to see if our changes took effect.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
8.8G 2.4G 6.0G 28% /
/dev/xvda1 99M 23M 72M 25% /boot
tmpfs 4.0G 0 4.0G 0% /dev/shm
# lvdisplay
— Logical volume —
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID oFXKGg-nBPo-Fk27-3ino-zaHZ-cEcv-fk0dS0
LV Write Access read/write
LV Status available
# open 1
LV Size 9.00 GB
Current LE 288
Segments 2
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:0
— Logical volume —
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID Ntffw7-dqPh-Rjhy-rWLv-BGA0-iGik-LoyHET
LV Write Access read/write
LV Status available
# open 1
LV Size 896.00 MB
Current LE 28
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:1
From: http://www.how2centos.com/centos-lvm-resizing-guide/
Read more: http://www.how2centos.com/centos-lvm-resizing-guide/#ixzz2HY0dzB6c

2013年1月2日 星期三

2013年1月1日 星期二

CentOS 6.3 VNCSERVER setup

From: http://wiki.centos.org/HowTos/VNC-Server

1. Installing the required packages

The server package is called 'vnc-server'. Run the command: rpm -q vnc-server
The result will be either package vnc-server is not installed or something like vnc-server-4.0-11.el4.
If the server is not installed, install it with the command: yum install vnc-server
The client program is 'vnc'. You can use the command: yum install vnc to install the client if: rpm -q vnc shows that it is not already installed.
Make sure to install a window manager in order to get a full-featured GUI desktop. You can use the command yum groupinstall "GNOME Desktop Environment" to install the Gnome Desktop and requirements, for example. Other popular desktop environments are "KDE" and "XFCE-4.4". XFCE is more light-weight than Gnome or KDE and available from the "extras" repository.
If you are a minimalist, or simply testing, however, it is sufficient to have yum install a simple XTERM client: yum install xterm
<!> If you are running CentOS 6, the command is yum groupinstall Desktop
<!> If you are running CentOS 5, yum groupinstall "GNOME Desktop Environment" may complain about a missing libgaim.so.0. This is a known bug. Please see CentOS-5 FAQ for details.
<!> If you are running CentOS 6, the server is: tigervnc-server not: vnc-server

2. Configuring un-encrypted VNC

We will be setting up VNC for 3 users. These will be 'larry', 'moe', and 'curly'
You will perform the following steps to configure your VNC server:
  1. Create the VNC users accounts.
  2. Edit the server configuration.
  3. Set your users' VNC passwords.
  4. Confirm that the vncserver will start and stop cleanly.
  5. Create and customize xstartup scripts.
  6. Amend the iptables.
  7. Start the VNC service.
  8. Test each VNC user.
  9. Additional optional enhancements

2.1. Create the VNC user accounts

As root:
$ su -
# useradd larry
# useradd moe
# useradd curly
# passwd larry
# passwd moe
# passwd curly

2.2. Edit the server configuration

Edit /etc/sysconfig/vncservers, and add the following to the end of the file.
VNCSERVERS="1:larry 2:moe 3:curly"
VNCSERVERARGS[1]="-geometry 640x480"
VNCSERVERARGS[2]="-geometry 640x480"
VNCSERVERARGS[3]="-geometry 800x600"
Larry will have a 640 by 480 screen, as will Moe. Curly will have an 800 by 600 screen.
Note: This step is NOT out of sequence, but is placed here so that the next following step will fall adjacent to the step in which failure to perform it, will permit immediate fault diagnosis.

2.3. Set your users' VNC passwords

Switch user into the account for each user, and as noted below, run: vncpasswd This will create the ~/.vnc directory for that userid:
[~]# su - larry
[~]$ vncpasswd
[~]$ cd .vnc
[.vnc]$ ls
passwd
[.vnc]$ exit
[~]#

2.4. Confirm that the vncserver will start and stop cleanly

We will create the xstartup scripts by starting and stopping the vncserver as root. We also enable the vncserver service to be automatically started.
# /sbin/service   vncserver start
# /sbin/service   vncserver stop
# /sbin/chkconfig vncserver on
Note: if you omitted the preceding step of logging in as each configured user, and creating their ~/.vnc/ subdirectory, this test will fail.

2.5. Create xstartup scripts ( You may omit this step for CentOS 6 )

Login to each user and edit the xstartup script. To use Larry as an example, first login as larry
[~]$ cd .vnc
[.vnc] ls
mymachine.localnet:1.log  passwd  xstartup
Edit ~/.vnc/xstartup for each user. The original should appear as follows:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
Add the line indicated below to assure that an xterm is always present, and uncomment the two lines as directed if you wish to run the user's normal desktop window manager in the VNC. Note that in the likely reduced resolution and color depth of a VNC window the full desktop will be rather cramped and a look bit odd. If you do not uncomment the two lines you will get a gray speckled background to the VNC window.
#!/bin/sh
# Add the following line to ensure you always have an xterm available.
( while true ; do xterm ; done ) &
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

2.6. Amend the iptables

The iptables rules in /etc/sysconfig/ need to be amended to open the VNC ports; as needed, if a local ipv6 setup is being used, those need to be amended as well:
[root@xen-221 sysconfig]# cat iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6001:6003 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
[root@xen-221 sysconfig]#         
... and then restart the iptables:
# /sbin/service iptables restart

2.7. Start the VNC server

Start the vncserver as root.
# /sbin/service vncserver start

xauth:(stdin):1:bad display name "xxx:1" in "add" command解决

xauth:(stdin):1:bad display name "xxx:1" in "add" command解决

  1. [root@host144 ~]# /etc/init.d/vncserver restart
  2. Shutting down VNC server: 1:root 2:oracle [ OK ]
  3. Starting VNC server: 1:root xauth: (stdin):1: bad display name "host144:1" in "add" command

  4. New 'host144:1 (root)' desktop is host144:1

  5. Starting applications specified in /root/.vnc/xstartup
  6. Log file is /root/.vnc/host144:1.log

  7. 2:oracle xauth: (stdin):1: bad display name "host144:2" in "add" command

  8. New 'host144:2 (oracle)' desktop is host144:2

  9. Starting applications specified in /home/oracle/.vnc/xstartup
  10. Log file is /home/oracle/.vnc/host144:2.log

  11. [ OK ]
解决方法:
  1. [root@host144 .vnc]# cat /etc/hosts
  2. 127.0.0.1 host144 localhost.localdomain localhost
  3. 10.0.127.144 host144