• 沒有找到結果。

第三章 三邊濾波器的硬體架構設計

N/A
N/A
Protected

Academic year: 2021

Share "第三章 三邊濾波器的硬體架構設計 "

Copied!
17
0
0

加載中.... (立即查看全文)

全文

(1)

第三章 三邊濾波器的硬體架構設計

3.1 三邊濾波器數學描述式

三邊濾波器可以同時減低高斯雜訊和突波雜訊。其中包括了距離濾波器、相 似度濾波器以及邊緣亦或是雜訊點的可能性計算考量(ROAD),並將這三個部份 組合成一個計算權重的數學函式。在將效能那麼高的雜訊濾波器用來處理即時影 像的想法中,最主要的難題就是這個濾除雜訊的演算法時間複雜度太高。為了解 決這個問題,需要有一個特別處理這個雜訊濾除演算法的硬體來加快處理速度 [17]。為了這個目的,我們提出了一個新的三邊濾波器管線設計架構。為了增加 硬體整體的效能,我們改進了 ROAD 的電路架構以及自然對數函數的電路架構;

以位元考量的運算方式來實作 ROAD 電路,以分段線性近似的方式實作自然對數 函數的電路。我們所提出的架構在 XilinX 的 FPGA 板上驗證後,得到的時脈速度 為 65MHz,也就是每秒可以處理 2.7 百萬個像素。本章根據前面章節所提之三邊 濾波器演算法,設計出以管線設計方式所實現的硬體架構。我們根據以下的公式 推導出三邊濾波器數學描述的式子。

我們經由三邊濾波器的運算可以得到一個權重,並將要被過濾的點乘上這個 權重後可以得到此點過濾後的值。此動作的數學描述式如下。

( )

, ,

- -

( ) 1 ( ) ,

i m j n

i j i j p q i j

p i m q j n

h x f x W x x

+ +

= =

= Ω

∑ ∑

, ,

…(公式 3-1)

而用來過濾雜訊的權重值是由三個部份所組合而成,包括了距離濾波器、相似度 濾波器以及突波雜訊濾除的機制(Rank-Order Absolute Difference;ROAD),此動作

(2)

的數學描述式如下。

1- ( , ) ( , )

( , ) C( , ) S( , ) J x y I( )J x y W x y =W x y W x y W y

…(公式 3-2)

其中,WC是距離濾波器的部份,此動作的數學描述式如下。

-1 ( , ) 2

( )

( , ) 2 c c x y

WC x y =e σ

…(公式 3-3)

c x y( , ) = x y-

…(公式 3-4)

WS是相似度濾波器的部份,此動作的數學描述式如下。

-1 ( ( ), ( )) 2

( )

( , ) 2 s

f x f y

W x yS e

δ

= σ

…(公式 3-5)

δ( ( ),f x f y( )) = f x( )- ( )f y

…(公式 3-6)

WI是突波雜訊濾除的部份,此動作的數學描述式如下。

-1 ( ) 2

( ) 2 I

ROAD x

W xI e σ

= …(公式 3-7)

…(公式 3-8)

=

= m

1 i

i(x)

r

ROADm

(3)

J 是決定三邊濾波器中的相似度濾波器與突波雜訊濾除所暫比例的部份,此動作 的數學描述式如下。

-1 ( ) ( ) 2

( )

( , ) 1- 8 J ROAD x ROAD y

J x y e σ

+

= …(公式 3-9)

我們所提出的三邊濾波器硬體架構是由管線架構所組成,其原因是爲了減少 系統時刻(clock)的長度。在我們的硬體設計中,三邊濾波器的數學方程式被重新 組成為較容易設計成硬體形式,並且爲了效能上的考量,這個方程式分成數個管 線的部份(pipeline stages)。在觀察過所有的三邊濾波器方程式後,我們發現三邊 濾波器演算法速度上的瓶頸在於計算 ROAD 值的方程式,因為此方程式包含了資 料排序和選擇的運算。被重新組合過的方程式推倒過程如下。在方程式中的參數 (σd,σR,σI,σJ)為了硬體設計的考量,被設定成固定的值(5,20,40,50),這些數字是 參考自 [13] 。E(x,y)的定義在方程式(3-11) ,而 R(x,y)的定義如下。

(x,y) ( (x) (y)) / 2 R = ROAD +ROAD

由公式(3-2)到(3-9),我們可以得到濾波權重(W)的數學式子如下。

(4)

2 2

( , ) ( , )

2 2 2

2 2

2 50 2 50

2 2 2

( , )2

2 ( ) ( )2 2 502 ( )2

2 2 2

2 5 2 20 2 40

1 ( , ) ( , )

( ) ( ) ( )

(1 )

2 5 2 20 2 40

( , ) ( , ) ( , ) ( , )

R x y R x y

R x y

x y f x f y ROAD y

e

J x y J x y

C S I

x y f x f y ROAD y

e e

W x y W x y W x y W x y

e e e

e

× ×

− − + × +

× × ×

− −

× × ×

=

= × ×

=

( , )2 2 502

(1 )

2 2

( , ) ( , )

2 2

2 2 2 50 2 2 50

( , )2

2 2 2 2 502 2

1 1

(64 4 ( ) ( ) ( ) (1 ))

50 64

1 1

(64 ( ) ( 4 ( ) ( ) ( ) ) ( , ))

50 64

1

(

R x y e

R x y R x y

R x y

x y f x f y e ROAD y e

x y ROAD y f x f y e ROAD y E x y

e

e

e

×

× ×

×

× + +

× + +

=

=

=

( , )2

2 2 2 2 502 2

1 ( 64 ( ) ( 4 ( ) ( ) ( ) ) ( , ))

50

)

64

R x y

x y ROAD y f x f y e ROAD y E x y

+ + ×

…(公式 3-10)

2

2

1 1

( ( ) ( ))

625 32

1( ( ) ( )

1 32 625

( , )

=

ROAD x ROAD y

) ROAD x ROAD y

E x y e

e

× +

+

=

…(公式 3-11)

3.2 三邊濾波器電路設計

在方程式(3-10)和(3-11)中,有些除數和乘數我們把它設定為特定常數值,例 如 4、32 和 64,以便我們可以在利用硬體實現這個演算法時,只用簡單的位移資 料的位元就達到乘和除的效果。在克服了可能花費很多時間的這些乘法以及除法 後,剩下的部份,可能花費比較多的時間的就是 ROAD 值的運算和兩個自然對數 ( 50

1

e 625

1

e )的運算部分。

(5)

我們將方程式(3-10)以及(3-11)重新組織過後,可以把這兩條方程式改寫成一 個 6stages 的硬體電路。其中每一個 stage 所要表現出的數學運算式如下所列。

Phase 1 : ROAD x ROAD y( ), ( )

2 2 2

Phase 2 : ( ( )f x f y( )) , (ROAD x( ) ROAD y( )) ,ROAD y( ) , 642 x y

+

2

2 2

1( ( ) ( )) 2

1 625 32 2

Phase 3 : (4( ( ) ( )) ( ) )

( ) ROAD x ROAD y ( ( ) 64 ) f x f y ROAD y

e + ROAD y x y

× + +

2 2 2

1(( ( ) 64 ) (4( ( ) ( )) ( ) ) ( , )) -1 50 64

Phase 4 : (e ) ROAD y + x y + f x f y ROAD y ×E x y

2

2 2 2

2 2 2 2

1 (( ( ) 64 ) (4( ( ) ( )) ( ) ) ( , )) -1 50 64

1 (( ( ) 64 ) (4( ( ) ( )) ( ) ) ( , )) -1 50 64

Phase 5 : ( ) (e )

, (e )

ROAD y x y f x f y ROAD y 2 E x y

ROAD y x y f x f y ROAD y E x y

f y + + ×

+ + ×

×

( ) ( , ) Phase 6 :

( , )

f y x

x y

ω ω

×

y

2 2 2

1(( ( ) 64 ) ( 4( ( ) ( )) ( ) ) ( , )) -1 50 64

( , ) (e )

ROAD y x y f x f y ROAD y 2 E x y

ω x y = + + ×

(6)

D a ta F e tc h

R O A D R O A D

S u b

S q u a r e

A d d

S q u a r e

A d d S u b

M u l A d d M u l

A d d A c c u m u la to r D a ta

F e tc h

R O A D R O A D

S u b

S q u a r e

A d d

S q u a r e

A d d S u b

M u l A d d M u l

A d d A c c u m u la to r

A d d A c c u m u la to r x D iv

...

...

...

x

RI

y

RN

x y

RD y

RI

x

RN

x

RT

y

RT

y

RD

x

RD 1 x y

RD x y3

RD S q u a r e

2 y

RT

x y

RS Q 1 y

RS Q x y

RS Q Rx yS

3 y

RT

1 x y

RA x y

RE

4 y

RT 5

y

RT

x y x y

RS y

RW W

RA x

RR

S h ift5 S h ift2

S h ift6

E x p 1 6 2 5

E x p 1 5 0 y2 y3 y4 y5 y6

y1 y7

y9 y1 0y1 1y1 2y1 3

y8 y1 4

y1 6y1 7y1 8y1 9y2 0

y1 5 y2 1

y2 3y2 4 x y2 5y2 6

y2 2 y2 7

y2 9y3 0y3 1y3 2y3 3

y2 8 y3 4

y3 6y3 7y3 8y3 9y4 0

y3 5 y4 1

y4 3y4 4y4 5y4 6y4 7

y4 2 y4 8

y2 y3 y4 y5 y6

y1 y7

y9 y1 0y1 1y1 2y1 3

y8 y1 4

y1 6y1 7y1 8y1 9y2 0

y1 5 y2 1

y2 3y2 4 x y2 5y2 6

y2 2 y2 7

y2 9y3 0y3 1y3 2y3 3

y2 8 y3 4

y3 6y3 7y3 8y3 9y4 0

y3 5 y4 1

y4 3y4 4y4 5y4 6y4 7

y4 2 y4 8

P h a s e 4 P h a s e 5

P h a s e 6 P h a s e 7

P h a s e 1 P h a s e 2 P h a s e 3

圖 3-1 三邊濾波器的管線式設計硬體架構圖

如圖 3-1 所示,這個硬體模組的輸入資料是ㄧ個五乘以五方塊大小的資料,其 中包含了我們要處理的點的像數值以及它的 24 個鄰近點的像數值。 所有五乘以 五方塊中的值都要依序輸入進這個管線架構的硬體中做處理。首先,我們將五乘 以五方塊中間的像數值 x 以及它的一個鄰近點像數值 y 存入 中。因為 ROAD 值的計算需要鄰近週遭的八個點像數值,也就是ㄧ個三乘以三方塊中的鄰 近點,所以暫存器 必須個別存入 x 點以及 y 點週遭的八個鄰近點值。我們 將暫存器 的值分別輸入兩個 ROAD 電路來產生兩個值

。因為我們所設計的 ROAD 運算電路中是以一個一個位元來,且由高位 元到低位元來比較的,所以第一段的電路中內部被再管線化成 10 個部份。另外,

我們在設計的硬體中將 x 和 y 的物理距離由資料讀取的電路中自動產生 ,並將這 個值存到暫存器

I

Rx RyI

N

Rx RyN

N

Rx RyN ROAD(x)

) ( y ROAD

D

Rxy

(7)

第二段到第四段的電路是根據重新組織過的方程式(3-10)和(3-11)所設計的。

在五乘以五的方塊中,中心點所鄰近的 24 個鄰近點像數值被第一段到第時段的電 路處理,然後把 24 個針對不同鄰近點得到的權重值( ( , ) ( , , )

j n i m

i j T p q i j p i m q j n

f x ω x x, + +

= − = −

∑ ∑

)依序

分別存入暫存器RwvA RwA來累加。在將 24 個處理完的數值累加起來後,我們可以 得到針對這個五乘以五方塊中心點的濾波權重。最後,我們以分段線性近似的方 式來設計兩塊的自然對數電路避免太大量的運算,改以一個加法以及一個乘法運 算就可以完成。

ROAD電路中每一級的目標都是將較小的值選出來,使它們在最後的ROAD 值計算時,可能被納入考量。在ROAD電路中,我們需要從鄰近的八個點當中選 出與中心點像素值最接近的四個點。我們所設計的ROAD電路中是以管線化的位 元考量式設計來比較並得到四個跟中心點差距較小的鄰近點值。ROAD電路的設 計內部分成10個部份,前八個部份是爲了由高位元到低位元來比較那個數字最接 近中心點的像數值;第九個部份是爲了做邊界值的控制,以免進來超過四個數 值;而第十項是將所得到的四個數值加總。圖片3-2(a)中是ROAD電路中前八項的 其中一項。這個電路的設計概念是從每ㄧ筆輸入資料最高位元開始比較大小,比 到最低的位元。因為ROAD電路是去計算和中心點像素值最接近的四個鄰近點總 和,所以在ROAD電路中二到八段的電路每ㄧ段的目的都是挑出較大的鄰近點,

然後再下一段中計算下個位元時不去計算它。ROAD電路中第一段電路的行為幾 乎和二到八段電路的行為ㄧ模ㄧ樣,只是其中包含了將每個鄰近點的值和中心點 的值取差距的動作,如圖片3-2 。也就是說,在第二到八段的電路中,每一段都 包含了Decision Circuit、Request Circuit、Alive Circuit and Result Circuit;而在第 一段的電路中,多了一塊AS (Absolute-Subtract) Circuit。

(8)

圖3-2(a)的電路中,包含了五塊主要的電路以及兩個暫存器的集合。

1. AS Circuit

AS Circuit 是將三乘三資料中的週遭八筆資料與中央的資料,分別取 差值。AS Circuit 是將輸入的三乘三資料中的週遭八筆資料,分別和中央 的一筆資料做相減的運算,並取絕對值。因為 ROAD 電路的功能主要是針 對我們從影像中取進來三乘三資料中週遭的八筆資料,取出與中央的資料 數值較相近的四筆,所以在 Phase1 的電路中要先做取差值的動作。然後在 之後的電路中,是以從 AS Circuit 中運算所得到的八筆差值來做比較,其 數學描述式條列於下。

[ ]

0~7

in i i

D i = yx

=

2. Decision Circuit

Decision Circuit 是根據 SUB 以及REin的關係,決定整塊 Phase 電路的 行為。Decision Circuit 決定輸入的八筆資料( )中,還有那幾筆是需要被 考慮的,由 Alive Register(

Din

Ain)決定。將需要考慮的數筆資料中位元為 0 的 個數加總(針對 0 的數目加總是因為 ROAD 電路的目的是求較小的值,位 元值為 0 的較為 1 的小),並將其值由 SUB 輸出。將Ain以及 的值做和(and) 的布林運算後,將其值由

Din

Eout輸出,目的是為了更新 Alive Register 中的值,

並由 SUB 的值來決定所發出的控制訊號(DS),SUB 的值為還需要的資料 筆數(REin)減去 0 的總數。當 SUB 小於 0,DS 的值將為”11”;若 SUB 大 於 0,DS 的值設為”01”;若 SUB 值恰好等於 0,則 DS 的值為”00” ,其

(9)

數學描述式條列於下。

0~7, 0~7

[ ] [ ]

in i i j

D i

=

D j = =

[ ] (~ [ ]) & [ ]

0~7

out in in i

E i = A i D i

=

7

0

(8 [ ])

in in

i

SUB RE D i

=

= − −

"11" , if 0

"01" , if 0

"00" , if 0

SUB

DS SUB

SUB

⎧ <

= ⎨ ⎪ >

⎪ ⎩ =

圖 3-2 ROAD第一階的電路圖

(10)

圖 3-3 ROAD的電路圖第二階到第八階的電路圖

(11)

圖 3-4 ROAD電路中的細部模組 (a)the decision circuit (b)the alive circuit (c)the request circuit 和 (d)the result circuit

3. Alive Circuit

Alive Circuit是用來決定在做完這一個Phase的比較動作之後,八筆資 料中有那些是還需要考慮並在下一個Phase中繼續比較的,而有那些是已 經不用考慮可以捨棄或已經採用的。Alive Circuit中,當SUB大於0時,給 多工器的控制信號為”01”,會將Aout的值設為AinEin的值做和(AND)的布 林運算,也就是當所需要的資料筆數比這個Phase能提供的資料筆數還多 的時候,會將所有提供的資料筆數都採用(放進Result Register),並且將已 經被採用的資料所對應到在Alive Register中的值改為0;當SUB小於0時,

給多工器的控制信號為”11”,會將Aout的值設為AinEin的反相值做和 (AND)的布林運算,也就是當所需要的資料筆數比這個Phase能提供的資

(12)

料筆數還少的時候,會將值為1的暫存器所對應的Alive Register位元設為 0,在之後的運算將不在考慮;當SUB等於0時,給多工器的控制信號 為”00”,會將Aout的值直接設為0,也就是說當所需要的資料筆數和這個 Phase能提供的資料筆數相同的時候,會將Alive Register中所有的位元都 設為0,並將值為0的暫存器都存到Result Register中,其數學描述式條列 於下。

[i]&E [i] , if "01"

[ ] [i]&(~E [i]) , if "11"

0 , if "00"

in in

out in in

A DS

A i A DS

DS

⎧ =

= ⎪⎨ =

⎪ =

4. Request Circuit

Request Circuit是用來決定整個ROAD電路還需要幾筆資料才滿足計 算條件的。Request Circuit中,當SUB大於0時,給多工器的控制信號 為”01”,會將REout的值設 (SUB),也就是當所需要的資料筆數比這 個Phase能提供的資料筆數還多的時候,會將所有提供的資料筆數都採用 (放進Result Register),並且將ROAD電路還需要的資料筆數,由原來的數 目減;當SUB小於0時,給多工器的控制信號為”11”,會將

SUBin

REout的值設成 REin,也就是當所需要的資料筆數比這個Phase能提供的資料筆數還少的 時候,所需要的資料筆數將不會改變;當SUB等於0時,給多工器的控制 信號為”00”,會將REout的值直接設為0,也就是說當所需要的資料筆數和 這個Phase能提供的資料筆數相同的時候,會直接全部採用,而不在需要 考慮其他的資料,其數學描述式條列於下。

(13)

, if "01"

, if "11"

0 , if "00"

in

out in

SUB DS

RE RE DS

DS

⎧ =

= ⎪⎨ =

⎪ =

5. Result Circuit

Result Circuit主要的功能是決定要將那幾筆資料放入Result Register 中。Result Circuit中有一個Mask block,Mask block的功能描寫於公式 3-12。Mask block的主要功能在於,將所有Din的值由Ein來決定要不要放 進Result Register。若Din所對應到的Ein值為1,則將 輸出至 ;若 所對應到的

Din Dout Din

Ein值為0,則將上一階的Result Register的值直接輸出至Dout

0 6

[ ] ( [ ] & [ ]) [ ]

out in 8 in in k

D k = E k D k R k ≤ ≤ 4

…(公式 3-12)

Result Circuit中,當SUB小於0時,給多工器的控制信號為”11”,會將上一 階的Result Register狀況存到下一階的Result Register,也就是當這個Phase 能提供的資料筆數比所需要的資料筆數還多的時候,不將任何的資料新增 至Result Register中;當SUB大於或等於0時,給多工器的控制信號為”01”

或”00”,皆會將上一階的Result Register狀況經由Mask block處理後存到下 一階的Result Register,也就是當所需要的資料筆數比這個Phase能提供的 資料筆數還多或相等的時候,會將選擇並經過Mask block處理過的資料新 增至Result Register中,其數學描述式條列於下。

(14)

, if "11"

+ , if "00" "01"

in out

in out

R DS

R R D DS

⎧ =

= ⎨⎩ = 或

6. Source Register and Object Register

Source Register和Object Register為每一階電路中存放處理前的資料 以及處理後資料的暫存器。每一階的電路皆有Source Register和Object Register。Phase2到Phase8的電路裡Source Register和Object Register,以及 Phase1的Object Register的組成皆相同,皆由八個Data Register、八個Result Register、一個Alive Register以及一個Request Register所組成。

Data Register是用來存放經過AS Circuit運算後的值。每一階的Data Register的值都不會改變,單純做往下傳遞的存入動作。Result Register的 目的是用來存放已經被選擇要用來計算ROAD值的暫存器數值。其初始值 皆設為0,若某個Data Register被選擇要用來計算ROAD值,則此暫存器的 值將會被存出被指定的Result Register。Alive Register是用來記錄在經過其 中一個Phase電路的處理後,我們需要繼續考慮的Data Register。Alive Register是一個八位元的暫存器,八筆Data Register在其中皆有所對應的位 元,並將Alive Register的初始值皆設為1。如同前面所描述的行為,我們 會將還需要繼續考慮的Data Register的Alive Register中對應的位元值保持 1,不需要考慮的改為0。Request Register的作用則為記錄還需要幾個資料 才能計算ROAD值。

至於Trilateral Filter的電路的Control訊號設計,主要是依據system clock來對每 一個Pipeline暫存器發出enable訊號。

(15)

3.3 控制單元(Control Unit)

由於在三邊雜訊濾波器演算法中,是根據要被濾波的像素點週遭的24個像素 點來衡量統計。也就是說,當我們要計算一個像素點的濾波權重時,要對週遭24 個像素點來做24次運算來累加。根據上列原因,我們所設計的三邊雜訊濾除器電 路不能只由系統時脈(system clk)來驅動致能,必須要設計一個適用於此電路的控 制訊號產生器。本小節以下的部份便會介紹我們所設計的控制單元並且提出設計 所依據的有限狀況機模型。

D a ta F e tc h

R O A D R O A D

S u b

S q u a re

A d d

S q u a r e

A d d S u b

M u l A d d M u l

A d d A c c u m u la to r

A d d A c c u m u la to r x D iv

...

...

...

x

RI

y

RN

x y

RD y

RI

x

RN

x

RT

y

RT

y

RD

x

RD 1 x y

RD Rx yD3

S q u a re 2 y

RT

x y

RS Q 1 y

RS Q x y

RS Q Rx yS

3 y

RT

1 x y

RA x y

RE

4 y

RT 5

y

RT

x y x y

RS y

RW W V

RA

W

RA x

RR

S h ift5 S h ift2

S h ift6

E x p 1 6 2 5

E x p 1 5 0 y2 y3 y4 y5 y6

y1 y7

y9 y1 0y1 1y1 2y1 3

y8 y1 4

y1 6y1 7y1 8y1 9y2 0

y1 5 y2 1

y2 3y2 4 x y2 5y2 6

y2 2 y2 7

y2 9y3 0y3 1y3 2y3 3

y2 8 y3 4

y3 6y3 7y3 8y3 9y4 0

y3 5 y4 1

y4 3y4 4y4 5y4 6y4 7

y4 2 y4 8

y2 y3 y4 y5 y6

y1 y7

y9 y1 0y1 1y1 2y1 3

y8 y1 4

y1 6y1 7y1 8y1 9y2 0

y1 5 y2 1

y2 3y2 4 x y2 5y2 6

y2 2 y2 7

y2 9y3 0y3 1y3 2y3 3

y2 8 y3 4

y3 6y3 7y3 8y3 9y4 0

y3 5 y4 1

y4 3y4 4y4 5y4 6y4 7

y4 2 y4 8

e n _ p 1 e n _ p 2

e n _ p 4 e n _ p 5

e n _ o u t e n _ p 6

e n _ p 7

e n _ p 3 e n _ d a ta fe tc h

(a) 在三邊雜訊濾除器電路中我們所給定的控制訊號

(16)

en_datafetch = 1 en_p1 = 1 en_p2 = 1 en_p3 = 1 en_p4 = 1 en_p5 = 1 en_out = 0 en_p6 = 0 en_p7 = 0

Start

(counter<14, counter_acc=0) / (counter++)

en_datafetch = 1 en_p1 = 1 en_p2 = 1 en_p3 = 1 en_p4 = 1 en_p5 =1 en_out = 1 en_p6 = 0 en_p7 = 0

(counter_acc<24) / (counter_acc++)

en_datafetch = 1 en_p1 = 1 en_p2 = 1 en_p3 = 1 en_p4 = 1 en_p5 = 1 en_out = 1 en_p6 = 0 en_p7 = 0 (counter=14, counter_acc=24)

/ (counter++, counter_acc=0) (counter=14,counter_acc<24)

/ (counter_acc++)

en_datafetch = 1 en_p1 = 1 en_p2 = 1 en_p3 = 1 en_p4 = 1 en_p5 = 1 en_out = 1 en_p6 = 1 en_p7 = 0 (counter=15, counter_acc<24)

/ (counter++, counter_acc++)

(counter=16, counter_acc<24) / (counter++, counter_acc=++) en_datafetch = 1

en_p1 = 1 en_p2 = 1 en_p3 = 1 en_p4 = 1 en_p5 = 1 en_out = 1 en_p6 = 0 en_p7 = 1 (counter=17, counter_acc<24)

/ (counter=14, counter_acc=++)

End

(b) 控制單元的有限狀態機

圖 3-5 控制單元的設計 (a)控制單元所給出的所有控制訊號 (b) 控制單元的有限狀態機

在圖3-5有有限狀況機中,初使狀況後的前14個時脈是第一批輸入資料留過 Phase1電路到Phase4電路的時間長度,我們利用一個記數器counter來統計這個動 作的執行。在資料流進Phase5電路後,要累加24筆運算後的資料,我們利用另一 個計數器counter_acc來統計這個動作的執行。在累加完24筆資料後,en_out被致 能,下一個時脈週期en_p5被致能,再下一個週期en_p6被致能,使處理完的資料 可以順利的輸出。而同時,在累加完24筆資料後,被用來衡量下一個像素點的24 筆資料緊接著被輸入Phase5的電路,所以counter_acc立刻被歸零並開始記錄下一 次的累加行為。

3.4 實驗平台介紹

(17)

我們以Verilog HDL這種硬體描述語言來實做這裡所提出的三邊濾波器電路 架構,並將我們所設計的硬體架構使用Xilinx的Virtex-II(XC2V6000) FPGA來測 試,XC2V6000是六百萬邏輯閘數的FPGA。XC2V6000內建了大約2.5MB的Block RAM可以共使用者使用,就我們所設計的電路而言,對一張320*240的影像執行 雜訊濾除是綽綽有餘的。XC2V6000是用1152FCBGA的封裝,提供給使用者使用 的I/O腳數有1104條,可以說非常足夠。在實作所用的FPGA實驗板方面,我們採 用VIRTEX-II prototype platform這塊板子。VIRTEX-II prototype platform提供了可 以調整個時脈週期(25MHz到90MHz)、可以調整的JTAG來源(FPGA及PROM)、可 以調整的組成模式以及可以調整的晶片組,是一塊功能完整的FPGA實驗板。我 們可以利用VIRTEX-II prototype platform的PROM,讓我們下載到FPGA的檔案可 以存在PROM中,當下一次我們需要使用這個檔案時,就不需要再下載一次,只 需要把JTAG來源切換到PROM就好了。

圖 3-6 實作所用的FPGA板(VIRTEX-II prototype platform)

數據

圖 3-3  ROAD的電路圖第二階到第八階的電路圖
圖 3-4 ROAD電路中的細部模組  (a)the decision circuit (b)the alive circuit                  (c)the request circuit  和  (d)the result circuit
圖 3-6  實作所用的FPGA板(VIRTEX-II prototype platform)

參考文獻

相關文件

 想要設計一個具有兩個輸入G(gate閘控)和 D(data資料)以及一個輸出Q的閘控閂電 路。當G等於1時,在輸入D出現的二進位資料

由聲波的波形決 定,不同的人及 樂器產生的波形 都不同。.

Registry Server 是建構於第三方具有公信力的一個組織,而 Registry Server 在 Web Service 的架構中,主要的功能類似於提供服務查詢(Yellow

由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電

其硬體架構如圖 9.3 所示。本實驗最主要的目的是要將之前學長所做的 GPS/INS 整合 部分中的加速儀用

Ethernet Module、RF Transceiver。Switching Power 為提供整個系統的電源,其輸入電 壓為 90V~264VAC,輸出 5VDC 為提供整個系統電源所需。RF Transceiver 所需的電 壓是 5VDC

ZigBee Stack 的架構分別是由 IEEE 802.15.4 standard 以及 ZigBee 聯盟 所制定;其中 IEEE 802.15.4 standard 定義了兩層,分別為 Physical (PHY) Layer 以及 Medium Access

類神經網路 ( Artificial Neural Network ),根據 DARPA Neural Network