CN205249177U - 一种硬件逻辑资源复用模块 - Google Patents
一种硬件逻辑资源复用模块 Download PDFInfo
- Publication number
- CN205249177U CN205249177U CN201521036551.XU CN201521036551U CN205249177U CN 205249177 U CN205249177 U CN 205249177U CN 201521036551 U CN201521036551 U CN 201521036551U CN 205249177 U CN205249177 U CN 205249177U
- Authority
- CN
- China
- Prior art keywords
- input
- memory
- data
- address
- clock
- 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
Landscapes
- Dram (AREA)
Abstract
本实用新型涉及一种硬件逻辑资源复用模块,整个模块共用同一个时钟,输入时钟连接到所有的触发器、存储器的时钟端,地址输入信号经两级触发器后连接到存储器的写地址端,同时地址输入信号也直接连接到存储器的读地址端,使能输入经两级触发器后连接到存储器的写使能端,其中使能输入信号经一级触发器后连接到组合逻辑的输入端,同时使能输入信号也直接连接到存储器的读使能端,数据输入经一级触发器后连接到组合逻辑的输入,存储器的读数据端输出给组合逻辑的输入,而组合逻辑的输出经一级触发器后作为模块的输出同时也反馈回来与数据输入合并后连接到存储器的写数据端,有益效果是实现了对组合逻辑资源的节省,可以利用有限的逻辑资源实现更大容量的数据处理。
Description
技术领域
本实用新型涉及一种逻辑资源复用技术,特别涉及一种硬件逻辑资源复用模块。
背景技术
同步数字体系(SDH)广泛的应用于光纤通信中,包括骨干网、城域网还有接入网。随着业务量不断的增长,对海量数据进行交叉和挑选的难度也越来越大,尤其是对大容量接入数据进行交叉时,需要耗费大量的硬件逻辑资源,如何利用有限的硬件资源实现更大容量的数据交叉,这对于硬件电路的设计是一个挑战,尤其用逻辑资源复用技术处理指针问题,已迫在眉睫。
发明内容
鉴于现有技术存在的问题,本实用新型针对SDH交叉的需求及其应用特点,在单片FPGA上实现了80G×20G的低阶交叉容量的逻辑资源复用模块,具体技术方案是,一种硬件逻辑资源复用模块,其特征在于:输入信号包含时钟、地址输入、使能输入、数据输入信号,整个模块共用同一个时钟,输入时钟连接到所有的触发器、存储器的时钟端,地址输入信号经两级触发器后连接到存储器的写地址端,同时地址输入信号也直接连接到存储器的读地址端,使能输入经两级触发器后连接到存储器的写使能端,其中使能输入信号经一级触发器后连接到组合逻辑的输入端,同时使能输入信号也直接连接到存储器的读使能端,数据输入经一级触发器后连接到组合逻辑的输入,存储器的读数据端输出给组合逻辑的输入,而组合逻辑的输出经一级触发器后作为模块的输出同时也反馈回来与数据输入合并后连接到存储器的写数据端。
本实用新型的有益效果是,实现了对组合逻辑资源的节省,可以利用有限的逻辑资源实现更大容量的数据处理,耗费的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指针解析时,考虑到在有限的硬件资源下若要实现更大容量的数据处理能力,可以使用硬件资源复用技术,这样可以让多个低阶指针解析共用同一块硬件资源,通过让资源在每个时钟周期内都工作来节约硬件资源。通过使用图1中的复用结构,即不再需要复制很多份相同的组合逻辑去处理不同的指针,而是复用了同一份组合逻辑处理了多个不同的指针解析。这样做的代价只是额外消耗了少量的存储器资源及少量的辅助逻辑资源。当组合逻辑资源不够用,而可用的存储器资源还有冗余时,可以采用此复用方法,来实现对组合逻辑资源的节省,也就能在有限的资源下实现更大容量的数据处理。
实际上硬件资源复用的技术不止是用于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 (1)
1.一种硬件逻辑资源复用模块,其特征在于:输入信号包含时钟、地址输入、使能输入、数据输入信号整个模块共用同一个时钟,输入时钟连接到所有的触发器、存储器的时钟端,地址输入信号经两级触发器后连接到存储器的写地址端,同时地址输入信号也直接连接到存储器的读地址端,使能输入经两级触发器后连接到存储器的写使能端,其中使能输入信号经一级触发器后连接到组合逻辑的输入端,同时使能输入信号也直接连接到存储器的读使能端,数据输入经一级触发器后连接到组合逻辑的输入,存储器的读数据端输出给组合逻辑的输入,而组合逻辑的输出经一级触发器后作为模块的输出同时也反馈回来与数据输入合并后连接到存储器的写数据端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201521036551.XU CN205249177U (zh) | 2015-12-14 | 2015-12-14 | 一种硬件逻辑资源复用模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201521036551.XU CN205249177U (zh) | 2015-12-14 | 2015-12-14 | 一种硬件逻辑资源复用模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN205249177U true CN205249177U (zh) | 2016-05-18 |
Family
ID=55948245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201521036551.XU Active CN205249177U (zh) | 2015-12-14 | 2015-12-14 | 一种硬件逻辑资源复用模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN205249177U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515565A (zh) * | 2015-12-14 | 2016-04-20 | 天津光电通信技术有限公司 | 一种硬件逻辑资源复用模块及复用实现的方法 |
-
2015
- 2015-12-14 CN CN201521036551.XU patent/CN205249177U/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515565A (zh) * | 2015-12-14 | 2016-04-20 | 天津光电通信技术有限公司 | 一种硬件逻辑资源复用模块及复用实现的方法 |
CN105515565B (zh) * | 2015-12-14 | 2018-07-13 | 天津光电通信技术有限公司 | 一种硬件逻辑资源复用模块及复用实现的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8775685B1 (en) | Parallel processing of network packets | |
US20130185474A1 (en) | Techniques used by a virtual machine in communication with an external machine and related virtual machine system | |
CN111290979B (zh) | 数据传输方法、装置及*** | |
CN104331331A (zh) | 任务数目和性能感知的可重构多核处理器的资源分配方法 | |
US9753769B2 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
CN205249177U (zh) | 一种硬件逻辑资源复用模块 | |
CN101567873A (zh) | 一种多任务并行处理方法及*** | |
CN114138476A (zh) | 一种池化资源的处理方法、装置、电子设备及介质 | |
WO2024067772A1 (zh) | 光子计算加速及信号处理加速的光子处理器芯片 | |
CN112559202A (zh) | 基于嵌入式实时操作***的飞行器应用软件通讯方法 | |
CN115391053B (zh) | 基于cpu和gpu混合计算的在线服务方法及装置 | |
CN105515565B (zh) | 一种硬件逻辑资源复用模块及复用实现的方法 | |
CN108109104B (zh) | 一种面向统一染色架构gpu的三级任务调度电路 | |
CN109862044B (zh) | 一种转换装置、网络设备及数据传输方法 | |
CN113886109A (zh) | 一种分层分布式并行计算的软件化雷达***及方法 | |
CN110380991A (zh) | 一种IOCP机制及基于eFPGA和IOCP的物联网通信加速*** | |
CN109753266A (zh) | 一种基于fifo的空间计算机多中断缓存控制方法 | |
US20140237481A1 (en) | Load balancer for parallel processors | |
US10193797B2 (en) | Triggered-actions network processor | |
CN110445729B (zh) | 一种队列调度方法、装置、设备及储存介质 | |
CN111858019A (zh) | 任务调度方法、装置及计算机可读存储介质 | |
CN117422024B (zh) | 数据位宽转换方法、装置、计算机设备及介质 | |
CN112131169B (zh) | 高速数据通信***及方法 | |
CN113852574B (zh) | 一种片上网络路由器 | |
CN117931729B (zh) | 向量处理器访存指令处理方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |