感谢支持
我们一直在努力

Ubuntu 10.04下搭建FPGA/CPLD开发环境:Quartus II 9.1

一、简介


  Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。


  Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。


二、下载


  到以下站点下载最新的9.1,到这里下载Linux版本的,并选择免费的Web Edition(不要license的)。


三、安装


  安装前请确保Ubuntu 10.04系统已经有了tcsh,因为Quartus的安装脚本是用tcsh写的。


$ sudo apt-get install tcsh


  安装其实很简单,把下载下来的压缩包解压并进入相应目录执行install即可,然后根据提示进行操作。


四、配置环境变量


  在~/.bashrc中添加如下内容配置一下PATH和LIB_LIBRARY_PATH:


# Altera Quartus environment variables
QUARTUS_64BIT=0
MWOS=linux
MWARCH=i86
QUARTUS_MWWM=allwm
export QUARTUS_ROOTDIR=/opt/altera9.1sp2/quartus/
export PATH=$PATH:/opt/altera9.1sp2/quartus/bin/:/opt/altera9.1sp2/quartus/linux/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/:/usr/lib:/opt/altera9.1sp2/quartus/linux/
unset GCC_EXEC_PREFIX



五、安装一个老版本的libxi6


  通过上面的配置,本来应该直接可以用了,但是启动的时候出现了如下错误:



quartus: symbol lookup error: /usr/lib/libXi.so: undefined symbol: XESetWireToEventCookie



  问题应该是Quartus在编译的时候可能用的是老的libxi6,因此,www.linuxidc.com解决办法是安装老版本的libxi6,可以直接到各个ubuntu的镜像站下载这个文件libxi6_1.2.1-2ubuntu1_i386.deb(64位系统请把i386换一下),然后安装即可。



$ wget -c http://www.linuxidc.com/system/systembak/libxi6_1.2.1-2ubuntu1_i386.deb
$ dpkg -i libxi6_1.2.1-2ubuntu1_i386.deb



  上面强制安装了一个低版本的libxi6,会导致apt-get老提示xinput对libxi6的依赖关系,无法安装其他的包,在这里,貌似xinput在老版本的libxi6也也工作正常,因此,可以考虑把依赖关系修改一下。ubuntu的依赖关系在/var/lib/dpkg/status文件中维护的,通过搜索改文件中的”Package: xinput”可以找到xinput这个包,然后把该包对libxi6的依赖修改为老版本的libxi6。

  关于老版本的libxi6的详细版本信息,可以通过下面命令查看:


$ dpkg –info /media/research/fpga/resources/libxi6_1.2.1-2Ubuntu1_i386.deb | grep Version | cut -d’:’ -f3
1.2.1-2ubuntu1


  然后把xinput依赖的libxi6的版本信息改为上面的内容保存即可。 


Package: xinput

Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.2.99.901), libxext6, libxi6 (>= 2:1.2.1-2ubuntu1)



  到这里,Quartus可以工作了,直接通过命令行启动即可:



// 加载环境变量
$ . ~/.bashrc
// 启动
$ quartus



六、配置Usb Blaster


  下面配置一下Usb Blaster确保能够把东西下载到开发板上去。


  貌似ubuntu 10.04的内核无法识别到,但是早一点的内核可以,比如2.6.31-14,所以安装一个老的内核吧:



$ sudo apt-get install linux-image-2.6.31-14-386 linux-headers-2.6.31-14-386


  更新grub配置



// 自动产生一份新的grub配置文件
$ grub-mkconfig > grub.cfg.tmp
// 备份老的配置文件
$ cp /boot/grub/grub.cfg /boot/grub/grub.cfg-bak
// 启用新的配置文件
$ cp grub.cfg.tmp /boot/grub/grub.cfg



  然后添加一个udev配置文件



$ touch /etc/udev/rules.d/40-permissions.rules
$ vim /etc/udev/rules.d/40-permissions.rules
# Altera USB­Blaster
BUS==”usb”, SYSFS{idVendor}==”09fb”, SYSFS{idProduct}==”6001″, MODE=”0666″, SYMLINK+=”usbblaster”


 在/etc/init.d中添加一个脚本启动jtagd,并创建它需要的/proc/bus/usb。


$ touch /etc/init.d/jtagd
$ vim /etc/init.d/jtagd
# 把/dev/bus/usb挂载到/proc/bus/usb
mount -t usbfs /dev/bus/usb/ /proc/bus/usb/


# start jtagd,把/path/to修改为你的家目录
jtagd –config /path/to/.jtag.conf


$ chmod +x /etc/init.d/jtagd


  确认可以识别Usb Blaster



$ jtagd
$ jtagconfig
No JTAG hardware available
$ pkill jtagd
// 添加一个空的配置文件(/path/to可以设置为家目录)
$ touch /path/to/.jtag.conf
// 启动jtagd
$ /etc/init.d/jtagd
$ jtagconfig
jtagconfig
1) USB-Blaster [USB 7-1.1]
020F30DD


  到这里就ok了,通过下面的资料[1]开始你的Quartus之旅吧。

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 10.04下搭建FPGA/CPLD开发环境:Quartus II 9.1
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏