999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Cycle True準則的算法仿真和RTL代碼生成方法研究

2012-07-04 12:23:08
科技視界 2012年6期

宋 燦

(安徽理工大學 安徽 淮南 232001)

0 引言

與純粹的算法仿真不同,實現性的仿真不僅需要確定算法的正確性和性能,還需要生成實時語言硬件代碼RTL。通常這種實現過程并不是直接通過手工編寫的方式來實現算法的硬件代碼,而是建立在部分算法仿真的基礎之上。首先,在Matlab中搭建Simulink仿真模塊。然后,進行數據定點化,確認無誤之后可以通過HDL coder來生成硬件代碼。然而生成的這些代碼未必直接能在硬件平臺上運行,那怕只是仿真編譯都未必可以通過,這時候我們就需要后續的一系列手段來保證硬件代碼生成后可以在硬件平臺上順利運行。通常我們以一個5步流水的方式來生成最后可在硬件上運行的代碼。整個過程的流程圖如圖1所示。

圖1 基于Cycle True準則的RTL代碼實現的流程圖

1 仿真環境介紹

為了更好地介紹硬件代碼的實現過程,首先介紹一下在這個過程中需要使用到的仿真環境。整個流程中我們使用到的仿真環境主要有MATLAB是矩陣實驗室(Matrix Laboratory)、Quartus II:由Altera公司針對自家生產的硬件所設計的綜合性PLD開發軟件、Mentor公司的ModelSim:一款HDL語言仿真軟件,業界唯一的單內核支持VHDL和Verilog混合仿真的仿真器。

2 RTL代碼實現流程

2.1 Matlab的理論驗證和性能確定

這是所有理論設計的第一步驗證,通過Matlab-simulink搭建系統模型,并在仿真運行后觀察系統關鍵位置的數據是否符合理論標準,以及確定整個算法的性能。之后的步驟不再影響或考慮性能因素,只涉及正確性問題。其中需要說明的是,理論驗證一開始需要先搭建一個行為級的算法實現,每個模塊直接由Simulink提供,這一步基本上就已經確定了算法本身的性能。但是這一步所實現的算法,僅僅是性能驗證而已無法用來生成硬件代碼。這一步得到的結果我們稱之為x版或行為級模塊。接下來需要通過最基本的邏輯電路來搭建一個可實現級的算法模塊。這一步得到的結果我們稱之為q版。以OFDM解調使用到的FFT模塊為例,圖2給出了FFT算法的Simulink實現以及仿真方法。

接下來,我們將x版和q版中同等位置的數據作差,如果得到的差為0則說明得到的結果相同,若結果不同結果應為±1,則說明出現了錯誤。對這個結果取絕對之后再循環累加來統計出先錯誤的次數。通常情況下我們要求累加結果一直為0。之后的每一步算法或代碼實現后都要類似的與原始的x版進行比較。

圖2 帶有512點FFT的OFDM仿真

2.2 定點化仿真

定點化:在實際硬件中信號僅可傳遞2進制數,因此需要一個將各輸入輸出節點及線路上的數據類型轉化為2進制定點數表示。除此之外既然是定點數據,那么的長度也是該步驟需要考慮的問題。在對數據精度某個特定的要求情形下確定各個節點的長度,防止某些節點出現數據溢出,或必要時截斷某些數據,這些步驟決定了定點化是一個工作量比較大的仿真環節。以一個無符號二進制整形數據為例,1位2進制數類型設為Boolean。十進制整數先換算成二進制 (比如144先2進制表示為10010000)從而確定其寬度為8位,因此設定類型uint8即無符號8位2進制數。值得注意的是某些電路節點的數據寬度是可變的,例如在一些反饋回路中 輸出和輸入的位寬不同 (比如循環累加器)并且輸出信號可能再次成為輸入信號,按照原有既定的輸入寬度在累加到一定次數后即可能溢出。因此輸入的寬度要和累加器輸出最大寬度保持一致。對于有符號數或小數的則要確定小數,比如對于一個整數部分為3位小數部分為11位的一個有符號小數,則需要將數據類型選擇為sfix(14,11),其中14表示總共的二進制數的位數為14,其中小數占據11位。因此我們需要將輸出數據類型Output data type(如果可能的話還包括輸入數據類型Input data type)由繼承內部規則Inherit via internal rule改為進過計算后得出的類型。定點化所生成的模塊版本成為e版。仿真運行正確后,可以使用Matlab內建工具生成HDL代碼,為后面的HIL仿真和最后的硬件仿真做準備工作。在我們實際應用中生成的是Verilog HDL代碼。圖3給出了HDL代碼的生成工具。

圖3 HDL代碼生成界面

2.3 Simulink與Modelsim的協同仿真

協同仿真Co-simulation是一種用到了2個或多個仿真環境的仿真方法。可以認為是軟件仿真向硬件仿真的過渡。這里需要Simulink和Modelsim協同完成。Modelsim和Simulink分別調用了各自的庫文件。其中Modelsim的庫文件很多來自于Altera,因此和硬件庫相關。而Simulink的庫幾乎都來自于Matlab,更貼近我們最原始的算法版本。因此可以認為這一步是由到HDL代碼生成到硬件回路仿真(HIL)的過渡。驗證生成的代碼是否可綜合。實際操作中可以用新建的cosimulation模塊替換原有的e版模塊。

2.4 HIL

這一步稱為硬件回路仿真:Hardware in the loop(HIL),是一種硬件級的仿真。我們采用的是DSP builder與QuartusII聯調方式,因此也是一種協同仿真。DSP builder是Altera提供的一個基于Simulink的仿真組件。HIL模塊示意圖如圖4所示。

圖4 HIL模塊

HIL被證明是一種有效的解決方法。該技術能確保在開發周期早期就完成嵌入式軟件的測試。到系統整合階段開始時,嵌入式軟件測試就要比傳統方法做得更徹底更全面。這樣可以及早地發現問題,因此降低了解決問題的成本。HIL仍然是一種協同仿真,只是這次不同的是用到了FPGA硬件。驗證編譯器將HDL代碼綜合成硬件代碼并驗證是否正確。需要注意的是如果這一步可能會出現一些問題,而不同的問題反應了前面不同的地方存在著問題。硬件代碼在編譯綜合時消耗了過長時間或無法綜合說明原有代碼生成工具可能存在問題,因此需要進行檢查代碼并手工修改。

2.5 硬件仿真

在以上各步驟均驗證正確或符合性能指標之后即可進行硬件系統搭建。值得注意的是上一個步驟使用到的硬件并非完整的系統,通常只是用到了一個FPGA處理器,并不包含其他元器件。而這一步則是要對制作好的硬件pcb板在算法或功能上進行全面調試。因此除了要測試算法以外,還要對外設驅動,控制程序等做全面測試。

3 總結

在實際的工程應用中由于工作量大,細節繁瑣,那么仿真過程中如果出現問題在普通的機制下往往會出現有錯無從查找原因的尷尬局面。基于Cycle True準則的仿真和RTL代碼生成的方法很好的保證了每個環節的正確性或可糾錯性。一旦在當前步驟發現錯誤,可以很快的根據Cycle True準則在相關的環節中尋找錯誤。因此極大的提高了工作效率和可靠性。

[1]應啟衍,鄭君里.Matlab綜合實驗[M].北京:高等教育出版社,2008.

[2]岡薩雷斯.數字圖像處理Matlab版[M].電子工業出版社,2005,9.

[3]Alan V.Oppenheim&John R.Buck.Discrete-Time Signal Processing[M].西安交通大學出版社,2001,9.

[4]桑吉特·米特拉.數字信號處理:基于計算機的方法[M].電子工業出版社,2011,9.

主站蜘蛛池模板: 欧美激情视频一区二区三区免费| 中文字幕永久视频| 五月丁香在线视频| 自拍偷拍欧美日韩| 制服丝袜一区二区三区在线| 中日韩一区二区三区中文免费视频 | 中文字幕免费播放| 伊人久久婷婷五月综合97色| 国产视频欧美| 中文字幕无线码一区| 欧美乱妇高清无乱码免费| 色综合手机在线| 久久美女精品| 久久久久久久久18禁秘| 特黄日韩免费一区二区三区| 国产亚卅精品无码| 88国产经典欧美一区二区三区| 69国产精品视频免费| 97狠狠操| 国产亚洲视频中文字幕视频| 亚洲精品国产自在现线最新| 欧美亚洲国产精品久久蜜芽| 免费A级毛片无码免费视频| 国产精品第一区| 国产最爽的乱婬视频国语对白| 中文字幕在线不卡视频| 日本精品一在线观看视频| 无码AV日韩一二三区| 欧美色综合网站| 亚洲国产天堂久久综合| 亚洲中文久久精品无玛| 国产美女无遮挡免费视频| 国产女人18水真多毛片18精品| 一级爱做片免费观看久久| 亚洲欧洲美色一区二区三区| 国产免费人成视频网| 婷婷午夜影院| 制服丝袜国产精品| 精品一区二区三区无码视频无码| 99久久国产自偷自偷免费一区| 国产手机在线观看| 日韩无码视频网站| 日韩在线永久免费播放| 偷拍久久网| 欧美视频在线第一页| 亚洲国产天堂久久九九九| 亚洲天堂视频网站| 亚洲天堂网在线播放| 免费一级毛片| 在线播放国产一区| 亚洲精品不卡午夜精品| 国产毛片久久国产| 玖玖免费视频在线观看| 免费A级毛片无码免费视频| 国产亚洲精品自在久久不卡| 爽爽影院十八禁在线观看| 国产精品99在线观看| 免费高清毛片| 亚洲无限乱码| 精品国产美女福到在线直播| 午夜福利视频一区| 亚洲中文字幕无码mv| 欧美日韩高清在线| 99久久精品视香蕉蕉| 日韩欧美网址| 2022国产91精品久久久久久| 亚洲综合18p| 国产一级二级在线观看| 免费一看一级毛片| 最新国产网站| 天天躁日日躁狠狠躁中文字幕| 精品久久香蕉国产线看观看gif| 欧美天堂在线| 国产亚洲欧美在线中文bt天堂| 狠狠五月天中文字幕| 青青青国产精品国产精品美女| 99精品在线看| 91无码人妻精品一区| 国产色网站| 国产欧美在线观看一区| 欧美国产精品不卡在线观看| 久久毛片网|