Abstract
VM並不是什麼新的觀念,透過VM我們可以在一個OS去執行其他OS,若我們將Quartus II也裝在VM中,將可解決一些長久以來Quartus II使用上所遇到的問題。

Introduction
使用環境:Windows XP SP3 + VirtualBox 4.1.2 + Quartus II 11.0 + DE2-70

在使用Quartus II的過程中,你是否也像我一樣遇到過以下的問題:

1.公司或實驗室只購買一套Quartus II license,或者只購買Altera某個IP的一套license,因此該license已經綁死了某張網卡的Mac Address,但卻希望也能同時在多台電腦使用。

2.公司或實驗室購買了多套EDA tools,但各是用不同的Mac Address所註冊的license,每次都要到不同電腦使用很不方便,希望能將所有的EDA tools都能在同一台電腦使用。

3.我的project是使用某個Quartus II版本開發,因為工作交接將此project拿到其他同事或同學的電腦開啟時,卻因為Quartus II版本不同而無法開啟,或者儘管Quartus II版本相同,卻因為未知原因無法順利合成或者合成結果與原本不同。

4.手邊有多個project,各用不同Quartus II版本開發,因無法將多個Quartus II版本安裝在同一台電腦而困擾。

5.書中或網路下載的範例程式,是使用較舊的Quartus II版本,但在我的電腦是安裝最新的Quartus II版本,因此無法開啟,或者合成結果與預期不同,必須安裝範例程式所指定較舊的Quartus II版本才能解決。

6.想要在教室的多台電腦安裝Quartus II,但因為每台電腦環境的差異,導致有些電腦可能無法順利安裝Quartus II,而且每台電腦安裝Quartus II需要很久的時間,且要一台一台設定license也很麻煩。

7.在執行Nios II或者SOPC Builder時,有時會出現莫名其妙的Java exception...。

假如你也有以上的困惱,在此介紹一個Quartus II安裝新觀念:改將Quartus II裝在VM內,將可解以上所遇到的問題:

1.儘管license已經綁死某張網卡的Mac Address,但VM允許我們去改虛擬網卡的Mac address,因此可以騙過Quartus II而順利同時在多台電腦使用。

2.VM可以支援多張虛擬網卡,每張網卡都可以去自行修改Mac address,因此可以將不同Mac address license的EDA tools安裝在同一台電腦上。

3.當project交接時,不是只將整個project目錄下所有檔案交接,而是將整個project與Quartus II環境連同VM一起打包,這樣可以保證對方的環境與我的環境完全相同。

4.將不同的Quartus II裝在不同的VM下,這樣同一台電腦下安裝幾個版本的Quartus II都不是問題。

5.若同時要在多台電腦安裝Quartus II,只要將已將安裝好的Quartus II VM打包好匯出,然後複製到其他電腦再匯入即可,不用再一台一台去設定license。

6.Java exception通常都很難解,很可能是電腦中安裝了其他的軟體與Quartus II相衝,在VM中只安裝Quatus II,不再安裝其他軟體,因此不會有軟體相衝的問題。

將Quartus II裝在VM中雖然很好用,但有一些先決條件:

1.VM中一定會比較慢,所以需要更高檔的硬體環境來跑,無論是CPU或者是記憶體,建議是使用64位元的Windows 7,這樣才能將多安裝的記憶體完全抓到後給VM使用,不像32位元的Windows XP只能抓到3G的記憶體,使用起VM很吃緊。

2.VM的設定比較繁瑣,比直接安裝Quartus II難度高。

第一個問題只能花錢去解決,本文主要是分享將Quartus II安裝在VM中所需的設定與注意事項。我所用的VM是Oracle的VirtualBox [1],這是一個完全free的VM,沒有版權的問題,而且很穩定功能又多。

本文將討論以下主題:

1.如何安裝VirtualBox?

2.如何在VirtualBox內安裝Windows XP SP3?

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

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

5.如何在VirtualBox安裝USB Blaster?

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

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

1.如何安裝VirtualBox?

Step 1:下載VirtualBox

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

Step 2:執行VirtualBox安裝檔

Step 3:Custom Setup

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

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

接下來VirtualBox會安裝好幾個虛擬硬體的驅動程式,可以放心的按『繼續安裝』繼續。

Step 5:安裝完成

Step 6:安裝VirtualBox Extension Pack

Step 7:同意VirtualBox 授權

Step 8:VirtualBox安裝成功

2.如何在VirtualBox內安裝Windows XP SP3?

Step 1:新增虛擬機器

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

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

本文Guest OS使用Windows XP SP3為範例,若使用其他作業系統請自行選擇。

Step 4:設定記憶體

記憶體設定必須非常小心,必須看你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:設定虛擬硬碟

Step 6:設定虛擬磁碟類型

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

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

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

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

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

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

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

Step 11:其他虛擬機器設定

Step 12:系統設定

維持原本設定即可。

Step 13:設定視訊記憶體

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

Step 14:設定Windows XP光碟ISO檔

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

Step 15:啟動虛擬機器

Step 16:鍵盤控制資訊

當Guest OS啟動後,由於同時執行了Host OS與Guest OS,鍵盤的輸入到底是歸Host OS還是Guest OS呢?VirtualBox預設鍵盤輸入歸Guest OS,若此時你想鍵盤輸入歸Host OS(如Alt + PrtSc)時,必須先按下Right Ctrl,取消VirtualBox對鍵盤擷取,此時Host OS才能收到Alt + PrtSc。

Step 17:滑鼠控制資訊

當Guest OS啟動後,只要滑鼠放在Guest OS內,VirtualBox會自動將滑鼠訊息送至Guest OS,稱為『滑鼠指標整合』,若某些應用程式在Guest OS對『滑鼠指標整合』出現異常,可自行停止此項功能。

Step 18:開始安裝Windows XP

至此開始安裝Windows XP,之後Windows XP的安裝過程就此省略。

Step 19:安裝Guest Additions

Guest Additions提供了一些額外有用的功能,如可以動態調整Guest OS解析度,可使Host OS與Guest OS共用剪貼簿…等。

Step 20:歡迎安裝Guest Additions

Step 21:設定Guest Additions安裝路徑

接受預設值即可。

Step 22:設定Guest Additions元件

接受預設值即可。

Step 23:Guest Additions安裝完成

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

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

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

Step 2:Quartus II安裝畫面

Step 3:Introduction

Step 4:License Agreement

Step 5:設定安裝路徑

Step 6:選擇安裝工具

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

Step 7:安裝前最後summary

Step 8:安裝中

Step 9:是否啟動TalkBack

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

Step 10:安裝成功

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

Step 1:設定license

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

Step 2:重新設定虛擬機器

Step 3:移除Quartus II 11.0的ISO檔

Step 4:設定網路卡

這裡是本文的第一個重點更改虛擬網卡的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:設定共用資料夾

請自行設定Host OS與Guest OS能共用的目錄,以方便Host OS與Guest OS相互傳檔。除此之外,若你的Host OS從來沒安裝過Quartus II,將來也必須要靠此共用目錄來安裝Host OS的Altera USB Blaster驅動程式。

Step 6:設定license

重新啟動虛擬機器與Quartus II,再次出現要求設定license的視窗,選擇『If you have a valid license file, specify the location of your license file』

Step 7:指定license file

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

Step 8:執行Quartus II

執行Quartus II成功。

Step 9:執行Nios II SBT

執行Nios II SBT成功。

Step 10:執行ModelSim-Altera

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

Step 11:設定MGLS_LICENSE_FILE系統變數

Step 12:重新啟動ModelSim-Altera

假如你是從桌面的捷徑去啟動ModelSim-Altera,在關閉ModelSim時,一定會遇到這個錯誤,而且怎麼關都關不掉,必須用工作管理員強制關閉才行。主要是因為TcL不認識ModelSim捷徑的中文『桌面』兩個字。

解決的方法是從『開始』去啟動ModelSim-Altera則正常,你也可自行將『開始』內的ModelSim-Altera捷徑重新複製到桌面。

執行ModelSim-Altera成功。

5.如何在VirtualBox安裝USB Blaster?

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

安裝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

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

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

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

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

這一步是關鍵,由於我們在Host OS並沒有安裝Quartus II,所以在Host OS並沒有任何Altera USB Blaster驅動程式安裝目錄,所以必須將Guest OS的C:\altera\11.0\quartus\drivers\usb-blaster整個目錄複製到Host OS才行。

該怎麼從Guest OS複製到Host OS呢?在前面的4.如何在VirtualBox內設定Quartus II的license?Step 5:設定共用資料夾,就是為了將Guest OS的Altera USB Blaster目錄複製到Host OS,讓Host OS得以安裝Altera USB Blaster。

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

Step 4:安裝Altera USB Blaster

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

Step 5:完成安裝Altera USB Blaster

按『完成』結束安裝。

成功安裝後,在裝置管理員可以發現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

Step 2:選取Altera USB Blaster

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

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

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

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

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

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

Step 6:安裝VirtualBox USB

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

Step 7:完成安裝VirtualBox USB

按『完成』結束安裝。

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

安裝Guest OS的Altera USB Blaster

在Host OS裝了Altera USB Blaster與VirtualBox USB之後,最後的步驟就是在Guest OS也裝上Altera USB Blaster,以下步驟與在Host OS安裝Altera USB Blaster完全一樣。

Step 1:Guest OS搜尋到新的硬體

當Host OS安裝了Altera USB Blaster與VirtualBox USB之後,Guest OS只要重新啟動就會搜尋到新的硬體。

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

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

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

由於已經在Guest OS內,只要直接指定安裝目錄為『C:\altera\11.0\quartus\drivers\usb-blaster』即可,按『下一步』繼續。

Step 4:完成安裝Altera USB Blaster

按『完成』結束安裝。

安裝完成後,可在Guest OS的裝置管理員發現Altera USB Blaster。

Step 5:執行Programmer測試

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

在Hardware Setup已經找到了USB Blaster,選擇後按『Close』離開。

Programmer已經找到了USB Blaster。

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

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

Step 1:匯出應用裝置

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

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

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

Step 3:設定會出路徑

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

Step 4:設定匯出相關資料

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

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

Step 1:匯入應用裝置

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

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

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

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

Step 3:設定VM存檔路徑

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

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

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

3.Quartus II 11.0的ModelSim-Altera在桌面的捷徑有bug,會導致關閉ModelSim時Tcl執行失敗而無法結束,必須使用『開始』去啟動ModelSim-Altera。

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
[1] Oracle VirtualBox

See Also
(原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)

全文完。

(原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox)...相关推荐

  1. (原創) 如何使用SignalTap II觀察reg與wire值? (SOC) (Verilog) (Quartus II) (SignalTap II)

    Abstract 撰寫Verilog時,雖然每個module都會先用ModelSim或Quartus II自帶的simulator仿真過,但真的將每個module合併時,一些不可預期的『run-tim ...

  2. (原創) ThinkPad X61安裝過程全紀錄 (NB) (ThinkPad) (X61)

    Abstract 我的ThinkPad X61安裝過程詳細紀錄. Introduction Step 1: ThinkPad X61基本硬體 (原創) 如何自行在ThinkPad X61安裝Windo ...

  3. (原創) Verilog入門書推薦2:數位系統實習 Quartus II (SOC) (Verilog)

    Abstract 之前曾經推薦過一本Verilog的薄書,這次再推薦一本適合FPGA與Quartus II的Verilog入門書籍. Intrduction 作者:陸自強 出版社:儒林圖書公司 語言: ...

  4. (原創) 如何自行在ThinkPad X61安裝Windows XP Professional SP3? (NB) (ThinkPad) (X61) (OS) (Windows)...

    Abstract 新一代的ThinkPad X61都已經安裝了Windows Vista,或許你因為各種理由想自己重新安裝Windows XP,並且升上SP3,本文是我的安裝心得. Introduct ...

  5. (原創) 如何將編譯結果,統一放在一個目錄下? (SOC) (Quartus II)

    Abstract Quartus II預設會將所有檔案都放在project的根目錄下,導致根目錄檔案過多,管理不便,若能將編譯的結果統一放到其他目錄下,將有助於日後管理. Introduction 使 ...

  6. (原創) 如何正確安裝ThinkPad Travel UltraNav USB Keyboard驅動程式? (NB) (ThinkPad) (OS) (Windows)...

    Abstract俗稱外接小紅點鍵盤,若要能順利地取代ThinkPad原來鍵盤的所有功能,需要一些小技巧. Introduction使用環境:Windows XP Professional SP3 鍵盤 ...

  7. (筆記) 如何增加SignalTap II能觀察的reg與wire數量? (SOC) (Quartus II) (SignalTap II)

    Abstract 無法在SignalTap II觀察reg與wire,主要都是因為被Quartus II優化的關係,在Quartus II簡單的設定,就能增加SignalTap II能觀察的數量. I ...

  8. (原創) 如何使用ModelSim-Altera對Nios II仿真? (SOC) (Nios II) (SOPC Builder) (ModelSim) (DE2)...

    Abstract 在剛學習Nios II時,每次在Run As Nios II Hardware下方,看到Run As Nios II ModelSim就覺得很好奇,Nios II明明是嵌入式系統,怎 ...

  9. 【转】(原創) 如何使用ModelSim-Altera對Nios II仿真? (SOC) (Nios II) (SOPC Builder) (ModelSim) (DE2)...

    真OO无双博客 原創) 如何使用ModelSim-Altera對Nios II仿真? (SOC) (Nios II) (SOPC Builder) (ModelSim) (DE2) http://ww ...

最新文章

  1. nginx内置变量 大全
  2. collection_check_boxes的应用
  3. bzoj[1835][ZJOI2010]base 基地选址
  4. python之super
  5. junit4/5 getDefaultClassLoader()Ljava/lang/ClassLoader;
  6. 史上最全Java面试266题:算法+缓存+TCP+JVM+搜索+分布式+数据库
  7. 10G_Ethernet_01 万兆以太网设计引言
  8. React-生命周期杂记 1
  9. JQUERY插件学习之jQuery UI
  10. JS_Java_Oracle_MySQL截取字符串的函数
  11. [机器学习笔记]Note13--异常检测
  12. 【AI视野·今日NLP 自然语言处理论文速览 第五期】Thu, 10 Jun 2021
  13. html按键变色,按键变色.html
  14. Yearn V2 Vaults Swap发布,目前未经审核
  15. python表白代码-520使用Python实现quot;我爱你”表白
  16. Windows操作系统原理笔记
  17. python第五章自己的笔记总结(6)
  18. 【深度学习】史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)...
  19. oj平台python_python OJ
  20. 此文对你人生会有莫大好处的,建议永久保存

热门文章

  1. 3D Touch的基本使用
  2. 蚂蚁系统案例2【无标题】
  3. python爬取淘宝淘女郎图片
  4. 华三s3100v3时区配置_H3C S3100 交换机配置步骤
  5. 前端面试系列-输入url后全过程页面渲染机制DOM生成过程
  6. 敏捷开发,持续集成/交付/部署, DevOps总结
  7. 《F4+2》——团队项目的原型设计与开发
  8. ramdisk“snmptraps”已满。因此,无法写入文件
  9. 2021年安全员-A证复审考试及安全员-A证考试试题
  10. 计算机网络第一节课笔记