发明名称 一种多DSP系统的互联配置模拟方法
摘要 本发明公开了一种多DSP系统的互联配置模拟方法,该方法首先通过模拟DSP指令以及硬件描述语言来模拟外设硬件,然后引入系统级描述语言SystemC的端口、通道、接口技术描述输入输出信号来模拟硬件模块之间的互联,再采用多线程并发机制模拟所有硬件模块的并行执行,最后通过定义敏感事件表对各种外部或内部信号进行响应。本发明对DSP硬件及其互联方式进行了模拟,有助于缩短真实硬件系统研制周期,提高产品质量和可靠性。
申请公布号 CN103440373A 申请公布日期 2013.12.11
申请号 CN201310372954.0 申请日期 2013.08.25
申请人 浙江大学 发明人 蔡铭;杨建锋
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 周烽
主权项 一种多DSP系统的互联配置模拟方法,其特征在于,该方法包括以下步骤:(1)模拟单DSP处理器,包括模拟:指令模拟模块、存储系统模块、寄存器模块、目标文件加载模块和性能优化模块等,该步骤通过如下子步骤来实现:(1.1)采用流水线倒序模型模拟指令模块,利用指令和功能单元的映射关系建造有限自动机进行译码,同时根据译码信息和系统状态模拟条件执行,对C67X流水线各个阶段进行精确全模拟;(1.2)采用分段动态分配机制模拟存储系统模块,有效利用主机内存对C67X的存储系统进行模拟;(1.3)利用变量操作实现对C67X芯片内13个控制/配置寄存器、32个通用寄存器模拟;引入备份寄存器组机制,保证周期内寄存器组数据一致性;寄存器模块包含控制寄存器、运行时通用寄存器组、备份通用寄存器组三个子模块;(1.4)通过解析目标文件的文件头、附件文件头、符号表和section表来产生数据段、代码段的段地址映射关系,利用加载器将其写入模拟内存中,实现了对COFF v1/v2格式的目标文件加载;(1.5)性能优化模块采用指令译码缓存和指令信息环形队列操作,提升指令模拟平台性能;(2)模拟硬件外设:利用系统级描述语言SystemC对各种硬件外设进行模拟,利用其提供的类库和高性能仿真内核以支持精确模拟;通过如下子步骤来实现:(2.1)利用SystemC所定义的以下数据类型来进行定点或硬件设计和描述:sc_bit, sc_logic, sc_int,, sc_lb, sc_fix等,支持从算法描述直到可综合的RTL描述;(2.2)利用SystemC的SC_MODULE类,来模拟硬件的输入、输出管脚以及内部信号等;(2.3)通过SystemC提供的高性能仿真内核,对硬件外设进行高速仿真;(3)实现硬件模块间的通讯:SystemC引入接口、端口和通道描述输入输出信号,通过如下子步骤来实现:(3.1)定义DSP间交互的接口,接口只是一组抽象方法的集合,用来描述功能,而不定义具体实现,一般可以有读写函数;(3.2)定义通道,多DSP通过通道交互数据;(3.3)在每个DSP模块内部定义响应的端口,且端口需要指定其操作方法的接口,接口可以多个,指定了不同类型接口的端口只能操作自身接口的函数,由此实现硬件连接的不对等性;(3.4)将端口挂接到通道上,实现连通,如此便可通过通道实现一个DSP模块与另一个DSP模块的通讯;(4)灵活配置多DSP系统:通过配置界面,选择各种参数(DSP个数、互联方式、硬件参数和拓扑结构),生成xml配置文件;通过读取该xml配置文件,即可设置各硬件参数及互联方式;(5)互联多个DSP处理器:根据步骤4所生成的xml配置文件,实现具体互联;互联方式包括:基于总线的共享内存互联配置模拟、基于HPI主机接口互联配置模拟和基于FIFO缓冲存储互联配置模拟等; (6)模拟所有硬件模块的并行执行:采用多线程并发机制模拟所有硬件模块的并行执行;SystemC模块的进程有SC_METHOD,SC_THREAD和SC_CTHREAD三种形式,通过定义每个DSP模块内的Process,Process被SystemC内核调度执行,以此模拟多DSP处理器的并行运行;而通过定义Process的敏感事件表,可以提供对信号事件的响应;通过定义多个时钟源,每个需要时钟信号的模块可以挂接到相应时钟源上,以此解决多时钟的问题。
地址 310058 浙江省杭州市西湖区余杭塘路866号