在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用FPGA設計軟件開放性性能優化MAX+PLUS II仿真軟件性能

電子設計 ? 來源:電子技術應用 ? 作者:蔡英武 ? 2020-09-02 17:15 ? 次閱讀

隨著數字技術的飛速發展,電子工程師在設計中越來越多地采用FPGA來實現復雜的數字功能,不僅僅是簡單的時序邏輯,更多的是諸如數字濾波器信號處理算法的實現等。這樣我們就必須要對FPGA設計進行全面的性能分析,而不僅僅是時序的驗證,這就對FPGA設計軟件的仿真功能提出了更高的要求。而現有的一些流行的FPGA設計工具并不能滿足這一要求。

MAX+PLUS II是ALTERA公司為自己的系列EPLD、FPGA提供的功能強大的設計及仿真軟件。在該軟件中,提供了從多種方法輸入、編譯一直到仿真的一系列配套功能,對于那些不是很復雜的時序邏輯設計來說,可以在一個軟件內方便地完成所有的設計及仿真工作。而對于那些復雜的設計則顯得力不從心了。

舉一個例子:對一個基于FPGA設計的雷達信號處理機,我們關心其在給定發現概率和虛警率的前提下的最小可檢測信噪比,或者在某一給定信噪比條件下其Pd、Pf是否能滿足要求。雖然在設計之前肯定已經做了諸如可行性分析、性能分析等一系列的工作,但是由于數字實現必須考慮的一些問題,如字長效應、算法簡化等,有可能使具體實現的性能比之理論分析有所下降,這個下降到底有多大?另外,采用的信號處理算法還有哪些沒有發現的缺陷?對設計者來說,能夠完全在軟件環境中通過仿真來解決這些問題遠比在不成熟的硬件環境中反復地調試、修改來的有效率,且有更大的彈性,更容易進行。

然而,當我們想通過MAX+PLUSII軟件自帶的仿真工具對復雜設計的性能作一個評估時,就會碰到許多困難。一般來說簡單仿真的步驟如圖1所示。其中,手工設置仿真輸入節點值只適用于輸入信號比較簡單的情況,而對于復雜的輸入信號就無能為力了。如上述雷達信號處理機的輸入信號,應該是許多個周期的雷達同步信號、雷達回波信號加上取決于接收信道的帶限噪聲構成的(后兩者應有給定的信噪比關系)。這類輸入信號不僅必須經嚴格計算得到,而且數量巨大,很難由手工輸入。

利用FPGA設計軟件開放性性能優化MAX+PLUS II仿真軟件性能

另外,一般我們對仿真結果的分析也僅限于直接觀察,只能對相對較簡單的結果作出判斷。而雷達信號處理機則必須做蒙特卡洛實驗(海量實驗)來統計其性能(如統計給定信噪比下的Pd、Pf),或對處理結果進行各種分析(如時頻分析)來判斷處理器是否最佳等。這樣,對仿真結果的分析也不能簡單地判斷,必須經專門的數學計算才能給出結論。

由此看來,MAX+PLUSII的仿真功能已經不能滿足對復雜設計進行仿真的要求,我們必須另找方法。當然,如果有像COSSAP這樣的軟件的話,就不存在上述問題了。但對于大多數設計者來說,他們一般很難有機會接觸到這些工作站上的大型軟件,更普及的是像MAX+PLUS II、MATLAB這樣的通用工具軟件。

我們知道,MATLAB是MathWorks公司推出的一種面向科學與工程計算的高級(語言)軟件,它集科學計算、自動控制、信號處理、神經網絡、圖像處理等于一體,具有極高的編程效率。它可以極方便地產生各種信號,進行各種變換、統計,另外它的繪圖功能也極為強大。它的這些特點正好可以彌補MAX+PLUSII在仿真功能上的缺陷。因此,本人在這里介紹一種利用MATLAB來產生復雜的仿真輸入信號,并對仿真輸出信號進行分析的方法。

1 聯合仿真方法介紹

1.1 聯合仿真流程

我們先介紹MATLAB與MAX+PLUSII聯合仿真的流程,以使大家心中有一個概念。然后再分別介紹各部分的實現。聯合仿真流程為:

(1)先在MATLAB中產生原始信號,并轉換為2/16進制序列;

(2)利用自己編寫的MATLAB函數按一定格式生成向量文件(*.vec,純文本文件);

(3)在MAX+PLUS II中,打開你要仿真的FPGA源文件,設置為“當前工程”并作編譯;

(4)打開simulator,選“FileInputs/Outputs”,輸入在MATLAB中生成的向量文件名,按:“確定”按鈕生成*.scf文件;

(5)進行仿真;

(6)選菜單“FileCreate Table Files”,生成相應的*.tbl文件(純文本文件);

(7)回到MATLAB下,運行自己編寫的函數,自動從Table文件提取需要的輸出數據、進制轉換(變為十進制),生成仿真結果序列;

(8)對結果序列進行進一步分析、處理。

1.2 仿真輸入文件

在MAX+PLUS II的仿真輸入文件中有一種文本形式的向量文件(VectorFile),其后綴名為“*.vec。這種文件是用一定格式的文本來描述仿真信號的。我們可以很方便地使用任何純文本編輯器來書寫文件,定義仿真時間長度,以相對/絕對時間單位來定義周期重復的輸入信號(如時鐘)和其它復雜輸入信號。下面給出一個該文件的簡單例子:

%時間單位缺省為以%

START 0; %定義仿真開始、結束時間%

STOP1000;

INTERVAL 100; %定義時間步長:100ns%

INPUTS CLOCK;

PATTERN

01; %相對向量值定義:CLOCK %

%每100ns翻轉一次%

INPUTS DATAINX DATAINY;

PATTERN %定義兩個輸入信號%

%DATAINX和DATAINY%

0> 00

220> 10

320> 11 %絕對時間描述%

570> 01 %大于號前為絕對時間值%

720> 11 %大于號后為兩個輸入值%

INPUTS CLEAR;

PATTERN

0> 1 %產生寬度100ns的清零信號%

100> 0 %100ns后CLEAR信號保持高電平%

在這個例子中,定義了一個周期為200ns的時鐘信號、一個100ns以前起作用的清零信號(高電平有效)以及兩個輸入信號DATAINX、DATAINY。在實際使用時,我們可以用同樣的方法方便地產生時鐘、復位等常用信號。而對于復雜的輸入信號,可以先用MATLAB來產生,然后以相對時間的方式寫入向量文件。

在產生復雜輸入信號之前,必須注意以下幾點:

第一,MATLAB產生的是浮點或整數信號,而數字模塊的輸入為N位二進制數,這之間有一個進制轉換的問題。因此,我們先要根據要采用的A/D位數對原始信號進行量化。

第二,在MAX+PLUS II的仿真器中,數據可以采用2/8/10/16進制顯示格式,但其十進制顯示用的是無符號數的方式,在表示那些補碼形式的2/8/16進制數時會發生錯誤,因此必須把輸入信號轉換為2/16進制數。

第三,進制轉換程序必須自己編制。因為MATLAB是用字符串來表示2/8/16進制數的,雖然有一些進制變換的函數(如HEX2DEC、DEC2HEX等),但尚不能滿足需要,必須在此基礎上自己編制新的函數。

1.3 仿真輸出文件

向量文件產生后,就可以進行仿真了,仿真結果轉換成Table文件輸出。Table 文件示例如下。

INPUTS clk reset din;

OUTPUTS y;

UNIT ns; %定義時間單位%

RADIX HEX; %定義顯示進制%

PATTERN

% r %

% e %

% csd %

% lei %

% ktn y %

0.0>X 0 0000=0000

40.0>X 1 0000=0000

50.0>0 1 0000=0000

……

1475.0>1 1 0000=0000

1500.0>X X XXXX=XXXX

Table文件的構成與向量文件大致相同。它的開始部分是注釋(同樣是以%…%標注的文字),接著是對輸入/輸出信號、時間單位、顯示采用進制的定義,第三部分就是對輸入/輸出信號在仿真后的列表。其中,“>”號以前的是時間值,“=”號后面則是我們關心的仿真輸出結果了。根據Table文件的這些特點,我們可以編制MATLAB函數將關心的東西(如時間值、某輸出結果)提取出來形成數據序列,以便后續處理。在這里要注意一個問題,就是Table文件中會對每一個信號的變化時刻都進行記錄,我們用圖2的一個簡單的D觸發器的部分仿真時序來作說明,圖中示出了D觸發器的輸入信號D、時鐘,以及其輸出信號Q,在這一段仿真中,Table文件會記錄從T1~T9的9個信號變化的時刻,這使得輸出信號的每一個值被記錄了多次。如果我們對此不加甄別就照單全收的話,就會對此后的分析工作帶來麻煩。因此,對于同步數字系統,我們只應提取那些我們關心的時鐘上沿/下沿時刻的輸出值。

2 應用實例

本人在自己的設計工作中使用了以上介紹的這種方法。我設計的是一個單脈沖雷達回波信號處理機,基本原理是信號的能量積累后檢測,其中采用了較復雜的信號處理算法,在原理驗證階段采用的是固定門限檢測。在用MAX+PLUSII設計完該信號處理機后,現實的問題就是要在給定Pd、Pf的條件下,根據具體的算法確定檢測門限。我們先在接收機上對接收機噪聲用示波器進行了測量并存儲了大量數據,然后將測量結果讀入MATLAB,形成一維數組。然后按以上介紹的方法對噪聲數據進行兩種處理:一是產生模擬回波信號(或采用真實回波信號采樣序列)、信號噪聲按一定信噪比混合、加上同步脈沖后形成多個周期的“有信號回波”,二是完全是噪聲的“無信號回波”;再結合其它必要的輸入信號(如時鐘信號、復位信號等)生成向量文件,在MAX+PLUSII中仿真后,分別提取仿真結果中的“有/無信號”的兩種能量積累結果進行分析,初步確定檢測門限,并由此結合理論分析對其檢測性能進行評估。

當然,這種完全在軟件環境中進行性能分析的方法并不是萬能的,它只能也只應起到輔助的作用,我們采用它的目的是為了使我們的設計變得更經濟、更省時、更可靠。畢竟,一個設計最終是要形成硬件,并在實際應用中去真正檢驗它的品質的。

總之,由于FPGA方便靈活的特點,使得這種器件在數字設計領域的應用越來越廣泛。而作為一個設計者,必須利用FPGA設計軟件的開放性,充分利用其它各種手段來保證我們的設計的可靠性,提高設計的品質。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21983

    瀏覽量

    614597
  • matlab
    +關注

    關注

    188

    文章

    2998

    瀏覽量

    233380
  • 仿真
    +關注

    關注

    51

    文章

    4245

    瀏覽量

    135374
  • PCB設計
    +關注

    關注

    396

    文章

    4788

    瀏覽量

    89394
  • 可制造性設計

    關注

    10

    文章

    2065

    瀏覽量

    16003
  • 華秋DFM
    +關注

    關注

    20

    文章

    3503

    瀏覽量

    5286
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于MAX+plusⅡ開發平臺的EDA設計方法

    的布局,再下載到硬件中實現設計。利用MAX + plus II進行電路設計的一般流程如圖1 所示。具體設計過程如下。  1) 設計輸入。 MAX
    發表于 06-16 08:47

    基于MAX+plusⅡ開發平臺的EDA設計方法

    自動完成各功能模塊的邏輯綜合與優化,門級電路的布局,再下載到硬件中實現設計。利用MAX + plus II進行電路設計的一般流程如圖1 所示
    發表于 06-24 13:48

    MAX+Plus II應用介紹及系統特點

    Max+plusⅡ是Altera公司提供的FPGA/CPLD開發集成環境,Altera是世界上最大可編程邏輯器件的供應商之一。Max+plusⅡ界面友好,使用便捷,被譽為業界最易用易學的EDA
    發表于 10-09 17:14

    Max+plusⅡ設計步驟

    一、設計流程使用Max+plus軟件設計流程由以下幾部分組成。如圖(八)所示。1、設計輸入:可以采用原理圖輸入、HDL語言描述、EDIF網表輸入及波形輸入等幾種方式。2、編譯:先根據設計要求設定
    發表于 10-09 17:28

    MAX PLUS II軟件的學習

    MAX PLUS II軟件的學習1    初步了解大規模可編程器件(FPGA)設計的全  
    發表于 10-24 19:17

    誰有max+plus軟件的 急急!!!!!!謝謝

    誰有max+plus軟件的急急!!!!!!謝謝
    發表于 03-09 23:09

    max+plus問題

    max+plus問題:max+plus是不是不支持vhdl的否則,為設么每次把vhdl轉換成圖形文件時總會提示library ieee; 哪行錯誤
    發表于 08-18 14:19

    MAX+Plus ii 軟件

    我最近在用MAX II系列下的芯片EPM240T100C5N,由于是新手就選擇了MAX+Plus ii 這個軟件,請問大家一下,這個
    發表于 11-19 21:33

    Max+Plus II簡易用戶使用入門指南

    Max+Plus II簡易用戶使用入門指南 nMAX+PLUS II 為實現不同的邏輯功能提供了許多符號,如:圖元符
    發表于 09-11 15:09 ?7次下載

    Altera MAX+plus II 介紹

    Altera MAX+plus II 介紹 一、軟件功能簡介MAX+plusⅡ(Multiple Array and Programming Logic User System)開發
    發表于 09-24 10:15 ?7866次閱讀
    Altera <b class='flag-5'>MAX+plus</b> <b class='flag-5'>II</b> 介紹

    MAX+PLUSⅡ的設計處理

    實驗三  MAX+PLUSⅡ的設計處理 一  實驗目的1掌握MAX+PLUSⅡ的基本使用。2掌握MAX+PLUSⅡ的設計處理過程中的編譯和仿真。3 掌
    發表于 03-13 19:19 ?1233次閱讀
    <b class='flag-5'>MAX+PLUS</b>Ⅱ的設計處理

    MAX+PLUSⅡ的層次設計

    實驗四、MAX+PLUSⅡ的層次設計一  實驗目的1進一步掌握MAX+PLUSⅡ的基本使用,包括設計的輸入、編譯和仿真。2掌握MAX+PLUSⅡ的層次化設計方法。二 
    發表于 03-13 19:20 ?1892次閱讀
    <b class='flag-5'>MAX+PLUS</b>Ⅱ的層次設計

    利用MATLAB增強MAX+PLUS II仿真功能

    ?摘 要: 介紹了一種利用工具軟件MATLAB強大的數學功能來增強ALTERA公司的可編程邏輯器件設計軟件MAX+PLUSII的仿真功能、提高設計品質的方法,有較強的針對
    發表于 06-20 11:45 ?970次閱讀
    <b class='flag-5'>利用</b>MATLAB增強<b class='flag-5'>MAX+PLUS</b> <b class='flag-5'>II</b>的<b class='flag-5'>仿真</b>功能

    MAX+PLUS II軟件下載入口

    MAX+PLUS II軟件下載入口
    發表于 09-14 14:27 ?447次下載

    第二章MAX+Plus II應用簡介

    Max+plusⅡ是Altera公司提供的FPGA/CPLD開發集成環境,Altera是世界上最大可編程邏輯器件的供應商之一。Max+plusⅡ界面友好,使用便捷,被譽為業界最易用易學的EDA
    發表于 07-13 10:09 ?0次下載
    主站蜘蛛池模板: 狠狠色噜噜狠狠色综合久 | 寡妇一级a毛片免费播放 | 32pao强力打造免费高速高清 | 欧美午夜视频在线 | 男人j进女人j的视频一进一出 | 日本精品高清一区二区2021 | 99热这里只有精品一区二区三区 | 干干干日日日 | 欧美freesex交| 好吊日在线 | 97国内精品久久久久久久影视 | 噜噜嘿 | 久久久国产精品网站 | 轻点灬大ji巴太粗太长了h | 手机看片国产免费久久网 | 国产精品一区二区三区四区五区 | 黄网站免费大全 | 日本精品视频一视频高清 | 女张腿男人桶羞羞漫画 | 国产成人精品男人的天堂538 | 国产精品久久久精品视频 | 免费观看美女被cao视频 | 一级毛片aaaaaa免费看 | 又粗又大的机巴好爽欧美 | h小视频在线观看网 | 经典三级第一页 | 久久久久国产精品免费看 | 九月丁香婷婷 | 免费一级特黄欧美大片勹久久网 | 天天色综合天天 | 久久久久99精品成人片三人毛片 | 特级免费毛片 | 成年网站在线 | 日本大片网 | 天堂网男人| 天天弄天天操 | 久久xxxx| 毛片区| 色爱区综合激情五月综合激情 | 久久精品夜夜夜夜夜久久 | 亚洲男人天堂2020 |