CN104102604B - 一种业务处理装置 - Google Patents
一种业务处理装置 Download PDFInfo
- Publication number
- CN104102604B CN104102604B CN201310129568.9A CN201310129568A CN104102604B CN 104102604 B CN104102604 B CN 104102604B CN 201310129568 A CN201310129568 A CN 201310129568A CN 104102604 B CN104102604 B CN 104102604B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- downstream traffic
- bus
- upstream business
- 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
Links
Abstract
本发明提供一种业务处理装置,应用在FPGA芯片内,该装置包括:上游业务模块、下游业务模块以及回读汇总模块,各模块通过总线连接,其中,下游业务模块接收上游业务模块发送的数据,所述数据是上游业务模块根据预定的时间间隔发送的;下游业务模块通过总线获取所述上游业务模块通过总线地址线发送的地址信息,该地址信息包括目标地址信息,下游业务模块判断目标地址信息与自身地址是否匹配,如果是,则处理该数据,如果否,则忽略该数据;回读汇总模块用于缓存下游业务模块发送给上游业务模块的数据并将其发送给上游业务模块。通过本发明的技术方案,有效地解决了FPGA芯片中当业务模块数量急剧增加时,代码可扩展性差,不利于后续功能开发的问题。
Description
技术领域
本发明涉及一种可编程的逻辑器件,尤其涉及一种业务处理装置。
背景技术
随着半导体工艺技术的发展,越来越多的运算和存储模块被集成在同一个芯片内,使得FPGA芯片(Field Programmable Gate Array,现场可编程门阵列)的应用也越来越广。FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,经过几十年的发展,其功能日渐强大,成本也越来越低。低端FPGA芯片已经逐渐取代了传统的数字原件,高端FPGA芯片在不断争夺ASIC(Application Specific Integrated Circuit,特定用途的集成电路)的市场份额。因此,FPGA芯片在通信、电子涉及等领域得到了广泛的应用,并成为实现电子系统的一种重要手段。
在FPGA芯片的总线设计中,随着业务模块数量的不断增加,如何合理利用资源,放松走线约束,减少布局布线中的时序问题就成了被关注的热点问题。现有技术中,通常采用图1所示的方法提高布局布线的成功率。请参考图1,通过多级仲裁级联,缩短走线的距离,从而达到数据分发到多个业务模块的目的。现有技术存在下述问题,当业务模块的数量急剧增加的时候,代码的可扩展性较差,另外,多级仲裁级联,资源占用相对较多,不能做到合理的利用资源,不利于后续的功能开发。
发明内容
有鉴于此,本发明提供一种业务处理装置,以解决上述现有技术的不足。
具体地,所述装置应用在FPGA芯片内部,该装置包括:上游业务模块、下游业务模块以及回读汇总模块,各模块之间通过总线连接,其中,
下游业务模块接收上游业务模块发送的数据,其中所述数据是上游业务模块根据预定的时间间隔发送的;
下游业务模块通过总线获取所述上游业务模块通过总线地址线发送的地址信息,其中该地址信息包括目标地址信息,该下游业务模块判断该目标地址信息与自身地址是否匹配,如果是,则处理该数据,如果否,则忽略该数据;
回读汇总模块用于缓存下游业务模块发送给上游业务模块的数据,并将其发送给上游业务模块。
由以上技术方案可见,本发明通过在FPGA芯片内设计实现监听型慢速总线,进而增强了业务模块数量的可扩展性,并有效地解决了芯片布局布线的问题,节省了芯片的资源。
附图说明
图1是现有技术中FPGA芯片慢速总线设计方法图;
图2是本发明一种实施例流程示意图;
图3是本发明一种实施例中下游业务模块接收数据的示意图;
图4是本发明一种实施例中下游业务模块发送回读数据的示意图;
图5是本发明一种实施例FPGA芯片内部数据传输示意图。
具体实施方式
针对现有技术FPGA芯片设计中代码可扩展性差,资源占用较多等问题,本发明提供一种业务处理装置,应用在FPGA芯片内部,该装置包括:上游业务模块、下游业务模块以及回读汇总模块,各模块之间通过总线连接,请参考图2,该装置在处理业务的时候执行如下流程:
步骤101,上游业务模块发送数据,并同时通过总线地址线发送地址信息,其中该地址信息包括目标地址信息。
本步骤中,上游业务模块所发送的数据如果超出了总线的宽度,那么上游业务模块会将所述数据按照预定的时间间隔分为几次发送,每次发送数据的同时上游业务模块都会通过总线地址线发送地址信息,其中该地址信息包括目标地址信息和数据存储地址信息,下游业务模块可以根据预定的协议对该地址信息进行识别。由于本发明采用的是慢速总线连接各业务模块,对传输数据性能的要求不高,所以可以通过多周期来延长数据采样的时间间隔,从而增加数据在采样时刻的稳定性,进而来放松对走线的约束,为了使下游业务模块能够采样到更准确的数据,所述预定的时间间隔大于数据从上游业务模块发送到下游业务模块并被下游业务模块处理完成的时间,以确保在下次发送数据的时候总线是空闲的,不会发生冲突。在一种优选的实施方式中,所述预定的时间间隔是时钟周期的整数倍。优选地,所述时间间隔是时钟周期的4倍。
步骤102,下游业务模块判断总线上所述上游业务模块发送的目标地址信息与自身地址是否匹配,如果是,则处理所述数据,转步骤103,如果否,则忽略该数据。
请参考图3,由于各下游业务模块是串联在总线上的,所以上游业务模块发送数据的时候,所有下游业务模块都会收到所述数据,这时就需要根据地址信息中的目标地址信息来判断。所述目标地址信息是上游业务模块指定的需要处理该数据的下游业务模块的地址信息。在一种优选的实施方式中,下游业务模块是通过第一寄存器与总线相连,上游业务模块发送过来的数据直接发送到第一寄存器中暂存,下游业务模块首先判断总线上所述目标地址信息与自身地址是否匹配,如果匹配,则说明所述数据是发送给自己的,则会处理该数据,如果不匹配,则忽略该数据。这里需要注意的是,如果地址信息不匹配,下游业务模块直接忽略该数据而并不需要清空第一寄存器,这是因为上游业务模块在每次发送数据的时候都会有一个脉冲的使能指示信号,下游业务模块只会对其进行采样,而不会控制,在优选的实施方式中,设定单脉冲的使能指示信号,比方说可以设置高电平有效,低电平无效,当第一寄存器中收到数据的时候使能指示信号是高电平,代表数据有效,进而下游业务模块根据目标地址信息去判断,由于所述使能指示信号是单脉冲信号,所以在一次数据传输的过程中,下游业务模块只能采样到一次有效信息,只会对总线上的数据进行一次处理,所以在下次数据传入之前下游业务模块就不会去判断第一寄存器中的数据,进而避免了下游业务模块的重复判断。
步骤103,下游业务模块根据总线上的读写指示信号判断所述数据是读命令还是写命令。
上游业务模块发送的数据分为读命令和写命令,写命令表示上游业务模块需要修改下游业务模块中的数据,读命令表示上游业务模块需要回读下游业务模块中的数据。
当下游业务模块判断所述数据是写命令时,根据总线地址线上上游业务模块发送的地址信息中的数据存储地址信息修改自身数据;
当下游业务模块判断所述数据是读命令时转步骤104。
步骤104,下游业务模块发送上游业务模块所需的回读数据给回读汇总模块。
步骤105,回读汇总模块将所述的回读数据发送给上游业务模块。
本发明中的数据传输是单向的,下游业务模块不能主动发送数据给上游业务模块。但是当上游业务模块发送读数据的时候,就需要下游业务模块反馈的回读数据给上游业务模块。请参考图4,本发明中,下游业务模块需要通过回读汇总模块与总线连接,也就是下游业务模块不直接发送回读数据给总线,而是将所述回读数据发送给回读汇总模块,由回读汇总模块发送给上级业务模块。这里需要注意的是,所有下级业务模块都连接同一个回读汇总模块,所述回读数据由回读汇总模块统一发送到总线上。
请参考图5,在一种优选的实施方式中,为了避免消耗长线,优选地,本发明所述装置还包括第二寄存器、第三寄存器以及第四寄存器,所述第二寄存器连接下游业务模块与回读汇总模块,用于暂存下游业务模块发送给回读汇总模块的所述回读数据,也就是下游业务模块在发送回读数据的时候先将所述回读数据发送到第二寄存器中暂存;所述第三寄存器连接回读汇总模块和总线,用于暂存回读汇总模块发送给上游业务模块的所述回读数据,也就是说回读汇总模块将要发送给上游业务模块的回读数据先发送到第三寄存器中暂存,然后再将第三寄存器中的所述回读数据通过总线发送给上游业务模块;所述第四寄存器连接总线和上游业务模块,用于暂存接收到的所述回读数据,即当上游业务模块接收回读数据的时候,是从所述第四寄存器中读取。
为了实现本发明的目的,在一种优选的实施方式中,可以如表1所示设置总线的接口。
表1
其具体实现描述如下:
1.上游业务模块发送写命令的时候:Bus_vaild为高电平,Bus_wr为高电平,Bus_addr设置为需要修改数据的业务模块地址,Bus_wdata设置为需要传递给业务模块的修改数据。发送数据的时候,该总线下的所有业务模块都会接收到该数据,但是只有Bus_addr匹配的业务模块才会处理该命令。
2.上游业务模块发送读命令的时候:Bus_vaild为高电平,Bus_wr为低电平,Bus_addr设置为需要读取数据的目标地址。然后Bus_addr对应的业务模块处理该命令,并把回读数据返回给慢速总线,Bus_rdvld设置为该业务模块对应的值,Bus_rdata设置为需要读取的数据。
通过以上描述可以看出,本发明提供的装置,可以在FPGA芯片内实现监听型慢速总线设计方法,并采用多周期的实现方式来放松走线约束,当业务模块数量急剧增加时,可扩展性强,解决了布局布线的问题,相对于多级仲裁级联,还大大节省了芯片资源。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种业务处理装置,应用在FPGA芯片内部,该装置包括:上游业务模块、下游业务模块以及回读汇总模块,各模块之间通过总线连接,其特征在于,
下游业务模块接收上游业务模块发送的数据,其中,如果所述数据超出了总线的宽度,所述上游业务模块将所述数据按照预定的时间间隔分为多次发送,所述预定的时间间隔大于数据从上游业务模块发送到下游业务模块并被下游业务模块处理完成的时间;
下游业务模块通过总线获取所述上游业务模块通过总线地址线发送的地址信息,其中该地址信息包括目标地址信息,该下游业务模块判断该目标地址信息与自身地址是否匹配,如果是,则处理该数据,如果否,则忽略该数据;
回读汇总模块用于缓存下游业务模块发送给上游业务模块的数据,并将其发送给上游业务模块。
2.根据权利要求1所述的装置,其特征在于,当下游业务模块判断所述目标地址信息与自身地址匹配时,进一步根据总线上的读写指示信号判断该数据是读命令还是写命令,如果该数据是写命令,则读取所述数据;如果该数据是读命令,则发送上游业务模块所需的反馈数据给回读汇总模块。
3.根据权利要求1所述的装置,其特征在于,所述地址信息进一步包括数据存储地址信息,下游业务模块根据所述数据存储地址信息处理所述数据。
4.根据权利要求1所述的装置,其特征在于,所述预定的时间间隔是时钟周期的整数倍。
5.根据权利要求1所述的装置,其特征在于,所述装置还包括第一寄存器,该第一寄存器连接总线与下游业务模块,用于暂存上游业务模块发送过来的所述数据。
6.根据权利要求2所述的装置,其特征在于,所述装置还包括第二寄存器,该第二寄存器连接下游业务模块与回读汇总模块,用于暂存下游业务模块发送给回读汇总模块的所述反馈数据。
7.根据权利要求2所述的装置,其特征在于,所述装置还包括第三寄存器,该第三寄存器连接回读汇总模块与总线,用于暂存回读汇总模块发送给上游业务模块的所述反馈数据。
8.根据权利要求2所述的装置,其特征在于,所述装置还包括第四寄存器,该第四寄存器连接总线和上游业务模块,用于暂存接收到的回读汇总模块发送的所述反馈数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310129568.9A CN104102604B (zh) | 2013-04-12 | 2013-04-12 | 一种业务处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310129568.9A CN104102604B (zh) | 2013-04-12 | 2013-04-12 | 一种业务处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104102604A CN104102604A (zh) | 2014-10-15 |
CN104102604B true CN104102604B (zh) | 2017-07-04 |
Family
ID=51670771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310129568.9A Active CN104102604B (zh) | 2013-04-12 | 2013-04-12 | 一种业务处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102604B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243039A (zh) * | 2015-11-13 | 2016-01-13 | 上海斐讯数据通信技术有限公司 | 一种串口通信系统及方法 |
CN109032010B (zh) * | 2018-07-17 | 2021-04-20 | 创新先进技术有限公司 | Fpga器件及基于其的数据处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968350A (zh) * | 2006-06-08 | 2007-05-23 | 华为技术有限公司 | 数字电视网络中的单播寻址系统及方法 |
CN101131586A (zh) * | 2007-09-30 | 2008-02-27 | 哈尔滨工业大学 | 机械臂系统中的m-lvds高速串行通信装置及其通信控制方法 |
CN102377685A (zh) * | 2010-08-06 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种订阅消息的发送系统以及订阅消息的发送方法 |
CN102413553A (zh) * | 2011-12-06 | 2012-04-11 | 广州市弘宇科技有限公司 | 无线传感器网络低功耗方法及无线传感器节点 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070115833A1 (en) * | 2005-11-21 | 2007-05-24 | Gerald Pepper | Varying the position of test information in data units |
-
2013
- 2013-04-12 CN CN201310129568.9A patent/CN104102604B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968350A (zh) * | 2006-06-08 | 2007-05-23 | 华为技术有限公司 | 数字电视网络中的单播寻址系统及方法 |
CN101131586A (zh) * | 2007-09-30 | 2008-02-27 | 哈尔滨工业大学 | 机械臂系统中的m-lvds高速串行通信装置及其通信控制方法 |
CN102377685A (zh) * | 2010-08-06 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种订阅消息的发送系统以及订阅消息的发送方法 |
CN102413553A (zh) * | 2011-12-06 | 2012-04-11 | 广州市弘宇科技有限公司 | 无线传感器网络低功耗方法及无线传感器节点 |
Also Published As
Publication number | Publication date |
---|---|
CN104102604A (zh) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117360B (zh) | 基于fpga的接口信号重映射方法 | |
US8199759B2 (en) | Method and apparatus for enabling ID based streams over PCI express | |
US20070276976A1 (en) | Systems and methods for providing distributed technology independent memory controllers | |
CN107257960A (zh) | 两级存储器全行写入 | |
CN102495920B (zh) | 一种FPGA用基于PCIe的集成化逻辑分析模块 | |
CN113297112B (zh) | PCIe总线的数据传输方法、系统及电子设备 | |
CN104484306B (zh) | 基于差分信号的主从同步串行通讯总线及其实现方法 | |
CN112948295B (zh) | 一种基于axi4总线的fpga与ddr高速数据包传输系统及方法 | |
CN103744811A (zh) | 一种串行数据传输系统及方法 | |
CN106250333A (zh) | 一种基于fpga的信号处理卡系统 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
TW201124911A (en) | Buffering in media and pipelined processing components | |
CN201878182U (zh) | 一种基于fpga的总线型通信系统 | |
WO2018125384A1 (en) | Techniques for coalescing doorbells in a request message | |
CN107908587A (zh) | 基于usb3.0的实时数据采集传输装置 | |
CN104102604B (zh) | 一种业务处理装置 | |
CN106445869B (zh) | 一种基于FPGA和PCIe的高速数据交换方法 | |
CN103914427A (zh) | 基于三根物理互连线的集成电路片上通讯方法及装置 | |
CN105608028A (zh) | 基于emif接口和双口ram实现dsp与fpga高速通信方法 | |
CN107291641B (zh) | 用于计算单元的存储器直接访问控制装置及其运行方法 | |
CN109446126B (zh) | 基于emif总线的dsp与fpga高速通信系统及方法 | |
CN104678815B (zh) | Fpga芯片的接口结构及配置方法 | |
US7047385B1 (en) | High-speed memory for use in networking systems | |
TW201916644A (zh) | 匯流排系統 | |
CN111581132B (zh) | 一种基于fpga的可扩展的多端口ddr3控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |