- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
國立台灣大學土木工程研究所
民國94年(碩士)學位論文摘要
以可程式化邏輯閘陣列開發矩陣解法器
研究生:丁久棻
指導教授:陳俊杉
第一章 緒論
本研究目的旨在討論求解線性代數迭代式演算法與序列式演算法在FPGA實作時之平行特性,以及設計對應之最佳元件規劃。另外利用編程軟核處理器與組合周邊元件的方式設計矩陣解法器之嵌入式系統,提供兩種在個人電腦中央處裡器以外平台求解線性代數的解決方案,並且觀察計算效率與矩陣維度關係。
本論文之架構如下:第二章當中將簡單介紹本研究使用工具、技術,以及開發環境。第三章則是針對迭代演算法Jacobi Iteration與序列式演算法Gauss-Jordan Elimination分析問題複雜度、平行特性、與對應的最佳元件規劃。第四章說明程式開發細節,包括個人電腦端數據傳輸、接收之終端機程式實作,以VHDL設計浮點數運算元件與序列式演算法元件,和如何利用編程軟核微處理器建立矩陣解法器嵌入式系統。第五章分析效率測試數據表現,第六章為結論並討論本研究之貢獻與未來可能的後續發展工作。
第二章 以FPGA為驗證平台之嵌入式系統開發環境
可程式化邏輯閘陣列(FPGA)是一種可抹寫矽晶片,內含數千至數十萬個邏輯閘,通常被VLSI晶片開發工程師用來作為設計、建模以及驗證的平台。一般用於開發FPGA晶片的硬體描述語言(Hardware Description Language,簡稱HDL)有兩種:VHDL以及Verilog HDL。表2-1中列舉幾項VHDL與C/C++語言重要的異同點,可以看出兩種語言在設計觀念上的差異。
表2-1 VHDL與C/C++比較
VHDL
C/C++
程式碼執行順序:
在VHDL中必須加入固定震盪頻率時鐘訊號作為更新週期以及“process”語法才可序列式執行
一律序列式執行,在函數內每行程式碼執行順序按照書寫順序
“for”語法
一次對一個index所指到的對象執行指令
一次對所有index所指到的對象執行指令
變數型別
std_logic_vector、unsigned、integer可自訂長度
int, float, double….等長度已指定
物件導向
有“have-a”關係,但沒有“is-a”
複雜的繼承與多型
封裝介面
以針腳(port)寬度與in-out屬性呈現
以公開函數成員呈現
引用函式庫
VHDL亦可引用函式庫,介面為設定參數與回傳值
設定傳入參數及回傳型態為值、參考、或指標
嵌入式系統(embedded system)廣泛定義指一個可以程式化小型電腦,與一般複雜電腦系統例如個人電腦不同之處為,PC傾向於處理各種用途的程式,但嵌入式系統僅提供特定功能並且有即時性反應。嵌入式系統採用的微處理器,可分軟核(soft core)與硬核(hard core)兩種形式軟核處理器以軟核矽智財(soft IP)形式呈現,開發者所取得的將是一套微處理器繞線設計程式碼。開發者可以選擇只建置/繞線特定功能的元件,還可加入自訂硬體元件。
本研究所採用之MicroBlazeTM為FPGA晶片主要製造商之一Xilinx?公司所推出的32位元軟核處理器,嵌入式系統開發者可以透過Xilinx所提供的整合開發環境Platform StudioTM編程系統及選擇欲建置的週邊元件(Peripheral)。Platform Studio內含C語言編譯器,開發者可以使用C語言編程系統,然而受限於系統運作平台,並非支援所有標準C的函式庫。
第三章 迭代演算法與序列式矩陣解法器
我們可以將一般矩陣代數[A]{x} = {b}展開如下式,式中xi及bi表示x陣列與中第i個元素,而Aij表示A矩陣內第i列第j行的元素,第k次猜測的x陣列值註為xn(k),則可以得到下一個第k+1次猜測值。
x
x1(k+1) = (b1 – A12 x2(k) – A13 x3(k) – … – A1n xn(k) )/ A 11
x2(k+1) = (b2 – A21 x1(k) – A23 x3(k) – … – A2n xn(k) )/ A 22
x3(k+1) = (b3 – A31 x1(k) – A32 x2(k)– … – A3n xn(k) )/ A 33
…
xn(k+1) = (bn – An1 x1(k) – An2 x2(k) – … – An(n-1) xn-1(k) )/ A nn
(3-1)
對於計算每一個xn(k+1)所需要的係數在每次迭代中都不會改變,並且對於每一式僅需要保存一維陣列係數,與其他式的係數無關。每一式更新迭代後的xn(k),即可獨立計算並且產生下一次迭代的xn(k+1)值,此種特性即為Jacobi Iteration演算法適合作為平行計算架構的優勢。此解法器採用迭代式演算法,需要經
原创力文档


文档评论(0)