(原創) DE2-70能玩些什麼? (SOC) (Verilog) (Quartus II) (SOPC Builder) (Nios II) (μC/OS-II) (DE2-70)
Abstract
朋友看我花了快台幣三萬元買了買了DE2-70 + 500萬像素CMOS數位相機 + 4.3"LCD觸控式面板,問我買FPGA開發版能幹麻?還不如去買iPhone 4(雖然我也是有買iPhone 4),其實DE2-70比iPhone 4更好玩。
Introduction
其實會想寫這篇文章,主要是因為特權同學的『深入淺出玩轉FPGA』的第二章談到FPGA的應用領域,所以我也想談談我的看法,其實不只是DE2-70,這種FPGA開發版能玩些什麼呢?
1.玩純硬體
a.初學者:DE2-70含有豐富的範例,初學者可以邊看範例邊看DE2-70上各周邊的datasheet,慢慢培養看code的功力,別忘了真的工作後,有80%機會都要看前人寫的code,然後加以維護,若能將DE2-70的範例全部看懂,功力已經很不錯了。
b.中等程度:就不要看範例了,要練到只要有datasheet,就能寫code的功力,就試自己著將DE2-70所有周邊的controller都寫出來吧,或者將DE2-70的範例自己重寫一遍。
c.高手:可以試著將一些原來軟體的演算法,改用硬體實現加速,如影像、網路等領域,因為要求real time,所以很多演算法都必需直接靠硬體實現,軟體速度太慢了,但大部分演算法都是數學或軟體,要改用硬體實現,可能必須修改成硬體容易實現的演算法,也可能要修改硬體架構,這是很有挑戰的一個領域,而DE2-70由於SSRAM,SDRAM都大,是一個很好的實驗平台。
2.玩SOPC
將設計改成以Avalon Bus為基礎,這樣的設計有很多優點,如豐富的IP可重複使用,縮短開發時間等,可以試著將DE2-70的周邊改成能掛上Avalon Bus的Controller,可以參考Altera University Program的IP,或者自己K Avalon Bus Spec,自己將周邊掛在Avalon Bus上,這部份也是有很多可以學。
3.玩Nios II
以往一塊板子可能要搭配8051與FPGA一起運作,有了Nios II之後,FPGA就包含了CPU,一些嵌入式的產品只要一顆FPGA就可以搞定。有了Nios II就可以搭配軟體做軟硬體共同設計了,可以練習如何寫firmware,寫driver。
4.玩OS
有了軟體之後,也可以開始將OS porting到DE2-70上來,目前已經有人將μCLinux,Linux等porting到DE2-70上,但那是別人porting成功的,可以仔細研究人家是怎麼porting的,也可以學著如何在OS上開發圖形介面的軟體,有一些open source的framework可以用。
5.玩Open Source
Avalon Bus與Nios II都是Altera的,並沒有公佈原始碼,只能靠文件了解,實在有點隔靴搔癢,也可以玩玩OpenCores的OR1200 CPU與Wishbone bus,這都是open source的,可以學習如何設計CPU與BUS,完全掌握SOPC。
6.完全自己來
你可以自己設計CPU,自己設計BUS,自己設計OS、自己設計Compiler,自己完成一台小電腦,這些只要你功力夠,有時間,DE2-70都可以做得到。你看(轉貼) 使用DE1執行DOS 6.22與Windows 3.0 (News) (SOC) (DE2) (DE2-70)這位老兄用DE1就把x86 CPU做出來,還能跑Windows,還有什麼不能做到呢?
Conclusion
DE2-70真的是很好玩的東西,是我下班後最好玩的玩具,真的比iPhone還好玩。
See Also
(轉貼) 使用DE1執行DOS 6.22與Windows 3.0 (News) (SOC) (DE2) (DE2-70)