CN103440373A - 一种多dsp系统的互联配置模拟方法 - Google Patents
一种多dsp系统的互联配置模拟方法 Download PDFInfo
- Publication number
- CN103440373A CN103440373A CN2013103729540A CN201310372954A CN103440373A CN 103440373 A CN103440373 A CN 103440373A CN 2013103729540 A CN2013103729540 A CN 2013103729540A CN 201310372954 A CN201310372954 A CN 201310372954A CN 103440373 A CN103440373 A CN 103440373A
- Authority
- CN
- China
- Prior art keywords
- dsp
- module
- hardware
- simulation
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种多DSP系统的互联配置模拟方法,该方法首先通过模拟DSP指令以及硬件描述语言来模拟外设硬件,然后引入系统级描述语言SystemC的端口、通道、接口技术描述输入输出信号来模拟硬件模块之间的互联,再采用多线程并发机制模拟所有硬件模块的并行执行,最后通过定义敏感事件表对各种外部或内部信号进行响应。本发明对DSP硬件及其互联方式进行了模拟,有助于缩短真实硬件系统研制周期,提高产品质量和可靠性。
Description
技术领域
本发明涉及一种DSP系统的模拟方法,尤其是涉及一种多DSP系统的互联配置模拟方法。
背景技术
当前信息技术飞速发展,数字信号处理器(Digital Signal Processor,DSP),以其独特的结构和快速算法在移动通信、雷达信号处理和实时图像处理等领域中得到了广泛应用。然而随着实时信号处理对速度需求的不断增加,仅靠单DSP 系统已经不能适应超大运算量的要求。一些信号处理应用,不仅运算量大,处理复杂,数据吞吐量也很大,必须采用实时性强、精度高和具备高数据吞吐量连接网络的大规模并行多DSP处理系统。采用多DSP并行处理技术使系统不仅处理能力大大增强,而且具有很好的伸缩性和灵活性。
多DSP应用不断发展,但也面临着一些困境:相对于单DSP系统,多DSP系统的软硬件的复杂度越来越高,系统研制成本和开发周期也随之增长,采用传统的基于实物的系统设计方法已不再适合。而采用模拟技术可以很好地解决该问题。多DSP系统的模拟就是在已有的计算机系统上为开发中的目标硬件构造一个模拟平台,一方面验证多DSP系统的架构的正确性和有效性,另一方面支持软硬件的协同开发。
发明内容
本发明的目的在于针对现有技术的不足,提供一种多DSP系统的互联配置模拟方法。
本发明解决其技术问题所采用的技术方案是:一种多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的敏感事件表,可以提供对信号事件的响应;通过定义多个时钟源,每个需要时钟信号的模块可以挂接到相应时钟源上,以此解决多时钟的问题。
本发明具有的有益效果是:本发明针对多DSP系统的开发设计的需求,面向主流DSP处理器芯片,以TI C67X DSP为目标,根据其现有互联方式的特点,深入研究软件模拟关键技术,构造可配置的高性能多DSP软件模拟器平台,以满足多DSP系统的模拟、调试和功能验证等需求,同时提供灵活的互联配置方式,从而有助于缩短系统研制周期,提高产品质量和可靠性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是单DSP模拟器内部结构图。
图2是模块的接口、端口和通道通讯方式。
图3是多DSP系统的基于总线的共享内存互联配置模拟方式。
图4是多DSP系统的基于HPI主机接口互联配置模拟方式。
图5是多DSP系统的基于FIFO缓冲存储互联配置模拟方式。
图6是多DSP系统的并行同步机制示意图。
具体实施方式
以下将结合附图及实施例来详细阐述本说明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只有不构成冲突,本发明中的各个实施例以及各个实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
本发明多DSP系统的互联配置模拟方法,包括以下步骤:
1、模拟单DSP处理器
本发明用于模拟多DSP系统的互联,包括模拟:指令模拟模块、存储系统模块、寄存器模块、目标文件加载模块、性能优化模块,如图1所示。具体实施方法的步骤如下:
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.1和2.2可以使用SC_METHOD或SC_THREAD进行描述。
2.3、通过SystemC提供的高性能仿真内核,对硬件外设进行高速仿真。
3、实现硬件模块间的通讯
SystemC引入接口(Interface)、端口(Port)和通道(Channel)描述输入输出信号,如图2所示,其实现的步骤如下所示:
3.1、定义DSP间交互的接口,接口只是一组抽象方法的集合,用来描述功能,而不定义具体实现,一般可以有读写函数;
3.2、定义通道,多DSP通过通道交互数据;
3.3、在每个DSP模块内部定义响应的端口,且端口需要指定其操作方法的接口,接口可以多个,指定了不同类型接口的端口只能操作自身接口的函数,由此实现硬件连接的不对等性;
3.4、将端口挂接到通道上,实现连通,如此便可通过通道实现一个DSP模块与另一个DSP模块的通讯。
4、灵活配置多DSP系统
通过配置界面,选择各种参数(DSP个数、互联方式、硬件参数和拓扑结构),生成xml配置文件。系统应用程序通过读取该xml配置文件,即可设置各硬件参数及互联方式。
5、互联多个DSP处理器
根据步骤4所生成的xml配置文件,实现具体互联。互联方式包括:基于总线的共享内存互联配置模拟、基于HPI主机接口互联配置模拟和基于FIFO缓冲存储互联配置模拟等,分别如图3、4、5所示。图4所示为基于HPI主机接口的多DSP互联配置模拟方式,主机通过DSP的HPI模块能够直接访问DSP的大部分存储空间。在主DSP和从DSP的数据交互时,是通过操作从DSP的三个HPI寄存器来完成的,它们是HPI控制寄存器HPIC、HPI地址寄存器HPIA和HPI数据寄存器HPID。主DSP可以访问HPI的所有寄存器,而从DSP 只能访问HPIC。
6、模拟所有硬件模块的并行执行
采用多线程并发机制模拟所有硬件模块的并行执行。SystemC模块的进程有SC_METHOD,SC_THREAD和SC_CTHREAD三种形式,通过定义每个DSP模块内的Process,Process被SystemC内核调度执行,以此模拟多DSP处理器的并行运行。而通过定义Process的敏感事件表,可以提供对信号事件的响应。通过定义多个时钟源,每个需要时钟信号的模块可以挂接到相应时钟源上,以此解决多时钟的问题。
图6所示为多DSP系统的并行同步机制示意图。解决多个DSP时间上的同步问题,需要定义一个全局时钟源用以同步所有DSP,对于每个DSP模块,内部定义一个SC_THREAD,并对该全局时钟源上升沿敏感。在该线程中,循环执行流水线,并在每个时钟周期调用一次Wait函数用于同步。
Claims (2)
1.一种多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的敏感事件表,可以提供对信号事件的响应;通过定义多个时钟源,每个需要时钟信号的模块可以挂接到相应时钟源上,以此解决多时钟的问题。
2.根据权利要求1所述多DSP系统的互联配置模拟方法,其特征在于,所述步骤5中,所述基于HPI主机接口的多DSP互联配置模拟方式为:主机通过DSP的HPI模块能够直接访问DSP的大部分存储空间;在主DSP和从DSP的数据交互时,是通过操作从DSP的三个HPI寄存器来完成的,它们是HPI控制寄存器HPIC、HPI地址寄存器HPIA和HPI数据寄存器HPID;主DSP可以访问HPI的所有寄存器,而从DSP 只能访问HPIC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103729540A CN103440373A (zh) | 2013-08-25 | 2013-08-25 | 一种多dsp系统的互联配置模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103729540A CN103440373A (zh) | 2013-08-25 | 2013-08-25 | 一种多dsp系统的互联配置模拟方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103440373A true CN103440373A (zh) | 2013-12-11 |
Family
ID=49694066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103729540A Pending CN103440373A (zh) | 2013-08-25 | 2013-08-25 | 一种多dsp系统的互联配置模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103440373A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677965A (zh) * | 2014-01-03 | 2014-03-26 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真技术 |
CN108804380A (zh) * | 2018-05-21 | 2018-11-13 | 南京大学 | 矢量运算硬件加速器多核级联的周期精确模型 |
CN109101456A (zh) * | 2018-08-30 | 2018-12-28 | 浪潮电子信息产业股份有限公司 | 一种仿真ssd中的数据交互通信方法、装置及终端 |
CN113342732A (zh) * | 2021-07-08 | 2021-09-03 | 上海新致华桑电子有限公司 | 多通道高速数据通路任意互联装置、方法及系统 |
CN114579483A (zh) * | 2022-03-02 | 2022-06-03 | 北京超智芯科技有限公司 | 一种基于软件实现外设的sdp芯片及方法 |
CN115421862A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种51单片机处理器指令集虚拟化仿真方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093594A1 (en) * | 2001-11-14 | 2003-05-15 | Smith Patrick J. | Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller |
CN103019838A (zh) * | 2012-11-14 | 2013-04-03 | 清华大学 | 一种基于多dsp处理器平台的分布式实时多任务操作系统 |
CN103019742A (zh) * | 2012-12-31 | 2013-04-03 | 清华大学 | 一种多dsp平台上的自动代码生成方法 |
-
2013
- 2013-08-25 CN CN2013103729540A patent/CN103440373A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093594A1 (en) * | 2001-11-14 | 2003-05-15 | Smith Patrick J. | Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller |
CN103019838A (zh) * | 2012-11-14 | 2013-04-03 | 清华大学 | 一种基于多dsp处理器平台的分布式实时多任务操作系统 |
CN103019742A (zh) * | 2012-12-31 | 2013-04-03 | 清华大学 | 一种多dsp平台上的自动代码生成方法 |
Non-Patent Citations (5)
Title |
---|
何卫强 等: "基于SystemC的周期精确级DSP处理器建模", 《微电子学与计算机》 * |
潘烽锋: "高性能、时钟精确C67X DSP指令模拟技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
葛炜 等: "HPI主机接口在双DSP系统中的应用", 《测控技术》 * |
裴雪军 等: "基于S-function的DSP模拟仿真研究及应用", 《电力电子技术》 * |
黄锐 等: "基于FPGA的多DSP系统接口电路设计", 《中国测试技术》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677965A (zh) * | 2014-01-03 | 2014-03-26 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真技术 |
CN103677965B (zh) * | 2014-01-03 | 2017-03-22 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真方法 |
CN108804380A (zh) * | 2018-05-21 | 2018-11-13 | 南京大学 | 矢量运算硬件加速器多核级联的周期精确模型 |
CN109101456A (zh) * | 2018-08-30 | 2018-12-28 | 浪潮电子信息产业股份有限公司 | 一种仿真ssd中的数据交互通信方法、装置及终端 |
CN109101456B (zh) * | 2018-08-30 | 2021-10-15 | 浪潮电子信息产业股份有限公司 | 一种仿真ssd中的数据交互通信方法、装置及终端 |
CN113342732A (zh) * | 2021-07-08 | 2021-09-03 | 上海新致华桑电子有限公司 | 多通道高速数据通路任意互联装置、方法及系统 |
CN113342732B (zh) * | 2021-07-08 | 2024-08-02 | 上海新致华桑电子有限公司 | 多通道高速数据通路任意互联装置、方法及系统 |
CN114579483A (zh) * | 2022-03-02 | 2022-06-03 | 北京超智芯科技有限公司 | 一种基于软件实现外设的sdp芯片及方法 |
CN114579483B (zh) * | 2022-03-02 | 2023-07-04 | 北京超智芯科技有限公司 | 一种基于软件实现外设的sdp芯片及方法 |
CN115421862A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种51单片机处理器指令集虚拟化仿真方法 |
CN115421862B (zh) * | 2022-09-14 | 2023-09-26 | 北京计算机技术及应用研究所 | 一种51单片机处理器指令集虚拟化仿真方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440373A (zh) | 一种多dsp系统的互联配置模拟方法 | |
US9665674B2 (en) | Automating a microarchitecture design exploration environment | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
US8532975B2 (en) | System and method implementing a simulation acceleration capture buffer | |
CN105701298A (zh) | 基于PowerPC SoC架构的仿真平台设计方法 | |
CN109669832A (zh) | 一种面向gpu芯片图形管线单元性能验证方法及平台 | |
US20150120268A1 (en) | Method and apparatus for simulating a digital circuit | |
CN102073480B (zh) | 基于时分复用实现多核处理器内核模拟的方法 | |
Perepelitsyn et al. | FPGA as a service solutions development strategy | |
US20220197636A1 (en) | Event-driven design simulation | |
CN115017845A (zh) | 用于ip单元级别验证的总线驱动式芯片仿真激励模型 | |
Kant | Microprocessors and Microcontrollers: Architecture, Programming and System Design 8085, 8086, 8051, 8096 | |
CN109710229B (zh) | 一种面向gpu芯片图形管线单元的架构验证方法及平台 | |
US20190384598A1 (en) | Event-driven design simulation | |
CN103218250B (zh) | 一种处理器模拟方法 | |
EP2541448A1 (en) | Method and system for partial reconfiguration simulation | |
Othman et al. | MPSoC design approach of FPGA-based controller for induction motor drive | |
Biancolin et al. | Accessible, FPGA resource-optimized simulation of multiclock systems in firesim | |
Yeh et al. | Optimizing the simulation speed of qemu and systemc-based virtual platform | |
CN118171707A (zh) | 一种基于卷积神经网络微处理器的虚拟原型平台 | |
Lu | FSSD-DPR: FPGA-based emulation framework for solid-state drives with dynamic parameter-based reconfiguration | |
Chen et al. | Hierarchy Modeling and Co-simulation of a Dynamically Coarse-Grained Reconfigurable Architecture | |
Leupers et al. | Programming MPSoC platforms: Road works ahead! | |
CN111045665A (zh) | 一种基于uml的gpu命令处理器硬件视图模型 | |
Gavrilov et al. | Method of simulation the asymmetric memory access for solving synchronization problems in multiprocessor systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131211 |