CN1434454A - 多计数器的构造方法、多计数器及使用其的多队列装置 - Google Patents
多计数器的构造方法、多计数器及使用其的多队列装置 Download PDFInfo
- Publication number
- CN1434454A CN1434454A CN 02100755 CN02100755A CN1434454A CN 1434454 A CN1434454 A CN 1434454A CN 02100755 CN02100755 CN 02100755 CN 02100755 A CN02100755 A CN 02100755A CN 1434454 A CN1434454 A CN 1434454A
- Authority
- CN
- China
- Prior art keywords
- counter
- storer
- public
- port ram
- counting
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多计数器的构造方法、所述方法采用一个可预置初值的计数器,用于作为多计数器的公用计数器,再采用一个存储器,用于存储多计数器中不同计数器对应的计数值,使计数器的输出端和输入端分别与存储器的数据线相连接,并使计数器的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器,并使其开始计数,计数结束后,将所述计数值存入存储器中该计数器所对应的单元中,采用上述方案构造多计数器,方法简单;本发明同时提供的使用上述方法构造的多计数器及使用多计数器构造的多FIFO队列装置,结构简单、占用芯片资源少,整体性能较好。
Description
技术领域
本发明涉及一种多个计数器的构造方法。
背景技术
在利用可编程逻辑器件或专用集成电路(ASIC)芯片的设计中很多时候都要用到大量的计数器,如在异步传输模式(ATM)系统中为统计每个虚电路标识或虚通道标识(VPI/VCI)值,不同的ATM信元流量就需要为每个VPI/VCI值不同的信元设置一个信元流量计数器,有时还需要用多路选择器从这些计数器的计数值中选择其中一路输出。如果采用传统方法构造多个计数器,只能构造相互独立的多个计数器,由于计数器是独立的,大量的计数器会占用可编程逻辑器件或ASIC芯片中大量的逻辑和布线资源,由于可编程逻辑器件或AISC芯片结构的限制,实现很宽的多路选择器也会占用可编程逻辑器件或AISC芯片中大量的资源,并且在可编程逻辑器件或AISC芯片中实现的多路选择器时延会随着计数器数量的增加而迅速增加;尽管使用可编程逻辑器件或AISC芯片内部的三态总线实现多路选择器可以减少对可编程逻辑器件中逻辑及布线资源的占用,并且时延也比较固定,不会随着计数器的增加而有大的变化,但这会占用可编程逻辑器件或AISC芯片中宝贵的三态总线资源,并且可实现的计数器的计数长度还要受到三态总线数量的限制,计数器的数量也要受到每条三态总线上三态缓冲器数量的限制,因此能够允许的计数器数量和计数器长度都非常有限,很多时候不能满足设计要求。可见,按照现有方法进行多个计数器的构造会浪费较多的芯片资源。
发明内容
本发明的目的在于提供一种多计数器的构造方法、及使用该方法构造的多计数器,以及使用多计数器构造的多FIFO队列装置,使用该方法构造多个计数器简单、占用芯片资源少,使用多计数器构造多FIFO队列装置占用的芯片资源较少、结构简单,并且性能稳定。
为达到上述目的,本发明提供的一种多计数器的构造方法,采用一个可预置初值的计数器,用于作为多计数器的公用计数器,再采用一个存储器,用于存储多计数器中不同计数器对应的计数值,使公用计数器的输出端和输入端分别与存储器的数据线相连接,并使公用计数器的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给公用计数器,并使其开始计数,计数结束后,将所述计数值存入存储器中该计数器所对应的单元中。
所述采用存储器为采用双端口随机存储器(RAM),所述使公用计数器的输出端和输入端分别与存储器的数据线相连接,是使公用计数器的输出端和输入端分别与双端口RAM的数据输入端及数据输出端相连接。
上述采用存储器也可以为采用单端口RAM,所述使公用计数器的输出端和输入端分别与存储器的数据线相连接,是使公用计数器的输入端连接到单端口RAM的数据端,公用计数器的输出端通过三态门连接到单端口RAM的数据端。
本发明提供一种采用上述方法构造的多计数器,包括可预置初值的计数器和存储器;其中:
可预置初值的计数器,用于作为多个计数器的公用计数器;
存储器,用于存储多计数器中不同计数器对应的计数值;
所述可预置初值的计数器输出端和输入端分别与存储器的数据线相连接,可预置初值的计数器和存储器通过系统时钟CLK相连接,使可预置初值的计数器的计数操作与存储器的存储操作保持同步,在系统控制下,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器,并使其开始计数,计数结束后,将所述计数值存入存储器该计数器所对应的单元中。
本发明还提供了一种使用上述多计数器构造的多队列装置,该装置包括双端口RAM和多计数器。其中:
双端口RAM,用于构造多个先进先出(FIFO)队列的存储器;
多地址计数器,它包括2组多计数器,分别用于作为上述FIFO队列的写地址多计数器和读地址多计数器;
所述写地址多计数器的计数输出端与双端口RAM中的作为FIFO输入端口的地址线连接,所述读地址多计数器的计数输出端与双端口RAM中的作为FIFO输出端口的地址线连接。
由于应用本发明所述的方法,采用一个可预置初值的计数器和一个存储器即可构造多计数器,方法简单,使用该方法构造的多个计数器结构简单、占用芯片资源少,因此只需要极少的逻辑资源就可以实现大量的计数器,并且时延稳定,整体性能不会随着计数器数量的增加而有大的变化;同时本发明提供的使用上述多计数器构造的多FIFO队列也具有结构简单、占用芯片资源少的特点,这样,通过本发明有可能只用较小规模的可编程逻辑器件就可以实现以前需要较大规模的可编程逻辑器件才能实现的设计。
附图说明
图1是本发明所述方法提供的多计数器实施例逻辑图;
图2是采用常规方法制作的多FIFO队列逻辑图;
图3是本发明提供的多计数器制作的多FIFO队列逻辑图;
图4是图1所述多计数器用于ATM系统对不同VCI值的ATM信元进行流量统计的逻辑图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的描述。
本发明所述的多计数器的构造方法的关键在于,用存储器保存多计数器的多个计数器的计数值并同时替代用于选择上述多个计数器的多路选择器,这样再加一个可预置初值的计数器就可以实现按常规方法构造的多个计数器。存储器中保存的是多个计数器相应的的计数值,存储器的地址等效于多路选择器的选择信号,当需要对多个计数器中的一个计数器计数时,先通过控制地址信号从存储器中输出计数器的原计数值,该原计数值被作为可预置计数器的初值赋给该计数器,然后使计数使能信号有效,计数器完成计数后使计数使能信号变为无效,再将计数器的新计数值写入存储器中,这样就可以用存储器加一个可预置初值的计数器结构实现多个计数器。
图1是本发明所述方法提供的多计数器实施例逻辑图。参考图1,按照本发明的多计数器的构造方法,采用一个可预置初值的计数器1,用于作为多计数器的公用计数器,再采用一个存储器2,用于存储多计数器中不同计数器对应的计数值,使计数器1的输出端和输入端分别与存储器2的数据线相连接,所述使计数器1的输出端和输入端分别与存储器2的数据线相连接,是使计数器1的输出端Q(31:0)和输入端D(31:0)分别与存储器2的数据输入端DI(31:0)及数据输出端DO(31:0)相连接,并使计数器1的计数操作与存储器的存储操作保持同步,当需要对多计数器中的一个计数器进行计数时,从存储器的相应单元中取出该计数器对应的计数值送给计数器1,并使其开始计数,计数结束后,将所述计数值存入存储器2该计数器所对应的单元中。
图1中,A(7:0)是存储器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(7:0)、数据输出管脚DO_A(7:0)、写控制线管脚WE_A和地址线管脚Addr_A(12:0);第二个端口为B端口,该端口包括数据输入管脚DI_B(7:0)、数据输出管脚DO_B(7:0)、写控制线管脚WE_B和地址线管脚Addr_B(12:0);上述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(4:0),同时W_A(4:0)也是写地址多计数器的存储器地址线信号,从而使写地址多计数器中的每一个计数器与上述多个FIFO队列中的一个队列的写地址计数器相对应;
U3和U4组成的读地址多计数器的计数输出端作为U5的B端口低8位地址信号,B端口的高5位地址信号为32个FIFO队列的读地址选择信号R_A(4:0),同时R_A(4:0)也是读地址多计数器的存储器地址线信号,从而使读地址多计数器中的每一个计数器与上述多个FIFO队列中的一个队列的读地址计数器相对应。
对于图3中的U1,写控制信号WR与系统写地址多计数器存储器的写控制线W_WR连接;对于U3,写控制信号WR与系统读地址多计数器存储器的写控制线R_WR连接;对于U2,预置信号LOAD与系统写地址多计数器的预置信号W_LOAD连接,计数使能信号EN与系统写地址多计数器的计数使能信号W_EN连接;对于U4,预置信号LOAD与系统读地址多计数器的预置信号R_LOAD连接,计数使能信号EN与系统读地址多计数器的计数使能信号R_EN连接。
Claims (7)
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输出端口的地址线连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02100755 CN1249722C (zh) | 2002-01-23 | 2002-01-23 | 多计数器的构造方法、多计数器及使用其的多队列装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02100755 CN1249722C (zh) | 2002-01-23 | 2002-01-23 | 多计数器的构造方法、多计数器及使用其的多队列装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1434454A true CN1434454A (zh) | 2003-08-06 |
CN1249722C CN1249722C (zh) | 2006-04-05 |
Family
ID=27627240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02100755 Expired - Fee Related CN1249722C (zh) | 2002-01-23 | 2002-01-23 | 多计数器的构造方法、多计数器及使用其的多队列装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1249722C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10976956B2 (en) | 2016-09-30 | 2021-04-13 | Huawei Technologies Co., Ltd. | Non-volatile memory persistence method and computing device |
-
2002
- 2002-01-23 CN CN 02100755 patent/CN1249722C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10976956B2 (en) | 2016-09-30 | 2021-04-13 | Huawei Technologies Co., Ltd. | Non-volatile memory persistence method and computing device |
Also Published As
Publication number | Publication date |
---|---|
CN1249722C (zh) | 2006-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7225301B2 (en) | External memory controller node | |
US6212597B1 (en) | Apparatus for and method of architecturally enhancing the performance of a multi-port internally cached (AMPIC) DRAM array and like | |
CN1043052A (zh) | 通讯转换元件 | |
EP0839354B1 (en) | Memory structure | |
CN101873253A (zh) | 带缓冲的纵横式交换机系统 | |
CN112114875B (zh) | 一种超导并行寄存器堆装置 | |
JP2000155740A (ja) | 多重論理fifoによる1対多バスブリッジ | |
CN212364988U (zh) | 先入先出存储器及存储装置 | |
CN1249722C (zh) | 多计数器的构造方法、多计数器及使用其的多队列装置 | |
CN1157735C (zh) | 数据读出电路,读出放大器及其操作方法 | |
US7136309B2 (en) | FIFO with multiple data inputs and method thereof | |
CN1253894C (zh) | 使用一个双端口随机存储器实现两个先进先出队列的方法 | |
US7539789B1 (en) | Circuits providing greater depth and/or asymmetric access ports for first-in first-out memory circuits (FIFOs) | |
US5732011A (en) | Digital system having high speed buffering | |
US5475644A (en) | Crosspoint memory | |
EP1585024B1 (en) | An improved on-chip storage memory for storing variable data bits | |
CN113555051B (zh) | 一种基于ddr sdram的sar成像数据转置处理系统 | |
EP0353942A2 (en) | A ripple-through FIFO memory | |
Ejlali et al. | Design and implementation of a shared memory switch fabric | |
CN114077415A (zh) | 先入先出存储器及存储装置 | |
CN100378649C (zh) | Fifo寄存器和包括fifo寄存器的数字信号处理器 | |
EP1416373A2 (en) | Method and apparatus to reduce access time in synchronous fifos with zero latency overhead | |
CN116737077A (zh) | 一种基于fifo存储器的轮询读写方法和装置 | |
CN1141849C (zh) | Aal2公共部分子层接收端装置 | |
EP0814630A1 (en) | An ATM cell processing system and method for accessing a connection memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060405 Termination date: 20200123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |