置顶随笔
摘要:
很開心今天得到我blog的第二個獎:
,我會在繼續努力。阅读全文
摘要:
很榮幸能入圍中時部落格所舉辦的全球華文部落格大獎,雖然我今年的文章『產量』與『質量』已經大不如前了。阅读全文
摘要:
很多人問我,為什麼我最近很少有新文章,很少回答問題,主要是因為我畢業,且現在在工作了。阅读全文
2012年3月1日
摘要:
無論寫RTL或者寫firmware,巧妙的Bit運算均非常有效率。轉貼一篇Standford大學Sean Eron Anderson所整理的一些Bit運算Hacks。阅读全文
2012年2月4日
摘要:
有時儘管依照正常程序移除了VirtualBox,但是在裝置管理員還是會看到遺留下來無法移除的驅動程式,本文討論如何手動移除這些無法移除的驅動程式。阅读全文
2012年1月29日
摘要:
在Verilog中,always block可以用來代表Flip-Flop, Combination Logic與Latch,本文比較在不寫else下,always block所代表的電路。阅读全文
2012年1月4日
摘要:
Qsys其中之一的賣點就是允許你建立hierarchical的subsystem。在SOC設計中,通常我們會將慢速的周邊使用較慢的clock而自成一個系統,在Qsys中允許我們將這些較慢的周邊包成一個peripheral subsystem,而不是像SOPC Builder一樣只能有一個system。當我們使用subsystem的架構時,該如何讓subsystem內IP使用interrupt的方式與Nios II溝通呢?阅读全文
2012年1月3日
摘要:
SOPC最可貴之處就是它的彈性,所以儘管已經建立了Nios II SBT project,你還可以去更改FPGA的RTL或者Qsys的架構與IP,此時Nios II SBT project該做哪些步驟才能反映出更改過的硬體架構呢?是該Generate BSP?還是該BSP Editor?或者該Build Project?其執行順序又是如何呢?阅读全文
2011年12月21日
摘要:
若我們從網路上下載範例程式,或者從書上的光碟將範例程式複製到硬碟時,只要是Quartus II版本正確,都可以正常地開啟Quartus II project並且編譯之,但Nios II project卻常常雖然能開啟,卻無法正常編譯,本文討論其root cause並提出解決方式。阅读全文
2011年12月20日
摘要:
若要對含有Nios II的SOPC系統進行simulation,在Qsys的Generation Tab有新的設定,本文討論其設定的意義。 阅读全文
2011年10月31日
摘要:
通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行寫入,且連續寫入幾個byte表示某一數值資訊。阅读全文
摘要:
通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行寫入。阅读全文
2011年10月27日
摘要:
通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取,且連續幾個byte表示某一數值資訊。阅读全文
摘要:
通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取。阅读全文
2011年10月26日
摘要:
這是我第一次參加Altera一年一度的Technology Roadshow。阅读全文
2011年10月19日
摘要:
一般人安裝Linux時,也會同時安裝SELinux,這將導致Quartus II Linux板無法正常啟動,該如何解決呢?阅读全文
摘要:
Quartus II改版很快,我需要一直更新Quartus II版本嗎?SP的版本我也需要更新嗎?我該如何得知新版的Quartus II改了哪些東西?阅读全文
2011年10月18日
摘要:
Altera即將在2012年停止使用SOPC Builder,取而代之是Qsys,除了在Quartus II 11.0正是提供Qsys之外,Altera亦開始只提供Qsys的範例程式,所以學會Qsys已經成為不可擋的趨勢,除非你不想跟隨Altera的技術繼續進步。阅读全文
2011年10月10日
摘要:
本文介紹如何安裝Linux版的Quartus II,其中包含如何在Linux安裝USB Blaster以及相關議題。阅读全文
2011年10月3日
摘要:
本文紀錄如何在RedHat Linux安裝VirtualBox Guest Additions。阅读全文
2011年10月2日
摘要:
設定暫存器值是寫firmware時最常見的控制,本文歸納出C語言在寫firmware時常見的編程技巧,並與Verilog相互對照。阅读全文
2011年8月20日
摘要:
VM並不是什麼新的觀念,透過VM我們可以在一個OS去執行其他OS,若我們將Quartus II也裝在VM中,將可解決一些長久以來Quartus II使用上所遇到的問題。阅读全文
2011年6月25日
摘要:
除了看波型圖外,在寫Testbench時還可搭配Verilog本身所帶的一些函數做驗證,如$display()、$strobe()、$monitor()與$fwrite()等,這些函數在遇到blocking與nonblocking時,該如何使用才正確呢?他與Debussy / Verdi的nWave又有什麼關係呢?阅读全文
摘要:
本文紀錄RVDS (RealView Development Suite 4.0)簡易安裝步驟。阅读全文
2011年6月15日
摘要:
為了驗證RTL的結果是否與原本用C或者Matlab所描述的演算法等效,我們常會將Verilog與C或者Matlab的結果dump到文字檔,然後用UltraEdit比較,為什麼明明用UltraEdit看起來一樣,但使用UltraCompare比較卻不同呢?阅读全文
2011年6月14日
摘要:
本文紀錄如何在Debussy / Verdi顯示state名稱幫助debug。阅读全文
2011年6月12日
摘要:
C語言的二維陣列有很多較難理解之處,其中一個就是當將二維陣列傳入函數時,竟然還要傳入column數,難到C compiler不能自己做嗎?也一併討論其他二維陣列相關的議題。阅读全文
2011年6月8日
摘要:
我從原本的SW開發,後來從事FW開發,最近幾年則改成HW的開發,在與HW工程師共事的這幾年,讓我學到4件在SW與FW學不到的4件事。阅读全文
2011年6月5日
摘要:
FSM在數位電路中非常重要,藉由FSM,可以讓數位電路也能循序地執行起演算法。本文將詳細討論各種FSM coding style的優缺點,並歸納出推薦的coding style。阅读全文
2011年6月3日
摘要:
在trace code時,我們通常會將input port與output port拉出來waveform觀察,了解該module的in out關係,若有必要再深入到內部的register, wire與state,所以若能將input / output port用不同的顏色顯示,有別於register, wire與state,將有助於trace code的進行。阅读全文
2011年6月1日
摘要:
當iPhone / iPad每次連上PC後,iTunes預設每次都會自動進行備份與同步,雖然這是個美意,但每次都進行備份耗時較長,且也比較浪費硬碟空間,或許你會想要關閉自動備份功能,改以手動的方式自行備份與同步。阅读全文
2011年4月2日
摘要:
iTunes是Apple的mobile device標準的管理軟體,跟全天下的軟體一樣,iTunes用久了一樣會產生很多垃圾檔,本文討論如何刪除這些垃圾檔。阅读全文
2011年2月28日
摘要:
DE2-70初學者常常會遇到這個錯誤訊息,在(原創) 如何解決DE2-70的『Error: Can't place pins assigned to pin location Pin_AD25 (IOC_X95_Y2_N1)』的錯誤訊息? (SOC) (Quartus II) (DE2-70)曾經討論過解決方式,不過當時並有解釋為什麼要這樣解(因為我當時也不懂),本文重新徹底討論之。阅读全文
2011年2月19日
摘要:
我知道很多C/C++ coder還是死守Visual C++ 6.0不放,不過Visual Studio 2010 / Visual C++ 10.0是唯一讓我不得不推薦的版本。阅读全文
2011年2月18日
摘要:
C在傳遞較大型資料結構進function時,如array、string、struct時,都建議使用pointer的pass by address,是否也能使用pass by value呢?阅读全文
2011年2月16日
摘要:
寫Firmware或HDL與寫AP其中一個差異就是,寫Firmware或HDL常常需要對bit去做控制,因為每一個bit都代表不同register的設定值,但是寫AP通常不會這樣去設計,所以如何對bit去處理,在寫Firmware與HDL非常基本也非常重要。阅读全文
摘要:
很多EDA Tool都會使用LM_LICENSE_FILE這個環境變數指定license檔路徑,所以常常會灌了A工具後,B工具後就無法執行,該怎麼解決呢?阅读全文
2011年2月13日
摘要:
由於C#的乾淨俐落與Visual Studio工具的增強,越來越多人選擇用C#開發GUI而捨棄MFC,但以前已經有太多程式使用Visual C++ 6.0與MFC開發,一時之間又不可能將C/C++的code全部用C#改寫,所以將原本用C/C++寫的Business Rule整理成DLL給C#使用也是個不錯的選擇。阅读全文
摘要:
本文討論使用Visual Studio 6.0的Visaul C++開發Win32 DLL。阅读全文
2011年2月12日
摘要:
有時我們與其他人一起合作,又想保護自己的RTL code,但又希望別人可以作synthesis、simulation與implementation,此時我們希望只給對方synthesis後的netfile file,而不要給對方RTL code,我們該怎麼做呢?阅读全文
2011年2月8日
摘要:
C# 1.0提出了Delegate取代C/C++的function pointer後,C# 2.0提出了Anonymous methods,C# 3.0提出了Action Generic Delegate與Lambda expressions,我們來看看這些新的技術如何取代function pointer?阅读全文
2011年2月5日
摘要:
本文介紹如何使用Debussy與ModelSim做Co-Simulation,並使用Verilog、VHDL以及Verilog搭配VHDL交叉一起simulation。阅读全文
2011年1月29日
摘要:
本文使用D-FF製作一個簡單的濾波器,方便在FPGA使用,可以避掉因PCB板設計不良而產生的glitch。阅读全文