新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種在CCSS中與DSP進行聯合仿真的方法

        一種在CCSS中與DSP進行聯合仿真的方法

        作者:深圳中興通訊公司,梅曉艷,吳淑華 時間:2004-06-18 來源:電子設計應用 收藏
        摘 要: 本文主要介紹一種在仿真軟件CoCentric System Studio(CCSS)環境下運用DSP開發包()進行DSP聯合仿真的方法。該方法可以將算法仿真結果與DSP的具體實現結果在同一環境下進行測試、比較,降低了仿真與測試的復雜度,適用于含有DSP的系統仿真。
        關鍵詞: ;

        (DSP Developer Kits)作為Synopsys公司的仿真軟件CoCentric System Studio的一個組件,允許設計者開發、測試和分析系統設計中關于DSP部分的內容。利用這個工具箱,可以實現在CCSS(CoCentric System Studio)環境中進行DSP軟件部分的驗證功能。

        CCSS中的DDK種類
        在CCSS中所支持的DDK 種類如表1所示。
        作者所用的DSP屬于TI的C5XX系列,在此以TI的 TMS320C5XX DSP Develop Kit為例進行說明。
        TMS320C5XX DDK由以下兩部分組成:
        ystem Studio TI TMS320C5XX Stream Driven Simulator model library
        ?TMS320C5XX simulator
        在庫中可以選擇多種DSP輸入輸出的組合,有單輸入單輸出、單輸入二輸出等,根據原匯編代碼選擇相應的模塊。所選模塊的功能由裝載到其內部的匯編代碼程序決定。匯編代碼是按照模塊的input dataset定義的,并且可由用戶進行配置。圖1所示為DSP Simulator 與System Studio Stream Driven Simulator之間的關系。
        System Studio Stream Driven Simulator可以從系統的層次化示意性描述中生成可執行的仿真驅動流。它包括一個仿真核(simulator kernel)和一套可裝載的軟件模塊。仿真核本身并不執行任何數字信號處理功能,但是可以配合可裝載軟件模塊的激活來完成信號處理任務。軟件模塊與仿真核之間通過標準的軟件接口實現互連。
        DSP Simulator作為System Studio Stream Driven Simulator的子系統,與仿真核在同一過程執行。在System Studio Stream Driven Simulator來看,DSP Simulator是一個C編寫的基本模塊,但是該模塊的實現由DSP Simulator運行實際程序完成。


        圖1 DSP Simulator和System Studio Stream Driven Simulator的關系圖



        圖2 環境變量設定


        圖3 仿真模塊

        CoCentric中進行流程
        修改代碼
        在裝載代碼之前,要對代碼進行一些修改,以滿足聯合仿真的要求。裝載到TMS320C5XX Stream Driven Simulator model的匯編代碼有特殊的結構,所需修改的匯編語言代碼結構主要包括下面三個方面:
        (1) Initialization Code Section:要以xxxInitBegin和xxxInitEnd作為初始化代碼部分的界定符。
        (2) Processing Section:要以xxxBegin和xxxEnd作為處理部分的界定符,其中xxx表示匯編代碼段的名稱。
        (3) Data Transfer:為了在System Studio Stream Driven Simulator與TMS320C5XX sim5xx設置通訊的緩存,要開辟兩塊存儲區。輸入緩沖以xxxInVectorn開始,輸出緩沖以xxxOutVectorn開始。System Studio Stream Driven Simulator必須知道每次匯編代碼所消耗和產生的數據信息量,并在xxxLenInVectorn和xxxLenOutVectorn兩個存儲區加以體現。
        生成可執行代碼
        在進行此步之前,必須保證環境變量指向TMS320C5XX編譯器所在目錄,可以在Options下的Environment Variables進行設定,如圖2所示。
        環境變量設置好之后,用下面兩個命令編譯源代碼并裝載目標代碼:$TMS320C5xx/asm5000 -v50 name.asm和$TMS320C5xx/lnk500 name.cmd。其中name.asm代表匯編源代碼程序;name.cmd為初始化sim500的command文件。
        交互命令
        當INTERACTIVE參數設定為1時,對應的TMS320C5XX模塊以交互的形式進行仿真。

        以匯編文件copy.asm為例說明仿真流程
        程序說明
        這個程序完成的功能是將四個數據由輸入端拷貝到輸出端。起始位置在copyInVector1的數據將被置于起始位置為copyOutVector1的存儲區域。兩個存儲區域所要存儲的數據個數在copyLenInVector1和copyLenOutVector1中定義。每次程序部分執行之前,4個數據由Stream Driven Simulator寫入以copyInVector1為標志的起始位置,當代碼執行完,可以從以copyOutVector1為起始標志的存儲區讀取數據。(匯編源程序見本刊網站www.eaw.com.cn)
        選擇模塊
        匯編源代碼有一個輸入和一個輸出端口,選擇tic5xx_1_1,可以滿足要求。圖3所示的是整個仿真模塊。
        配置模塊
        選中tic5xx_1_1模塊,點右鍵出現模塊配置對話框,將前面提到的參數interactive設置為1,下面定義余下的三個參數。
        -tic5xx_load_file:指的是含有可執行代碼的程序;
        -tic5xx_init_file:指的是當sim500初始化時裝載的程序;
        -load_file_name:指明匯編代碼的名稱。
        這個例子中三個文件分別為:copy.out ,copy.take,copy。
        需要注意的是:file handling數據類型要設定為Explicit;file format數據類型要設定為ASCII_BL_EOR(Blank Line as End Of Record)。
        生成可執行代碼
        在終端執行下面兩條命令:
        $TMS320C5xx/asm500 -v50 copy.asm
        $TMS320C5xx/lnk500 copy.cmd
        如果.out文件正確生成,則可以裝載到模塊中,進行在CCSS環境下的仿真。

        結語
        目前,已經實現了在CCSS中進行對DSP功能的驗證,這種方法可以大大簡化算法與實際DSP實現的驗證過程。該方法使在同一環境下,對算法結果與DSP具體實現結果進行比較成為可能,并且很容易對各項測試指標進行測試和統計,是一種省時高效的仿真方法。■

        參考文獻
        1 Synopsys.Inc. CoCentric System Studio Developer Kit Guide (Version 2000.11-CSS1, April 2001).
        2 Synopsys.Inc. CoCentric System Studio DSP Developer Kits User Guide (Version 2000.11-CSS1, April 2001)



        關鍵詞: DDK DSP仿真

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 吴忠市| 阳信县| 芮城县| 望城县| 沈丘县| 高青县| 鞍山市| 秦皇岛市| 镇坪县| 平陆县| 华安县| 祁东县| 成安县| 新竹县| 塔河县| 新巴尔虎右旗| 察雅县| 改则县| 新郑市| 建瓯市| 乌拉特中旗| 郯城县| 横峰县| 铜鼓县| 佳木斯市| 城固县| 溆浦县| 溧阳市| 长顺县| 铜鼓县| 河池市| 伊金霍洛旗| 邢台县| 焉耆| 高雄县| 长寿区| 门源| 扎兰屯市| 南澳县| 广河县| 长岛县|