惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
C
CERT Recently Published Vulnerability Notes
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
L
LangChain Blog
J
Java Code Geeks
B
Blog
博客园_首页
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
D
Docker
L
LINUX DO - 最新话题
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
U
Unit 42
T
Tenable Blog
F
Fortinet All Blogs
K
Kaspersky official blog
博客园 - 【当耐特】
T
Tailwind CSS Blog
Y
Y Combinator Blog
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
美团技术团队
S
Schneier on Security
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
MongoDB | Blog
MongoDB | Blog
Cisco Talos Blog
Cisco Talos Blog
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
NISL@THU
NISL@THU
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
Martin Fowler
Martin Fowler
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
I
Intezer
有赞技术团队
有赞技术团队

博客园 - 真 OO无双

(轉貼) Bit Twiddling Hacks (SOC) (Verilog) (C) (筆記) 如何移除VirtualBox所遺留下的驅動程式? (SOC) (VirtualBox) (筆記) always block內省略else所代表的電路 (SOC) (Verilog) (原創) 如何在Qsys Subsystem使用Interrupt? (SOC) (Nios II) (Qsys) (原創) Qsys或RTL做修改後,Nios II SBT該如何面對新的硬體? (SOC) (Nios II) (Qsys) (原創) 如何解決目錄改變時,Nios II project無法編譯的問題? (SOC) (Nios II) (DE2-70) (原創) Qsys Generation Tab的Simulation設定的意義 (SOC) (Nios II) (Qsys) (筆記) 如何寫入binary file某個byte連續n byte的值? (C/C++) (C) (筆記) 如何寫入binary file某個byte的值? (C/C++) (C) (筆記) 如何讀取binary file某個byte連續n byte的值? (C/C++) (C) (筆記) 如何讀取binary file某個byte的值? (C/C++) (C) (原創) Altera Technology Roadshow 2011 Taipei (SOC) (Quartus II) (Nios II) (Qsys) (原創) 如何在安裝SELinux的環境執行Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (筆記) 如何得知Quartus II最新版到底修改了哪些東西? (SOC) (Quartus II) (Nios II) (SOPC Builder) (Qsys) (筆記) Qsys resource整理 (SOC) (Nios II) (Qsys) (筆記) 如何在RedHat Linux安裝VirtualBox Guest Additions? (SOC) (Linux) (RedHat) (VirtualBox) (筆記) 常用設定暫存器值的編程技巧 (SOC) (C/C++) (C) (Verilog) (原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox) (筆記) $dispaly()、$strobe()、$monitor() 、$fwrite()與blocking / nonblocking的關係 (SOC) (Verilog) (Debussy) (Verdi)
(原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
真 OO无双 · 2011-10-10 · via 博客园 - 真 OO无双

Abstract
本文介紹如何安裝Linux版的Quartus II,其中包含如何在Linux安裝USB Blaster以及相關議題。

Introduction
使用環境:Windows XP SP3 (Host OS) + ReaHat 5.4 (Guest OS) + VirtualBox 4.1.4 + Quartus II 11.0 + DE2-70

本文將討論以下主題:

1.為什麼要在Linux執行Quartus II?

2.為什麼選擇RedHat Linux?

3.如何安裝VirtualBox?

4.如何在VirtualBox內安裝RedHat Linux?

5.如何在RedHat Linux安裝VirtualBox Guest Additions?

6.如何在VirtualBox內安裝Quartus II?

7.如何在VirtualBox內設定Quartus II license?

8.如何在VirtualBox內安裝USB Blaster?

9.如何在VirtualBox內將已經安裝好的Quartus II匯出?

10.如何在VirtualBox內匯入已經安裝好的Quartus II?

1.為什麼要在Linux執行Quartus II?

(原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox)已經討論過如何將Quartus II安裝在VirtualBox內,且已經可以解決很多Quartus II使用上常見的問題了,為什麼還要討論Linux版本的Quartus II呢?其實本人原本對Linux也沒啥好感,一來我並沒有要使用Linux當server,二來我沒有要使用Linux當嵌入式的OS,所以一直覺得Linux對我工作上沒有實際的幫助,一直到畢業工作後,從事ASIC開發,才發現Linux對於IC設計非常的好用,是EDA工具的理想平台:

1.絕大部分的EDA工具都在Linux平台上:
如Synopsys、Cadence、SpringSoft等公司的EDA工具都在Linux平台上,在Windows平台只剩下FPGA工具如Altera Quartus II與Xilinx ISE,以及Mentor Graphics的ModelSim,假如你工作只走FPGA flow,那麼Windows平台的確就夠用了,但假如你工作走的是ASIC flow,那麼絕大部分的EDA工具都在Linux上,如Synopsys VCS,Cadence NC-Verilog,SpringSoft Verdi,這些工具或許還有Windows版可以撐一下,雖然版本比較舊,但Synopsys Design Compiler自從2000年以後就沒有出Windows版,而且synthesis科技日新月異,我想沒人會想用2000年的Design Compiler了,也因為如此,走ASIC flow的會很自然的使用Linux做為開發平台。對於走ASIC flow的人而言,用FPGA主要是為了驗證IC,若為了驗證IC還要將RTL從Linux搬到Windows,然後執行Quartus II,這樣真的比較麻煩,而且RTL的版本控制也是一大問題,若能將Quartus II也在Linux執行,這樣從開發、模擬到驗證全部都在Linux平台執行,將非常的方便。

2.Linux平台有強勁的Shell Script與Makefile支援:
以前總覺得Windows的GUI介面很親民,只要滑鼠拖拖拉拉就可以完成事情,但若不斷重複的事情要一直用滑鼠,就會覺得很麻煩,在IC設計時,通常需要不斷的跑模擬,而且test case可能非常的多,設定也非常複雜,如不同的register設定與不同的LUT載入,若這些動作每次都要用滑鼠做重複的事情,相信大家都會瘋掉,這時就很需要將這些設定用程式的方法解決,Linux平台本身就帶有很強的Shell Script,或者你要用Makefile寫也可以,就可以將複雜的模擬環境用程式都寫好,到時只要打一下script name加參數,就可以執行各式各樣的模擬,這也是Windos環境所做不到的。

基於以上兩個理由,就可以發現儘管你不需要架站,也不需要做嵌入式,Linux仍然是一個理想的EDA工具平台,所以將Quartus II裝在Linux上也有其必要性。

2.為什麼選擇RedHat Linux?

Linux distribution眾多,RedHat曾經是Linux的代名詞,最近這幾年則是Ubuntu最紅,尤其Android指名以Ubuntu為開發環境後,其他較有名的環境尚有Fedora、CentOS與SUSE,根據Altera個官方資料:

page-0001

Quartus II 11.0支援RedHat 4/5,SUSE 11與CentOS 4/5,其中RedHat 4/5支援最完整,且RedHat也是各EDA工具指定的標準平台,所以推薦使用RedHat。

或許你會說RedHat與SUSE是需要版權的Linux,那你可以使用RedHat的表兄弟CentOS代替。根據我實際測試,CentOS 5系列可以成功安裝Quartus II 11.0,CentOS 6則無法安裝Quartus II 11.0,使用CentOS時須注意。

3.如何安裝VirtualBox?

Step 1:下載VirtualBox

請到http://www.virtualbox.org/wiki/Downloads下載VirtualBox安裝檔與VirtualBox Extension Pack

Step 2:執行VirtualBox安裝檔

linux_q1_000

按『Next』繼續。

Step 3:Custom Setup

linux_q1_001 

雖然VirtualBox有支援USB,但僅支援USB 1.0,而USB-Blaster用的是USB 2.0,這必須要裝VirtualBox Extension Pack才能解決。

linux_q1_002

是否要再桌面與快速工具列留下捷徑,按『Next』繼續。

Step 4:安裝虛擬硬體驅動程式

linux_q1_003

在安裝虛擬網卡驅動程式時,會暫時將網路斷線,按『Yes』繼續。

linux_q1_004

VirtualBox即將開始安裝,按『Install』開始安裝。

linux_q1_005

VirtualBox安裝中…

之後在安裝過程中會出現多次以下的視窗,表示正在安裝驅動程式,按『繼續安裝』繼續。

linux_q1_006

linux_q1_007

linux_q1_008

Step 5:安裝完成

linux_q1_009

Step 6:安裝VirtualBox Extension Pack

linux_q1_010

Step 7:同意VirtualBox授權

linux_q1_011 

Step 8:VirtualBox Extension Pack安裝成功

linux_q1_012

4.如何在VirtualBox內安裝RedHat Linux?

Step 1:新增虛擬機器

linux_q2_000

Step 2:歡迎新增虛擬機器精靈

vb008

Step 3:設定虛擬機器名稱和作業系統類型

linux_q2_001

本文Guest OS使用RedHat 5.4為範例,作業系統請選擇『Linux』,版本請選擇『Red Hat』。

Step 4:設定記憶體

linux_q2_002 

記憶體設定必須非常小心,必須看你Host OS有多少記憶體來設定,否則Guest OS很容易無故當機,以我的狀況而言,我Host OS為Windows XP SP3 (32 bit),有4G記憶體,Windows XP可實抓3GB左右,因此Guest OS設定1GB算是保守的設定,等待安裝成功後,可以再慢慢調適Guest OS該擁有多少記憶體,另外Guest OS記憶體越多,Quartus II在做Synthesis與P&R時速度也較快。

Step 5:設定虛擬硬碟

linux_q2_003

Step 6:設定虛擬硬碟類型

linux_q2_004

VDI是VitualBox自己定義的格式,VMDK是一種open的格式,VMware也用,VHD則是Microsoft定義的格式,Parallels則不太清楚,基本上選哪一種格式都可以,因為在VM匯入時目前只支援VMDK格式,所以在此也選擇VMDK。

Step 7:設定虛擬磁碟檔案配置方式

linux_q2_005

『固定大小』用起來會快些,但第一次建立時較久,而動態配置第一次不用建立所以很快,也不占空間,直到真正使用才建立,不過日後用起來會稍微慢些。在此選擇『動態配置』是為了省些空間。

Step 8:設定虛擬磁碟檔案位置和大小

linux_q2_006

由於Quartus II 11.0裝完,包含Quatus II 11 + all device + Nios II SBT + ModelSim Altera共14G,加上日後要simulation產生的dump file,所需的硬碟空間會相當可觀,請自行評估所需要的空間。在此設定虛擬硬碟容量為50GB。

Step 9:確認建立新的虛擬磁碟

linux_q2_007

Step 10:確認建立新的虛擬機器

linux_q2_008

Step 11:其他虛擬機器設定

linux_q2_009

Step 12:系統設定

linux_q2_010

維持原本設定即可。

Step 13:設定視訊記憶體

linux_q2_011

由於裝了VirtualBox Guest Additions(稍後會裝),可以不用開機動態改變解析度,建議設定視訊記憶體為128MB,以適合各種解析度的動態改變。

Step 14:設定RedHat Linux 5.4安裝光碟ISO檔

linux_q2_012

由於目前空有虛擬機器,但卻沒有任何Guest OS,需要自己安裝RedHat Linux,所以將光碟設定為RedHat Linux 5.4安裝光碟的ISO檔。

Step 15:啟動虛擬機器

linux_q2_012_1

Step 16:啟動RedHat Linux

linux_q2_013

按『Enter』使用圖形模式安裝。

Step 17:檢查CD

linux_q2_014

因為RedHat Linux是用ISO檔安裝,所以沒有CD損壞的問題,選『Skip』繼續。

Step 18:歡迎RedHat安裝畫面

linux_q2_015

按『Next』繼續。

Step 19:選擇語言

linux_q2_016

因為EDA工具皆為英文版本,無中文,整個Linux環境指使用英文即可,按『Next』繼續。

Step 20:輸入安裝序號

linux_q2_018

若你有RedHat Linux的安裝序號可輸入,若沒有選擇『Skip entering Installing Number』亦可,不會影響後續的安裝。按『OK』繼續。

linux_q2_019

按『Skip』繼續。

Step 21:刪除所有硬碟資料

linux_q2_020

詢問是否可刪除虛擬硬碟中的所有資料,按『Yes』繼續。

Step 22:使用預設partition

linux_q2_021

此時你可以自行決定如何partition你的虛擬磁碟,在此使用預設的partition即可安裝Quartus II。按『Next』繼續。

linux_q2_022

確認即將partition你的虛擬磁碟,按『Yes』繼續。

Step 23:設定網卡

linux_q2_023

由於我們並不想讓此虛擬機器連上網路,所以網卡設定不重要,只要接受預設值即可。按『Next』繼續。

Step 24:設定時區

linux_q2_024

選擇你的時區。按『Next』繼續。

Step 25:設定root密碼

linux_q2_025

設定您的root密碼。按『Next』繼續。

Step 26:設定安裝軟體套件

linux_q2_026

由於稍後要安裝VirtualBox Guest Additions,需要重新make kernel,所以選擇『Software Development』套件,可以免除自行安裝gcc與library的問題。

Step 27:即將開始安裝RedHat Linux

linux_q2_027

按『Next』繼續。

Step 28:安裝RedHat Linux中

linux_q2_028

Step 29:安裝完成

linux_q2_029

按『Reboot』重新開機。

Step 30:重新開機後出現歡迎畫面

linux_q2_030

按『Forward』繼續。

Step 31:License Agreement

linux_q2_031

選『Yes, I agree to the License Agreement』,按『Forward』繼續。

Step 32:關閉Firewall

linux_q2_032

由於日後這個虛擬機器並不會連上網路,所以不需安裝Firewall。按『Forward』繼續。

linux_q2_033 

按『Yes』確定不使用Firewall。

Step 33:關閉SELinux

linux_q2_034

由於Quartus II在搭配SELinux時須做額外的設定(請參考(原創) 如何在安裝SELinux的環境執行Quartus II? (SOC) (Quartus II) (Linux) (RedHat)),在此選擇直接關閉SELinux。按『Forward』繼續。

linux_q2_035

按『Yes』確定關閉SELinux。

Step 34:不使用Kdump

linux_q2_036

不使用Kdump,按『Forward』繼續。

Step 35:設定日期時間

linux_q2_037

設訂日期時間,按『Forward』繼續。

Step 36:關閉Software Update

linux_q2_038

因為日後虛擬機器不會連上網路,所以不需要任何software update。按『Forward』繼續。

linux_q2_039

選『No thanks, I'll connect later』確定不使用software update。

linux_q2_040

按『Forward』繼續。

Step 37:建立另外一組User

linux_q2_041

Step 38:設定音效卡

linux_q2_042

按『Forward』繼續。

Step 39:Additional CDs

linux_q2_043

按『Finish』繼續。

Step 40:即將重新開機

linux_q2_044

按『OK』重新開機。

Step 41:第一次重新開機

linux_q2_045

linux_q2_046

linux_q2_047

linux_q2_048

使用root登入。

linux_q2_049

linux_q2_050

第一次正式進入Linux桌面。

5.如何在RedHat Linux安裝VirtualBox Guest Additions?

Step 1:設定VirtualBox Guest Additions ISO檔

linux_q2_009 

linux_q2_052

將光碟機設定到C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso,然後啟動RedHat Linux。

Step 2:重新make kernel

以root登入後

[root@localhost ~]# cd /media/VBOXADDITIONS_4.1.4_74291/

切換到/media/VBOXADDITIONS_4.1.4_74291目錄下,只要在VirtualBox掛ISO檔,都會在/media目錄下。

[root@localhost VBOXADDITIONS_4.1.4_74291]# sh ./VBoxLinuxAdditions.run

執行VBoxLinuxAdditions.run開始安裝VirtualBox Guest Additions,這是個Bash shell script。

linux_q2_053

重新開機後,VirtualBox Guest Additions即安裝完成。

6.如何在VirtualBox內安裝Quartus II?

Step 1:設定光碟為Quartus II 11.0的ISO檔

首先到ftp://ftp.altera.com/outgoing/release下載11.0_acds_linux.iso

linux_q2_055

Step 2:Quartus II安裝畫面

以root登入後

[root@localhost ~]# mkdir altera_q2_11_setup
[root@localhost ~]# cd altera_q2_11_setup/
[root@localhost altera_q2_11_setup]# cp -a /media/altera_11.0_linux/* .

先在root的home directory建立altera_q2_11_setup目錄,然後將光碟中所有檔案複製到該目錄下

[root@localhost altera_q2_11_setup]# sh ./autorun.sh

執行 autorun.sh這個Bash shell script。

linux_q2_057

 linux_q2_058

或許你會問:『為什麼要將光碟的檔案複製到硬碟後才安裝呢?不能如VirtualBox Guest Additions一樣直接在光碟安裝嗎?』對於這個問題我也很困擾,若直接在/media/altera_11.0_linux這個目錄下直接執行autorun.sh,會沒有任何結果,然後在/tmp/altera_dvd_autorun.log出現以下錯誤訊息:

./autorun.sh: line 68: /media/altera_11.0_linux/autorun/autorun: Permission denied
./autorun.sh: line 68: /media/altera_11.0_linux/autorun/autorun: Success

我也仔細檢查過autorun.sh的權限,並沒有任何問題。但就是無法直接在光碟執行,包含直接使用Altera原廠的光碟而非下載的ISO檔,但若將光碟中的檔案複製到硬碟在安裝則完全沒有問題,這點若有人知道如何解請告訴我。

Step 3:Introduction

linux_q2_059 

Step 4:License Agreement

linux_q2_060

Step 5:設定安裝路徑

linux_q2_061 

Step 6:選擇安裝工具

linux_q2_062 

基本上Quartus II一定要選,Nios II EDS就看你要不要用到Nios II與SOPC,至於ModelSim,雖然說你原本可能習慣使用其他simulator,不過ModelSim與Nios II整合較好,可以省下很多整合上的問題,建議還是安裝ModelSim。

Step 7:安裝前最後Summary

linux_q2_063

Step 8:安裝中 

linux_q2_064 

Step 9:是否啟動TalkBack

linux_q2_065

是否允許Altera將一些資訊透過網路送回Altera公司,我是不建議勾選,因為真的不確定Altera會送回什麼資訊。

Step 10:安裝成功

linux_q2_066 

7.如何在VirtualBox內設定Quartus II license?

Step 1:設定license

linux_q2_067

若還沒設定license,第一次執行Quartus II時,會出現以上畫面,要求你設定license。

Step 2:重新設定虛擬機器

linux_q2_009

Step 3:移除Quartus II 11.0的ISO檔

linux_q2_069

linux_q2_070

Step 4:設定網路卡

linux_q2_072

這裡是本文的第一個重點更改虛擬網卡的Mac address為已註冊license的Mac address,如此將可騙過虛擬機器內的Quartus II。

另外必須將『啟用網路卡』打勾,這表示虛擬機器將安裝此張虛擬網路卡。

另外建議將『附加到』選擇『未附加』,且不要選擇『網路已連接』。

或許你會問,『這樣網路不就不通了嗎?』

是的,我就是要讓網路故意不通!!!

主要原因有以下幾個:

1.因為在虛擬機器內,安裝網路卡主要並不是為了網路連線,而是要騙Quartus II的license。

2.因為誰也不敢保證EDA tools有沒有安裝木馬程式,會不會透過網路暗中送什麼資料回EDA tools原廠,若是使用合法license還好,若是使用破解版,因而將使用破解版的資訊送回EDA tools原廠,那就嚴重了。

3.因為網路不通可以拒絕任何Windows的更新,有時候Windows的更新反而會造成EDA tools出問題,所以維持一個能穩定執行EDA tools的環境很重要,而不需要一直頻繁的更新OS。

而且這僅僅是Guest OS網路不通,但是Host OS網路仍然是通的,因此若需要網路相關的操作,請回到Host OS,Guest OS將只是一個單純的Quartus II環境。

本文第二個重點,因為VirtualBox允許你最多設定4張虛擬網卡,也就是4個不同的Mac address,因此我們可以原本四個不同Mac address license的EDA tools同時安裝在同一台虛擬機器上。

Step 5:設定共用資料夾

linux_q2_071

請自行設定Host OS與Guest OS能共用的目錄,以方便Host OS與Guest OS相互傳檔。

Step 6:設定license

[root@localhost ~]# cd altera/11.0/quartus/bin
[root@localhost bin]# ./quartus

切換到quartus目錄,執行quartus ii

linux_q2_073

linux_q2_074 

linux_q2_075

若license成功,將出現已經license的功能。

Step 8:執行Quartus II

linux_q2_077

執行Quartus II成功。

Step 9:執行Nios II SBT

[root@localhost ~]# cd altera/11.0/nios2eds/bin
[root@localhost bin]# ./eclipse-nios2

切換到Nios II SBT目錄,執行Nios II SBT

linux_q2_078

linux_q2_079

linux_q2_080

linux_q2_081

執行Nios II SBT成功。

Step 10:執行ModelSim-Altera

linux_q2_084 

linux_q2_094

ModelSim-Altera需要另外設定license,可以使用MGLS_LICENSE_FILE或者LM_LICENSE_FILE系統變數設定。

Step 11:設定MGLS_LICENSE_FILE系統變數

linux_q2_082

修改home directory的.bashrc (這是個隱藏檔),使用vi將.bashrc修改成如下:

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

#################
#ModelSim-Altera#
#################
export MGLS_LICENSE_FILE=/root/altera/002682E569D6_1302125101018.dat

linux_q2_083

Step 12:重新執行ModelSim-Altera

linux_q2_086

執行ModelSim-Altera成功。

8.如何在VirtualBox內安裝USB Blaster?

我們都知道為了使Quartus II透過USB與開發版溝通,必須安裝Altera USB Blaster這個driver才行,但若使用了VM之後,整體架構就更複雜了,如下圖所示:

Untitled-1

安裝Host OS的Altera USB Blaster

(假如你之前曾經在Host OS安裝過任何版本的Quartus II,儘管你移除了該版本的Quartus II,也不會移除Host OS的Altera USB Blaster驅動程式,也就是說,你不必再重新安裝Host OS的Altera USB Blaster,假如你從來沒在Host OS安裝過Altera USB Blaster,就必須依照以下步驟安裝)

Step 1:插入DE2-70 USB Cable

vb062

將DE2-70的USB Cable插入USB後,Windows XP會出現以上視窗,表示偵測到新的硬體,選擇『不,現在不要』,按『下一步』繼續。

Step 2:從清單或特定位置安裝(進階)

201110012106153720

選擇『從清單或特定位置安裝(進階)』,並按『下一步』繼續。

Step 3:設定Altera USB Blaster驅動程式目錄

201110012106176587 

這一步是關鍵,由於我們在Host OS並沒有安裝Quartus II,所以在Host OS並沒有任何Altera USB Blaster驅動程式安裝目錄,且Quartus II 11.0 Linux版並沒有包含Windows版的USB Blaster,必須從安裝過Quartus II 11.0 Windows版的電腦的C:\altera\11.0\quartus\drivers\usb-blaster複製到Host OS讓Host OS安裝。

複製完成後,將搜尋位置指向Host OS的該目錄,按『下一步』繼續。

Step 4:安裝Altera USB Blaster

201110012106186978

按『繼續安裝』安裝Altera USB Blaster。

Step 5:完成安裝Altera USB Blaster

201110012106209321

按『完成』結束安裝。

201110012106257680

成功安裝後,在裝置管理員可以發現Altera USB Blaster。

安裝Host OS的VirtualBox USB

除了在Host OS與Guest OS都必須安裝Altera USB Blaster外,還必須安裝VirtualBox所提供的VirtualBox USB,作為Host OS與Guest OS之間的bridge,如此才能使Guest OS的Quartus II能夠存取Host OS的USB與DE2-70。

Step 1:設定Guest OS

 linux_q2_009

Step 2:選取Altera USB Blaster

vb061-1

vb061-2

Step 3:Host OS搜尋到新的硬體

vb062

當Guest OS啟動後,由於剛剛設定Guest OS要使用Altera USB Blaster,此時Host OS會表示偵測到新的硬體,選擇『不,現在不要』,按『下一步』繼續。

vb063

選擇『從清單或特定位置安裝(進階)』,並按『下一步』繼續。

Step 5:設定VirtualBox USB驅動程式目錄

vb064

VirtualBox USB驅動程式安裝目錄在C:\Program Files\Oracle\VirtualBox\drivers\USB\device\,設定後按『下一步』繼續。

Step 6:安裝VirtualBox USB

vb065

按『繼續安裝』安裝VirtualBox USB。

Step 7:完成安裝VirtualBox USB

vb066

按『完成』結束安裝。

vb067

成功安裝後,在裝置管理員可以發現VirtualBox USB。

安裝Guest OS的Altera USB Blaster

Step 1:建立51-usbblaster.rules

[root@localhost ~]# cd /etc/udev/rules.d/
[root@localhost rules.d]# vi 51-usbblaster.rules

切換目錄到/etc/udev/rules.d,使用vi建立51-usbblaster.rules新檔。

linux_q2_087

51-usbblaster.rules的內容如下:

#USB-Blaster
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", \
PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; \
printf /proc/bus/usb/%%03i/%%03i$${K%%%%.*} $${K#*.}'", \
RUN+="/bin/chmod 0666 %c"

linux_q2_088

Step 2:執行Programmer測試

linux_q2_090 

第一次啟動Programmer時,會發現沒有抓到USB Blaster,按『Hardware Setup』繼續。

linux_q2_091

linux_q2_092

Programmer已經找到了USB Blaster。

linux_q2_093

實際將*.sof 寫入FPGA試試看,結果100%成功。

9.如何在VirtualBox內將已經安裝好的Quartus II匯出?

Step 1:匯出應用裝置

linux_q2_095

選擇你已經建立好的VM,執行『檔案』 –>『 匯出應用裝置』。

Step 2:歡迎使用應用裝置匯出精靈

linux_q2_096

確認是否為要匯出的VM,按『下一步』繼續。

Step 3:設定會出路徑

linux_q2_097

設定要匯出的路徑,按『下一步』繼續。

Step 4:設定匯出相關資料

linux_q2_098

可在此設定匯出的ova檔的相關資料,按『匯出』即正式開始匯出,需要等待一段時間。

10.如何在VirtualBox內匯入已經安裝好的Quartus II?

Step 1:匯入應用裝置

linux_q2_099

選擇『檔案』-> 『匯入應用裝置』。

Step 2:歡迎使用應用裝置匯入精靈

linux_q2_100

按『選擇』選擇要匯入的*.ova檔。

linux_q2_101

選擇好要匯入的*.ova檔後,按『下一步』繼續。

Step 3:設定VM存檔路徑

linux_q2_102

最後一步是要設定將匯入的VM存檔到哪裡,至於其他設定都可以等匯入成功後再設定,最後按『匯入』即正式開始匯入,需要等待一段時間。

Conclusion
1.證明Quartus II Linux版的確是可以安裝使用的,且Nios II SBT與Blaster也完全沒問題,只要你選對Linux Distribution即可。若你主要是使用ASIC flow,則或許你需要Linux版的Quartus II較方便。

2.可利用VM的虛擬網卡自行變更Mac address,因而達成一個Mac address的license可以給多台電腦使用。

3.VirtualBox最多可支援4張網卡,也就是說你可以將使用不同Mac address為license的tools安裝在同一台虛擬機器上。

4.為了使VM內的Quartus II也能透過USB與開發版溝通,必須在Host OS與Guest OS都安裝Altera USB Blaster,並在Host OS安裝VirtualBox USB當bridge。

5.將project連OS與Quartus II版本整個匯出成*.ova檔,可以保證到其他人的環境與原作者完全相同,減少因為OS與Quartus II版本而造成相容性的問題。

Reference
USB-Blaster Driver for Linux

See Also
(原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox)
(筆記) 如何在RedHat Linux安裝VirtualBox Guest Additions? (SOC) (Linux) (RedHat) (VirtualBox)
(原創) 如何在安裝SELinux的環境執行Quartus II? (SOC) (Quartus II) (Linux) (RedHat)

全文完。