亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MATLAB中多EDA軟件實現(xiàn)數(shù)字系統(tǒng)設(shè)計

        2010-05-15 00:29:52周永川
        無線電通信技術(shù) 2010年3期
        關(guān)鍵詞:代碼生成代碼建模

        高 峰,周永川

        (中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

        0 引言

        在目前的大規(guī)模集成電路設(shè)計中,系統(tǒng)級設(shè)計和邏輯設(shè)計往往是分開進行的。系統(tǒng)設(shè)計人員使用諸如C/C++、Matlab、COSSAP、SPW等系統(tǒng)設(shè)計語言和軟件進行系統(tǒng)描述和算法仿真,并書寫系統(tǒng)設(shè)計書,然后移交給電路設(shè)計部門。電路設(shè)計人員,首先要花大量的時間理解系統(tǒng)設(shè)計書后,才能利用VHDL或者Verilog HDL硬件描述語言進行電路設(shè)計。根據(jù)有關(guān)統(tǒng)計從系統(tǒng)級設(shè)計到電路級設(shè)計所花費的時間一般是系統(tǒng)級設(shè)計所花時間的3倍左右。因此在系統(tǒng)級設(shè)計與電路級設(shè)計之間架設(shè)一座橋梁已經(jīng)成為電路設(shè)計領(lǐng)域極為迫切的任務(wù)。對于片上系統(tǒng)設(shè)計而言,除了上述問題以外,還面對著如何處理嵌入式CPU或DSP與大規(guī)模邏輯電路的軟硬件協(xié)同設(shè)計問題。由于CPU或DSP多用C/C++或匯編語言來仿真和驗證,而邏輯電路則使用VHDL或者Verilog-HDL硬件描述語言進行仿真和驗證。因此,需要2種不同的仿真工具和仿真環(huán)境來支持設(shè)計工作。這2種不同的仿真和驗證環(huán)境,不僅增加了設(shè)計周期和設(shè)計成本,而且容易造成設(shè)計錯誤。

        為了實現(xiàn)系統(tǒng)級與電路級設(shè)計的融合,同時解決硬軟件協(xié)同設(shè)計問題,最好的辦法是尋求一個既能兼容系統(tǒng)級設(shè)計和邏輯設(shè)計,又能兼容邏輯電路軟硬件仿真與驗證的綜合集成環(huán)境?;贛ATLAB集成環(huán)境下的多EDA軟件聯(lián)合設(shè)計便可以很好地解決這個問題。

        1 MATLAB環(huán)境下數(shù)字系統(tǒng)設(shè)計

        1.1 設(shè)計工具

        MATLAB結(jié)合第3方軟硬件產(chǎn)品組成了在不同領(lǐng)域內(nèi)的完整解決方案,實現(xiàn)了從算法開發(fā)到實時仿真再到代碼生成與最終產(chǎn)品實現(xiàn)的完整過程。

        主要的典型應(yīng)用包括:

        控制系統(tǒng)的應(yīng)用與開發(fā)——快速控制原型與硬件在回路仿真的統(tǒng)一平臺dSPACE;

        信號處理系統(tǒng)的設(shè)計與開發(fā)——全系統(tǒng)仿真與快速原型驗證,TI DSP、Lyrtech等信號處理產(chǎn)品軟硬件平臺;

        通信系統(tǒng)設(shè)計與開發(fā)——結(jié)合RadioLab 3G和Candence等產(chǎn)品;

        機電一體化設(shè)計與開發(fā)——全系統(tǒng)的聯(lián)合仿真,結(jié)合Easy 5、Adams等。

        MATLAB開放的產(chǎn)品體系使MATLAB成為了諸多領(lǐng)域的開發(fā)首選軟件,并且,MATLAB還具有300余家第3方合作伙伴,分布在科學計算、機械動力、化工、計算機通訊、汽車、金融等領(lǐng)域。接口方式包括了聯(lián)合建模、數(shù)據(jù)共享、開發(fā)流程銜接等等。

        1.2 設(shè)計流程

        傳統(tǒng)的DSP系統(tǒng)開發(fā)人員在設(shè)計一個DSP系統(tǒng)時,一般先研究算法,再使用MATLAB或C語言驗證算法,最后由硬件工程師在FPGA或DSP上實現(xiàn)并驗證。在MATLAB集成環(huán)境下使用多EDA軟件的典型DSP系統(tǒng)設(shè)計流程如下:

        ①用數(shù)學語言描述算法;②設(shè)計環(huán)境中使用雙精度數(shù)實現(xiàn)算法;③將雙精度運算變?yōu)槎c運算;④將設(shè)計轉(zhuǎn)換為有效的硬件描述語言實現(xiàn)。

        設(shè)計人員先在MATLAB中對系統(tǒng)進行建模和算法驗證,經(jīng)過仿真后便可以直接將系統(tǒng)映射為基于FPGA的底層硬件實現(xiàn)方案??捎肧imulink提供的圖形化環(huán)境對系統(tǒng)進行建模,代碼轉(zhuǎn)換工具可自動生成FPGA綜合、仿真和實現(xiàn)工具所需的命令文件,因此用戶可以在圖形化環(huán)境中完成系統(tǒng)模型的硬件開發(fā)。

        1.2.1 建模

        Simulink、Stateflow和Simulink Blocksets提供了一個集成的交互圖形化動態(tài)建模環(huán)境。強大的仿真能力能夠?qū)﹄x散、連續(xù)、條件執(zhí)行、事件驅(qū)動、多速率、混雜系統(tǒng)等進行分析。通過使用Simulink、Stateflow、DSP Blocksets,可以快速、準確地仿真系統(tǒng)中每一部分的行為,包括實時DSP算法,數(shù)字、模擬和混合信號處理硬件,控制邏輯,通信協(xié)議和同步循環(huán),還可以考慮信道、聲學和其他物理效應(yīng)。利用Simulink可視化的建模方式,可迅速地建立動態(tài)系統(tǒng)的框圖模型,Simulink的分級建模能力使得體積龐大,結(jié)構(gòu)復雜的模型構(gòu)建也簡便易行。

        1.2.2 實時仿真[1,2]

        為了完成仿真的實時性,要用到一個Simulink的配套工具 Real-Time Workshop(RTW),它和C或C++編譯器編譯,可將程序生成獨立于MATLAB環(huán)境的應(yīng)用程序,運行到實時的工業(yè)過程中。Real-Time Windows Target使用一個很小的實時內(nèi)核來保證它開發(fā)出來的應(yīng)用程序可以實時運行。實時核心運行在Ring0級,使用內(nèi)置PC時鐘作為它的時鐘來源,該內(nèi)核在Windows獲取之前截取PC時鐘的中斷,程序無法調(diào)用Windows系統(tǒng)提供的函數(shù)。正因如此,在C語言S函數(shù)中不允許使用Win32 API。內(nèi)核使用時鐘中斷觸發(fā)已編譯模型執(zhí)行,并能唯實時應(yīng)用程序最高的優(yōu)先級。

        利用Simulink及其工具集運行仿真模型,調(diào)試控制參數(shù)。Simulink的示波器可以動畫和圖形顯示數(shù)據(jù),能夠在仿真運算進行時監(jiān)視仿真結(jié)果。

        1.2.3 代碼生成

        在MATLAB產(chǎn)品族中,自動化的代碼生成工具主要有Real-Time Workshop(RTW)和Stateflow Coder,這2種代碼生成工具可以直接將Simulink的模型框圖和Stateflow的狀態(tài)圖轉(zhuǎn)換成高效優(yōu)化的程序代碼。利用RTW生成的代碼簡潔、可靠、易讀。目前RTW支持生成標準的C語言代碼,并且具備了生成其他語言代碼的能力。整個代碼的生成、編譯以及相應(yīng)的目標下載過程都可以自動完成的,用戶需要做的僅僅使用鼠標點擊幾個按鈕即可。MathWorks公司針對不同的實時或非實時操作系統(tǒng)平臺,開發(fā)了相應(yīng)的目標選項,配合不同的軟硬件系統(tǒng),可以完成快速控制原型(Rapid Control Prototype)開發(fā)、硬件在回路的實時仿真(Hardware-in-Loop)、產(chǎn)品代碼生成等工作。另外,MATLAB開放性的可擴充體系允許用戶開發(fā)自定義的嵌入式系統(tǒng)目標,利用Real-Time Workshop Embedded Coder能夠直接將Simulink的模型轉(zhuǎn)變成效率優(yōu)化的產(chǎn)品級代碼。代碼不僅可以是浮點的,還可以是定點的。

        對于FPGA設(shè)計,Xilinx公司的System Generator和Altera公司的DSP Builder允許用戶建立位真實、周期精確的IP模型,將浮點模型調(diào)整為定點模型并在FPGA模塊上實現(xiàn)這些模型。然后,所得的HDL將直接進入后序的綜合流程。System Generator和DSP Builder軟件是由MathWorks分別與Xilinx公司和Altera公司合作開發(fā)而成,DSP設(shè)計人員可使用MATLAB和Simulink工具在FPGA內(nèi)進行開發(fā)和仿真來完善DSP設(shè)計。該2種軟件為系統(tǒng)級DSP設(shè)計與FPGA硬件實現(xiàn)的融合起到了橋梁作用,而這一點對于高性能DSP系統(tǒng)的設(shè)計者來說,正是至關(guān)重要的。

        另外,用戶可以使用FDATool或命令行函數(shù)調(diào)用的方式來設(shè)計濾波器,然后利用Filter Design HDL Coder來生成VHDL或Verilog代碼。Filter Design HDL Coder擴充了MATLAB的硬件實現(xiàn)能力。在Filter Design Toolbox中設(shè)計的定點濾波器利用FilterDesign HDL Coder可以生成有效的、可綜合和可移植的VHDL、Verilog代碼,這些代碼可以最終在ASIC和FPGA芯片上實現(xiàn)。利用Filter DesignHDL Coder同樣可以自動生成用于快速仿真、測試和驗證生成代碼的VHDL、Verilog、ModelSim測試基準程序。

        Link for ModelSim可以和Xilinx System Generator或Altera DSP Builder協(xié)同工作。這意味著你可以使用Xilinx System Generator以及Altera DSP Builder來完成你的部分系統(tǒng)設(shè)計。因此你可以在一個完整的環(huán)境下進行 MATLAB、C/C++、Simulink blocks、自己設(shè)計的HDL實體、以及Xilinx System Generator所提供的模塊或Altera DSP Builder blocks所提供模塊的聯(lián)合仿真。Link for ModelSim是一個把MATLAB、Simulink和針對FPGA、ASIC的硬件設(shè)計流程無縫連結(jié)起來的聯(lián)合仿真的接口擴展模塊。它提供一個快速的雙向連接將MATLAB、Simulink和硬件描述語言仿真器Modelsim連接起來。使二者之間直接的聯(lián)合仿真成為可能,并且讓你更高效地在MATLAB/Simulink中驗證ModelSim中的寄存器傳輸級(RTL)模型。

        2 設(shè)計實例

        為了更加清楚地說明MATLAB環(huán)境下多EDA軟件聯(lián)合設(shè)計的優(yōu)勢,下面結(jié)合工程實踐,介紹一個數(shù)字上變頻器(DUC)的FPGA開發(fā)實例。設(shè)計在Simulink環(huán)境下建模、仿真、代碼生成,自動調(diào)用System Generator軟件、ISE軟件,大大節(jié)省了開發(fā)時間[3]。

        設(shè)計用System Generator實現(xiàn)DUC,DUC是調(diào)用Xilinx公司開發(fā)的IP Core。在Simulink環(huán)境下創(chuàng)建的模型如圖1所示。

        圖1 DUC的Simulink模型框圖

        信號源是由正弦波發(fā)生器提供一個低頻率的單頻信號,它是由MATLAB/Simulink本身提供的,不屬于Xilinx模塊。信號源之后使Gateway In模塊,它將浮點數(shù)轉(zhuǎn)換成指定寬度的定點數(shù),因為FPGA里面不能直接實現(xiàn)浮點運算。中間是Xilinx的DUC IP Core,主要是完成數(shù)字上變頻的功能,也是進行代碼轉(zhuǎn)換的對象。Gateway Out模塊的作用剛好與Gateway In模塊的作用相反,是將定點數(shù)轉(zhuǎn)換成Simulink能識別的浮點數(shù),以便將信號送往示波器上顯示。最后一級是信宿和示波器,主要是對上變頻后的信號進行時域波形顯示和頻譜分析。

        3 仿真驗證

        運行Simulink進行仿真,可以看到輸出的波形及其頻譜圖,如圖2所示。圖2所示信號是將100kHz信號上變頻到10MHz的結(jié)果。

        圖2 DUC變換后的頻譜圖

        確認DUC在Simulink環(huán)境下的仿真結(jié)果正確后,就可以通過System Generator生成已創(chuàng)建模型的VHDL等項目文件。用ISE軟件打開生成的工程,分別執(zhí)行翻譯后仿真、映射后仿真、布局布線后仿真,在Modelsim窗口中可以看到,3個進程仿真后的結(jié)果與期待響應(yīng)是完全匹配的,即System Generator生成的VHDL代碼經(jīng)過綜合、翻譯、映射和布局布線后得到的FPGA實現(xiàn)完全能實現(xiàn)Simulink模型的功能。確認布局布線沒有出現(xiàn)錯誤后,生成FPGA編程文件,下載到硬件電路后驗證,結(jié)果是正確的。

        4 結(jié)束語

        MATLAB是全球使用最廣泛的算法開發(fā)產(chǎn)品之一,它長期服務(wù)于自己的領(lǐng)域,與EDA和硬件實現(xiàn)相距甚遠。但隨著它的開發(fā)商MathWorks公司與第3方供應(yīng)商攜手合作將MATLAB帶入FPGA和ASIC設(shè)計領(lǐng)域,這種狀況正在發(fā)生改變,MATLAB正邁向電子設(shè)計自動化的領(lǐng)域。

        [1]邊新迎,劉亮,劉君.基于MATLAB環(huán)境的實時仿真研究[J].微計算機信息,2006(22):250-252.

        [2]史維佳,何鵬舉,李杰.Matlab/RTW實時仿真與嵌入式系統(tǒng)開發(fā)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2009(10):42-44.

        [3]陳春章,艾霞,王國雄.數(shù)字集成電路物理設(shè)計[M].北京:科學出版社,2008.

        猜你喜歡
        代碼生成代碼建模
        聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
        Lustre語言可信代碼生成器研究進展
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        基于PSS/E的風電場建模與動態(tài)分析
        電子制作(2018年17期)2018-09-28 01:56:44
        不對稱半橋變換器的建模與仿真
        代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
        電子世界(2016年15期)2016-08-29 02:14:28
        基于XML的代碼自動生成工具
        電子科技(2015年2期)2015-12-20 01:09:20
        国产3p一区二区三区精品| 亚洲综合国产精品一区二区99 | 欧美日韩一区二区综合| 久久综合网天天 | 亚洲av日韩一区二三四五六七| 国内精品亚洲成av人片| 国产又色又爽又黄的| 成人伊人亚洲人综合网站222| 精品熟妇av一区二区三区四区| 女同三级伦理在线观看| 被三个男人绑着躁我好爽视频| 爱a久久片| 日韩精品一二区在线视频| 一区二区三区国产高清视频| 粗大猛烈进出高潮视频| 日韩精品区欧美在线一区| 激情视频国产在线观看| 伊人情人色综合网站| 日本丰满人妻xxxxxhd| 国色天香精品亚洲精品| 亚洲一区二区三区在线看| 乱色精品无码一区二区国产盗| 男人无码视频在线观看| 亚洲av日韩一区二三四五六七| 国产成人精品一区二区20p| 亚洲国产精品福利片在线观看| 久久这里只精品国产2| 亚洲中文字幕视频第一二区| 精品国产乱码久久久久久婷婷| 熟妇五十路六十路息与子| 日本一区不卡高清在线观看| 久久精品国产91精品亚洲| 一二三四在线观看免费视频| av中文字幕少妇人妻| 国产91精品一区二区麻豆亚洲| 精品无码无人网站免费视频| 亚洲无码一二专区| 开心五月激动心情五月| 人妻精品久久久久中文字幕| 国产成+人+综合+亚洲 欧美| 国产av一区二区三区国产福利 |