CN104252560A - 基于现场可编程门阵列的集中缓存式装置及设计方法 - Google Patents
基于现场可编程门阵列的集中缓存式装置及设计方法 Download PDFInfo
- Publication number
- CN104252560A CN104252560A CN201410451627.9A CN201410451627A CN104252560A CN 104252560 A CN104252560 A CN 104252560A CN 201410451627 A CN201410451627 A CN 201410451627A CN 104252560 A CN104252560 A CN 104252560A
- Authority
- CN
- China
- Prior art keywords
- functional module
- signal
- register
- programmable gate
- time slot
- 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
Landscapes
- Logic Circuits (AREA)
Abstract
一种基于现场可编程门阵列的集中缓存式装置及设计方法,涉及现场可编程门阵列设计领域,适用于至少2个相同的功能模块,该装置包括:时分复用控制单元,用于将时间周期划为至少2个等时长的时隙,每一个时隙按顺序对应一个功能模块,每个功能模块在对应的时隙内进行输入信号处理;信号串行化单元,用于将每个功能模块的并行输入信号转化为串行输入信号;集中存储寄存器,用于保存每个功能模块的寄存器,并在每个功能模块对应的时隙内读写该功能模块的寄存器;组合逻辑单元,用于单个功能模块进行输入信号处理的组合逻辑;信号并行化单元,用于将每个功能模块的输入信号处理后的串行输出信号还原为并行输出信号。
Description
技术领域
本发明涉及现场可编程门阵列设计领域,具体来讲是一种基于现场可编程门阵列的集中缓存式装置及设计方法。
背景技术
FPGA(Field Programmable Gate Array,现场可编程门阵列)是在PAL(Programmable Array Logic,可编程阵列逻辑)、GAL(GenericArray Logic,通用阵列逻辑)、PLD(Programmable Logic Device,可编程逻辑器件)等可编程器件的基础上进一步发展的产物,是ASIC(Application Specific Integrated Circuit,专用集成电路)中集成度最高的一种。FPGA的可编程特性使得该器件具有独特的灵活性,可以帮助***厂商在最短的时间内推出产品并实现产业化;随着工艺的进步,传统ASIC产品所需的NRE(Non-Recurring Engineering,一次性工程)成本越来越高,受企业研发资金的约束,传统ASIC在很多市场领域已被FPGA取代。FPGA的应用领域已从原来的通信逐步扩展到消费电子、汽车电子、工业控制、测试测量等广泛的领域。因此,如何有效利用FPGA内部逻辑资源也变得越来越重要。
FPGA内部包括CLB(Configurable Logic Block,可配置逻辑模块)、IOB(Input Output Block,输出输入模块)和Interconnect(内部连线)三大个部分。IOB是芯片与外界电路接口部分,完成不同电器特性下对输入/输出信号的驱动与匹配要求;CLB主要由组合逻辑、寄存器、选择器和控制单元组成;Interconnect用于连通FPGA内部所有单元。用户通过对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户所需的逻辑功能。
当FPGA设计中包含N个相同功能模块时,通常实现方法是完成一个功能模块,然后做N次复制,如图1所示,若一个功能模块占用X个组合逻辑单元,Y个寄存器,Z条内部连线,那么N次复制后一般就会占用X×N个组合逻辑单元,Y×N个寄存器,Z×N条内部连线,严重消耗了FPGA的硬件资源,提高了设计成本,同时过多的内部连线也可能会导致整个设计所能达到的最大频率(Fmax)不符合要求。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于现场可编程门阵列的集中缓存式装置及设计方法,能够减少多个相同功能模块占用的组合逻辑资源,节省设计成本,且功能模块的数量越大,效果越明显。
为达到以上目的,本发明采取的技术方案是:一种基于现场可编程门阵列的集中缓存式装置,适用于至少2个相同的功能模块,包括时分复用控制单元、信号串行化单元、集中存储寄存器、组合逻辑单元、信号并行化单元;所述时分复用控制单元用于将时间周期划为至少2个等时长的时隙,每一个时隙按顺序对应一个功能模块,每个功能模块在对应的时隙内进行输入信号处理;所述信号串行化单元用于将每个功能模块的并行输入信号转化为串行输入信号;所述集中存储寄存器用于保存每个功能模块的寄存器,并在每个功能模块对应的时隙内读写该功能模块的寄存器;所述组合逻辑单元用于单个功能模块进行输入信号处理的组合逻辑;所述信号并行化单元用于将每个功能模块的输入信号处理后的串行输出信号还原为并行输出信号。
在上述技术方案的基础上,所述组合逻辑单元为单路HDLC解封装组合逻辑。
在上述技术方案的基础上,所述集中存储寄存器为block RAM或者分布式RAM。
在上述技术方案的基础上,所述时分复用控制单元划分的时隙按顺序不断循环。
本发明还提供一种基于现场可编程门阵列的集中缓存式设计方法,包括以下步骤:步骤S1.时分复用控制单元根据功能模块的数目将时间周期划为相应数目的时隙;信号串行化单元将每个功能模块的并行输入信号转化为串行输入信号;步骤S2.各个功能模块的寄存器按顺序存储在集中存储寄存器的地址中;步骤S3.在同一个时隙内,对应的功能模块的输入信号输入时,从集中存储寄存器中读取对应的寄存器值,并调用组合逻辑单元,计算该功能模块的输出结果,然后将数据处理后的新寄存器值重新存入到集中存储寄存器的对应地址中;步骤S4.信号并行化单元将每个功能模块的输出结果按对应关系重新还原为并行输出信号。
在上述技术方案的基础上,步骤S1中,每个输入信号对应设有一个顺序标记信号,所述顺序标记信号用于指示输入信号对应的时隙。
在上述技术方案的基础上,步骤S4中,信号并行化单元将每个功能模块的输出结果按顺序标记信号的对应关系重新还原为并行输出信号。
在上述技术方案的基础上,步骤S2中,各个功能模块寄存器在每个地址中的存放位置是相同的。
在上述技术方案的基础上,每个功能模块的输入信号设有一个数据有效信号,所述数据有效信号用于指示当前时隙内输入信号的数据是否有效。
本发明的有益效果在于:
1.本发明采用的集中缓存式设计方法,能够减少多个相同功能模块占用的组合逻辑资源,节省设计成本,且功能模块的数量越大,效果越明显。
2.本发明利用信号串行化单元将多个相同功能模块端口串行化,减少了功能模块之间的信号连线,进而节约了FPGA的布线资源。
3.本发明提供的集中缓存式设计方法,通过共享组合逻辑单元,将N个功能模块的N×X个组合逻辑单元减少到X个组合逻辑单元,比传统设计方法的资源占用率少,这为软件在FPGA内部布局布线提供了便利,因此会有效提高设计的最大***时钟频率(Fmax),提高设计的稳定性。
附图说明
图1为背景技术中N个相同功能模块通常设计方法的示意图;
图2本发明中基于现场可编程门阵列的集中缓存式装置的结构框图;
图3本发明中基于现场可编程门阵列的集中缓存式设计方法的示意图;
图4本发明实施例8路HDLC解封装结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图2所示,一种基于现场可编程门阵列的集中缓存式装置,适用于至少2个相同的功能模块,包括时分复用控制单元、信号串行化单元、集中存储寄存器、组合逻辑单元、信号并行化单元;所述时分复用控制单元用于将时间周期划为至少2个等时长的时隙,每一个时隙按顺序对应一个功能模块,每个功能模块在对应的时隙内进行输入信号处理;所述时分复用控制单元划分的时隙按顺序不断循环。所述信号串行化单元用于将每个功能模块的并行输入信号转化为串行输入信号;所述集中存储寄存器用于保存每个功能模块的寄存器,并在每个功能模块对应的时隙内读写该功能模块的寄存器;所述组合逻辑单元为单个功能模块进行输入信号处理的组合逻辑;所述信号并行化单元用于将每个功能模块的输入信号处理后的串行输出信号还原为并行输出信号。
参见图3所示,根据上述装置的基于现场可编程门阵列的集中缓存式设计方法,包括以下步骤:
步骤S1.时分复用控制单元根据功能模块的数目将时间周期划为相应数目的时隙;信号串行化单元将每个功能模块的并行输入信号转化为串行输入信号,且每个输入信号对应设有一个顺序标记信号(number);所述顺序标记信号还用于指示输入信号对应的时隙。每个功能模块的输入信号设有一个数据有效信号(dv),所述数据有效信号用于指示当前时隙内输入信号的数据是否有效。例如:具体为划分N个时隙,每个功能模块的输入信号按固定顺序占用一个时隙,比如第0个功能模块占用第0个时隙,第1个功能模块占用第1个时隙,以此类推,第N-1个功能模块占用第N-1个时隙。按之前举例,顺序标记信号为0时,串行化的输入信号对应第0个功能模块输入信号。
步骤S2.各个功能模块的寄存器按顺序存储在集中存储寄存器的地址中,且各个功能模块寄存器在每个地址中的存放位置是相同的。例如:第0个功能模块数据处理的寄存器存储在集中存储寄存器的地址0,第1个功能模块数据处理的寄存器存储在集中存储寄存器的地址1,以此类推,第N-1个功能模块寄存器存储在集中存储寄存器的地址N-1。同时,第0个功能模块的寄存器a储存在地址0的比特0,第1个功能模块的寄存器a也同样存在地址1的比特0。
步骤S3.由于每个功能模块所要实现的功能相同,因此所有功能模块的数据处理的组合逻辑是一样的。在时分复用模块控制下,在同一个时隙内,对应的功能模块的输入信号输入时,从集中存储寄存器中读取对应的寄存器值。例如:当输入的串行化数据的顺序标记信号为0时,集中存储寄存器的地址0中的寄存器值将被读出,此时该寄存器值以及输入信号同属于第0个功能模块。
调用组合逻辑单元,计算该功能模块的输出结果,然后将数据处理后的新寄存器值重新存入到集中存储寄存器的对应地址中;例如:在第0个时隙内,同属于第0个功能模块的输入信号加上该功能模块的寄存器按单个功能模块数据处理方式就可得出第0个功能模块的输出结果,同时数据处理后的寄存器值重新存入到集中存储寄存器的地址0。
步骤S4.信号并行化单元将每个功能模块的输出结果按顺序标记信号的对应关系重新还原为并行输出信号。与串行化输入信号类似,输出的串行化数据处理结果也设有顺序标记信号指明当前输出结果对应哪个功能模块。例如:顺序标记信号为0时输出结果对应第0个功能模块。
参见图4所示,以组合逻辑单元为单路HDLC(High-Level DataLink Control,高级数据链路控制)解封装组合逻辑为例,对本发明做进一步说明:
信号串行化单元将8路HDLC解封装的数据输入data0-data7按时分复用控制单元划分的时隙转化为串行码流,第0个功能模块对应第0个时隙,第1个功能模块对应第1个时隙,以此类推。转化后的顺序标记信号用于指示串行码流data对应的时隙,如顺序标记信号为0时,data对应data0;顺序标记信号为1时,data对应data1。数据有效信号用于指示当前时隙的data是否有效。
集中存储寄存器中存储了HDLC解封装操作所要用的所有寄存器。所述集中存储寄存器为block RAM(块随机存储器)或者分布式RAM,其地址深度为8,地址0存储第0个功能模块的寄存器,地址1存储第1个功能模块的寄存器,以此类推。时分复用控制单元控制该集中存储寄存器的读写操作,它在各个时隙读出对应地址寄存器值data_rd,然后在数据处理后得到的寄存器新值data_wr,并将data_wr在当前时隙重新存入集中存储寄存器。如,在顺序标记信号为0时,读出0地址的寄存器值data_rd,经过数据处理后得data_wr,然后重新存入地址0。
单路HDLC解封装组合逻辑主要是在各个时隙将各路数据输入data以及寄存器data_rd相结合,按单路HDLC协议进行解封装处理,得出解封装后的数据包。Data_out是解封装得到的数据,sop指示数据包头,eop指示数据包尾,dv_out指示当前的data_out、sop、eop是否有效。在顺序标记信号为0时,其是对第0路输入信号进行解封装处理,得到的是第0路的解封装数据包;当顺序标记信号为1时,是对第1路输入信号进行解封装处理,得到的是第1路的解封装数据包,以此类推。
最后,信号并行化处理模块将得到的串行解封装数据包根据顺序标记信号恢复为8路数据流,实现8个单路HDLC解封装模块的功能效果。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (9)
1.一种基于现场可编程门阵列的集中缓存式装置,适用于至少2个相同的功能模块,其特征在于:包括时分复用控制单元、信号串行化单元、集中存储寄存器、组合逻辑单元、信号并行化单元;
所述时分复用控制单元用于将时间周期划为至少2个等时长的时隙,每一个时隙按顺序对应一个功能模块,每个功能模块在对应的时隙内进行输入信号处理;
所述信号串行化单元用于将每个功能模块的并行输入信号转化为串行输入信号;
所述集中存储寄存器用于保存每个功能模块的寄存器,并在每个功能模块对应的时隙内读写该功能模块的寄存器;
所述组合逻辑单元用于单个功能模块进行输入信号处理的组合逻辑;
所述信号并行化单元用于将每个功能模块的输入信号处理后的串行输出信号还原为并行输出信号。
2.如权利要求1所述的基于现场可编程门阵列的集中缓存式装置,其特征在于:所述组合逻辑单元为单路HDLC解封装组合逻辑。
3.如权利要求1所述的基于现场可编程门阵列的集中缓存式装置,其特征在于:所述集中存储寄存器为block RAM或者分布式RAM。
4.如权利要求1所述的基于现场可编程门阵列的集中缓存式装置,其特征在于:所述时分复用控制单元划分的时隙按顺序不断循环。
5.根据权利要求1所述装置的基于现场可编程门阵列的集中缓存式设计方法,其特征在于,包括以下步骤:
步骤S1.时分复用控制单元根据功能模块的数目将时间周期划为相应数目的时隙;信号串行化单元将每个功能模块的并行输入信号转化为串行输入信号;
步骤S2.各个功能模块的寄存器按顺序存储在集中存储寄存器的地址中;
步骤S3.在同一个时隙内,对应的功能模块的输入信号输入时,从集中存储寄存器中读取对应的寄存器值,并调用组合逻辑单元,计算该功能模块的输出结果,然后将数据处理后的新寄存器值重新存入到集中存储寄存器的对应地址中;
步骤S4.信号并行化单元将每个功能模块的输出结果按对应关系重新还原为并行输出信号。
6.如权利要求5所述的基于现场可编程门阵列的集中缓存式设计方法,其特征在于:步骤S1中,每个输入信号对应设有一个顺序标记信号,所述顺序标记信号用于指示输入信号对应的时隙。
7.如权利要求6所述的基于现场可编程门阵列的集中缓存式设计方法,其特征在于:步骤S4中,信号并行化单元将每个功能模块的输出结果按顺序标记信号的对应关系重新还原为并行输出信号。
8.如权利要求5所述的基于现场可编程门阵列的集中缓存式设计方法,其特征在于:步骤S2中,各个功能模块寄存器在每个地址中的存放位置是相同的。
9.如权利要求5所述的基于现场可编程门阵列的集中缓存式设计方法,其特征在于:每个功能模块的输入信号设有一个数据有效信号,所述数据有效信号用于指示当前时隙内输入信号的数据是否有效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410451627.9A CN104252560B (zh) | 2014-09-05 | 2014-09-05 | 基于现场可编程门阵列的集中缓存式装置及设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410451627.9A CN104252560B (zh) | 2014-09-05 | 2014-09-05 | 基于现场可编程门阵列的集中缓存式装置及设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252560A true CN104252560A (zh) | 2014-12-31 |
CN104252560B CN104252560B (zh) | 2017-08-01 |
Family
ID=52187448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410451627.9A Active CN104252560B (zh) | 2014-09-05 | 2014-09-05 | 基于现场可编程门阵列的集中缓存式装置及设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104252560B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107750431A (zh) * | 2015-06-16 | 2018-03-02 | 阿海珐核能公司 | 包括多个功能块的现场可编程门阵列和用于动力装置的控制装置 |
CN110222519A (zh) * | 2019-06-05 | 2019-09-10 | 郑州信大捷安信息技术股份有限公司 | 一种可配置通道的数据处理***及方法 |
CN114143195A (zh) * | 2021-11-19 | 2022-03-04 | 烽火通信科技股份有限公司 | 一种数据包处理装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541707B (zh) * | 2010-12-15 | 2014-04-23 | 中国科学院电子学研究所 | 复用jtag接口的fpga片内逻辑分析仪***和方法 |
CN103297055A (zh) * | 2013-03-19 | 2013-09-11 | 中国科学院声学研究所 | 一种采用fpga实现多路串行adc同步的装置 |
-
2014
- 2014-09-05 CN CN201410451627.9A patent/CN104252560B/zh active Active
Non-Patent Citations (4)
Title |
---|
张有志: "《全国大学生电子设计竞赛培训教程》", 31 March 2013 * |
张钢: "《Linux操作与服务器配置实用教程》", 31 January 2014 * |
董长富等: "基于FPGA的多串口模块的设计和实现", 《设计参考》 * |
陈文革: "《计算机网络》", 30 September 2013 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107750431A (zh) * | 2015-06-16 | 2018-03-02 | 阿海珐核能公司 | 包括多个功能块的现场可编程门阵列和用于动力装置的控制装置 |
CN107750431B (zh) * | 2015-06-16 | 2021-12-10 | 阿海珐核能公司 | 包括多个功能块的现场可编程门阵列和用于动力装置的控制装置 |
CN110222519A (zh) * | 2019-06-05 | 2019-09-10 | 郑州信大捷安信息技术股份有限公司 | 一种可配置通道的数据处理***及方法 |
CN110222519B (zh) * | 2019-06-05 | 2021-02-05 | 郑州信大捷安信息技术股份有限公司 | 一种可配置通道的数据处理***及方法 |
CN114143195A (zh) * | 2021-11-19 | 2022-03-04 | 烽火通信科技股份有限公司 | 一种数据包处理装置及方法 |
CN114143195B (zh) * | 2021-11-19 | 2023-05-23 | 烽火通信科技股份有限公司 | 一种数据包处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104252560B (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5354427B2 (ja) | 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法 | |
CN102262604B (zh) | 一种并发访问方法、***及接口装置 | |
US8269524B2 (en) | General purpose input/output pin mapping | |
EP3056998B1 (en) | Configurable serial and pulse width modulation interface | |
US9673824B2 (en) | Techniques and circuitry for configuring and calibrating an integrated circuit | |
CN1909439B (zh) | 可编程逻辑器件集成电路上用于高速串行数据接收机的解串器 | |
CN104572573A (zh) | 数据存储方法、存储模块和可编程逻辑器件 | |
CN104424154A (zh) | 通用串行***接口 | |
CN103092806A (zh) | 基于spi数据传输时序的数据传输方法和*** | |
US7373454B1 (en) | Pattern detect and byte align circuit using CAM | |
CN104252560A (zh) | 基于现场可编程门阵列的集中缓存式装置及设计方法 | |
US9143423B2 (en) | JESD test sequencer generator | |
CN113190291A (zh) | 一种基于片上网络数据采集的可配置协议转换***及方法 | |
CN103888147A (zh) | 一种串行转并行转换电路和转换器以及转换*** | |
CN103559161B (zh) | 一种用于fpga配置的总线多宽度转换电路 | |
CN103561360A (zh) | 串行处理光传送网开销的装置及方法 | |
CN203747793U (zh) | 二维可扩展多路复用器的级联结构 | |
US10498340B2 (en) | Field programmable gate array comprising plurality of functional blocks, and control device for a power plant | |
US8451022B2 (en) | Integrated circuit and input data controlling method for reconfigurable circuit | |
CN202632782U (zh) | 一种基于MicroBlaze软核的多路SSI数据采集模块 | |
CN201662798U (zh) | 一种端口映射设备转换装置及控制*** | |
CN103746686A (zh) | 二维可扩展多路复用器的级联结构 | |
CN107577438B (zh) | 现场可编程门阵列中闪存的存储空间的划分方法及装置 | |
CN102104371B (zh) | 基于接口的可复用多路可编程脉宽调制器 | |
RU139326U1 (ru) | Вычислительный модуль |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |