多计数器的构造方法、多计数器及使用其的多队列装置的制作方法

文档序号:6758880阅读:316来源:国知局
专利名称:多计数器的构造方法、多计数器及使用其的多队列装置的制作方法
技术领域
本发明涉及一种多个计数器的构造方法。
为达到上述目的,本发明提供的一种多计数器的构造方法,采用一个可预置初值的计数器,用于作为多计数器的公用计数器,再采用一个存储器,用于存储多计数器中不同计数器对应的计数值,使公用计数器的输出端和输入端分别与存储器的数据线相连接,并使公用计数器的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给公用计数器,并使其开始计数,计数结束后,将所述计数值存入存储器中该计数器所对应的单元中。
所述采用存储器为采用双端口随机存储器(RAM),所述使公用计数器的输出端和输入端分别与存储器的数据线相连接,是使公用计数器的输出端和输入端分别与双端口RAM的数据输入端及数据输出端相连接。
上述采用存储器也可以为采用单端口RAM,所述使公用计数器的输出端和输入端分别与存储器的数据线相连接,是使公用计数器的输入端连接到单端口RAM的数据端,公用计数器的输出端通过三态门连接到单端口RAM的数据端。
本发明提供一种采用上述方法构造的多计数器,包括可预置初值的计数器和存储器;其中可预置初值的计数器,用于作为多个计数器的公用计数器;存储器,用于存储多计数器中不同计数器对应的计数值;所述可预置初值的计数器输出端和输入端分别与存储器的数据线相连接,可预置初值的计数器和存储器通过系统时钟CLK相连接,使可预置初值的计数器的计数操作与存储器的存储操作保持同步,在系统控制下,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器,并使其开始计数,计数结束后,将所述计数值存入存储器该计数器所对应的单元中。
本发明还提供了一种使用上述多计数器构造的多队列装置,该装置包括双端口RAM和多计数器。其中双端口RAM,用于构造多个先进先出(FIFO)队列的存储器;多地址计数器,它包括2组多计数器,分别用于作为上述FIFO队列的写地址多计数器和读地址多计数器;所述写地址多计数器的计数输出端与双端口RAM中的作为FIFO输入端口的地址线连接,所述读地址多计数器的计数输出端与双端口RAM中的作为FIFO输出端口的地址线连接。
由于应用本发明所述的方法,采用一个可预置初值的计数器和一个存储器即可构造多计数器,方法简单,使用该方法构造的多个计数器结构简单、占用芯片资源少,因此只需要极少的逻辑资源就可以实现大量的计数器,并且时延稳定,整体性能不会随着计数器数量的增加而有大的变化;同时本发明提供的使用上述多计数器构造的多FIFO队列也具有结构简单、占用芯片资源少的特点,这样,通过本发明有可能只用较小规模的可编程逻辑器件就可以实现以前需要较大规模的可编程逻辑器件才能实现的设计。
本发明所述的多计数器的构造方法的关键在于,用存储器保存多计数器的多个计数器的计数值并同时替代用于选择上述多个计数器的多路选择器,这样再加一个可预置初值的计数器就可以实现按常规方法构造的多个计数器。存储器中保存的是多个计数器相应的的计数值,存储器的地址等效于多路选择器的选择信号,当需要对多个计数器中的一个计数器计数时,先通过控制地址信号从存储器中输出计数器的原计数值,该原计数值被作为可预置计数器的初值赋给该计数器,然后使计数使能信号有效,计数器完成计数后使计数使能信号变为无效,再将计数器的新计数值写入存储器中,这样就可以用存储器加一个可预置初值的计数器结构实现多个计数器。


图1是本发明所述方法提供的多计数器实施例逻辑图。参考图1,按照本发明的多计数器的构造方法,采用一个可预置初值的计数器1,用于作为多计数器的公用计数器,再采用一个存储器2,用于存储多计数器中不同计数器对应的计数值,使计数器1的输出端和输入端分别与存储器2的数据线相连接,所述使计数器1的输出端和输入端分别与存储器2的数据线相连接,是使计数器1的输出端Q(310)和输入端D(310)分别与存储器2的数据输入端DI(310)及数据输出端DO(310)相连接,并使计数器1的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器1,并使其开始计数,计数结束后,将所述计数值存入存储器2该计数器所对应的单元中。
图1中,A(70)是存储器2的地址信号,用于选择使用的多计数器中的一个计数器;LOAD为可预置初值计数器1的预置信号,该信号有效时存储器2的输出数据赋给计数器1作为计数器1的初值;计数器1的输出作为存储器2的输入信号,WR有效时计数器1的计数器值被写入到存储器的相应单元中;EN是计数器1的计数使能信号,EN有效时计数器1计数。图中的数据线从0到31共32条,图1描述的是利用本发明所述的多个计数器的构造方法构造的256个32位计数器,存储器2用来存储由256个计数器组成的多计数器的256个计数值。
图4是图1所述多计数器用于ATM系统对不同VCI值的ATM信元进行流量统计时的逻辑图。图中所示,用ATM系统VCI值作为存储器2的地址信号,所支持的VCI的宽度为8位,该地址中的数据就是此VCI的ATM信元流量的计数值,每当处理完一个ATM信元后将存储器2中相应的计数值读出,在计数器1中加一后再写入到存储器2中,存储器2的写信号WR和可预置初值计数器1的预置信号、计数使能信号EN由外部逻辑控制。
本发明提供的按照上述多计数器的构造方法所构造的多计数器,包括可预置初值的计数器和存储器,参考图1;其中可预置初值的计数器1,用于作为多个计数器的公用计数器,该计数器在使用时,从存储器的相应单元中取出多个计数器中的一个计数器的计数值,以该计数值为基础进行计数,计数结束后,将计数结果存入存储器的相应单元;存储器2,用于存储多计数器中不同计数器对应的计数值;上述计数器1输出端和输入端分别与存储器2的数据线相连接,可预置初值的计数器和存储器通过系统时钟CLK相连接,使可预置初值的计数器的计数操作与存储器的存储操作保持同步,在系统控制下,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器,并使其开始计数,计数结束后,将所述计数值存入存储器2该计数器所对应的单元中。
本例中的存储器可以是双端口RAM,也可以采用普通的存储器实现。
在可编程逻辑和集成电路的设计实践中,在大量应用计数器的场合,应用多计数器进行替代普通的独立计数器可以简化电路的设计,并使所设计的电路占用资源少且性能稳定,例如多FIFO队列。图2是采用常规方法制作的多FIFO队列逻辑图。图2所述的FIFO队列的设计目标是利用一个8K×8Bits(位)的双端口RAM设计32个FIFO队列,该32个FIFO队列中的每个FIFO队列的容量都是256×8Bits,因此该设计至少需要32个读地址计数器和32个写地址计数器共64个8位计数器,另外需要2个32路8位数据宽的多路选择器,如果按照图中所示的结构构件所述32个FIFO队列,需要占用大量的逻辑资源。
因此,本发明还提供了一种上述多计数器构造的多队列装置,该装置包括双端口RAM和多计数器。其中双端口RAM,用于构造多个FIFO队列;多地址计数器,它包括2组多计数器,分别用于作为上述FIFO队列的写地址多计数器和读地址多计数器;所述写地址多计数器的计数输出端与双端口RAM中的作为FIFO输入端口的地址线连接,所述读地址多计数器的计数输出端与双端口RAM中的作为FIFO输出端口的地址线连接。
所述多FIFO队列装置的逻辑框图参考图3。U5为一个双端口RAM,用于构造32个FIFO队列的存储器,上述队列分别占用U5的不同地址的连续存储空间。U5的第一个端口为A端口,该端口包括数据输入管脚DI_A(70)、数据输出管脚DO_A(70)、写控制线管脚WE_A和地址线管脚Addr_A(120);第二个端口为B端口,该端口包括数据输入管脚DI_B(70)、数据输出管脚DO_B(70)、写控制线管脚WE_B和地址线管脚Addr_B(120);上述32个FIFO队列将U5的A端口,作为写入端口,连接输入数据信号和写地址指针,B端口作为读出端口,连接输出数据信号和读地址指针;U1和U3为32×8Bits的RAM,可以用可编程逻辑器件内部的存储器资源生成,U2和U4为8位可预置初值计数器,U1和U2组成的多计数器作为上述32个队列的写地址指针,U3和U4组成的多计数器作为上述32个队列的读地址指针。
U1和U2组成的写地址多计数器的计数输出端作为U5的A端口低8位地址信号,A端口的高5位地址信号为32个FIFO队列的写地址选择信号W_A(40),同时W_A(40)也是写地址多计数器的存储器地址线信号,从而使写地址多计数器中的每一个计数器与上述多个FIFO队列中的一个队列的写地址计数器相对应;U3和U4组成的读地址多计数器的计数输出端作为U5的B端口低8位地址信号,B端口的高5位地址信号为32个FIFO队列的读地址选择信号R_A(40),同时R_A(40)也是读地址多计数器的存储器地址线信号,从而使读地址多计数器中的每一个计数器与上述多个FIFO队列中的一个队列的读地址计数器相对应。
对于图3中的U1,写控制信号WR与系统写地址多计数器存储器的写控制线W_WR连接;对于U3,写控制信号WR与系统读地址多计数器存储器的写控制线R_WR连接;对于U2,预置信号LOAD与系统写地址多计数器的预置信号W_LOAD连接,计数使能信号EN与系统写地址多计数器的计数使能信号W_EN连接;对于U4,预置信号LOAD与系统读地址多计数器的预置信号R_LOAD连接,计数使能信号EN与系统读地址多计数器的计数使能信号R_EN连接。
权利要求
1.一种多计数器的构造方法,其特征在于采用一个可预置初值的计数器,用于作为多计数器的公用计数器,再采用一个存储器,用于存储多计数器中不同计数器对应的计数值,使公用计数器的输出端和输入端分别与存储器的数据线相连接,并使公用计数器的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给公用计数器,并使其开始计数,计数结束后,将所述计数值存入存储器中该计数器所对应的单元中。
2.根据权利要求1所述的多个计数器的构造方法,其特征在于所述采用存储器为采用双端口随机存储器(RAM),所述使公用计数器的输出端和输入端分别与存储器的数据线相连接,是使公用计数器的输出端和输入端分别与双端口RAM的数据输入端及数据输出端相连接。
3.根据权利要求1所述的多个计数器的构造方法,其特征在于所述采用存储器为采用单端口RAM,所述使公用计数器的输出端和输入端分别与存储器的数据线相连接,是使公用计数器的输入端连接到单端口RAM的数据端,公用计数器的输出端通过三态门连接到单端口RAM的数据端。
4.一种采用权利要求1、2或3所述方法构造的多计数器,包括可预置初值的计数器和存储器;其中可预置初值的计数器,用于作为多个计数器的公用计数器;存储器,用于存储多计数器中不同计数器对应的计数值;所述可预置初值的计数器输出端和输入端分别与存储器的数据线相连接,可预置初值的计数器和存储器通过系统时钟CLK相连接,使可预置初值的计数器的计数操作与存储器的存储操作保持同步,在系统控制下,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器,并使其开始计数,计数结束后,将所述计数值存入存储器该计数器所对应的单元中。
5.根据权利要求4所述的多计数器,其特征在于所述存储器为双端口随机存储器(RAM)。
6.根据权利要求4所述的多计数器,其特征在于所述存储器为单端口RAM。
7.一种使用权利要求4、5或6所述的多计数器构造的多队列装置,包括双端口RAM和多地址计数器,其中双端口RAM,用于构造多个先进先出(FIFO)队列的存储器;多地址计数器,它包括2组多计数器,分别用于作为上述FIFO队列的写地址多计数器和读地址多计数器;所述写地址多计数器的计数输出端与双端口RAM中的作为FIFO输入端口的地址线连接,所述读地址多计数器的计数输出端与双端口RAM中的作为FIFO输出端口的地址线连接。
全文摘要
本发明公开了一种多计数器的构造方法、所述方法采用一个可预置初值的计数器,用于作为多计数器的公用计数器,再采用一个存储器,用于存储多计数器中不同计数器对应的计数值,使计数器的输出端和输入端分别与存储器的数据线相连接,并使计数器的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器,并使其开始计数,计数结束后,将所述计数值存入存储器中该计数器所对应的单元中,采用上述方案构造多计数器,方法简单;本发明同时提供的使用上述方法构造的多计数器及使用多计数器构造的多FIFO队列装置,结构简单、占用芯片资源少,整体性能较好。
文档编号G11C11/40GK1434454SQ0210075
公开日2003年8月6日 申请日期2002年1月23日 优先权日2002年1月23日
发明者雷春, 涂君 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1