CN103455401A - 一种dsp和fpga紧耦合架构的协同验证方法 - Google Patents

一种dsp和fpga紧耦合架构的协同验证方法 Download PDF

Info

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
Application number
CN2013103729818A
Other languages
English (en)
Other versions
CN103455401B (zh
Inventor
蔡铭
黄显晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310372981.8A priority Critical patent/CN103455401B/zh
Publication of CN103455401A publication Critical patent/CN103455401A/zh
Application granted granted Critical
Publication of CN103455401B publication Critical patent/CN103455401B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

一种DSP和FPGA紧耦合架构的协同验证方法
技术领域
本发明涉及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模拟器根据中断号进行仲裁,如果中断进程的优先级比当前进程高,执行中断程序,如果优先级低于当前进程就忽略中断。
CN201310372981.8A 2013-08-25 2013-08-25 一种dsp和fpga紧耦合架构的协同验证方法 Expired - Fee Related CN103455401B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国科学院声学研究所 一种基于模拟器的软硬件协同验证方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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