CentOS7でModelSimを実行

設計

Quartus Primeライト・エディションのModelSim Starter EditionをCentOS7で動かそうとすると、いろいろとライブラリのインストールが必要になりました。

必要なライブラリのインストール

PLIのコンパイル

PLIのソースファイルをコンパイルすると、「crti.oやcrtn.oがない」というエラーが出力されます。glibc-devel.i686のインストールで解決しました。

  • yum install glibc-devel.i686

vsimの実行

「libX11.so.6がない」といったエラーが多数出力されます。以下のライブラリのインストールを行うことで解決しました。

  • yum install libX11-devel.i686
  • yum install libXext-devel.i686
  • yum install libXft-devel.i686
  • yum install ncurses-devel.i686

ModelSimコマンドラインスクリプト

以下のようなスクリプトで、ModlelSimの実行を確認しました。

#!/bin/sh

RTL_DIR="../rtl"

MDELSIM_DIR="/opt/intelFPGA_lite/17.0/modelsim_ase"
GCC=${MDELSIM_DIR}/gcc-4.7.4-linux/bin/gcc

if [ ! -d ./work ]; then
    ${MDELSIM_DIR}/bin/vlib ./work
fi

sim_file=$1
echo "FILE=" $simfile

# compile
${MDELSIM_DIR}/bin/vlog \
    $opt \
    +notimingchecks \
    +define+VSIM \
    +define+RTL_DEBUG \
    +define+USE_AXI_MONITOR \
    -sv \
    -y . \
    -y ${RTL_DIR} \
    -y ${RTL_DIR}/fm_axi_s \
    -y ${RTL_DIR}/fm_axi_m \
    -y ${RTL_DIR}/fm_sys \
    -y ${RTL_DIR}/fm_sdr \
    -y ${RTL_DIR}/fm_mic \
    -y ${RTL_DIR}/fm_cmn \
    -y ${RTL_DIR}/fm_hvc \
    -y ${RTL_DIR}/fm_3d \
    -y ${RTL_DIR}/fm_rd \
    -y ${RTL_DIR}/fm_hdmi \
    -y ../behavior \
    -y ../bench \
    +incdir+${RTL_DIR}/+ \
    +incdir+${RTL_DIR}/fm_sdr+ \
    +incdir+${RTL_DIR}/fm_3d+ \
    +incdir+../bench+ \
    +incdir+${SRC_DIR}+ \
    +incdir+../rtl/include+ \
    +libext+.v+ \
    timescale.v \
    ${sim_file}

# PLI compile
${GCC} -m32 -c -g -I ${MDELSIM_DIR}/include ../bin/pli/pli_src.c
${GCC} -shared -Bsymbolic  -L ${MDELSIM_DIR}/linux -lmtipli -o pli_src.so pli_src.o

# rum simulation
${MDELSIM_DIR}/bin/vsim -keepstdout top -pli pli_src.so <<EOF
run -all

EOF
タイトルとURLをコピーしました