摘要:FSM在數位電路中非常重要,藉由FSM,可以讓數位電路也能循序地執行起演算法。本文將詳細討論各種FSM coding style的優缺點,並歸納出推薦的coding style。
阅读全文
摘要:在trace code時,我們通常會將input port與output port拉出來waveform觀察,了解該module的in out關係,若有必要再深入到內部的register, wire與state,所以若能將input / output port用不同的顏色顯示,有別於register, wire與state,將有助於trace code的進行。
阅读全文
摘要:
DE2-70初學者常常會遇到這個錯誤訊息,在(原創) 如何解決DE2-70的『Error: Can't place pins assigned to pin location Pin_AD25 (IOC_X95_Y2_N1)』的錯誤訊息? (SOC) (Quartus II) (DE2-70)曾經討論過解決方式,不過當時並有解釋為什麼要這樣解(因為我當時也不懂),本文重新徹底討論之。
阅读全文
摘要:寫Firmware或HDL與寫AP其中一個差異就是,寫Firmware或HDL常常需要對bit去做控制,因為每一個bit都代表不同register的設定值,但是寫AP通常不會這樣去設計,所以如何對bit去處理,在寫Firmware與HDL非常基本也非常重要。
阅读全文
摘要:很多EDA Tool都會使用LM_LICENSE_FILE這個環境變數指定license檔路徑,所以常常會灌了A工具後,B工具後就無法執行,該怎麼解決呢?
阅读全文
摘要:有時我們與其他人一起合作,又想保護自己的RTL code,但又希望別人可以作synthesis、simulation與implementation,此時我們希望只給對方synthesis後的netfile file,而不要給對方RTL code,我們該怎麼做呢?
阅读全文
摘要:本文介紹如何使用Debussy與ModelSim做Co-Simulation,並使用Verilog、VHDL以及Verilog搭配VHDL交叉一起simulation。
阅读全文
摘要:本文使用D-FF製作一個簡單的濾波器,方便在FPGA使用,可以避掉因PCB板設計不良而產生的glitch。
阅读全文
摘要:本文整理出幾種常見的多工器Mux可合成的coding style,並深入探討其合成的結果。
阅读全文
摘要:
朋友看我花了快台幣三萬元買了買了DE2-70 + 500萬像素CMOS數位相機 + 4.3"LCD觸控式面板,問我買FPGA開發版能幹麻?還不如去買iPhone 4(雖然我也是有買iPhone 4),其實DE2-70比iPhone 4更好玩。
阅读全文
摘要:
在上一篇blog,我們學會了將wav檔放在SD卡上,實做出一個SD卡wav player,第一次體會出軟硬體設計的威力。由於FAT16格式的讀取,必須牽涉到軟體的動作,所以必須引入Nios II與Avalon Bus,不能再靠純硬體的方式設計。這次我們將圖片放在SD卡上,在DE2-70實做出一個簡易的數位相框。
阅读全文
摘要:
在上一篇blog,我們學會如何開發一個硬體Controller,並加上軟體API,讓Nios II軟體能順利地控制硬體,並且讓七段顯示器從0屬到100。或許由同學會問:『要讓七段顯示器從0數到100,我用純硬體的方式開發,全部的Verilog程式碼不超過50行,為什麼要大費周章的使用軟硬體設計的方式呢?還要多學了SOPC Builder、Avalon Bus、Nios II,增加學習曲線,執行速度也比純硬體慢,FPGA所使用的資源(LE)也比純硬體多很多!!』 本Lab是軟硬體設計的精典範例,你將會感受出軟硬體設計的威力。
阅读全文
摘要:
在上一篇blog,我們已經學會如何將Altera內建的controller加上SOPC Builder,並且用軟體來控制硬體,儘管如此,你會發現在DE2-70上,仍然有很多硬體還沒被驅動,如VGA、LTM、CMOS、Ethernet、Audio CODEC、七段顯示器...等,此外,雖然現在軟體能控制硬體了,卻必須依賴Altera所提供的controller,只要Altera沒提供controller,我們就沒辦法去控制該硬體。在本文中,我們將自己實做出一個Altera沒提供的controller:七段顯示器controller,使七段顯示器能被Nios II軟體所控制,其中包含硬體controller與軟體HAL的開發。
阅读全文
摘要:
本文使用Quartus II、SOPC Builder、Nios II EDS從0開始打造一個能在DE2-70上跑μC/OS-II的Nios II系統,初學者可借此範例熟悉Quartus II、SOPC Builder、Nios II EDS的使用,並且了解基於FPGA的嵌入式系統開發流程。
阅读全文
摘要:在分析timing時,在timing report中常會出現setup time slack與hold time slack,本文深入探討slack的意義。
阅读全文
摘要:fmax是討論timing最基本的觀念,本文記下Altera對於fmax的計算公式
阅读全文
摘要:Verilog雖然是個語法簡單的語言,但是blocking與nonblocking卻是大家學習Verilog時永遠的痛,即時是很資深的IC Designer,也未必完全搞清楚兩者的差異,本文試著以simulator與synthesizer的角度去探討之。
阅读全文
摘要:若要將原本用軟體實現的演算法用硬體電路實現,馬上會遇到2個很基本的問題:一個是如何處理負數?另一個是如何處理overflow?雖然很基本,但一旦有問題卻很難debug。
阅读全文
摘要:
有一位老兄做了一件不可能的任務:在DE1成功執行DOS 6.22與Windows 3.0,並且開放原始碼供大家研究。
阅读全文
摘要:很多介面都採用serial傳輸,如I2C、LVDS、mini-LVDS…等,在寫入時必須將parallel資料轉成serial,讀出時又得將serial轉成parallel,所以是個常用的電路,其原理就是使用shift register來達成,本文將一一討論parallel轉serial,serial轉parallel,也順便討論parallel轉parallel與serial轉serial。
阅读全文