CN103455401A - 一种dsp和fpga紧耦合架构的协同验证方法 - Google Patents
一种dsp和fpga紧耦合架构的协同验证方法 Download PDFInfo
- Publication number
- CN103455401A CN103455401A CN2013103729818A CN201310372981A CN103455401A CN 103455401 A CN103455401 A CN 103455401A CN 2013103729818 A CN2013103729818 A CN 2013103729818A CN 201310372981 A CN201310372981 A CN 201310372981A CN 103455401 A CN103455401 A CN 103455401A
- Authority
- CN
- China
- Prior art keywords
- dsp
- fpga
- simulator
- write
- read
- 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.)
- Granted
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种DSP和FPGA紧耦合架构的协同验证方法,DSP模拟器是建立在通用操作系统之上、基于数据流正确的模拟器,主要实现任务调度、中断处理、中断嵌套功能。采用HDL语言的PLI接口将与FPGA交互的接口写成HDL内部命令,以便FPGA与DSP模拟器进行通信。DSP和FPGA之间的通信采用以套接字为基础的CS模式。本发明弥补了指令级DSP模拟器的速度慢的问题,可以简化DSP和FPGA紧耦合验证过程,提高验证效率。
Description
技术领域
本发明涉及FPGA验证和测试领域,尤其涉及一种DSP和FPGA紧耦合架构的协同验证方法。
背景技术
自FPGA概念的提出以来,FPGA因其现场可编程、配置灵活、并行运行的特征,有了极为迅速的发展和运用。利用FPGA在DSP系统中替代传统的ASIC芯片,分流DSP芯片运算负载的架构,即FPGA和DSP紧耦合架构。
随着架构的广泛应用,其开发也出现困境,这种架构验证一般使用HDL语言编写测试平台,这样过程控制会受到限制,使验证的困难增加。
DSP模拟器大部分是基于指令集的模拟,它能够支持外部事件和数据,但是这类模拟器的验证主体一般是DSP软件,提供了对软件调试的支持,而在FPGA和DSP紧耦合架构协同仿真中,测试验证主体是FPGA设计,所以DSP模拟器不需要使用指令级模拟,只要数据流正确就可以;同时这种指令模拟器的仿真速度比较慢,大大降低了协同仿真的速度。
FPGA仿真是对硬件的仿真,模拟器还要将外部的操作反映到硬件引脚,或与硬件引脚相连的总线上,极少的模拟器能实现这种功能,所以模拟器对外部数据和IO的操作不是很灵活。
发明内容
本发明的目的是克服现有技术的不足,提供一种DSP和FPGA紧耦合架构的协同验证方法。
本发明的目的是通过以下技术方案来实现的:一种DSP和FPGA紧耦合架构的协同验证方法,包括如下步骤:
(1)在基于数据流正确的DSP模拟器运行主算法的进程和用户DSP任务,并且实现任务处理、任务调度、中断响应、中断嵌套功能。
(2)打开底层操作系统上的套接字服务器端,快速的响应FPGA仿真器发起的连接,如果没有连接就继续监听,如果有连接就根据FPGA的中断和读写以及退出命令进行相应处理。
(3)DSP模拟器对读写缓冲区进行检查,如果是FPGA的读写请求,如果是请求写,将缓冲区的时序信息和数据传给FPGA模拟器,如果是请求读,就接收FPGA模拟器发送的时序信息和数据。
(4)在FPGA仿真器周期性的调用PLI接口编写轮询DSP模拟器命令,查看DSP是否对FPGA有操作,如果写操作就把DSP模拟器数据写入FPGA的指定引脚,如果是读操作就把相应引脚数据传给DSP模拟器。
(5)FPGA模拟器利用PLI接口编写的中断命令在特定的仿真时刻产生中断信号,通过与DSP端的套接字服务器建立连接,将中断信息传给DSP模拟器。
(6)DSP模拟器根据中断号进行仲裁,如果中断进程的优先级比当前进程高,执行中断程序,如果优先级低于当前进程就忽略中断。
本发明的有益效果是,DSP模拟器是建立在通用操作系统之上、基于数据流正确的模拟器,主要实现任务处理、任务调度、中断处理、中断嵌套功能。这样DSP模拟器运行的速度会大幅度提高。采用HDL语言的PLI接口将DSP模拟器的操作反映到FPGA特定的硬件引脚,或与硬件引脚相连的总线上,提高模拟器对外部数据和IO的操作的灵活性。底层的通信使用通用操作系统中的套接字为基础的CS模式,不需要花时间再去编写DSP和FPGA之间数据通信协议,提高验证效率。
附图说明
图1是DSP和FPGA紧耦合架构的协同验证示意图;
图2是DSP模拟器的服务器端流程图;
图3是DSP模拟器的读写处理流程图;
图4是 PLI应用读信息流程图;
图5是PLI应用写信息流程图;
图6是DSP模拟器中断处理流程图;
图7是FPGA中断处理流程图。
具体实施方式
本发明DSP和FPGA紧耦合架构的协同验证方法,包括如下步骤:
(1)在基于数据流正确的DSP模拟器运行主算法的进程和用户DSP任务,并且实现任务处理、任务调度、中断响应、中断嵌套功能。
(2)打开底层操作系统上的套接字服务器端,快速的响应FPGA仿真器发起的连接,如果没有连接就继续监听,如果有连接就根据FPGA的中断和读写以及退出命令进行相应处理。
(3)DSP模拟器对读写缓冲区进行检查,如果是FPGA的读写请求,如果是请求写,将缓冲区的时序信息和数据传给FPGA模拟器,如果是请求读,就接收FPGA模拟器发送的时序信息和数据。
(4)在FPGA仿真器周期性的调用PLI接口编写轮询DSP模拟器命令,查看DSP是否对FPGA有操作,如果写操作就把DSP模拟器数据写入FPGA的指定引脚,如果是读操作就把相应引脚数据传给DSP模拟器。
(5)FPGA模拟器利用PLI接口编写的中断命令在特定的仿真时刻产生中断信号,通过与DSP端的套接字服务器建立连接,将中断信息传给DSP模拟器。
(6)DSP模拟器根据中断号进行仲裁,如果中断进程的优先级比当前进程高,执行中断程序,如果优先级低于当前进程就忽略中断。
如图1所示,服务器端功能在DSP模拟器中实现,包括就绪表、优先级对应表、读写缓冲、DSP算法进程、初始进程以及通信模块。FPGA模拟器包括HDL设计和PLI应用,PLI应用主要实现仿真结束处理、中断处理、读写处理。两部分的通信是基于linux操作系统的套接字,也可以用其他通用操作系统的套接字实现;
如图2所示,DSP模拟器启动后,首先初始化缓、就绪表等数据结构,创建算法进程,建立服务器对套接字端口的侦听,如果是读写I/O进入读写子流程,如果是中断就进入中断子流程,如果是来自FPGA的结束指令,就退出DSP模拟器;
如图3所示,DSP的读写处理过程,收到来自FPGA模拟器的轮询后,服务器端查看读写缓存,是否有读写操作,如果有,就发送读写缓存中地址及数据和读写控制等时序信息,此时如果是读I/O或者总线操作,还要等待数据和读写控制等时序信息返回模拟器,而后读写子流程结束;
如图4所示,PLI应用读时序流程,首先与服务器建立连接,发送轮询DSP模拟器请求。从服务器端发出的读操作及地址,如果没有接收到,进入重发和错误处理。如果接收到就按照读时序要求对总线操作。由于PLI应用执行时仿真处于停止状态,不能直接在同一次调用中读取不同时刻数据,因此一个在数据总线出现正确数据时PLI应用读取数据并发送给DSP模拟器;
如图5所示,PLI应用写时序流程,首先与服务器建立连接,发送轮询DSP模拟器请求。接收到服务器端发出写操作、地址及数据,发送写正确标志。按照写时序要求对总线操作,写入数据。返回模拟器。错误处理采用超时重发方式,重发一定次数后仍没有反馈的,打印错误信息。
如图6所示,DSP模拟器中断处理程序,首先将主算法设置为优先级最低,和中断算法一起调度。当中断发生,对优先级仲裁。如果中断优先级高于当前进程程优先级,中断当前运行进程,运行中断进程;否则忽略中断信号。中断线程结束,重新调度算法进程,中断子流程结束。
如图7所示,FPGA模拟器产生中断信号,当中断信号发生时模拟器调用写好的函数,然后自动调用PLI应用与DSP模拟器通信。PLI应用中会创建连接,发送中断信息或终止信息,服务器接收到信息后发送接收正确标志,表明通信成功,返回模拟器。如果不成功,进入重发或错误处理。错误处理采用超时重发方式,重发一定次数后仍没有反馈的,打印错误信息。
Claims (1)
1.一种DSP和FPGA紧耦合架构的协同验证方法,其特征在于,包括如下步骤:
(1)在基于数据流正确的DSP模拟器运行主算法的进程和用户DSP任务,并且实现任务处理、任务调度、中断响应、中断嵌套等功能;
(2)打开底层操作系统上的套接字服务器端,快速的响应FPGA仿真器发起的连接,如果没有连接就继续监听,如果有连接就根据FPGA的中断和读写以及退出命令进行相应处理;
(3)DSP模拟器对读写缓冲区进行检查,如果是FPGA的读写请求,如果是请求写,将缓冲区的时序信息和数据传给FPGA模拟器,如果是请求读,就接收FPGA模拟器发送的时序信息和数据;
(4)在FPGA仿真器周期性的调用PLI接口编写轮询DSP模拟器命令,查看DSP是否对FPGA有操作,如果写操作就把DSP模拟器数据写入FPGA的指定引脚,如果是读操作就把相应引脚数据传给DSP模拟器;
(5)FPGA模拟器利用PLI接口编写的中断命令在特定的仿真时刻产生中断信号,通过与DSP端的套接字服务器建立连接,将中断信息传给DSP模拟器;
(6)DSP模拟器根据中断号进行仲裁,如果中断进程的优先级比当前进程高,执行中断程序,如果优先级低于当前进程就忽略中断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310372981.8A CN103455401B (zh) | 2013-08-25 | 2013-08-25 | 一种dsp和fpga紧耦合架构的协同验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310372981.8A CN103455401B (zh) | 2013-08-25 | 2013-08-25 | 一种dsp和fpga紧耦合架构的协同验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455401A true CN103455401A (zh) | 2013-12-18 |
CN103455401B CN103455401B (zh) | 2015-11-04 |
Family
ID=49737802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310372981.8A Expired - Fee Related CN103455401B (zh) | 2013-08-25 | 2013-08-25 | 一种dsp和fpga紧耦合架构的协同验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455401B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196527A (zh) * | 2017-12-29 | 2018-06-22 | 上海航天计算机技术研究所 | 可重构配置的fpga和dsp紧耦合架构的测试验证系统 |
CN108345564A (zh) * | 2018-01-19 | 2018-07-31 | 深圳云天励飞技术有限公司 | 中断矩阵模块、芯片及电子设备 |
WO2021109367A1 (zh) * | 2019-12-06 | 2021-06-10 | 国微集团(深圳)有限公司 | 数字产品的仿真信号查看方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004092886A2 (en) * | 2003-04-08 | 2004-10-28 | Qualcomm Incorporated | Associating software with hardware using cryptography |
CN102761558A (zh) * | 2012-07-31 | 2012-10-31 | 哈尔滨工业大学 | 基于Xilinx FPGA和Treck协议栈的以太通信系统及其通信方法 |
CN102841837A (zh) * | 2012-06-26 | 2012-12-26 | 中国科学院声学研究所 | 一种基于模拟器的软硬件协同验证方法及系统 |
-
2013
- 2013-08-25 CN CN201310372981.8A patent/CN103455401B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004092886A2 (en) * | 2003-04-08 | 2004-10-28 | Qualcomm Incorporated | Associating software with hardware using cryptography |
CN102841837A (zh) * | 2012-06-26 | 2012-12-26 | 中国科学院声学研究所 | 一种基于模拟器的软硬件协同验证方法及系统 |
CN102761558A (zh) * | 2012-07-31 | 2012-10-31 | 哈尔滨工业大学 | 基于Xilinx FPGA和Treck协议栈的以太通信系统及其通信方法 |
Non-Patent Citations (3)
Title |
---|
孙钦龙: "So cke t 套接字在工业数据通信中的应用", 《控制工程》, vol. 13, no. 3, 31 May 2006 (2006-05-31), pages 274 - 277 * |
梁之勇: "一种基于DSP和FPGA的实时信号处理平台设计", 《科技信息》, 15 March 2012 (2012-03-15), pages 258 - 259 * |
鲍华: "面向SoC 的软硬件协同验证平台设计", 《计算机工程》, vol. 35, no. 8, 20 April 2009 (2009-04-20), pages 271 - 273 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196527A (zh) * | 2017-12-29 | 2018-06-22 | 上海航天计算机技术研究所 | 可重构配置的fpga和dsp紧耦合架构的测试验证系统 |
CN108345564A (zh) * | 2018-01-19 | 2018-07-31 | 深圳云天励飞技术有限公司 | 中断矩阵模块、芯片及电子设备 |
CN108345564B (zh) * | 2018-01-19 | 2020-04-14 | 深圳云天励飞技术有限公司 | 中断矩阵模块、芯片及电子设备 |
WO2021109367A1 (zh) * | 2019-12-06 | 2021-06-10 | 国微集团(深圳)有限公司 | 数字产品的仿真信号查看方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103455401B (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9952963B2 (en) | System on chip and corresponding monitoring method | |
US11481346B2 (en) | Method and apparatus for implementing data transmission, electronic device, and computer-readable storage medium | |
TWI436204B (zh) | 測試系統及測試方法 | |
US10678674B2 (en) | Wireless debugging | |
US20010016888A1 (en) | Method for controlling a bus to progress transfer cycles without inserting a cycle for acknowledgment | |
US9852038B2 (en) | Debugging system and debugging method of multi-core processor | |
US9442794B1 (en) | Methods and apparatus for accessing device memory via a host bus interface | |
CN103714029A (zh) | 新型二线同步通信协议及应用 | |
US9552279B2 (en) | Data bus network interface module and method therefor | |
CN102636987B (zh) | 双重化控制装置 | |
KR20140113662A (ko) | Hid i2c 데이터 버스를 위한 호스트 측 구현 기법 | |
CN103455401A (zh) | 一种dsp和fpga紧耦合架构的协同验证方法 | |
CN104714907A (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN114691578B (zh) | 一种高性能串行通信方法、系统、介质、设备及终端 | |
CN102567196A (zh) | 一种处理器仿真调试方法及装置 | |
KR101029074B1 (ko) | 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법 | |
CN115454881B (zh) | Risc-v架构的调试系统及调试方法 | |
CN106844025B (zh) | 一种异步中断处理方法及中断控制器 | |
CN113496108B (zh) | 一种应用于仿真的cpu模型 | |
CN113704032A (zh) | 一种嵌入式异构多核处理器架构并行调试系统及方法 | |
CN113886297A (zh) | 一种基于dma的spi并发通讯se装置及方法 | |
CN210380890U (zh) | 一种Modbus设备的通讯系统及SIS系统 | |
WO2014027223A1 (en) | Data bus network interface module and method therefor | |
CN208596371U (zh) | 基于pcie与fpga结合的多核jtag调试代理系统 | |
CN101764716A (zh) | 一种业务芯片的测试配置方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151104 Termination date: 20170825 |
|
CF01 | Termination of patent right due to non-payment of annual fee |