2009年12月22日 星期二

SystemVerilog Interface 的 inout port

發現一個現象,
當使用 SystemVerilog Interface 時,
若 Interface 內有用到 inout,
則該訊號不能宣告成 logic,
必須要宣告成 wire,
不然如果與非 interface 寫法的 inout port 相連時,
NC 會回報錯誤:

ncelab: *E,CUVMIO (../tb/tb.sv,58|48): port connections to inout ports must be collapsible, that is, they must be nets of the same size.

SystemVerilog Interface 的 inout port

發現一個現象,
當使用 SystemVerilog Interface 時,
若 Interface 內有用到 inout,
則該訊號不能宣告成 logic,
必須要宣告成 wire,
不然如果與非 interface 寫法的 inout port 相連時,
NC 會回報錯誤:

ncelab: *E,CUVMIO (../tb/tb.sv,58|48): port connections to inout ports must be collapsible, that is, they must be nets of the same size.

2009年12月21日 星期一

讓 VI 也認得 SystemVerilog

Step.1 先到 這裡 下載 systemverilog.vim
Step.2 將 systemverilog.vim 移到 ~/.vim/syntax/ 的目錄下
Step.3 編輯 ~/.vim/filetype.vim 並加入

augroup filetypedetect
au BufNewFile,BufRead *.sv setf systemverilog
augroup END

2009年12月20日 星期日

讓 VI 也認得 SystemVerilog

Step.1 先到 這裡 下載 systemverilog.vim
Step.2 將 systemverilog.vim 移到 ~/.vim/syntax/ 的目錄下
Step.3 編輯 ~/.vim/filetype.vim 並加入

augroup filetypedetect
au BufNewFile,BufRead *.sv setf systemverilog
augroup END

2009年12月16日 星期三

原來 CUPS 是 Apple 的東西

在安裝 Linux Print Driver 的時後,
順手印了一張測試頁,
測試頁的標題是: "CUPS Printer Test Page",
這張測試頁,從以前到現在,印很多次也看過很多遍了;

不過剛剛無意間看了測試頁下方的小字:

"... CUPS and the CUPS logo are the trademark property of Apple Inc. ..."

原來 CUPS 是 Apple 的東西,
現在才發現,Apple 在 Opensource 也貢獻了不少東西。

不知道在 Linux 的世界裡,有沒有微軟貢獻的東西?

2009年12月15日 星期二

原來 CUPS 是 Apple 的東西

在安裝 Linux Print Driver 的時後,
順手印了一張測試頁,
測試頁的標題是: "CUPS Printer Test Page",
這張測試頁,從以前到現在,印很多次也看過很多遍了;

不過剛剛無意間看了測試頁下方的小字:

"... CUPS and the CUPS logo are the trademark property of Apple Inc. ..."

原來 CUPS 是 Apple 的東西,
現在才發現,Apple 在 Opensource 也貢獻了不少東西。

不知道在 Linux 的世界裡,有沒有微軟貢獻的東西?

2009年12月11日 星期五

Compile SystemC on OpenSuSE 11.3

Download systemc-2.2.0.tgz from
解開壓縮檔

$ tar zxvf ./system-2.2.0.tgz

因為 gcc 是 4.x.x 版,所以要做 patch,compile 才會過
修改 systemc-2.2.0b/src/sysc/utils/sc_utils_ids.cpp
加上:

#include "string.h"
#include "cstdlib"


Compile SystemC and Install


$ sudo mkdir /opt/systemc
$ cd system-2.2.0
$ mkdir objdir
$ cd objdir
$ ../configure --prefix=/opt/systemc
$ make
$ make check # if you want to check
$ sudo make install

OpenSuSE 11.2 x64 + Sun Grid Engine

Workstation:
    PC1 : NIS Server, NFS Server, SGE master
    PC2 : NIS Client, NFS Client, SGE Execution Hosts
    PC3 : NIS Client, NFS Client, SGE Execution Hosts
    PC4 : NIS Client, NFS Client, SGE Execution Hosts
    ----
    PC1, share /home
    PC2~4, mount PC1:/home on /home
OS:
    OpenSuSE 11.2 x64
Package Requirement:
    openmotif22-libs
---------------------------------------------------------------------------

Step.1 Configuration Password-less ssh Access for the root User
    === PC2~4 ===

      check /etc/ssh/sshd_config

        => "PermitRootLogin yes"

    === PC1 ===

    // Generate SSH Key
    # ssh-keygen -t rsa

    // Put SSH public key to slave PC2~4
    # rsync -av /root/.ssh/id_rsa.pub root@PC2:/root/.ssh/authorized_keys
    # rsync -av /root/.ssh/id_rsa.pub root@PC3:/root/.ssh/authorized_keys
    # rsync -av /root/.ssh/id_rsa.pub root@PC4:/root/.ssh/authorized_keys

    // Test Password-less ssh access for root user

    # ssh root@PC2
    # ssh root@PC3
    # ssh root@PC4

    Step.2 Download Sun Grid Engine

      Sun Grid Engine 6.2 Update 4, Linux x64 (required), tar.gz format

        sge62u4_linux24-x64_targz.zip ... 27.63 MB

      Sun Grid Engine 6.2 Update 4, Linux x86 (required), tar.gz format

        sge62u4_linux24-i586_targz.zip ... 27.56 MB

    Step.3 Setup SGE Master / Execute Node

      PC1 (SGE Master):


      # mkdir /home/srv/sge6-2
      # cd /home/srv/sge6-2
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2-common.tar.gz
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2u4-bin-linux24-x64.tar.gz
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2u4-bin-linux24-i586.tar.gz
      # SGE_ROOT=/home/srv/sge6-2; export SGE_ROOT
      # util/setfileperm.sh $SGE_ROOT


      // GUI Install
      # ./start_gui_installer

        Admin User = root
        Qmaster Host = PC1
        Grid Engine root directory = /opt/sge6-2
        Cell Name = cell_test
Step.4 Test
    // Login in PC1~4 by normal user account
    # source /home/srv/sge6-2/cell_eda/common/settings.csh
    # qsub my_job.sh

Compile SystemC on OpenSuSE 11.3

Download systemc-2.2.0.tgz from
解開壓縮檔

$ tar zxvf ./system-2.2.0.tgz

因為 gcc 是 4.x.x 版,所以要做 patch,compile 才會過
修改 systemc-2.2.0b/src/sysc/utils/sc_utils_ids.cpp
加上:

#include "string.h"
#include "cstdlib"


Compile SystemC and Install


$ sudo mkdir /opt/systemc
$ cd system-2.2.0
$ mkdir objdir
$ cd objdir
$ ../configure --prefix=/opt/systemc
$ make
$ make check # if you want to check
$ sudo make install

在 Mac OS 下的 SystemC 開發環境

最近在學習 SystemC
發現 LogicPoet 在 MacOS 下提供了非常不錯的發展環境
SystemC Installer Suite for Mac OSX and Scansion



 



2009年12月10日 星期四

OpenSuSE 11.2 x64 + Sun Grid Engine

Workstation:
    PC1 : NIS Server, NFS Server, SGE master
    PC2 : NIS Client, NFS Client, SGE Execution Hosts
    PC3 : NIS Client, NFS Client, SGE Execution Hosts
    PC4 : NIS Client, NFS Client, SGE Execution Hosts
    ----
    PC1, share /home
    PC2~4, mount PC1:/home on /home
OS:
    OpenSuSE 11.2 x64
Package Requirement:
    openmotif22-libs
---------------------------------------------------------------------------

Step.1 Configuration Password-less ssh Access for the root User
    === PC2~4 ===

      check /etc/ssh/sshd_config

        => "PermitRootLogin yes"

    === PC1 ===

    // Generate SSH Key
    # ssh-keygen -t rsa

    // Put SSH public key to slave PC2~4
    # rsync -av /root/.ssh/id_rsa.pub root@PC2:/root/.ssh/authorized_keys
    # rsync -av /root/.ssh/id_rsa.pub root@PC3:/root/.ssh/authorized_keys
    # rsync -av /root/.ssh/id_rsa.pub root@PC4:/root/.ssh/authorized_keys

    // Test Password-less ssh access for root user

    # ssh root@PC2
    # ssh root@PC3
    # ssh root@PC4

    Step.2 Download Sun Grid Engine

      Sun Grid Engine 6.2 Update 4, Linux x64 (required), tar.gz format

        sge62u4_linux24-x64_targz.zip ... 27.63 MB

      Sun Grid Engine 6.2 Update 4, Linux x86 (required), tar.gz format

        sge62u4_linux24-i586_targz.zip ... 27.56 MB

    Step.3 Setup SGE Master / Execute Node

      PC1 (SGE Master):


      # mkdir /home/srv/sge6-2
      # cd /home/srv/sge6-2
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2-common.tar.gz
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2u4-bin-linux24-x64.tar.gz
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2u4-bin-linux24-i586.tar.gz
      # SGE_ROOT=/home/srv/sge6-2; export SGE_ROOT
      # util/setfileperm.sh $SGE_ROOT


      // GUI Install
      # ./start_gui_installer

        Admin User = root
        Qmaster Host = PC1
        Grid Engine root directory = /opt/sge6-2
        Cell Name = cell_test
Step.4 Test
    // Login in PC1~4 by normal user account
    # source /home/srv/sge6-2/cell_eda/common/settings.csh
    # qsub my_job.sh

在 Mac OS 下的 SystemC 開發環境

最近在學習 SystemC
發現 LogicPoet 在 MacOS 下提供了非常不錯的發展環境

http://www.logicpoet.com/downloads/

SystemC Installer Suite for Mac OSX and Scansion