適用於大尺寸菲涅爾轉換之FPGA硬體電路架構實現
全文
(2) 中文摘要 本論文主要的目的是在 FPGA(Field Programmable Gate Array)平台上實作一 個硬體架構實現,利用 FPGA 上面的 Off-Chip RAM 並且使用主動型態存取記 憶體之適用於大尺寸菲涅耳轉換硬體系統架構,為了要因應隨著科技進步 3D 全像圖的尺寸越來越大而需要的處理資料量越來越多,以前一般的處理方式將 資料放在 ON-Chip RAM,這樣會需要非常大尺寸的 ON-Chip RAM ,它的價格 非常昂貴導致電路生產成本就會相對的提高。. 本論文的目的是希望將大尺寸全像圖影像資料放 Off-Chip RAM 上,並且 用主動型態讀寫電路去有效率的控制 Off-Chip RAM 的讀寫資料,而不需由 CPU 額外設定及控制,這樣一來就能在不影響太多速度得情況下,大量減少 ON-Chip RAM 的使用,這樣一來的話就可以讓電路面積大幅度的下降,也能提 升本電路的實用性。為了更進一步的加速電路的執行速度本論文中也提出一個 新的資料存取架構來降低記憶體讀取次數,使得系統即使操作在 Off-Chip 記憶 體的情況下,仍可執行快速計算。. 關鍵字:FPGA、Off-Chip RAM、菲涅耳轉換. I.
(3) 誌謝 在這邊我要先感謝我的指導教授 黃文吉 教授,在這兩年來提供很好的研 究環境及資源,並且非常細心的教導我,當我在研究上遇到困難的時候,教授 總是願意花時間跟我討論,並且提供很準確的建議,在這兩年跟教授學習的過 程中,我慢慢的改進了之前有所不足的地方,在此對教授獻上最深的謝意。 同時也非常感謝吳榮根教授、歐謙敏教授以及林秀菊教授撥冗來參加我的 碩士論文口試,並且也給予我論文上的建議。也非常幸運得來到多媒體通訊暨 系統晶片實驗室跟這個大家庭中與大家一同學習成長,要感謝之畢業也學長姐 們提供的研究成果,使得我們在做研究時更順利,其中建廷學長、映綸學長就 算畢業後還是抽空回答我的問題。 感謝這兩年跟我一起奮鬥的同學們 : 元俊、書豪、凱文、林岳、孟蓉、雅 慶、育君,以及一年級學弟妹在口試時提供我許多幫忙。感謝我的家人在這兩 年中給我很多鼓勵以及提供我經濟上的資源,讓我可以順利的念完研究所。. II.
(4) 目錄 中文摘要 .............................................................................................................. I 目錄 .................................................................................................................... II 第一章. 緒論 .................................................................................................. 1. 1.1 1.2. 研究背景.................................................................................................... 1 全文架構.................................................................................................... 5. 第二章. 基礎理論及技術背景 ...................................................................... 6. 2.1 2.2. 菲涅耳轉換................................................................................................ 6 FPGA 與 SoPC 系統整合設計 ............................................................... 10. 第三章. 系統架構 ........................................................................................ 12. 3.1 Architecture A .......................................................................................... 12 3.1.1 主動記憶體讀寫電路介紹.................................................................... 13 3.1.2 前轉換計算單元電路............................................................................. 17 3.1.3 快速傅立葉轉換計算單元電路............................................................. 18 3.1.4 後轉換計算單元電路............................................................................. 19 3.1.5 Architecture A 電路運作流程 ................................................................ 20 3.2 Architecture B .......................................................................................... 23 3.2.1 Architecture B 和 Architecture A 比較 ............................................... 23 3.2.2 Architecture B 運作流程 ........................................................................ 25. 第四章. 實驗數據與效能比較 .................................................................... 28. 4.1 4.2. 開發平台與實驗環境設定...................................................................... 28 實驗數據呈現與討論………………………………………………...…31. 第五章. 結論 ................................................................................................ 46. 參考文獻 ........................................................................................................... 47. III.
(5) 表目錄 表 4.1 Altera Stratix IV GX EP4SGX230 詳細規格……………………….…….…29 表 4.2 Architecture A 與 Architecture B 維度 256*256 下各個元件的資源消耗表… …………………………………………………………………………….……….…32 表 4.3 Architecture A 與 Architecture B 維度 512*512 下各個元件的資源消耗表… …………………………………………………………..……………………….…...32 表 4.4 本論文兩種架構不同時脈執行時間表(維度 256*256) ……………………33 表 4.5 本論文兩種架構不同時脈執行時間表(維度 512*512) ……………………34 表 4.6 本論文和 NIOSII 以及 DDR2controller 之資源消耗比較(size256*256)….35 表 4.7 本論文和 NIOSII 以及 DDR2controller 之資源消耗比較(size512*512)….35 表 4.6 本論文和其他文獻之資源消耗比較………………………………..….……36. IV.
(6) 圖目錄 圖 3.1 Architecture A 架構圖……………………………………………………..13 圖 3.2 主動記憶體讀寫電路………………………………………….….…….…13 圖 3.3 主動型態讀寫電路發出 read 請求時序圖………………………………..16 圖 3.4 前轉換計算單元…………………………………………………….…..…17 圖 3.5 快速傅立葉轉換計算單元……...………………………………….….…..18 圖 3.6 後轉換計算單元 …………………………………………………..……...19 圖 3.7 Pre-Transform Unit 存取 DRAM 資料流程圖…………………………….21 圖 3.8 FFT Unit 存取 DRAM 資料流程圖………………………………………..21 圖 3.9Post-Transform Unit 存取 DRAM 資料流程圖…………………………….22 圖 3.10 Architecture A 電路運作流程…………………………………………….22 圖 3.11Architecture B 架構圖…………………………………………..……..…...23 圖 3.12Architecture B 菲涅耳轉換電路內部架構圖……………………………...24 圖 3.13Fresnel transform Unit 存取 DRAM 資料流程圖…………………………26 圖 3.14 Architecture B 第一階段運作流程圖……………………………………..26 圖 3.15Architecture B 第二階段運作流程圖…………………………….………..27 圖 3.16 Architecture B 運作流程圖………………………………………………..27 圖 4.1 Stratix IV GX EP4SGX230 (DE4-230)FPGA (Top view)………….…….…28 圖 4.2 本論文菲涅耳轉換電路結果重建相位圖(mirco-lens 256*256)……….…38 圖 4.3 Matlab 菲涅耳轉換重建相位圖(mirco-lens 256*256) ………………….…38 圖 4.4 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens 256*256)….….39 圖 4.5 Matlab 菲涅耳轉換重建連續相位圖(mirco-lens 256*256)…………….….39 圖 4.6 本論文菲涅耳轉換電路結果重建相位俯視圖(mirco-lens array 256*256)…………………………………………………………………………….40 圖 4.7 Matlab 菲涅耳轉換重建相位俯視圖(mirco-lens array 256*256)……….…40 圖 4.8 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens array256*256)..41 圖 4.9 Matlab 菲涅耳轉換重建連續相位圖(mirco-lens array256*256)……….….41 圖 4.10 本論文菲涅耳轉換電路結果重建相位圖(mirco-lens 512*512)……….…42 圖 4.11 Matlab 菲涅耳轉換重建相位圖(mirco-lens 512*512) …………………....42 圖 4.12 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens 512*512)….…43 圖 4.13Matlab 菲涅耳轉換重建連續相位圖(mirco-lens 512*512)…………….….43 圖 4.14 本論文菲涅耳轉換電路結果重建相位俯視圖(mirco-lens array 512*512) ………………………………………………………………….……….....44 圖 4.15Matlab 菲涅耳轉換重建相位俯視圖(mirco-lens array 512*512)…………..44 圖 4.16 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens array512*512)..45 圖 4.17 Matlab 菲涅耳轉換重建連續相位圖(mirco-lens array512*512)……….….45. V.
(7) 第一章 緒論. 第一章 緒論 本章節先探討本論文的研究動機、研究目的與研究方法,並大略說明接下 來各章節的概要。. 1.1. 研究背景 全像術的基本原理是利用光的干涉特性,將光波的振幅與相位資訊同時記. 錄在感光底片上,經重建後可以顯示出與原物一樣的立體像。追溯全像理論的 起源,最早是在 1948 年 Dennis Gabor 就提出之記錄物體三維資訊的波前重建技 術(wavefront reconstruction) ,這個技術可以完整記錄整個光波資訊,將完整的 3D 影像重新產生出來。. 而我們現在所用的數位全像(Digital Holography) [1]技術主要目的是利用感 光耦合元件,利用這個元件去紀錄當光波繞射於物體表面的相位與振幅資訊的 技術,再經過光學的繞射計算與相位展開後還原物體的連續相位,就可以將裝 置所記錄的全像圖(Hologram)的光波影像資訊重建成物體完整的 3D 影像。. 數位全像術的應用非常廣泛從光學領域推廣到其他領域。如微波全像、聲 音全像等得到很大發展,成功地應用在工業醫療等方面。地震波、電子波、X 射線等方面,還有就是商業方面的防偽辨識等等,數位全像術在我們生活中有 極其廣泛的應用。. 1.
(8) 第一章 緒論. 數位全像顯微鏡(Digital Holographic Microscopy, DHM)[2]它是一種非侵入 式的影像擷取工具,可以便避免觀測物在拍攝時受到不必要的損壞,精準度方 面可以測量到微米、奈米等級,它還有一項優點是能將影像以數位的形式進行 儲存。. 數位全像顯微鏡所拍攝出來的數位全像圖可以用來完整的重建出物體實際 的樣子,但是必須經過一套非常繁瑣的還原重建過程,其中包括了繞射計算、 還原全像圖的相位值以及相位展開。. 其中的繞射計算可使用菲涅耳轉換、摺積法和角頻譜繞射法等法則,計算 完成後會得到一個相位數值壓縮在-π ~ π 之間的不連續相角圖(wrapped phase), 之後再利用相位展開法則來還原物體真實相位。. 本論文中所使用的是菲涅耳轉換[3]-[5]來進行繞射計算,再經由軟體 MATLAB 做相位展開還原重建全像圖,使用菲涅耳轉換是因為僅需要一次的快 速傅立葉變換(Fast Fourier Transform)即可加速完成全像圖重建,相較於需要三 次快速傅立葉的摺積法能降低更多計算複雜度。. 因此菲涅耳轉換可以說是不可缺少的技術,但是菲涅耳轉換本身的計算複 雜度高,所以就算使用電腦以軟體來實現的方式,也不能在極短時間內立即獲 得我們所需要的還原過後影像資料,所以為了達到即時運算的目的我們使用硬 體來實作。 2.
(9) 第一章 緒論. 目前已經有許多加速的方式被提出,其中有以 GPU 為主實現菲涅耳轉換 [6]-[9],另外也有以 FPGA 實現菲涅耳轉換[10]-[11],此兩種加速器的設計方式 各有其優缺點,在 GPU 為主的實現方式中,它的功率消耗高以及可攜帶性差是 兩個主要缺點。. 而使用 FPGA 的一般傳統設計方式使用 On-Chip-RAM 雖然擁有快速運 算、低功率消耗以及攜帶方便的這幾項優勢,下表列舉 FPGA 架構對比軟體運 作於 CPU 與 GPU 之優勢如表 1.1 所示。. 表 1. 1 FPGA 與軟體運作於 GPU 與 CPU 之特性比較. CPU. GPU. FPGA. 運算速度. 慢. 快. 快. 功率消耗. 高. 高. 低. 可攜性. 低. 低. 高. 但隨著全像圖尺寸再不斷的擴大,會使得用來存放原始全像圖資料、運算 過程中產生的資料、運算結果資料,這三種資料量大增導致 FPGA 一般傳統設 計方式中的 On-Chip-RAM 記憶體不足,如果要增加 On-Chip-RAM 記憶體價格 非常昂貴。 3.
(10) 第一章 緒論. 而本論文就是希望能解決 On-Chip-RAM 記憶體不足的情況,所以採用 FPGA 上面外部記憶體 Off-Chip-RAM 來取代,Off-Chip-RAM 的價格相較於 On-Chip-RAM 記憶體便宜許多,但相對的就必須付出存取速度較慢的代價,本 論文提出主動型態架構來加速 Off-Chip-RAM 存取資料過慢的問題。. 本論文所提出的 FPGA 硬體系統架構具有下列的功能:. 1.使用主動型態存取記憶體. 2.利用 Off-Chip RAM. 3.降低 On-Chip RAM 記憶體單元消耗 本論文中所提出的電路架構主要分為兩大部分,分別是菲涅耳轉換電路和 主動記憶體讀寫電路。 菲涅耳轉換電路包含快速傅立葉轉換,且以 IEEE754 單精度浮點數格式進 行運算,相較於定點數(Fixed-point)來說,IEEE754 可表示範圍更大,精確度也 更高,對於快速傅立葉轉換等數值變動差異大的計算是較適合的格式。. 主動記憶體讀寫電路包含 Read 主動型態電路跟 Write 主動型態電路,這兩 部分電路的優點是電路能主動存取資料,而不需由 CPU 額外設定及控制。為了 更進一步的加速電路的執行速度,我們提出一個新的資料存取架構來降低記憶 體讀取次數,使得系統即使操作在 Off-Chip 記憶體的情況下,仍可執行快速計 算。 4.
(11) 第一章 緒論. 1.2. 全文架構 本論文共分為五個章節,以下為各章節內容概要:. 第一章 緒論 說明研究背景、研究動機與目的、研究方法以及本文架構。. 第二章 基礎理論及技術背景 簡介本論文使用的理論、演算法則、技術背景。. 第三章 系統架構 介紹系統硬體電路架構,並說明系統運作流程。. 第四章 實驗數據與效能比較 說明實驗環境、實驗數據分析以及軟硬體效能比較。. 第五章 結論 對於本論文提出的硬體架構以及實驗結果進行總結. 5.
(12) 第二章 基礎理論及技術背景. 第二章 基礎理論及技術背景 本章節將介紹本論文所使用的基礎理論以及技術背景介紹。第一節討論到 本架構使用的繞射計算:菲涅耳轉換,第二節介紹本論文實作在 FPGA 以及 SoPC 系統整合設計。. 2.1 菲涅耳轉換 在本論文中的菲涅耳轉換(Fresnel transform),用於數位全像圖重建的繞射. 運算上,全像圖為數位全像顯微鏡透過 CCDs 裝置拍攝,令此全像圖資訊為 𝜂 , 焦距為 z ,光源的波長為𝜆,重建之後的影像以 𝜀 表示,𝜀 可由菲涅耳轉換計 算得到,如公式(2.1), 𝑁−1 𝑁−1. 𝜀𝑢,𝑣. 𝜋 𝑥𝑢 𝑦𝑣 −𝑗 𝑗2𝜋𝑧 𝑗 𝜋 Δ𝑝2(𝑢2 +𝑣 2) 𝑗 Δ 2 (𝑥 2 +𝑦 2 ) −𝑗2𝜋( + ) 𝑁 𝑁 = 𝑒 𝜆 𝑒 𝜆𝑧 ]𝑒 ∑ ∑ [𝜂𝑥,𝑦 𝑒 𝜆𝑧 𝑓 𝜆𝑧 𝑥=0 𝑦=0. (2.1). 假設影像之長與寬皆為 N,先令𝜂𝑥,𝑦 為某一數位全像圖的影像資訊,其中0 ≤ 𝑥 < 𝑁 且0 ≤ 𝑦 < 𝑁,λ 為波長,z 為焦距,Δ𝑝 = (𝜆𝑧)/(𝑁 × 𝛥𝑓)為計算公式時所 需要的常數值,三者皆設為定值,而Δ𝑓 可由Δ𝑝 導出,其也為一定值,關係式如式 (2.2). Δ𝑓 = 6. 𝜆𝑧 𝑁Δ𝑝. (2.2).
(13) 第二章 基礎理論及技術背景. 在公式(2.1)中,與𝜂𝑥,𝑦 相乘之指數函數可以依指數加法律整理得公式(2.3),並將 其重新定義為𝜇,如公式(2.4), 𝜋. 2 (𝑥 2. 𝑒 𝑗𝜆𝑧𝛥𝑓. +𝑦 2 ). 𝜋. 𝜋. 2 (𝑥 2 ). = 𝑒 𝑗𝜆𝑧Δ𝑓 2 (𝑥 2 ). 𝜇𝑥 = 𝑒 𝑗𝜆𝑧Δ𝑓. 𝜋. 2 (𝑦 2 ). × 𝑒 𝑗𝜆𝑧Δ𝑓 𝜋. 2 (𝑦 2 ). , 𝜇𝑦 = 𝑒 𝑗𝜆𝑧Δ𝑓. (2.3). (2.4). 公式(2.4)與全像圖的影像資訊𝜂𝑥,𝑦 相乘後得到函數𝜌𝑥,𝑦 ,經過我們化簡之後變成 公式(2.5)。𝜌𝑥,𝑦 為一週期函數,因此可以將其做傅立葉轉換後得到函數𝜏𝑢,𝑣,如公 式(2.6)。在本論文中是利用(Fast Fourier transform)快速傅立葉轉換的架構來計算 𝜏𝑢,𝑣 ,相關的計算電路將於之後的章節中再詳細討論。. 𝜌𝑥,𝑦 = 𝜂𝑥,𝑦 × 𝜇𝑥 × 𝜇𝑦. (2.5). 𝑥𝑢 𝑦𝜈. −𝑗2𝜋( + ) 𝑁−1 𝑁 𝑁 𝜏𝑢,𝑣 = ∑𝑁−1 𝑥=0 ∑𝑦=0 𝜌𝑥,𝑦 𝑒. (2.6). 由於菲涅耳轉換中𝜆為固定數值、𝑧為已知的固定焦距,因此我們定義一定值𝛼, 將其化簡為公式(2.7),. 𝛼=. −𝑗 𝜆𝑧. 𝑒. 𝑗. 2𝜋 𝑧 𝜆. (2.7). 另外,與𝜏𝑢,𝑣 相乘之指數函數也可仿公式(2.4)定義為𝜔𝑢 及𝜔𝑣 ,如公式(2.8)所示, 𝜋. 2. 2. 𝜋. 2. 𝜔𝑢 = 𝑒 𝑗𝜆𝑧Δ𝑝 (𝑢 ) , 𝜔𝑣 = 𝑒 𝑗𝜆𝑧Δ𝑝 (𝑣 7. 2). (2.8).
(14) 第二章 基礎理論及技術背景. 接下來我們利用公式(2.8)將菲涅耳公式化簡,可得到函數解𝜀𝑢,𝑣 ,如公式(2.9)。. 𝜀𝑢,𝑣 = 𝛼 × 𝜔𝑢 × 𝜔𝑣 × 𝜏𝑢,𝑣. (2.9). 到此目前為止,菲涅耳公式計算完成,為了進行後續相位展開法則運算,必須將 複數𝜀𝑢,𝑣 的虛部𝐼𝑚(𝜀𝑢,𝑣 )除以實部𝑅𝑒(𝜀𝑢,𝑣 )後進行反正切函數(arctangent)運算來取 得相位𝜙𝑢,𝑣 ,如公式(2.10)所示, ). 𝐼𝑚(𝜀. 𝜙𝑢,𝑣 = 𝑡𝑎𝑛−1 𝑅𝑒(𝜀 𝑢,𝑣). (2.10). 𝑢,𝑣. 令𝐼𝑚(𝜀𝑢,𝑣 ) = 𝑄,𝑅𝑒(𝜀𝑢,𝑣 ) = 𝐼,也就是將𝜀𝑢,𝑣 表示成𝜀𝑢,𝑣 = 𝐼 + 𝑄𝑖,本論文中求反 正切函數運算使用 arctangent approximation 公式用來求得近似解,如公式(2.11), 𝑄 𝑡𝑎𝑛−1 ( 𝐼 ). =. 𝑄 𝐼. 𝑄 2 1+0.28086( ) 𝐼. , −1 ≤. 𝑄 𝐼. ≤1. 𝑄. 接下來,由於計算出的( 𝐼 )不一定符合公式(2.11)的條件−1 ≤. (2.11). 𝑄 𝐼. ≤ 1,我們為了解. 決這個問題,本論文的反正切運算將會利用下面的公式(2.11)搭配公式(2.12)及公 式(2.13)來使用。. 𝑄. 𝜋. 𝐼. 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) = 2 − 𝑡𝑎𝑛−1 (𝑄) , 𝐼 > 0 𝑄. 𝜋. 𝐼. 𝑄. 𝑡𝑎𝑛−1 ( 𝐼 ) = − 2 − 𝑡𝑎𝑛−1 (𝑄) , 𝐼 > 0. 8. (2.12). (2.13).
(15) 第二章 基礎理論及技術背景. 整理以上的公式,此章節的菲涅耳轉換公式以及 arctangent 公式流程如以下步驟:. 步驟一:給予輸入數位全像圖函數𝜂𝑥,𝑦 ,0 ≤ 𝑥, 𝑦 < 𝑁。. 步驟二:利用公式(2.5),計算函數𝜌𝑥,𝑦 。. 步驟三:利用公式(2.6)對𝜌𝑥,𝑦 進行 2D 傅立葉轉換得到𝜏𝑢,𝑣,在本論文架構中是以 兩次 1D 傅立葉轉換分別作列跟行的運算來實現,首先對𝜌𝑥,𝑦 中每一列𝑥執行快速 傅立葉轉換或離散傅立葉轉換,可得到一運算結果陣列𝐾𝑥 ,如公式(2.14)所示,. 𝐾𝑥 = ∑𝑁−1 𝑦=0 (𝜌𝑥,𝑦 𝑐𝑜𝑠. 2𝜋 𝑁. 𝑦𝑣 + 𝑗𝜌𝑥,𝑦 𝑠𝑖𝑛. 2𝜋 𝑁. 𝑦𝑣) , 0 ≤ 𝑥 ≤ 𝑁 − 1. (2.14). 接著再對𝐾𝑥 每一行𝑣進行一次傅立葉轉換,最後得到 2D 傅立葉轉換結果𝜏𝑢,𝑣 如公 式(2.15)。. 𝜏𝑢,𝑣 = ∑𝑁−1 𝑥=0 (𝐾𝑥 𝑐𝑜𝑠. 2𝜋 𝑁. 𝑥𝑢 + 𝑗𝐾𝑥 𝑠𝑖𝑛. 2𝜋 𝑁. 𝑥𝑢) , 0 ≤ 𝑦 ≤ 𝑁 − 1. (2.15). 步驟四:使用公式(2.9)對𝜏𝑢,𝑣 做菲涅耳轉換最後的計算,再求出函數𝜀𝑢,𝑣 。. 步驟五:使用公式(2.11)、(2.12)、(2.13)對函數𝜀𝑢,𝑣 進行反正切運算即可求得相位 值𝜙𝑢,𝑣 。. 9.
(16) 第二章 基礎理論及技術背景. 2.2 FPGA 與 SoPC 系統整合設計 近年來 IC 設計製造技術快速提升及普遍化導致成長趨緩,電子產品由過去 PC 時代標準化規格,轉變為行動裝置強調的客製化規格;而因為新興市場的興 起,電子產品週期短化成為趨勢,市場對於電路的功能要越來越多樣化,讓電 路設計變得複雜化,要縮短電路設計的時程,這時候需要一個讓設計者容易使 用,且能讓設計出來的電路有非常大的彈性,能符合客戶需求的設計環境, FPGA 則剛好的符合我們所需要的特點。. FPGA(Field-programmable gate array )為可重複程式設計的晶片,其靈活度 就如同處理器系統上執行的軟體,卻不受處理器核心數量的限制。而且與一般 處理器不同的是,FPGA 本身即為平行架構,所以不同的處理作業並不會佔用 相同資源。各個獨立處理作業都將分派到晶片中的專屬區塊,不會影響其他邏 輯區塊的自動運作。因此我們在新增其他處理作業時,也不會影響其他部分的 效能。. 本論文所使用硬體描述語言(Hardware Description Language, HDL)搭配可重 覆程式設計的 FPGA 晶片設計電路,可以大幅縮短研發時間,並且也能夠讓設 計更有彈性,經過系統提供的合成與繞線佈局(Place And Route),可快速燒錄 到 FPGA 板上進行測試,且不需要負擔實際合成電路失敗的高成本風險,由於 10.
(17) 第二章 基礎理論及技術背景. 同時涉及底層的硬體系統設計和相對應的軟體設計,讓開發者能夠充分的發揮 的空間相當的大,不用再侷限在硬體設計或是軟體設計的能力,結合以上的優 點所以 FPGA 為目前研究 IC 設計的技術主流。. 11.
(18) 第三章系統架構. 第三章 系統架構 本論文所提出的電路架構主要分為兩種架構,分別是 Architecture A 和 Architecture B 兩種架構,在兩種不同架構當中都會利用到菲涅耳轉換運算 電路和主動記憶體讀寫電路,但記憶體存取的次數會不同。在 Architecture A 中計算會被分解為 3 個階段,每一個階段皆會進行獨立的記憶體存取。 在 Architecture B 則計算僅會被分解為兩階段,因此記憶體存取個數將會減 少。此兩種架構皆有類似的計算核心,差別僅在於記憶體存取的排程及次 數。本章第一節中將詳細介紹 Architecture A 架構。在第二章中將提到 Architecture B 架構。. 3.1 Architecture A 圖 3.1 為 Architecture A 架構圖,此架構主要分為三個運算單元電路, 分別為前轉換運算單元電路(Pre-transform unit) 、快速傅立葉轉換運算單元 電路(FFT Unit)、後轉換運算單元電路(Post-transform) ,三塊不同的運算單 元電路都擁有專屬的主動記憶體讀寫電路,且三塊運算單元電路都有各自 不同的計算核心。. 12.
(19) 第三章系統架構. 圖 3.1 Architecture A 架構圖. 3.1.1 主動記憶體讀寫電路介紹 圖 3.2 為主動記憶體讀寫電路的架構圖,此架構主要分為五個部分,分別 為 Read AGU、Read buffer、Controller、Write Buffer、Write AGU 下面將會詳 細介紹。. 圖 3.2 主動記憶體讀寫電路. 13.
(20) 第三章系統架構. 一組主動型態讀寫電路包含:. 1. Read AGU :產生擬讀取資料之地址。. 2. Read buffer :用來儲存自記憶體獲得之資料。. 3. Controller :協調整體電路之運作。. 4. Write Buffer :儲存自 Computation Core 運算結果。. 5. Write AGU :產生擬寫入資料之地址。. 主動型態讀寫電路運作流程:. 1. Read AGU 產生擬讀取資料之地址給 DRAM Controller。. 2. DRAM Controller 依照 Read AGU 產生擬讀取資料之地址拿取資料傳送給 Read buffer。. 3. Read buffer 儲存來自 DRAM Controller 獲得之資料。. 4. Read buffer 資料存滿之後傳給 Computation Core 進行運算。. 5. Computation Core 運算完結果傳送給 Write buffer。. 6. Write AGU 產生擬寫入資料的地址配合 Write buffer 的資料一起傳給 DRAM Controller。 14.
(21) 第三章系統架構. 7. 運作過程中 Controller 需要利用 Controller Bus 來跟 DRAM Controller 溝 通會發生兩種情況,第一種情況 Controller 對 DRAM Controller 發出 read 請求 時,DRAM Controller 發出 waitrequest 給 Controller,waitrequest 是用來判斷 DRAM Controller 是否忙碌,當 DRAM Controller 忙碌時 Controller 將 Read AGU 產生擬讀取的資料之地址保持不變,readdatavaild 用來判斷資料是否為正 確資料。. 以圖 3.3 為例,以下將針對 Controller 對 DRAM Controller 發出 read 請求 時,各個時間點詳細解釋此電路的運作流程。. A : waitrequest=0,DRAM Controller 會執行讀取 addr1 的動作。. B: waitrequest=1,此時 DRAM Controller 忙碌,Controller 將 addr2 維持不 變。. C: waitrequest=0,DRAM Controller 會執行讀取 addr2 的動作, readdatavaild =1,將 data1 存入 read buffer。. 15.
(22) 第三章系統架構. 圖 3.3 主動型態讀寫電路發出 read 請求時序圖. 第二種情況 Controller 對 DRAM controller 發出 write 請求時, DRAM controlle 會發出回饋訊號給 Controller,此回饋訊號是用來判斷 DRAM Controller 是否忙碌, 當 DRAM Controller 忙碌時 Controller 將 Write AGU 產 生擬寫入的資料之地址和 Write_Buffer 的資料保持不變。. 16.
(23) 第三章系統架構. 3.1.2 前轉換計算單元電路 前轉換計算單元電路功能為實現公式(2.5),此電路提供索引 x,y 經由查表獲 得 𝜇𝑥 , 𝜇𝑦 , 𝜇𝑥 , 𝜇𝑦 再和全像圖影像資訊𝜂𝑥,𝑦 進行複數計算得到𝜌𝑥,𝑦 。圖 3.4 中包 含兩個轉換表格、兩個複數乘法器、一組主動型態讀寫電路。. 圖 3.4 前轉換計算單元. 17.
(24) 第三章系統架構. 3.1.3 快速傅立葉轉換計算單元電路 快速傅立葉轉換計算單元電路功能為實現公式(2.6) ,圖 3.5 中包含 1D FFT Computation Core 以及一組主動型態讀寫電路。根據菲涅耳轉換電路運算流程 的步驟三,此電路利用 1 維的快速傅立葉模組對函數𝜌𝑥,𝑦 進行運算,在此過程 中會先執行列運算,再執行行運算,得到結果 𝜏𝑢,𝑣 。1D FFT Computation Core 則是使用 Altera 公司提供的 Quartus II 13.1 Megawizard Plug-In Manager 所產生 的 Megafunction IP Core[12]。. 圖 3.5 快速傅立葉轉換計算單元. 18.
(25) 第三章系統架構. 3.1.4 後轉換計算單元電路 後轉換計算單元電路功能為實現公式(2.1.9)以及公式(2.1.10) ,此電路提供 索引 u,v,再經由 u,v 查表獲得𝜔𝑢 , 𝜔𝑣 ,𝜏𝑢,𝑣 和𝜔𝑢 , 𝜔𝑣 , 𝛼先後進行複數運算得到 𝜀𝑢,𝑣 ,最後𝜀𝑢,𝑣 再進行反正切函數運算得到結果𝜙𝑢,𝑣 。圖 3.6 中包含一組主動型態 讀寫電路、兩個轉換表格、三個複數乘法器, ArcTan Circuit。. 圖 3.6 後轉換計算單元. 19.
(26) 第三章系統架構. 3.1.5 Architecture A 電路運作流程 本架構下將菲涅耳轉換分為 4 階段處理,依序進行前轉換運算、快速傅立 葉運算(列計算)、快速傅立葉運算(行計算) 、後轉換運算。這 4 個階段會分別 使用前轉換運算單元、快速傅立葉運算單元及後轉換運算單元。每個階段會等 待上一個階段完成運算後,才開始進行運算。每個階段完成運算後會先將結果 存入外部記憶體中,下一個階段要進行運算時再將外部記憶體的內容值讀出進 行運算。. 第一階段前轉換運算之執行包含從 DRAM 讀取資料與資料寫回 DRAM, 如圖 3.7 所示由圖可知前轉換單元會主動透過 DRAM Controller 向主記憶體執 行讀寫,而不會經由 NIOS II CPU,如可有效降低執行前轉換時記憶體存取的 時間。我們以 T1 表示前轉換運算所需之時間,共包含 Pre-Transform computation core 執行時間,以及資料讀寫時間。 第二階段的快速傅立葉運算(列計算)與第三階段的快速傅立葉運算(行計 算),相關計算時間分別以 T2 及 T3 表示,這些計算時間也含蓋了 DRAM 記憶 體讀寫所花之時間。圖 3.8 顯示快速傅立葉運算主動進行記憶體資料讀寫的情 況。 第四階段後轉換運算之執行如圖 3.9 所示,運作模式與第一階段類似,其 執行時間用 T4 表示,資料讀寫情況請參考圖 3.9。. 20.
(27) 第三章系統架構. 由上述討論可知 Architecture A 每運算階段皆會進行記憶體存取,總共需要 進行 4 次外部記憶體存取,其優點為設計簡單,因此 Architecture A 整體運算時 間即是四個階段各別耗費時間的總和,如圖 3.10 所示。. 圖 3.7 Pre-Transform Unit 存取 DRAM 資料流程圖. 圖 3.8 FFT Unit 存取 DRAM 資料流程圖. 21.
(28) 第三章系統架構. 圖 3.9 Post-Transform Unit 存取 DRAM 資料流程圖. 圖 3.10 Architecture A 電路運作流程. 22.
(29) 第三章系統架構. 3.2. Architecture B 圖 3.11 為 Architecture B 利用一組主動型態讀寫電路來控制三個核心計算. 單元來達到降低執行時間和資源消耗的目的。. 圖 3.11Architecture B 架構圖. 3.2.1 Architecture B 和 Architecture A 比較 圖 3.12 為 Architecture B 包含一組主動型態讀寫電路和三個計算核心 電路,Architecture B 使用的計算核心單元與和 Architecture A 相似。 Architecture B 有兩大優勢,第一個優勢是執行時間較短,原因是 Architecture B 只需要存取外部記憶體 2 次而 Architecture A 卻需要存取外部 記憶體 4 次。. 23.
(30) 第三章系統架構. 第二個優勢是資源消耗大幅度降低,原因是 Architecture B 只用到 1 組主動 型態讀寫電路而 Architecture A 用到 3 組,Architecture B 減少了 2 組的主動型態 讀寫電路的使用,2 組的主動型態讀寫電路包含 4 組 buffer 與 4 組 AGU,因此 大量的減少 Block Memory Bits 與 ALMs 的資源消耗,因為 Block Memory Bits 主要是來實現此暫存器的單元而 ALMs 主要是用來實現運算單元。. 圖 3.12 Architecture B 菲涅耳轉換電路內部架構圖. 24.
(31) 第三章系統架構. 3.2.2 Architecture B 運作流程 Architecture B 將菲涅耳轉換變成分為 2 階段處理,每階段都使用相同的主 動記憶體存取電路,相關存取 DRAM 資料流程如圖 3.13 所示。第一階段計算 顯示於圖 3.14,電路依序進行前轉換運算、快速傅立葉列運算。圖 3.15 顯示第 二階段電路運作流程,從該圖我們可觀察到電路依序進行快速傅立葉行計算、 後轉換計算。 Architecture B 只需要存取外部記憶體兩次,第一次存取外部記憶體發生在 前轉換讀取資料,以及列計算後將結果寫回記憶體,其中前轉換的運算結果直 接交給列計算使用;第二次存取外部記憶體發生在當行計算讀取資料,以及後 轉換果寫回記憶體,當中行計算計算結果直接交給後轉換使用。 圖 3.16Architecture B 運作流程圖分為兩階段表示,第一階段前轉換時間包 含讀取資料與前轉換運算以 T5 表示,FFT (列計算)時間包含列計算與寫回資料 以 T6 表示,第二階段 FFT(行計算)時間包含行計算與資料讀取以 T7 表示,後 轉換時間包含後轉換運算與寫回資料以 T8 表示。. 25.
(32) 第三章系統架構. 圖 3.13Fresnel transform Unit 存取 DRAM 資料流程圖. 圖 3.14 Architecture B 第一階段運作流程圖. 26.
(33) 第三章系統架構. 圖 3.15Architecture B 第二階段運作流程圖. 圖 3.16Architecture B 運作流程圖. 27.
(34) 第四章 實驗數據與效能分析. 第四章 實驗數據與效能比較 本章節將介紹本研究提出之架構,其實際效能的量測結果與現有文獻比 較,以及實驗環境介紹。. 4.1. 開發平台與實驗環境設定 本論文所提出的硬體架構是以 Altera 的 Stratix IV GX EP4SGX230 (DE4230)FPGA 開發板做為開發平台,如下圖 4.1 所示。會選用 FPGA 開發板來 實現與驗證電路的理由是因為可程式化系統晶片(System on a Programmable Chip, SoPC)可以快速且容易的將我們設計的電路掛載到 FPGA 中,且具有 可重複修改與低研發成本等優點,而且在硬體設計的驗證上也相當適合, 所以 FPGA 非常適合用來實作本論文所提出的硬體架構。. 圖 4.2 Stratix IV GX EP4SGX230 (DE4-230)FPGA (Top view) 28.
(35) 第四章 實驗數據與效能分析. 表 4.1 Altera Stratix IV GX EP4SGX230 詳細規格. Feature. Stratix IV GX. Device. EP4SGX230. Adaptive Logic Modules (ALMs). 91,200. Logic Elements(LEs). 228,000. M9K Memory Blocks. 1,235. M144K Memory Blocks. 22. Total Memory Kbits. 17133. DSP block 18-bit elements. 1228. Total PLLs. 8. Total DLLs. 4. User I/Os. 744. 本論文使用 Altera Quartus II 13.1 作為 Verilog 硬體描述語言的開發平台, 並使用 Quartus 提供基礎的語法解析與偵錯、時序分析、初步的邏輯元件繞線 布局、產生規劃檔案以及電路合成等強大功能等等,也藉由 RTL-level 與 Gatelevel 模擬訊號波形圖驗證電路正確性,使我們在設計上可以更有效率、更節省 時間。待整個系統架構設計完成,就可以將其掛載至 SoPC system 上,在 29.
(36) 第四章 實驗數據與效能分析. Quartus II 13.1 中使用的是 Qsys 平台,系統中包含許多元件如 CPU、客製化電 路(在此指本論文所提出的菲涅耳轉換電路架構 Architecture A 和 Architecture B. 兩種架構)、記憶體、鎖相迴路(Phase-locked loops, PLL)等等,最後將設計 完成的系統架構掛載在 SoPC system 上,將 SoPC system 燒錄於 FPGA 開發板 上,之後便可以進行實際的訊號輸入與輸出,我們可以以此驗證系統架構的效 能及正確性。. 最後將硬體電路的資料輸出與軟體互相驗證,本論文軟體方面則是使用 Matlab R2014a 為平台來驗證此硬體架構的執行結果。. 軟體實驗環境:. CPU:Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz RAM:32 GB MATLAB 2014a 硬體實作環境: Device:Altera Stratix IV GX EP4SGX230 CPU:NIOS II 200MHz Memory:1-GB DDR2 SDRAM. 30.
(37) 第四章 實驗數據與效能分析. 4.2. 實驗數據呈現與討論 本節將探討本論文中所設計的菲涅耳轉換電路,在不同的維度時的資源消. 耗以及效能分析。本節中將會先對電路作資源分析再用實際硬體資源消耗來相 互驗證,由於本論文有提出兩種硬體架構,所以也會針對此兩種硬體架構的資 源消耗與改善的效能進行討論與比較。在本節的最後會將本論文的架構與其它 的文獻進行效能比較與討論,進一步的歸納出本論文的優勢。. 本論文所提出的硬體是以實現菲涅耳轉換為例,分別提出兩種架構 Architecture A 和 Architecture B 下面會進行分析比較。而加法器、乘法器、除 法器和暫存器是構成前轉換計算單元、快速傅立葉轉換計算、後轉換計算單元 的主要元素,而實際在 Qsys 系統上硬體資源可以分為三大部分,分別為 ALMs、block memory bits 以及 DSP blocks,其中 ALMs 被用於實現暫存器以及 運算單元,block memory bits 主要用於實現暫存器或記憶體元件,DSP blocks 是被用來實現數值運算中的除法器及乘法器等元件。以下利用表 4.2、表 4.3. 針對 Architecture A 與 Architecture B 同維度下各個元件的資源消耗之比較。. 31.
(38) 第四章 實驗數據與效能分析. 表 4.2 Architecture A 與 Architecture B 維度 256*256 下各個元件的資源消耗表. 256*256. ALMs. Block Memory Bits. DSP Blocks. Architecture A. 39,414. 125,900. 168. Architecture B. 32,595. 89,506. 168. 表 4.2 Architecture A 與 Architecture B 維度 256*256 下各個元件的資源消耗 表,ALMs 主要是用來實現運算單元,Block Memory 用來實現此暫存器的單 元,Architecture B 架構下只需要一組主動型態記憶體電路,相比之下 Architecture A 架構則需要三組,所以 ALMs、Block Memory 這兩種資源消耗較 低。. 表 4.3 Architecture A 與 Architecture B 維度 512*512 下各個元件的資源消耗表. 512*512. ALMs. Block Memory Bits. DSP Blocks. Architecture A. 52,342. 321,264. 184. Architecture B. 47,285. 243,910. 184. 表 4.3 Architecture A 與 Architecture B 相同維度 512*512 下各個元件的資源 消耗表,ALMs 和 Block Memory Bits 資源消耗大幅減少。而 DSP Blocks 比較 表 4.2 和表 4.3 可以發現隨著維度越大 DSP Blocks 會消耗越更多,因為本論文. 32.
(39) 第四章 實驗數據與效能分析. 採用的 1D FFT 是 Quartus II 13.1 Megawizard 所產生的 Megafunction IP Core, 當其維度增加時需要消耗更多的 DSP Blocks。. 表 4.4 本論文兩種架構不同時脈執行時間表(維度 256*256). 256*256. 50MHz. 100MHz. 150MHz. 200MHz. Architecture A. 78.9. 71.4. 69.0. 67.8. Architecture B. 45.3. 37.8. 35.4. 34.2. 時間單位:ms. 表 4.4 本論文兩種架構不同時脈執行時間(維度 256*256),在 200MHz 情況下 Architecture B 比 Architecture A 的執行時間快了 33.6ms,而且 Architecture B 的 最高時脈可以到 200MHz 執行時間為 34.2 ,Architecture B 的執行時間為 Architecture A 的執行時間的一半. 33.
(40) 第四章 實驗數據與效能分析. 表 4.5 本論文兩種架構不同時脈執行時間表(維度 512*512). 512*512. 50MHz. 100MHz. 150MHz. 200MHz. Architecture A. 300.9. 272.5. 263.3. 258.3. Architecture B. 168.7. 138.2. 128.9. 124.3. 時間單位:ms. 表 4.5 本論文兩種架構同維度下不同時脈執行時間(維度 512*512),在 200MHz 情況下 Architecture B 比 Architecture A 的執行時間快了 134ms,而且 Architecture B 的最高時脈可以到 200MHz 執行時間為 124.3 ,Architecture B 的 執行時間為 Architecture A 的執行時間的一半。. 總結以上 Architecture A 與 Architecture B 在硬體資源消耗與運算時間的分 析,Architecture B 透過減少記憶體存取次數以及改變排程的方式,能有效達到 加速運算和降低資源消耗的目的。. 34.
(41) 第四章 實驗數據與效能分析. 表 4.6 本論文和 NIOSII 以及 DDR2controller 之資源消耗比較(size256*256). 256*256. ALMs. Block Memory Bits. DSP Blocks. Architecture B. 32,595. 89,506. 168. DDR2 controller. 4,386. 159,744. 0. NIOS II. 1,361. 64,384. 4. Total. 38,342. 313,634. 172. 表 4.7 本論文和 NIOSII 以及 DDR2controller 之資源消耗比較(size512*512). 512*512. ALMs. Block Memory Bits. DSP Blocks. Architecture B. 47,285. 243,910. 184. DDR2 controller. 4,380. 159,744. 0. NIOS II. 1,326. 64,384. 4. Total. 52,991. 468,038. 188. 由表 4.6 和表 4.7 雖然在維度 512*512 Block Memory Bits 資源消耗方面, Architecture B 消耗比 DDR2 controller 多一些,但是在維度 256*256 Block Memory Bits 資源消耗方面,DDR2 controller 大約為 Architecture B 的 1.5 倍。 35.
(42) 第四章 實驗數據與效能分析. 表 4.8 本論文和其他文獻之資源消耗比較. 512*512. ALMs. Block Memory Bits. DSP Blocks. Clock Rate (Hz). Runtime. (ms) Architecture A. 52,342. 321,264. 184. 200M. Architecture B. 47,285. 243,910. 184. 200M. 124.3. [13]. 21,248. 16,935,968. 144. 500M. 2.1. 透過表 4.8 可以得知本論文提出的 Architecture B 在 Block Memory Bits 資 源消耗方面遠小於[13],舉例來說,輸入影像為 N*N 本論文 Architecture B 的暫 存器大小為 N,而在[13]中是使用 Block Memory Bits 組合成整張影像所需的暫 存器大小為 N*N。在執行時間方面本論文提出的 Architecture B 比[13]慢,因為 本論是主要是採用外部記憶體來存取資料,而[13]則是採用內部記憶體存取資 料。DSP Blocks 與 ALMs 資源消耗方面比[13]多一些,這是因為本論文使. 用 FFT Megafunction IP Core 為單精度浮點數而[13]為固定點數,經由 Architecture A 的實作得知記憶體存取時間佔整個電路一半以上的執行時間,所 以本論文再提出 Architecture B 利用減少記憶體存取次數來達到加速電路的效 果,使得在犧牲一些速度的情況下來達到可以處理大尺寸影像的目標。. 36. 258.3.
(43) 第四章 實驗數據與效能分析. 為了驗證本論文所提出的菲涅耳轉換法則硬體電路之正確性,本論文由國立 臺灣師範大學光電科技研究所資訊光電實驗室提供全像片平面的複數振幅資訊 作為測試影像,這些測試影像為實際以數位全像顯微鏡拍攝而得,分別為 mircolens 以及 micro-lens array。. 37.
(44) 第四章 實驗數據與效能分析. 圖 4.2 本論文菲涅耳轉換電路結果重建相位圖(mirco-lens 256*256). 圖 4.3 Matlab 菲涅耳轉換重建相位圖(mirco-lens 256*256). 38.
(45) 第四章 實驗數據與效能分析. 圖 4.4 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens 256*256). 圖 4.5 Matlab 菲涅耳轉換重建連續相位圖(mirco-lens 256*256) 39.
(46) 第四章 實驗數據與效能分析. 圖 4.6 本論文菲涅耳轉換電路結果重建相位俯視圖 (mirco-lens array 256*256). 圖 4.7 Matlab 菲涅耳轉換重建相位俯視圖(mirco-lens array 256*256). 40.
(47) 第四章 實驗數據與效能分析. 圖 4.8 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens array256*256). 圖 4.9 Matlab 菲涅耳轉換重建連續相位圖(mirco-lens array256*256) 41.
(48) 第四章 實驗數據與效能分析. 圖 4.10 本論文菲涅耳轉換電路結果重建相位圖(mirco-lens 512*512). 圖 4.11 Matlab 菲涅耳轉換重建相位圖(mirco-lens 512*512). 42.
(49) 第四章 實驗數據與效能分析. 圖 4.12 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens 512*512). 圖 4.13Matlab 菲涅耳轉換重建連續相位圖(mirco-lens 512*512) 43.
(50) 第四章 實驗數據與效能分析. 圖 4.14 本論文菲涅耳轉換電路結果重建相位俯視圖 (mirco-lens array 512*512). 圖 4.15Matlab 菲涅耳轉換重建相位俯視圖(mirco-lens array 512*512) 44.
(51) 第四章 實驗數據與效能分析. 圖 4.16 本論文菲涅耳轉換電路結果重建連續相位圖(mirco-lens array512*512). 圖 4.17 Matlab 菲涅耳轉換重建連續相位圖(mirco-lens array512*512) 45.
(52) 第五章 結論. 第五章 結論 本論文實現適用於大尺寸菲涅爾轉換硬體電路架構,並且透過軟體模擬結 果與硬體運算結果相互驗證確認還原結果正確。本論文所提出的架構有低 Block Memory Bits 消耗的優勢,希望能解決 On-Chip-RAM 記憶體不足的情 況,所以採用 FPGA 上面外部記憶體 Off-Chip-RAM 來取代,透過將影像資料 經由 DRAM Controller 存放於 DRAM 上,可以降低在 FPGA 開發板上 On-Chip RAM 的消耗以達到降低 Block Memory Bits 的消耗,使我們可以處理更大尺寸 的影像,讓本論文架構更有實用性。. 46.
(53) 參考文獻 [1] U. Schnars and W.P. Jueptner, Digital Holography, Springer-Verlag, 2005. [2] E. Cuche, P. Marquet and C. Depeursinge, “Simultaneous amplitude-contrast and quantitative phase-contrast microscopy by numerical reconstruction of Fresnel ofaxis holograms,” Appl. Opt., vol. 38, pp. 6994–7001, 1999. [3] M. Born and E. Wolf, Principles of optics, Cambridge University Press, 1999. [4] H. Oberst, D. Kouznetsov, K. Shimizu, J. Fujita, and F. Shimizu, “Fresnel diffraction mirror for atomic wave,” Phys. Rev. Lett., vol. 94, no.013203, 2005. [5] R. C. MacLaurin, Light, Columbia University Press, 1909. [6] N. Pandey, D. P. Kellya, T. J. Naughtona and B. M. Hennellya, “Speed up of Fresnel transforms for digital holography using precomputed chirp and GPU processing,” Proc. SPIE, vol. 7442, 2009. [7] Z. Zhu, M. Sun, H. Ding, S. Feng, and S. Nie, “Fast numerical reconstruction of digital holography based on graphic processing unit,” Pacific Rim Conference on Lasers and Electro-Optics, 2009. [8] T. Shimobaba, Y. Sato, J. Miura, M. Takenouchi, and T. Ito, “Real-time digital holographic microscopy using the graphic processing unit,” Opt. Express, vol. 16, pp. 11776-11781, 2008. [9] T. Nishitsuji, T. Shimobaba, T. Sakurai, N. Takada, N. Masuda, and T. Ito, “Fast calculation of Fresnel diffraction calculation using AMD GPU and OpenCL”, Digital Holography and Three-Dimensional Imaging, OSA Techinal Digest Optical Society of America, 2011. [10] N. Masuda, T. Ito, K. Kayama, H. Kono, S. Satake, T. Kunugi, and K. Sato, “Special purpose computer for digital holographic particle tracking velocimetry,” Opt. Express, vol. 14, pp. 587-592, 2006. 47.
(54) [11] 莊子昕, 以菲涅耳轉換及相位展開為基礎之數位全像顯微鏡在FPGA上之實 現, 國立臺灣師範大學資訊工程研究所, 2012. [12] Altera Corporation, DDR and DDR2 SDRAM Controller Compiler User Guide, 2009. [13] 陳建廷, 適用於高速菲涅耳轉換之積體電路架構設計, 國立臺灣師範大學資 訊工程研究所, 2013.. 48.
(55)
Outline
相關文件
可程式控制器 (Programmable Logic Controller) 簡稱 PLC,是一種具有微處理機功能的數位電子 設備
事實上,就算不是經濟不景,由於現代化下都市生活的發展,經濟和社會情況轉變,對
隨機實驗是一種過程 (process),是一種不能確定預知會
files Controller Controller Parser Parser.
First, when the premise variables in the fuzzy plant model are available, an H ∞ fuzzy dynamic output feedback controller, which uses the same premise variables as the T-S
These kind of defects will escape from a high temperature wafer sort test and then suffer FT yield, so it is necessary to add an extra cold temperature CP test in order to improve
This research is to integrate PID type fuzzy controller with the Dynamic Sliding Mode Control (DSMC) to make the system more robust to the dead-band as well as the hysteresis
為主要的積體電路單元元件,此元件同時利用電子與電洞兩種載子,來進行電流的傳