顯示廣告
隱藏 ✕
看板 kinomoto
作者 kinomoto(轉瞬為風)
標題 數位訊號處理架構設計
時間 2010年03月28日 Sun. PM 11:42:59


實驗室好像有蠻多人想要選這門課的,但是選課系統上面的介紹寫的也不是很詳細,所以
大家好像也不太了解這門的在上些什麼。因為我大學時做的專題研究方向和這門課的內容
有相關,大四時也去旁聽過學校開的類似課程,所以幫大家大致說明一下這門課的上課內
容。

雖然這門課的課名有「數位訊號處理」幾個字,其課程內容也確實和數位訊號處理有相關
,但是他並不是專門在介紹數位訊號處理的理論。理論的方面我想該課程會當作大家已經
有一點基礎了,所以其課程內容會較為著重在「硬體」的設計和實作上。而一般電子所所
設計的電路,又可分為RF IC、數位IC、類比IC、Mixed-signal 等等,這門課所上的主要
是著重在數位IC領域。

比如說我們現在已設計好一個3-Tap的數位濾波器

雖然我們可以寫C或MATLAB程式去模擬濾波器的效能,但是那只能說是模擬,並不是真正
把濾波器「實現」出來。

要把所設計的數位濾波器做成真正的硬體,我們可以透過嵌入式系統,利用特定的語言把
數位濾波器寫成程式,再把程式碼燒錄到實驗版的晶片當中,實現真正的數位濾波器硬體。

或者我們可以利用大學邏輯設計和電子學所學的理論基礎,將數位濾波器硬體實作出來。
圖中的濾波器,主要需要三種邏輯運算元件:(1)加法器(2)DFlipFlop  (3)成法器。這三
種運算元件都可以用基本的邏輯閘如ANDgate、OR gate、NOT gate,XOR gate兜出來。但
是兜出來的邏輯電路圖還不能算是真正的電路,我們必須使用MOS把邏輯閘加以實現。比
如說NOTgate,我們可以把NMOS和PMOS接起來形成如下圖的電晶體電路。其他的邏輯元件
都可以使用這種所謂的CMOS接出來。

但是這些接出這些電晶體還是只完成電路設計圖,我們還必須把這些電路轉成Layout,
並拿去給晶圓廠下線,才算是完成最後的晶片成品。至於什麼叫做「Layout」呢?大家
只要把CPU或者一些IC版的封裝打開,看到密密麻麻的線路圖,就是所謂的IC Layout了。
這種密密麻麻的Layout當然不可能人自己用手去畫,這時候就要仰賴工作站上面的EDA
tool (電子設計自動化工具)。

再回到原來的濾波器例子。透過Transpose Operation,我們能夠將上面所舉的數位濾
波器轉換成如下圖的形式

這個濾波器所實現的數學式和前一個例子是一模一樣的,在數學上我們看不出什麼差別
,但是一旦把兩種濾波器時做成積體電路,那麼孰優孰劣就可見一般,繼續看下去吧。

以下先說明一下實際電路運作的觀念

舉一個NOTgate作例子,假設輸入電壓為邏輯1/HIGH(假設電壓為5V),理想上在電壓
輸入的那一瞬間,輸出電壓就要放電變成邏輯0/LOW(假設電壓為0V)。但是我們用來
實現邏輯的電晶體而可避免的會有寄生電容在上面,電容充放電一定需要花時間,
不可能在瞬間即變化完成,所以就會造成實際電路運作的訊號延遲。

所以到這邊就可以知道,我們用來實現電路的加法器、乘法器等,都無可避免的會造
成訊號的延遲。所以把濾波器做成電路,我們就要考慮延遲的因素。

基於這種延遲因子,我們來分析一下兩種濾波器的差異性:從輸出 or 延遲原件(D)
出發的所有訊號,完成所有運算到達下一個延遲原件的時間,一定要小於一個週期
的時間。

假如
(1) 加法器:運算需要 10 個時間單位
(2) 乘法器:運算需要 20 個時間單位。

對於第一種濾波器:最長的一條路徑其運算時間為 10*2+20=40(1乘法器+2加法器)。
對於第二種濾波器:最長的一條路徑其運算時間為 10  +20=30(1乘法器+1加法器)。

假如一個週期為40個時間單位,那麼兩種架構都沒有問題。
但是當一個週期為30個時間單位時,那麼第一種架構的功能就Fail了。

其他還有很多考量的因素,比如說數位電路的精準度問題,要量化到什麼程度才能夠
有效表現理想(完美)濾波器的特性等等。

要改善這些的問題,會有很多其他的設計技巧,那就是這門課所要上的內容了。

所以總結而言,要設計數位IC,基本上要經過以下流程

演算法設計→電路架構設計→Layout→Tapeout

如果說同樣作DSP,演算法設計就是著重在數學理論方面,那麼電路架構設計大概就是
在想要如何把理論設計成電路。

因為實作數位IC,需要用到很多的EDA Tool,也需要一些HDL(硬體描述語言)的基礎,
大家心裡不免有個疑惑;我不會用工作站,也不會寫HDL,那麼我去修這門課適合嗎?
就我看過去年課程的內容,在作業部分並沒有很多的程式作業(幾乎沒有),幾乎都是
交紙本的作業,當然是利用上課交的觀念去解答。期末會有個temp project,有兩三
個人分一組報告,報告內容有分兩種方式,可以選擇看相關論文,並且把所閱讀的論
文做個整理;也可以選擇一種通訊演算法或數位訊號理論,例如LDPC、Viterbi、FFT
、DCT等等,把理論時做成真正的電路;當然,兩種並行也是OK的。

如果今年還是同樣的方式,那麼在只會理論不會寫HDL和用工作站的情況下,我認為
修這門課還是OK的。我想大家可以先去上第一堂課,聽聽老師對該課程的規定和介
紹,再決定要不要修課。

先說到這邊,如果大家還有什麼疑問的話,就到實驗室再問我吧。

--
※ 來源: DISP BBS (http://disp.cc)
※ 作者: kinomoto  來自: 140.112.218.166  時間: 2010-03-28 23:42:59
※ 看板: kinomoto 文章推薦值: 0 目前人氣: 0 累積人氣: 546 
※ 文章分類: 其他
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇