




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、利用MATLAB增強MAX+PLUS II的仿真功能 摘 要: 介紹了一種利用工具軟件MATLAB強大的數(shù)學(xué)功能來增強ALTERA公司的可編程邏輯器件設(shè)計軟件MAX+PLUSII的仿真功能、提高設(shè)計品質(zhì)的方法,有較強的針對性。 隨著數(shù)字技術(shù)的飛速發(fā)展,電子工程師在設(shè)計中越來越多地采用FPGA來實現(xiàn)復(fù)雜的數(shù)字功能,不僅僅是簡單的時序邏輯,更多的是諸如數(shù)字濾波器、信號處理算法的實現(xiàn)等。這樣我們就必須要對FPGA
2、設(shè)計進(jìn)行全面的性能分析,而不僅僅是時序的驗證,這就對FPGA設(shè)計軟件的仿真功能提出了更高的要求。而現(xiàn)有的一些流行的FPGA設(shè)計工具并不能滿足這一要求。 MAX+PLUS II是ALTERA公司為自己的系列EPLD、FPGA提供的功能強大的設(shè)計及仿真軟件。在該軟件中,提供了從多種方法輸入、編譯一直到仿真的一系列配套功能,對于那些不是很復(fù)雜的時序邏輯設(shè)計來說,可以在一個軟件內(nèi)方便地完成所有的設(shè)計及仿真工作。而對于那些復(fù)雜的設(shè)計則顯得力不從心了。 舉一個例子:對一個基于FPGA設(shè)計的雷達(dá)信號處理機,我們關(guān)心其在給定發(fā)現(xiàn)概率和虛警
3、率的前提下的最小可檢測信噪比,或者在某一給定信噪比條件下其Pd、Pf是否能滿足要求。雖然在設(shè)計之前肯定已經(jīng)做了諸如可行性分析、性能分析等一系列的工作,但是由于數(shù)字實現(xiàn)必須考慮的一些問題,如字長效應(yīng)、算法簡化等,有可能使具體實現(xiàn)的性能比之理論分析有所下降,這個下降到底有多大?另外,采用的信號處理算法還有哪些沒有發(fā)現(xiàn)的缺陷?對設(shè)計者來說,能夠完全在軟件環(huán)境中通過仿真來解決這些問題遠(yuǎn)比在不成熟的硬件環(huán)境中反復(fù)地調(diào)試、修改來的有效率,且有更大的彈性,更容易進(jìn)行。 然而,當(dāng)我們想通過MAX+POUSII軟件自帶的仿真工具對復(fù)雜設(shè)計的性能作一個評估時,就會碰到許多困難。
4、一般來說簡單仿真的步驟如圖所示。其中,手工設(shè)置仿真輸入節(jié)點值只適用于輸入信號比較簡單的情況,而對于復(fù)雜的輸入信號就無能為力了。如上述雷達(dá)信號處理機的輸入信號,應(yīng)該是許多個周期的雷達(dá)同步信號、雷達(dá)回波信號加上取決于接收信道的帶限噪聲構(gòu)成的(后兩者應(yīng)有給定的信噪比關(guān)系)。這類輸入信號不僅必須經(jīng)嚴(yán)格計算得到,而且數(shù)量巨大,很難由手工輸入。 另外,一般我們對仿真結(jié)果的分析也僅限于直接觀察,只能對相對較簡單的結(jié)果作出判斷。而雷達(dá)信號處理機則必須做蒙特卡洛實驗(海量實驗)來統(tǒng)計其性能(如統(tǒng)計給定信噪比下的Pd、Pf),或?qū)μ幚斫Y(jié)果進(jìn)行各種分析(如時頻分析)來判斷處理器是
5、否最佳等。這樣,對仿真結(jié)果的分析也不能簡單地判斷,必須經(jīng)專門的數(shù)學(xué)計算才能給出結(jié)論。 由此看來,MAX+PLUS II的仿真功能已經(jīng)不能滿足對復(fù)雜設(shè)計進(jìn)行仿真的要求,我們必須另找方法。當(dāng)然,如果有像這樣的軟件的話,就不存在上述問題了。但對于大多數(shù)設(shè)計者來說,他們一般很難有機會接觸到這些工作站上的大型軟件,更普及的是像MAX+PLUS II、MATLAB這樣的通用工具軟件。 我們知道,MATLAB是MathWorks公司推出的一種面向科學(xué)與工程計算的高級(語言)軟件,它集科學(xué)計算、自動控制、信號處理、神經(jīng)網(wǎng)絡(luò)、圖像處理等于一體
6、,具有極高的編程效率。它可以極方便地產(chǎn)生各種信號,進(jìn)行各種變換、統(tǒng)計,另外它的繪圖功能也極為強大。它的這些特點正好可以彌補MAX+PLUS II在仿真功能上的缺陷。因此,本人在這里介紹一種利用MATLAB來產(chǎn)生復(fù)雜的仿真輸入信號,并對仿真輸出信號進(jìn)行分析的方法。 聯(lián)合仿真方法介紹 聯(lián)合仿真流程 我們先介紹MATLAB與MAX+PLUS II聯(lián)合仿真的流程,以使大家心中有一個概念。然后再分別介紹各部分的實現(xiàn)。聯(lián)合仿真流程為: ()先
7、在MATLAB中產(chǎn)生原始信號,并轉(zhuǎn)換為2/16進(jìn)制序列; ()利用自己編寫的MATLAB函數(shù)按一定格式生成向量文件(*.vec,純文本文件); ()在MAX+PLUS II中,打開你要仿真的FPGA源文件,設(shè)置為“當(dāng)前工程”并作編譯; ()打開simulator,選“File/Inputs/Outputs”,輸入在MATLAB中生成的向量文件名,按:“確定”按鈕生成*.scf文件; ()進(jìn)行仿真; ()選菜單“File/Create T
8、able Files”,生成相應(yīng)的*.tbl文件(純文本文件); ()回到MATLAB下,運行自己編寫的函數(shù),自動從Table文件提取需要的輸出數(shù)據(jù)、進(jìn)制轉(zhuǎn)換(變?yōu)槭M(jìn)制),生成仿真結(jié)果序列; ()對結(jié)果序列進(jìn)行進(jìn)一步分析、處理。 .2 仿真輸入文件 在MAX+PLUS II的仿真輸入文件中有一種文本形式的向量文件(Vector File),其后綴名為“*.vec。這種文件是用一定格式的文本來描述仿真信號的。我們可以很方便地使用任何純文
9、本編輯器來書寫文件,定義仿真時間長度,以相對絕對時間單位來定義周期重復(fù)的輸入信號(如時鐘)和其它復(fù)雜輸入信號。下面給出一個該文件的簡單例子: 時間單位缺省為以 START 0; 定義仿真開始、結(jié)束時間 STOP 1000; iNTERVAL 100; 定義時間步長:100ns INPUTS CLOCK; PATTERN
10、; 01; 相對向量值定義:CLOCK 每100ns翻轉(zhuǎn)一次 INPUTS DATAINX DATAINY; PATTERN 定義兩個輸入信號 %DATAINX和DATAINY% 0>00 220 10 320 11%絕對時間描述 5
11、70 01%大于號前為絕對時間值 720 11%大于號后為兩個輸入值 ; INPUTS CLEAR; PATTERN 01%產(chǎn)生寬度100ns的清零信號 1000%100ns后CLEAR信號保持高電平 在這個例子中,定義了一個周期為200ns的時鐘信號、一個100ns以前起作用的清零信號(高電平有效)以及兩個輸入信號DATAI
12、NX、DATAINY。在實際使用時,我們可以用同樣的方法方便地產(chǎn)生時鐘、復(fù)位等常用信號。而對于復(fù)雜的輸入信號,可以先用MATLAB來產(chǎn)生,然后以相對時間的方式寫入向量文件。 在產(chǎn)生復(fù)雜輸入信號之前,必須注意以下幾點: 第一,MATLAB產(chǎn)生的是浮點或整數(shù)信號,而數(shù)字模塊的輸入為N位二進(jìn)制數(shù),這之間有一個進(jìn)制轉(zhuǎn)換的問題。因此,我們先要根據(jù)要采用的A/D位數(shù)對原始信號進(jìn)行量化。 第二,在MAX+PLUS II的仿真器中,數(shù)據(jù)可以采用2/8/10/16進(jìn)制顯示格式,但其十進(jìn)制顯示用的
13、是無符號數(shù)的方式,在表示那些補碼形式的2/8/16進(jìn)制數(shù)時會發(fā)生錯誤,因此必須把輸入信號轉(zhuǎn)換為2/16進(jìn)制數(shù)。 第三,進(jìn)制轉(zhuǎn)換程序必須自己編制。因為MATLAB是用字符串來表示2/8/16進(jìn)制數(shù)的,雖然有一些進(jìn)制變換的函數(shù)(如HEX2DEC、DEC2HEX等),但尚不能滿足需要,必須在此基礎(chǔ)上自己編制新的函數(shù)。 .3 仿真輸出文件 向量文件產(chǎn)生后,就可以進(jìn)行仿真了,仿真結(jié)果轉(zhuǎn)換成Table文件輸出。Table 文件示例如下。 INPUTS cl
14、k reset din; OUTPUTS y UNIT ns 定義時間單位 RADIX HEX; 定義顯示進(jìn)制 PATIERN r e csd lei ktny 0.0X 0 0000=0000 40.0X 1 0000=0000
15、 50.00 1 0000=0000 1475.01 1 0000=0000 1500.0X X XXXX=XXXX Table文件的構(gòu)成與向量文件大致相同。它的開始部分是注釋(同樣是以標(biāo)注的文字),接著是對輸入輸出信號、時間單位、顯示采用進(jìn)制的定義,第三部分就是對輸入輸出信號在仿真后的列表。其中,“”號以前的是時間值,“”號后面則是我們關(guān)心的仿真輸出結(jié)果了。根據(jù)Table文件的這些特點,我們可以編制MATLAB函數(shù)將關(guān)心的東西(如時間值、某輸出結(jié)果)提取
16、出來形成數(shù)據(jù)序列,以便后續(xù)處理。在這里要注意一個問題,就是Table文件中會對每一個信號的變化時刻都進(jìn)行記錄,我們用圖的一個簡單的D觸發(fā)器的部分仿真時序來作說明,圖中示出了觸發(fā)器的輸入信號D、時鐘,以及其輸出信號Q,在這一段仿真中,Table文件會記錄從T1T9的9個信號變化的時刻,這使得輸出信號的每一個值被記錄了多次。如果我們對此不加甄別就照單全收的話,就會對此后的分析工作帶來麻煩。因此,對于同步數(shù)字系統(tǒng),我們只應(yīng)提取那些我們關(guān)心的時鐘上沿下沿時刻的輸出值。 應(yīng)用實例 本人在自己的設(shè)計工作中使用了以上介紹的這種方法。我設(shè)計的是一個單脈沖雷達(dá)回波信號處理機,基本原理是信號的能量積累后檢測,其中采用了較復(fù)雜的信號處理算法,在原理驗證階段采用的是固定門限檢測。在用MAX+PLUS II設(shè)計完該信號處理機后,現(xiàn)實的問題就是要在給定Pd、Pf的條件下,根據(jù)具體的算法確定檢測門限。我們先在接收機上對接收機噪聲用示波器進(jìn)行了測量并存儲了大量數(shù)據(jù),然后將測量結(jié)果讀入MATLAB,形成一維數(shù)組。然后按以上介紹的方法對噪聲數(shù)據(jù)進(jìn)行兩種處理:一是產(chǎn)生模擬回波信號(或采用真實回波信號采樣序列)、信號噪聲按一定信噪比混合、加上同步脈沖后形成多個周期的“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 滑雪服企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 仿制藥生產(chǎn)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 兒童內(nèi)衣企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 養(yǎng)生保健品質(zhì)量追溯系統(tǒng)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 木質(zhì)保溫容器企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 不銹鋼食具企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 鉬礦企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 口腔正畸器材精準(zhǔn)設(shè)計行業(yè)跨境出海戰(zhàn)略研究報告
- 辛基酚企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 中藥配方顆粒制劑生產(chǎn)行業(yè)跨境出海戰(zhàn)略研究報告
- 米伊林《十萬個為什么》導(dǎo)讀課課件
- 五年(2020-2024)高考?xì)v史真題分類匯編(山東)專題12 世界殖民體系的形成、瓦解與亞非拉民族民主運動(原卷版)
- 《處方藥和非處方藥管理現(xiàn)狀、存在的問題及完善對策研究》6900字(論文)
- 《股權(quán)激勵對公司績效影響探究的國內(nèi)外文獻(xiàn)綜述》5800字
- 橋梁專業(yè)承臺墩身試題及答案
- 醫(yī)院進(jìn)修匯報
- 2024至2030年中國阻隔防爆橇裝式加油裝置行業(yè)投資前景及策略咨詢研究報告
- DB34∕T 3247-2018 井采煤礦綠色礦山建設(shè)要求
- 2024至2030年中國小模數(shù)齒輪市場調(diào)查與行業(yè)前景預(yù)測專題研究報告
- DB32T-公路橋梁水下結(jié)構(gòu)檢測評定標(biāo)準(zhǔn)
- 小學(xué)語文教師讀書筆記范文(5篇)
評論
0/150
提交評論