CN102566969B - 一种在sopc系统中提高软硬件交互的方法 - Google Patents

一种在sopc系统中提高软硬件交互的方法 Download PDF

Info

Publication number
CN102566969B
CN102566969B CN201010603831.XA CN201010603831A CN102566969B CN 102566969 B CN102566969 B CN 102566969B CN 201010603831 A CN201010603831 A CN 201010603831A CN 102566969 B CN102566969 B CN 102566969B
Authority
CN
China
Prior art keywords
software
hardware
passage
write
fifo
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.)
Active
Application number
CN201010603831.XA
Other languages
English (en)
Other versions
CN102566969A (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.)
Leizhi digital system technology (Xi'an) Co.,Ltd.
Original Assignee
XI'AN KEYWAY TECHNOLOGY CO LTD
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 XI'AN KEYWAY TECHNOLOGY CO LTD filed Critical XI'AN KEYWAY TECHNOLOGY CO LTD
Priority to CN201010603831.XA priority Critical patent/CN102566969B/zh
Publication of CN102566969A publication Critical patent/CN102566969A/zh
Application granted granted Critical
Publication of CN102566969B publication Critical patent/CN102566969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

一种在SOPC系统中实现软硬件交互的方法,该方法采用串并转换与FIFO并用的方式,通过在PLB总线上挂接User ip core来实现软硬件交互。本发明中软件只需要根据软件指令的执行时间和实际需要连续的将命令发出;硬件在执行完当前操作时只需查看对应通道的缓存中是否还有未执行的命令,节约了软硬件交互的时间;本发明可以实现单通道内多命令的无缝流水操作;还可以实现对多通道多命令的并行流水操作。

Description

一种在SOPC系统中提高软硬件交互的方法
技术领域
本发明涉及一种提高软硬件交互效率的方法,具体涉及一种在SOPC系统中提高软硬件交互效率的方法
背景技术
半导体技术日新月异,使得基于FPGA的可编程片上系统(SOPC)技术近年来有了快速的发展。FPGA可重复修改的特点以及可编程片上系统开发软件的不断跟进,使得在一个芯片内进行系统级的设计变得容易。过去对于FPGA的开发使用主要是在逻辑设计方面,设计是从最基本的逻辑设计入手,虽然也有各种IP Core;现在的FPGA在速度和容量上突飞猛进,使得FPGA能容纳系统一级的硬件及可以将一些软件代码存储在FPGA片内,与之相应的系统开发软件平台提供了硬件软件及验证调试的综合开发平台,它比一般的嵌入式系统具有更多的灵活性,系统硬件和系统软件都可以根据用户的需要来定制和裁剪。新的设计一般是随着软件平台的设计向导并根据用户需求建立一个包括CPU的基本的系统,然后再进行进一步的添加和设计。厂家还提供了很多通用的IP Core,这样一来设计就变得更加模块化,使可以在较短的时间内设计出复杂的系统来。软硬件设计都在一个平台下进行,下载到FPGA的内容既包括硬件系统又包括CPU的执行代码。
SOPC采取的另一种方案是在FPGA内嵌入了处理器硬核,如Xilinx的一些高端器件在片内嵌入了PowerPC,Altera的Excalibur在片内嵌入了ARM处理器硬核等等。无论采用什么样的方式,可编程片上系统要完成一个完整的功能都必然会涉及到软硬件之间的交互。
要在可编程片上系统内即完成硬件系统设计又完成CPU的执行,必须考虑到软硬件之间的交互,传统的软硬件交互方法采用中断或者查询方式,是一种完全串行的交互方式,即软件在接收不到硬件系统发回的中断或查询信息时将不能执行后续的操作,这些方式的软硬件交互效率低,实现不够灵活。
发明内容
本发明的目的是为提高软硬件交互效率,以Xilinx的Virtex5器件在片内嵌入PowerPC为基础,采用串并转换与FIFO并用的思路,提供了一种在SOPC系统中高效的进行软硬件交互的方法。
本发明的技术解决方案为:
一种在SOPC系统中实现软硬件交互的方法,其特殊之处在于:
该方法采用串并转换与FIFO并用的方式,通过在PLB总线上挂接User ipcore来实现软硬件交互;
所述User ip core包括软件通过PLB总线写寄存器模块和对写入寄存器的数据解析模块以及数据缓存模块;
其中,所述PLB总线写寄存器模块将软件将要启动的通道号和对应的通道信息写入寄存器,所述数据解析模块对写入寄存器的数据进行解析,将通道信息写入对应通道的FIFO中进行缓存,同时启动对应通道的一系列操作,直到FIFO中存储的命令信息全部被执行完。
上述串并转换的实现由数据解析模块来完成;
1)所述数据解析模块在每次接收到写入寄存器的数据后,对该数据进行判断,判断其对应的操作信息是针对于哪个通道,其中对每个通道的操作信息都有一个深度为N的数据缓存FIFO,根据数据解析模块解析的通道号将对应的一次操作信息写入对应该通道的FIFO中,然后FIFO的写入地址加1,直到将所有的操作信息写入;
2)在此过程中不需要考虑硬件的执行过程,只需要根据实际需要和软件指令的执行时间写入命令并进行缓存;
3)在第一次写入某通道对应的FIFO操作信息时,启动硬件系统的操作,在硬件系统执行完一次操作后,再判断该通道是否还有未执行的操作,如果有则继续执行,直到所有的操作执行完成,则可实现单通道多个命令的无缝流水操作。
上述在SOPC系统中实现软硬件交互的方法,其特殊之处在于,该方法实现单通道内多命令的流水操作;具体是:
软件通过PLB总线写入寄存器的时间取决于软件指令的执行时间;在当前操作完成后,紧接着执行下一次操作,实现了通道内多命令的无缝流水操作。
上述在SOPC系统中实现软硬件交互的方法,其特殊之处在于,该方法实现多通道多命令的并行流水操作;具体是:
在实现通道内多命令流水操作的基础上如果软件通过PLB总线写入寄存器的值依次对应不同的通道,则每个通道均会在软件写入第一次操作信息时开始执行,各个通道的硬件执行过程没有相互制约,进行并行的执行,对于各个通道内实现流水操作,实现了硬件系统多通道多命令的并行流水操作。
本发明具有如下优点:
1)软件不需要等待硬件系统给出的任何反馈信号,只需要根据软件指令的执行时间和实际需要连续的将命令发出;
2)硬件的执行不需要软件的参与,在执行完当前操作时只需查看对应通道的缓存中是否还有未执行的命令,节约了软硬件交互的时间;
3)如果软件发出的命令是针对同一通道的多次命令,可以实现单通道内多命令的无缝流水操作;
4)如果软件发出的命令是针对多个通道的多次命令操作,可以实现对多通道多命令的并行流水操作。
附图说明
图1为本发明结构示意图;
图2为多通道对应的FIFO缓存结构示意图;
图3为多通道多命令的并行流水策略示意图。
具体实施方式
参见图1,以User IP core的实现为核心,详细描述整个系统的工作流程。
首先通过在PowerPC硬核的PLB总线上挂接自研User IP Core模块实现软件对寄存器的写操作,如图1(1)所示。软件对寄存器的写操作只能串行的执行,而硬件系统要考虑到对应到多个通道的执行操作,因此内部必须进行串并转换。串并转换的实现由数据解析模块来完成,数据解析模块在每次接收到写入寄存器的数据后,对该数据进行判断,判断其对应的操作信息是针对于哪个通道,其中对每个通道的操作信息都有一个深度为N(N的值根据实际需要确定)的数据缓存FIFO,(图2所示为多通道对应的FIFO缓存结构示意图),根据解析模块解析的通道号将对应的一次操作信息写入对应该通道的FIFO中,然后FIFO 的写入地址加1,直到将所有的操作信息写入。在此过程中不需要考虑硬件的执行过程,只需要根据实际需要和软件指令的执行时间写入命令并进行缓存。
在第一次写入某通道对应的FIFO操作信息时,启动硬件系统的操作,在硬件系统执行完一次操作后,再判断该通道是否还有未执行的操作,如果有则继续执行,直到所有的操作执行完成,则可实现单通道多个命令的无缝流水操作。
此外,该系统还可以实现多通道多命令的并行流水操作。以四通道的硬件系统为例,如果软件连续写入寄存器的通道号依次为1,2,3,4,则在将命令信息依次写入四个通道对应的数据缓存FIFO后,依次启动四个通道的硬件操作,四个通道的硬件操作在启动后分别执行,不会相互制约,实现了并行操作,对于单个的通道来说依旧是进行多命令的流水操作,因此可以实现多通道多命令的并行流水操作。
这种基于FIFO方式的软硬件交互方式对于软件和硬件来说都不需要等待的过程,解决了传统的中断和查询方式在软硬件交互上等待信息所浪费的时间,很大程度的提高了软硬件的交互效率,同时还可以实现硬件单通道多命令的无缝流水操作和多通道多命令的并行流水操作。

Claims (3)

1.一种在SOPC系统中实现软硬件交互的方法,其特征在于:
该方法采用串并转换通过在PLB总线上挂接User ip core来实现软硬件交互;
所述User ip core包括软件通过PLB总线写寄存器模块和对写入寄存器的数据解析模块以及数据缓存模块;
其中,所述PLB总线写寄存器模块将软件将要启动的通道号和对应的通道信息写入寄存器,所述数据解析模块对写入寄存器的数据进行解析,将通道信息写入对应通道的FIFO中进行缓存,同时启动对应通道的一系列操作,直到FIFO中存储的命令信息全部被执行完;
所述串并转换的实现由数据解析模块来完成;
1)所述数据解析模块在每次接收到写入寄存器的数据后,对该数据进行判断,判断其对应的操作信息是针对于哪个通道,其中对每个通道的操作信息都有一个深度为N的数据缓存FIFO,根据数据解析模块解析的通道号将对应的一次操作信息写入对应该通道的FIFO中,然后FIFO的写入地址加1,直到将所有的操作信息写入;
2)在此过程中不需要考虑硬件的执行过程,只需要根据实际需要和软件指令的执行时间写入命令并进行缓存;
3)在第一次写入某通道对应的FIFO操作信息时,启动硬件系统的操作,在硬件系统执行完一次操作后,再判断该通道是否还有未执行的操作,如果有则继续执行,直到所有的操作执行完成,则可实现单通道多个命令的无缝流水操作。
2.根据权利要求1所述在SOPC系统中实现软硬件交互的方法,其特征在于,该方法实现单通道内多命令的流水操作;具体是:
软件通过PLB总线写入寄存器的时间取决于软件指令的执行时间;在当前操作完成后,紧接着执行下一次操作,实现了通道内多命令的无缝流水操作。
3.根据权利要求2所述在SOPC系统中实现软硬件交互的方法,其特征在于,该方法实现多通道多命令的并行流水操作;具体是:
在实现通道内多命令流水操作的基础上如果软件通过PLB总线写入寄存器的值依次对应不同的通道,则每个通道均会在软件写入第一次操作信息时开始执行,各个通道的硬件执行过程没有相互制约,进行并行的执行,对于各个通道内实现流水操作,实现了硬件系统多通道多命令的并行流水操作。
CN201010603831.XA 2010-12-20 2010-12-20 一种在sopc系统中提高软硬件交互的方法 Active CN102566969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010603831.XA CN102566969B (zh) 2010-12-20 2010-12-20 一种在sopc系统中提高软硬件交互的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010603831.XA CN102566969B (zh) 2010-12-20 2010-12-20 一种在sopc系统中提高软硬件交互的方法

Publications (2)

Publication Number Publication Date
CN102566969A CN102566969A (zh) 2012-07-11
CN102566969B true CN102566969B (zh) 2015-06-17

Family

ID=46412489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010603831.XA Active CN102566969B (zh) 2010-12-20 2010-12-20 一种在sopc系统中提高软硬件交互的方法

Country Status (1)

Country Link
CN (1) CN102566969B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106621396B (zh) * 2016-09-30 2020-04-07 广西大学 一种航模接收机解码装置
CN110147254A (zh) * 2019-05-23 2019-08-20 苏州浪潮智能科技有限公司 一种数据缓存处理方法、装置、设备及可读存储介质
CN113965534B (zh) * 2020-06-29 2024-09-10 阿里巴巴集团控股有限公司 多通道数据的处理方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692218A (zh) * 2009-09-27 2010-04-07 上海大学 一种数据高速传输方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261063A (en) * 1990-12-07 1993-11-09 Ibm Corp. Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs
US20030105799A1 (en) * 2001-12-03 2003-06-05 Avaz Networks, Inc. Distributed processing architecture with scalable processing layers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692218A (zh) * 2009-09-27 2010-04-07 上海大学 一种数据高速传输方法

Also Published As

Publication number Publication date
CN102566969A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102567256B (zh) 处理器系统及其多通道内存拷贝dma加速器和方法
US9977664B2 (en) Information processing device and information processing method in heterogenous multi-cores having different architectures
CN110427337B (zh) 基于现场可编程门阵列的处理器内核及其运行方法
CN104137075A (zh) Gpu的资源分配方法和装置
CN102306141B (zh) 一种描述动态可重构阵列配置信息的方法
CN103116493A (zh) 一种应用于粗粒度可重构阵列的自动映射方法
CN102385524A (zh) 一种基于混编指令集的编译链指令替换方法
CN104317770A (zh) 用于众核处理系统的数据存储结构及数据访问方法
CN102566969B (zh) 一种在sopc系统中提高软硬件交互的方法
CN110704364A (zh) 基于现场可编程门阵列的自动化动态重构方法及系统
CN103870326A (zh) 一种将中断处理程序底半部搬移到应用层的方法及应用
CN103793208B (zh) 矢量dsp处理器和协处理器协同运作的数据处理系统
CN101702144B (zh) 一种dma控制器的控制装置及控制方法
CN101986265A (zh) 一种基于Atom处理器的指令并行分发方法
CN111400230A (zh) 数据传输方法、系统、控制设备及存储介质
CN102495776B (zh) 一种应用于云存储的存储控制器的bios调试方法
CN1690951A (zh) 优化的处理器和指令对准
CN103235715B (zh) 一种片上系统SoC命令处理的方法、装置及芯片
CN103150157B (zh) 基于访存分歧的gpu核心程序重组优化方法
CN117131910A (zh) 一种基于risc-v指令集架构拓展的卷积加速器及加速卷积运算的方法
CN106709861B (zh) 一种染色器驱动静态重构方法
US11163605B1 (en) Heterogeneous execution pipeline across different processor architectures and FPGA fabric
CN102446086A (zh) 一种可参量化专用指令集处理器设计平台
US10983947B2 (en) Method and dynamically reconfigurable processor adapted for management of persistence of information across multiple instruction cycles
Rettkowski et al. Application-specific processing using high-level synthesis for networks-on-chip

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 710065 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8,

Applicant after: Xi'an Keyway Technology Co.,Ltd.

Address before: 710077 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8,

Applicant before: Xi'an Qivi Test & Control Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: XI'AN QIVI TEST + CONTROL TECHNOLOGY CO., LTD. TO: XI'AN KEYWAY TECHNOLOGY CO., LTD.

Free format text: CORRECT: ADDRESS; FROM: 710077 XI'AN, SHAANXI PROVINCE TO: 710065 XI'AN, SHAANXI PROVINCE

C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 710065 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8,

Patentee after: Xi'an Qiwei Technology Co. Ltd.

Address before: 710065 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8,

Patentee before: Xi'an Keyway Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170920

Address after: 710065 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8,

Co-patentee after: Beijing Polytechnic Leike Electronic Information Technology Co., Ltd.

Patentee after: Xi'an Qiwei Technology Co. Ltd.

Address before: 710065 Xi'an high tech Zone, Jin Industrial Road, No., No. C Venture Park, No. 8,

Patentee before: Xi'an Qiwei Technology Co. Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211019

Address after: 710117 No. a1-134, building 4, phase II, information industry park, No. 526, Xitai Road, high tech Zone, Xi'an, Shaanxi Province

Patentee after: Xi'an siduoruizhi Information Technology Co.,Ltd.

Address before: 710065 No. 8, C District, pioneering research and Development Park, 69 Jinye Road, hi tech Zone, Xi'an, Shaanxi

Patentee before: XI'AN KEYWAY TECHNOLOGY Co.,Ltd.

Patentee before: BIT RACO ELECTRONIC INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211201

Address after: 710117 a2-02, building 4, phase II, information industry park, No. 526, banxitai Road, Xinglong Street, high tech Zone, Xi'an, Shaanxi Province

Patentee after: Leizhi digital system technology (Xi'an) Co.,Ltd.

Address before: 710117 No. a1-134, building 4, phase II, information industry park, No. 526, Xitai Road, high tech Zone, Xi'an, Shaanxi Province

Patentee before: Xi'an siduoruizhi Information Technology Co.,Ltd.