DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 293|回复: 0
打印 上一主题 下一主题

一种在CCSS中与DSP进行联合仿真的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 20:11:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

  
         
    摘 要: 本文主要介绍一种在仿真软件CoCentric System Studio(CCSS)环境下运用DSP开发包(DDK)进行DSP联合仿真的方法。该方法可以将算法仿真结果与DSP的具体实现结果在同一环境下进行测试、比较,降低了仿真与测试的复杂度,适用于含有DSP的系统仿真。
关键词: DSP仿真;DDK
DDK(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中进行DSP仿真流程
修改代码
在装载代码之前,要对代码进行一些修改,以满足联合仿真的要求。装载到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)
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-26 18:15 , 耗时 0.137596 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表