CN105515565A - 一种硬件逻辑资源复用模块及复用实现的方法 - Google Patents
一种硬件逻辑资源复用模块及复用实现的方法 Download PDFInfo
- Publication number
- CN105515565A CN105515565A CN201510926024.4A CN201510926024A CN105515565A CN 105515565 A CN105515565 A CN 105515565A CN 201510926024 A CN201510926024 A CN 201510926024A CN 105515565 A CN105515565 A CN 105515565A
- Authority
- CN
- China
- Prior art keywords
- input
- task
- memory
- clock
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
本发明涉及一种硬件逻辑资源复用模块及复用实现的方法,整个模块共用同一个时钟,输入时钟连接到所有的触发器、存储器的时钟端,地址输入信号经两级触发器后连接到存储器的写地址端,地址输入信号直接连接到存储器的读地址端,使能输入经两级触发器后连接到存储器的写使能端,使能输入信号经一级触发器后连接到组合逻辑的输入端,同时也直接连接到存储器的读使能端,数据输入经一级触发器后连接到组合逻辑的输入,存储器的读数据端输出给组合逻辑的输入,而组合逻辑的输出经一级触发器后作为模块的输出,也反馈回与数据输入合并后连接到存储器的写数据端,有益效果是实现了对组合逻辑资源的节省,可以利用有限的逻辑资源实现更大容量的数据处理。
Description
技术领域
本发明涉及一种逻辑资源复用技术,特别涉及一种硬件逻辑资源复用模块及复用实现的方法。
背景技术
同步数字体系(SDH)广泛的应用于光纤通信中,包括骨干网、城域网还有接入网,随着业务量不断的增长,对海量数据进行交叉和挑选的难度也越来越大,尤其是对大容量接入数据进行交叉时,需要耗费大量的硬件逻辑资源,如何利用有限的硬件资源实现更大容量的数据交叉,这对于硬件电路的设计是一个挑战。
发明内容
鉴于现有技术存在的问题,本发明针对SDH交叉的需求及其应用特点,在单片FPGA上实现了80G×20G的低阶交叉容量的逻辑资源复用模块,具体技术方案是,一种硬件逻辑资源复用模块,其特征在于:输入信号包含时钟、地址输入、使能输入、数据输入信号,整个模块共用同一个时钟,输入时钟连接到所有的触发器、存储器的时钟端,地址输入信号经两级触发器后连接到存储器的写地址端,同时地址输入信号也直接连接到存储器的读地址端,使能输入经两级触发器后连接到存储器的写使能端,其中使能输入信号经一级触发器后连接到组合逻辑的输入端,同时使能输入信号也直接连接到存储器的读使能端,数据输入经一级触发器后连接到组合逻辑的输入,存储器的读数据端输出给组合逻辑的输入,而组合逻辑的输出经一级触发器后作为模块的输出同时也反馈回来与数据输入合并后连接到存储器的写数据端。
硬件逻辑资源复用实现的方法,其特征在于:实现的方法分以下步骤,
一、首先任务要满足下列条件
1、任务可以拆分为多个重复的子任务,且每个子任务完全是同一类问题,可以用相同的资源去处理,
2、所有子任务共用同一时钟且在时间上能够完全避开,绝不会出现两个或更多子任务同时出现的情况,
3、子任务依次顺序到达,并循环出现,有指示信号指明当前任务的编号;
二、为了处理每个子任务,需要知道上次处理该任务时的状态,以及当前该任务的输入,然后根据相应处理逻辑来产生该任务的输出,同时还需要将这个结果缓存起来,以备下次循环时该任务再次出现时能够回读状态信息;
三、将这类周期重复依次出现的任务处理分为三类操作,
Read_last:读取缓存的上次该任务的状态结果,
Current:更新当前该任务的输入,
Write:产生该任务新的状态作为输出并写入缓存;
复用的资源在每个时钟周期内都在工作,即在时钟的第n个周期内同时执行如下3个操作,
任务(n-1)的Write操作,
任务n的Current操作,
任务(n+1)的Read_last操作。
本发明的有益效果是,实现了对组合逻辑资源的节省,可以利用有限的逻辑资源实现更大容量的数据处理,耗费的LUT资源可以降低了两个数量级。
附图说明
图1是本发明的电路原理图。
具体实施方式
如图1所示,用SDH处理低阶指针来举例说明。SDH的帧复用结构决定其8个VC4(每个VC4又包含63个VC12)的共504个VC12在时间上是顺序依次到达的,不妨按照到达先后顺序称其为时隙0到时隙503,每个VC12时隙有各自的指针开销需要处理,处理指针开销时需要同时用到其上次处理的状态及当前该时隙的输入数据,假设当前时钟周期(time=0)正在处理时隙0,也就是组合逻辑在处理时隙0的指针开销(需要用到当前时隙0的输入指针开销数据及其上次处理的状态信息),同时需要进行时隙1的读取存储器操作(设置读地址读取时隙1的缓存信息),于是在下一个时钟周期(time=1)时,时隙0处理结果出来了并写入缓存以备下次调用(时隙0的写入存储器操作),同时时隙1的上次缓存结果也读取回来了,刚好赶上当前时隙1的输入信息,可以进行时隙1的指针开销处理操作,同时去读取接下来的时隙2的缓存信息,直到进行到第503号时隙后循环回时隙0并依次类推。
模块的输入包含时钟、输入地址、输入使能和输入数据(要求输入是对齐的),其中输入地址用于指示当前时隙编号,输入使能用于指示数据有效性(时隙循环周期之间可以有空闲时段),整个模块共用一个时钟,存储器是标准的RAM存储器,有时钟(读、写时钟是相同的)、写地址、写使能、写数据、读地址、读使能、读数据管脚,其连接如图所示。触发器是标准的不带复位不带预置的最简单的触发器,有输入数据、输出数据、时钟管脚,其连接如图所示。组合逻辑是普通的逻辑电路,通过与或非等门电路组合而成,对具体的门电路组合结构没有特殊要求,只要满足时序收敛(从输入到输出的时延小于一个时钟周期)的任意组合逻辑都可以,它的输入信号连接到门电路的输入管脚,输出信号来自于门电路的输出管脚。
触发器用于将信号延迟一个时钟周期,存储器用于缓存某个子任务的状态信息,组合逻辑是实现子任务处理的核心部分,其中的组合逻辑部分就是被复用起来的硬件资源,使得相同的多个子任务可以共享使用同一份硬件资源(而不是有多少个子任务就使用多少份硬件资源)。而触发器和存储器则是为了实现复用而额外付出的代价。需要注意的是,图中组合逻辑及其后面的触发器共同组成了时钟周期延迟为1的模型,但实际上这并不是必须的,若延迟大于1则只需相应的增加写地址和写使能的触发器级数以匹配延迟即可(即保证写使能、写地址、写数据的对齐)。
原理
SDH协议中基于帧结构将带宽分成了许多时隙,即各级虚容器,包括高阶的VC4和低阶的VC12等,当需要对时隙进行交叉时,首先需要根据时隙各自的高阶、低阶指针一级级的将数据收下来,而解析这些指针需要消耗一定数量的硬件资源来实现。考虑到时隙的数量很多(特别是低阶时隙),如果每个时隙各自消耗一份逻辑硬件资源去解析,则消耗了大量的硬件资源。同时由于SDH的特点,时隙是排队顺序到达的,所以每份硬件资源会在相当长一段时间内只工作一个时钟周期然后再等到下次同一时隙再次到来时才再工作一个时钟周期,相当于一种硬件资源的浪费(补偿性的,在时钟速率要求、功耗方面也许有所收益)。当使用FPGA来实现SDH指针解析时,考虑到在有限的硬件资源下若要实现更大容量的数据处理能力,可以使用硬件资源复用技术,这样可以让多个低阶指针解析共用同一块硬件资源,通过让资源在每个时钟周期内都工作来节约硬件资源。通过使用复用结构,即不再需要复制很多份相同的组合逻辑去处理不同的指针,而是复用了同一份组合逻辑处理了多个不同的指针解析。这样做的代价只是额外消耗了少量的存储器资源及少量的辅助逻辑资源。当组合逻辑资源不够用,而可用的存储器资源还有冗余时,可以采用此复用方法,来实现对组合逻辑资源的节省,也就能在有限的资源下实现更大容量的数据处理。
实际上硬件资源复用的技术不止是用于SDH处理指针,任何满足时序上多个任务周期重复依次顺序到达的情景都可以应用。为了能应用硬件资源的复用,这类任务应满足以下三点:
(1)任务可以拆分为多个重复的子任务,且每个子任务完全是同一类问题,可以用相同的资源去处理;
(2)所有子任务共用同一时钟且在时间上能够完全避开,绝不会出现两个或更多子任务同时出现的情况;
(3)子任务依次顺序到达,并循环出现,可以有指示信号指明当前任务的编号。
于是为了处理每个子任务,需要知道上次处理该任务时的状态,以及当前该任务的输入,然后根据相应处理逻辑来产生该任务的输出,同时还需要将这个结果缓存起来,以备下次循环时该任务再次出现时能够回读状态信息。
更为抽象和一般的,将这类周期重复依次出现的任务处理分为三类操作:
(1)Read_last:读取缓存的上次该任务的状态结果;
(2)Current:更新当前该任务的输入;
(3)Write:产生该任务新的状态作为输出并写入缓存。
考虑到任务在每个时钟周期都到达一个子任务,于是复用的资源在每个时钟周期内都在工作,即在时钟的第n个周期内同时执行如下3个操作:任务(n-1)的Write操作、任务n的Current操作以及任务(n+1)的Read_last操作。如下表所示:
表1操作时隙表
表中的第一行为时钟周期为单位的时间轴,Read_last、Current、Write三行分别对应上述的三种操作,某一列时钟周期内相应操作行所对应的内容即为该操作的子任务编号(考虑到子任务总数M是一定的并且循环出现,实际子任务编号可能需要对M取模后得到)。
Claims (2)
1.一种硬件逻辑资源复用的SDH指针解析的结构及实现方法,其特征在于:输入信号包含时钟、地址输入、使能输入、数据输入信号,整个模块共用同一个时钟,输入时钟连接到所有的触发器、存储器的时钟端,地址输入信号经两级触发器后连接到存储器的写地址端,同时地址输入信号也直接连接到存储器的读地址端,使能输入经两级触发器后连接到存储器的写使能端,其中读使能输入信号经一级触发器后连接到组合逻辑的输入端,同时使能输入信号也直接连接到存储器的读使能端,数据输入经一级触发器后连接到组合逻辑的输入,存储器的读数据端输出给组合逻辑的输入,而组合逻辑的输出经一级触发器后作为模块的输出同时也反馈回来与数据输入合并后连接到存储器的写数据端。
2.硬件逻辑资源复用实现的方法,其特征在于:实现的方法分以下步骤,
一、首先任务要满足下列条件
1、任务可以拆分为多个重复的子任务,且每个子任务完全是同一类问题,可以用相同的资源去处理,
2、所有子任务共用同一时钟且在时间上能够完全避开,绝不会出现两个或更多子任务同时出现的情况,
3、子任务依次顺序到达,并循环出现,有指示信号指明当前任务的编号;
二、为了处理每个子任务,需要知道上次处理该任务时的状态,以及当前该任务的输入,然后根据相应处理逻辑来产生该任务的输出,同时还需要将这个结果缓存起来,以备下次循环时该任务再次出现时能够回读状态信息;
三、将这类周期重复依次出现的任务处理分为三类操作
Read_last:读取缓存的上次该任务的状态结果,
Current:更新当前该任务的输入,
Write:产生该任务新的状态作为输出并写入缓存;
复用的资源在每个时钟周期内都在工作,即在时钟的第n个周期内同时执行如下3个操作,
任务(n-1)的Write操作,
任务n的Current操作,
任务(n+1)的Read_last操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510926024.4A CN105515565B (zh) | 2015-12-14 | 2015-12-14 | 一种硬件逻辑资源复用模块及复用实现的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510926024.4A CN105515565B (zh) | 2015-12-14 | 2015-12-14 | 一种硬件逻辑资源复用模块及复用实现的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105515565A true CN105515565A (zh) | 2016-04-20 |
CN105515565B CN105515565B (zh) | 2018-07-13 |
Family
ID=55723284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510926024.4A Active CN105515565B (zh) | 2015-12-14 | 2015-12-14 | 一种硬件逻辑资源复用模块及复用实现的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105515565B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815372A (zh) * | 2019-01-24 | 2019-05-28 | 杭州嘉楠耘智信息科技有限公司 | Scrypt算法工作量证明方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516384B1 (en) * | 1999-12-30 | 2003-02-04 | Intel Corporation | Method and apparatus to perform a round robin and locking cache replacement scheme |
CN101044485A (zh) * | 2003-06-18 | 2007-09-26 | 安布里克股份有限公司 | 集成电路开发系统 |
CN101325516A (zh) * | 2008-08-05 | 2008-12-17 | 中兴通讯股份有限公司 | 一种对sdh性能进行统计的装置与方法 |
CN102057442A (zh) * | 2008-04-30 | 2011-05-11 | 飞思卡尔半导体公司 | 在数据处理系统中用ecc选择性地执行单周期写操作 |
US20110148496A1 (en) * | 2009-12-17 | 2011-06-23 | Srinivas Sriadibhatla | Leakage current reduction in a sequential circuit |
CN205249177U (zh) * | 2015-12-14 | 2016-05-18 | 天津光电通信技术有限公司 | 一种硬件逻辑资源复用模块 |
-
2015
- 2015-12-14 CN CN201510926024.4A patent/CN105515565B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516384B1 (en) * | 1999-12-30 | 2003-02-04 | Intel Corporation | Method and apparatus to perform a round robin and locking cache replacement scheme |
CN101044485A (zh) * | 2003-06-18 | 2007-09-26 | 安布里克股份有限公司 | 集成电路开发系统 |
CN102057442A (zh) * | 2008-04-30 | 2011-05-11 | 飞思卡尔半导体公司 | 在数据处理系统中用ecc选择性地执行单周期写操作 |
CN101325516A (zh) * | 2008-08-05 | 2008-12-17 | 中兴通讯股份有限公司 | 一种对sdh性能进行统计的装置与方法 |
US20110148496A1 (en) * | 2009-12-17 | 2011-06-23 | Srinivas Sriadibhatla | Leakage current reduction in a sequential circuit |
CN205249177U (zh) * | 2015-12-14 | 2016-05-18 | 天津光电通信技术有限公司 | 一种硬件逻辑资源复用模块 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815372A (zh) * | 2019-01-24 | 2019-05-28 | 杭州嘉楠耘智信息科技有限公司 | Scrypt算法工作量证明方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105515565B (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391527B (zh) | 一种基于区块链的数据处理方法及设备 | |
CN105573711B (zh) | 一种数据缓存方法及装置 | |
US3786436A (en) | Memory expansion arrangement in a central processor | |
CN110619166B (zh) | 一种低功耗时钟树的设计方法 | |
CN104331331A (zh) | 任务数目和性能感知的可重构多核处理器的资源分配方法 | |
US20040006724A1 (en) | Network processor performance monitoring system and method | |
CN105515565A (zh) | 一种硬件逻辑资源复用模块及复用实现的方法 | |
CN113286174B (zh) | 视频抽帧方法、装置、电子设备、计算机可读存储介质 | |
CN104462006A (zh) | 系统级芯片中的多个处理器核间配置同步方法和设备 | |
CN112153054B (zh) | 一种任意字节长度拼接缓存的实现方法和系统 | |
CN205249177U (zh) | 一种硬件逻辑资源复用模块 | |
CN103561360A (zh) | 串行处理光传送网开销的装置及方法 | |
CN115118533B (zh) | 一种智能网卡和数据中心 | |
CN105425926A (zh) | 异步复位同步释放带宽可控的复位电路 | |
CN115686789A (zh) | 一种离散事件并行处理方法、终端设备及存储介质 | |
CN110673689B (zh) | 时钟控制电路及方法 | |
CN203104406U (zh) | 一种异步计数器 | |
CN114979030A (zh) | 大规模时间敏感网络异步门控的实现方法和系统 | |
CN114138476A (zh) | 一种池化资源的处理方法、装置、电子设备及介质 | |
CN109753266A (zh) | 一种基于fifo的空间计算机多中断缓存控制方法 | |
CN113961641A (zh) | 数据库同步方法、装置、设备和存储介质 | |
CN102571477B (zh) | 一种流量统计装置、芯片以及设备 | |
CN112306919A (zh) | 一种基于fpga的数据对齐方法、装置、设备及介质 | |
CN112131810A (zh) | 建立时间违例修复方法、装置、电子设备及可读存储介质 | |
US7234030B1 (en) | Table-based scheduler for FIFOs and the like |
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 |