Quartus/Modelsim Linux搭建笔记v0.1

**!适用于 64位 Ubuntu 14.04LTS系统 **
只是一个草稿 待修正

1.Quartus13.0sp1

  • 因为对于cycloneii, quartus 13.0sp1之后的版本均不支持 所以这里只好安装quartus 13了

  • 本处选用本软件linux适用版的 iso文件安装
    若选择用run文件安装也是可以的 但要chmod 755先 然后再sudo ./xxx.run 这样子
    不如用iso文件 然后执行setup.sh 来的顺畅 因此这里不推荐用run。

  • 图形界面下直接挂载iso文件 或者在终端中命令行挂载iso,随意
    我这里是 终端中 切换到/media/shus/Quartus...目录下 直接sudo ./setup.sh
    选择安装到/opt/altera/...目录下

  • 若之前选中安装dspbuilder 并指定了matlab的位置,则之后安装过程中会询问保存一些文件
    点NO 因为另外的2个选项cancel和yes 一个会卸载安装 一个会报错卡死

  • license 直接用windows下生成的license.dat 同一机器不同OS下的NIC ID是不变的
    NIC ID 指的就是ifconfig -a 之后把以太网卡的MAC地址去掉冒号分割符的一串码子
    将license.dat 事先保存在~下直接建立的 ~/license 目录中
    安装完毕后会提示导入license文件 直接选中就好
    如果license.dat 存放在/opt/altera/...下 之后开quartus软件后是无法识别的

    把Crack_QII_13.0_SP1_linux.zip和Crack_QII_13.0_SP1_linux64.zip里面的文件分别解压缩后,在/opt/altrea/13.0sp1/quartus/linux和/opt/altrea/13.0sp1/quartus/linux64里面分别替换同名文件即可。

  • 64位系统下默认会自动生成64bit 可执行程序 quartus的桌面图标

  • 第一次打开会询问是否安装库
    选中导入已经准备好的一些 .qdz文件 比如cyclone库啊 MAX库啊就安装好了
    全程基本上是不会用到几个命令行的。

2.Modelsim_se_10.2c

64位机器 Ubuntu 14.04LTS系统 不是就不要对号入座。

  • 10.2c以下版本的安装在ubuntu 14.04LTS上会出现各种问题
    10.2c及更新的版本实际测试通过可以显示图形界面。

  • ubuntu上没有健全java环境的 先安装jre与jdk
    则安装过程中字体显示正常化

sudo apt-get install default-jre
sudo apt-get install default-jdk
java --version   #查询是否安装好java

~~以下是备用 一般而言不需要 ~~
# sudo add-apt-repository ppa:webupd8team/java
# sudo apt-get update
# sudo apt-get install oracle-java8-installer
# sudo apt-get install oracle-java8-set-default

  • 用iso文件的 挂载iso文件 将挂载后的iso中文件全部复制到 ~/modelsim下
    非iso文件的 源文件是分立文件如xxx.msi install.linux等等 全复制到 ~/modelsim下

  • 注意 为了不出意外 即使是64位机器 安装时最好也要选中无x86_64的 同名文件
    也就是将我下面提供的安装包中的源文件都选中安装

  • 将安装向导文件+可执行权限,并运行安装

sudo chmod 755 install.linux
sudo ./install.linux
  • !注意

一,将windows下安装modelsim时 破解生成的LICENSE.TXT文件复制到
/home/shus/backup/license/modelsim/目录下 也用作linux系统中的license
或者改名为license.dat再作为linux下modelsim的许可文件,经过测试都是不可以的
二, 注意不同版本的license也可能无法通用
用这些license 在之后运行vsim时,基本都会提示您老 当前的license无显示图形界面权限

  • 最后还是只能选择安装wine先 (我恨wine!)
sudo apt-get install wine
# 然后在/opt/Modelsim/.../linux_x86_64下运行下面命令  (不要忘记 -patch 和之后的 . 点号)
sudo wine MentorKG.exe -patch . 

注意运行上述的wine命令时 不要在电脑usb口上插外置的usb网卡 如果是笔记本 最好把外设都给拔掉

  • 把上述命令执行后,弹出的txt文件选择为utf-8编码 取名为license.txt
    另存为到 ~/license目录下 成功生成了可用的license

为保持一致性;之后还可以将此文件改名为license.dat 并用dos2unix转为unix[utf-8]编码 随意

  • 添加环境变量,用gedit 或vim 编辑器的随意; 用zsh或bash 的随意
    gedit ~/.bashrc 或者 vim ~/.zshrc
    在文件中添加如下两行 路径改成你自己的
    !注意:敲错成FIEL 的 Modelsim 敲错成modelsim的 会无效
PATH="$PATH:/opt/Modelsim/modeltech/linux_x86_64/"
export MGLS_LICENSE_FILE=/home/shus/backup/license/modelsim/license.dat
  • 在你懂得文件夹中 把sfk 和patch_calibre2011_linux 文件拷贝到modelsim的安装路径下(同级有modeltech和_msidata文件夹),+可执行权限并运行patch
sudo cp  patch_2010 sfk /opt/Modelsim
sudo chmod 755 patch_calibre2011_linux sfk    #chmod patch 和 sfk文件权限均为755
sudo ./patch_calibre2011_linux    #执行本命令,其实就是调用了一次sfk
  • 我在patch时报了一个错;当然,有的人不会遇到这个报错

./sfk: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

locate libstdc++.so.5  #发现系统中还真的没这个运行库
# 这是一个古老的库 所以安装 
# sudo apt-get install libstdc++5
sudo apt-get install libstdc++5:i386
  • 然后patch 又出现error:

modeltech/gcc-4.5.0-linux_x86_64/share/man/man1/error: failed to read+write: sfk - skipping

无所谓的问题 因为sfk无法更改自身。

  • 如果遇到多于1个error 那可能是因为wine或之前其他不恰当的操作导致文件的破坏
    这时 之前生成的license是一般是有用的 ,留着 。
    重装modelsim 此次因为已经有license了 所以就不用wine了
    此时再patch 那么基本上就只会有1个无关紧要的error 于是成功。

如果还是有异常 也可调换顺序 一种不怕麻烦的做法是:
先sudo ./patch_calibre2011_linux
再 wine MentorKG.exe -patch . 生成license 之后
卸载modelsim (就是直接rm -rf删目录)
再重装modelsim
再次sudo ./patch_calibre2011_linux 而license就用前一次生成的
重启系统 之后运行vsim试试。

  • 运行vsim命令时也许会提示你缺少一些库 则安装如下名称看起来接近的对应库:,当然不缺最好了
sudo apt-get install libxft2:i386
sudo apt-get install lib32ncurses5
  • 如果你在运行软件的时候遇到如下错误:

** Fatal: Read failure in vlm process (0,0)
Segmentation fault (core dumped)

那么,回滚到旧版本的linux系统 或者把debian系的系统换成redhat系的系统
或者安装更加新的modelsim版本
网上说的手动替换freetype为旧版本很可能是不可以的。
比方说我安装se-10.1c和ae-10.1d都死活无法显示图形界面 安装se-10.2c就好了

  • 重启,在新打开的终端中输入
nohup vsim&  #图形界面出现

3.usb-blaster

下面说说关于Altera usb-blaster的驱动问题

  • 首先 lsusb 我的返回结果有

Bus 003 Device 004: ID 09fb:6001 Altera Blaster

那么,切换到以下目录并建立一个规则文件80-usbblaster.rules

cd /etc/udev/rules.d 
sudo vim 80-usbblaster.rules

在文件中写入:

ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="666"

这样在idVendor是09fb且idProduct是6001的时候,mode设置成666(rw-rw-rw-)

  • 拔下usb-blaster后 运行命令
sudo udevadm control --reload
# 也可选择直接重启系统

接上usb-blaster,再次lsusb 返回中含有

Bus 003 Device 005: ID 09fb:6001 Altera Blaster

于是

cd  /dev/bus/usb/003
ls -l 005

如果返回的是666(crw-rw-rw-)权限 那么成功
如果 怎么样都不可以 就手动修改

sudo chmod 666 ./004
  • 关于jtag问题
    在.bashrc 或.zshrc中加入PATH 这里是我的PATH
PATH="$PATH:/opt/altera/13.0sp1/quartus/bin"

有了上面的PATH 之后就不用每次切换到下面目录才可以运行jtagconfig命令

cd /opt/altera/13.0sp1/quartus/bin/
sudo ./jtagconfig

给FPGA板子通电开机,然后插上usb-blaster

jtagconfig
```
返回了板子的信息
> 1) USB-Blaster [3-1]
  020B20DD   EP2C8
  
 为了正常的使用nios  那么 接下来
```
sudo  mkdir /etc/jtagd
sudo  cp /opt/altera/13.0sp1/quartus/linux64/pgm_parts.txt /etc/jtagd/jtagd.pgm_parts
```
 重启jtag:
```
sudo killall -9 jtagd
sudo killall -9 jtagd
# 然后打开新的终端 输入
jtagconfig
```
电脑接了usb-blaster和开发板的话 返回诸如下面的信息  一切正常
> 1) USB-Blaster [3-1]
  020B20DD   EP2C8
  
- 权限问题
```
ps aux|grep jtag
```
返回含有
> shus     31090  0.1  0.0  59100  7056 ?        S    15:50   0:00 /opt/altera/13.0sp1/quartus/linux64/jtagd --user-start --config /home/shus/.jtagd.conf

 有的人是root  这里我的自己就有权限
也许是因为我之前安装后 有切换到/opt下过 然后
sudo chown -R shus altera
sudo chgrp -R shus altera
所以不用头疼权限问题了?



##### 参考文献:
[*Altera-usb-blaster-with-ubuntu*](http://www.fpga-dev.com/altera-usb-blaster-with-ubuntu/)
[*Quartus* for Linux - Altera *Wiki*](http://www.baidu.com/link?url=olpDeO19yhPufteHflnjcrh9IusulvaHBpuJP91nuTE9NoLrYNo9X6meNBk_y2IAHShKVn4yQbqmEt08E12UX_&wd=&eqid=e7c2f5950008d3400000000457826924)
[*Altera Design Software-Arch wiki*](https://wiki.archlinux.org/index.php/Altera_Design_Software)

##### 参考文件:暂时还没上传
[quartus 13.0sp1 全家桶]()
[modelsim_se_10.2c 全家桶 ]()

你可能感兴趣的:(Quartus/Modelsim Linux搭建笔记v0.1)