摘要:無論寫RTL或者寫firmware,巧妙的Bit運算均非常有效率。轉貼一篇Standford大學Sean Eron Anderson所整理的一些Bit運算Hacks。
阅读全文
摘要:在Verilog中,always block可以用來代表Flip-Flop, Combination Logic與Latch,本文比較在不寫else下,always block所代表的電路。
阅读全文
摘要:設定暫存器值是寫firmware時最常見的控制,本文歸納出C語言在寫firmware時常見的編程技巧,並與Verilog相互對照。
阅读全文
摘要:除了看波型圖外,在寫Testbench時還可搭配Verilog本身所帶的一些函數做驗證,如$display()、$strobe()、$monitor()與$fwrite()等,這些函數在遇到blocking與nonblocking時,該如何使用才正確呢?他與Debussy / Verdi的nWave又有什麼關係呢?
阅读全文
摘要:FSM在數位電路中非常重要,藉由FSM,可以讓數位電路也能循序地執行起演算法。本文將詳細討論各種FSM coding style的優缺點,並歸納出推薦的coding style。
阅读全文
摘要:寫Firmware或HDL與寫AP其中一個差異就是,寫Firmware或HDL常常需要對bit去做控制,因為每一個bit都代表不同register的設定值,但是寫AP通常不會這樣去設計,所以如何對bit去處理,在寫Firmware與HDL非常基本也非常重要。
阅读全文
摘要:本文介紹如何使用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更好玩。
阅读全文
摘要:Verilog雖然是個語法簡單的語言,但是blocking與nonblocking卻是大家學習Verilog時永遠的痛,即時是很資深的IC Designer,也未必完全搞清楚兩者的差異,本文試著以simulator與synthesizer的角度去探討之。
阅读全文
摘要:若要將原本用軟體實現的演算法用硬體電路實現,馬上會遇到2個很基本的問題:一個是如何處理負數?另一個是如何處理overflow?雖然很基本,但一旦有問題卻很難debug。
阅读全文
摘要:很多介面都採用serial傳輸,如I2C、LVDS、mini-LVDS…等,在寫入時必須將parallel資料轉成serial,讀出時又得將serial轉成parallel,所以是個常用的電路,其原理就是使用shift register來達成,本文將一一討論parallel轉serial,serial轉parallel,也順便討論parallel轉parallel與serial轉serial。
阅读全文
摘要:$skew是Verilog所提供的專門用來做timing check的system task,可以檢查兩個信號間最大的延遲,若兩個信號間的skew大於我們所指定的需求,將產生violation warning。
阅读全文
摘要:$width是Verilog所提供的專門用來做timing check的system task,可以檢查一個edge transition到另外一個相反的edge transition的時間長度是否符合規格需求,若pulse width小於我們所指定的需求,將產生violation warning。
阅读全文
摘要:Verilog除了synthesizable RTL外,也提供non synthesizable的寫法,用來寫testbench。
阅读全文
摘要:在實務上為了與其他信號同步,常會故意delay幾個clk,本文整理出幾種常見的coding style。
阅读全文
摘要:以前學Win32、MFC時,總是搞不清楚pointer、reference與handle的差異,Verilog PLI也有handle概念,在Verilog PLI Handbook 2nd P.60用了很簡單的一句話解釋了handle。
阅读全文
摘要:本文介紹使用C開發Verilog System task/function,以彌補Verilog功能的不足。
阅读全文
摘要:本文使用Verilog 2005的新特性實現memory轉vector。
阅读全文