CN101770356A - 一种定长信元交换中的数据位宽的转换装置和方法 - Google Patents
一种定长信元交换中的数据位宽的转换装置和方法 Download PDFInfo
- Publication number
- CN101770356A CN101770356A CN200810236519A CN200810236519A CN101770356A CN 101770356 A CN101770356 A CN 101770356A CN 200810236519 A CN200810236519 A CN 200810236519A CN 200810236519 A CN200810236519 A CN 200810236519A CN 101770356 A CN101770356 A CN 101770356A
- Authority
- CN
- China
- Prior art keywords
- cell
- clock
- data
- effectively
- ram
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种定长信元交换中的数据位宽的转换装置。该装置包括:两组数据存储区域、一个Gray计数器和一个内部标志信号,其中每个存储区域用来存储一个完整的信元;Gray计数器用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据,另外用来指示RAM两个信元存储区域的状态;内部标志信号代表即将写入的数据将要被存储到两个存储区域中的哪一个区域。本发明公开了实现一种定长信元交换中的数据位宽的转换的方法,采用这种装置和方法,可以大大减少设计面积,节约成本;耗费很少的逻辑资源,实现起来简单可靠;还可以实现定长的信元的Back-to-Back的传输,提高系统的吞吐率。
Description
技术领域
本发明涉及数据位宽转换电路设计技术,特别是涉及一种定长信元交换中的数据位宽的转换装置和方法。
背景技术
在定长信元交换系统的大规模集成电路设计中,为了保证多路数据被无阻塞进行交换,经常要提高逻辑电路的数据位宽,需要将逻辑电路的处理带宽提高N倍。比如如图1所示,在4*4ATM共享缓存交换结构中,每路输入数据的带宽为32Bit,7个时钟周期完成一个完整信元的传输。在这种交换系统内,可以连续不间断的7个时钟周期传输一个信元,传输信元中间也可以有间断,如图3所示,第一、二个信元传输是连续不间断的7个时钟周期传输一个信元,而第三个信元传输时,中间有两个时钟没有传输信元;前一个完整信元传输与后一个完整信元信元可以是不间断的Back-to-Back传输,也可以在两个传输信元之间间隔任意时钟周期,如图3所示的第二个信元与第三个信元传输间隔任意时钟周期。为了完成信元无阻塞交换,将交换系统内部的共享缓存总线宽度达到一个信元宽度,也就是32*7=224bit的宽度,然后进行交换处理。可以采用如图2所示的数据位宽的转换装置将图3所示的有效的7个时钟周期的数据总线dada转换为图3所示的在传输完全部的data后的下一个时钟输出data_out,从而使数据位宽增加7倍,线速提高7倍,交换速度提高7倍。
图3是数据位宽的转换装置的输入数据和输出数据的时序图。其中,CLK为系统时钟;Data为输入数据总线;Soc为信元头指示,表示下一个时钟有效沿采样的输入数据为信元头部,另外它还表示可以切换存储区域了,也就是使Select反相;Wr表示数据写入位宽的转换装置写有效;Select为内部信号,初始化时为低电平,后面在有效时钟沿每检测到一个Soc就反相一次,在有效时钟沿采样Soc有效时,同时采样Select,当Select为低电平表示即将写入的信元将要被存储到存储区域A区,当Select为高电平表示即将写入的信元将要被存储到存储区域B区。可以看出,Wr持续有效时间为整数倍个信元周期,并在Soc的下一个时钟开始有效。
Data_out为经过数据位宽的转换装置后的输出数据,其位宽是输入数据总线Data的7倍,Ready指示数据位宽转换已经完成,将要在下一个时钟输出转换好的数据,Rd指示转换好的输出数据的读有效,可以作为下一级电路的写有效。可以看出转换好的数据持续有效的时间为至少持续7个时钟周期。
现有的数据位宽的转换装置主要通过先入先出缓存器(FIFO)和一定的控制逻辑来实现的。如图4所示,现有数据位宽的转换装置主要包括通道识别控制逻辑、FIFO组和读出控制逻辑。其中通道识别控制逻辑主要是根据一个n进制计数器将到达的输入数据Data分别顺序放入到FIFO(0)->FIFO(n-1)中。比如系统中信元长度为32*7Bit(其中m=32,n=7),当Soc有效,则把计数器清零;当计数器的逻辑值为0时,判断Wr是否有效,输入数据Data写入FIFO(0),也就是把信元头写入到FIFO(0);当计数器的逻辑值为1时,判断Wr是否有效如有效,如有效则把输入数据Data写入FIFO(1);……依次类推,把一个信元的32*7Bit数据分7次每次32Bit顺序写入到FIFO(0)->FIFO(6)中。读出控制逻辑根据一定的规则判断FIFO(0)->FIFO(6)中已经接收到一个完整的信元,然后一次性读出所有的224Bit数据。为了保证信元的back-to-back的传输,在读出一个完整信元的同时,Data还要被写入到相应的FIFO中去。
由此可见,数据位宽的转换装置所要完成的数据位宽转换比n越大,那么FIFO组内的FIFO数也就越多,由于FIFO器件的结构相对比较的复杂,并且控制逻辑也相对复杂。因此,该设计占用的设计面积大,耗费的逻辑资源多,实现起来复杂。
发明内容
有鉴于此,本发明的主要目的在于提供一种定长信元交换中的数据位宽的转换装置(完成从m Bit到m*n Bit的转换),使其能够节省逻辑资源和设计面积,并能简单可靠的实现定长信元交换中的数据的位宽转换。
本发明的另外一个主要目的在于提供一种定长信元交换中的数据位宽的转换的方法,使其能简单可靠的实现定长信元交换中的数据位宽的转换,并能够节省逻辑资源和设计面积。
为了达到上述的目的,本发明的技术方案是这样实现的:
本发明公开了一种定长信元交换中的数据位宽的转换装置,该装置如图5所示包括:
两组数据存储区域,每个存储区域用来存储一个完整的信元,用简单的2n个RAM来实现,RAM深度为1。
一个Gray计数器Wp,模值为2n,用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据,比如Gray的逻辑值为7就表示在在相应的时钟有效沿往RAM的第7个存储单元写入输入数据。另外用来指示RAM两个信元存储区域的状态,一种状态为另一区域已经写入了完整的信元,另一种状态为正在往该区域写入输入数据,也就是还没有写入完整的信元。该计数器在时钟有效沿检测到装置的写入Wr有效后,执行加“1”操作,加至最大值时,下一个时钟有效沿自动返回最小值。
一个内部标志信号,该信号代表即将写入的数据将要被存储到两个存储区域中的哪一个区域。
本发明公开了一种定长信元交换中的数据位宽的转换的方法,在采用上面定长信元交换中的数据位宽的转换装置的基础之上,用一定的方法来完成数据位宽的转换,如图5所示,该方法的步骤如下:
a.初始化系统,Wp的逻辑值为0,所有RAM空间的值为0,Select为0。
b.系统在每个时钟有效沿检测Soc信号是否有效,当Soc有效后同时检测Select的值,当Select为低电平表示这个信元将要被存储到存储区域A区,Wp逻辑值被赋值为0;当Select为高电平表示这个信元将要被存储到存储区域B区,Wp逻辑值被赋值为n。然后下一个时钟有效沿必然会有Wr有效,执行步骤c。
c.在检测到Soc有效的下一个时钟有效沿,且Wp的逻辑值为0时,输入数据写有效,把Data(也就是信元的头部)写入到RAM(0),Wp加一,然后在每个时钟有效沿检测Wr,如有效,执行d。
在检测到Soc有效的下一个时钟有效沿,且Wp的逻辑值为n时,输入数据写有效,计把Data(也就是信元的头部)写入到RAM(n),Wp加一,然后在每个时钟有效沿检测Wr,如有效,执行d。
d.并把Data写入到RAM(Wp),计数器Wp加一。
e.系统在每个时钟有效沿检测检测Wp,如果Wp的逻辑值为0时,表示存储区域B已经在上一个时钟有效沿写入了一个完整的信元(在系统最开始工作时,虽然Wp的逻辑值为0,但实际上此时存储区域B并没有写入信元,而全部为0,但是这并不影响系统工作,对于信元头部全为0的信元,系统自动丢弃不作处理),因此在该时钟有效沿一次性可以读出m*n Bit位宽的存储在区域B的数据。如果Wp的逻辑值为n时,表示存储区域A已经在上一个时钟有效沿写入了一个完整的信元,因此在该时钟有效沿一次性可以读出m*n Bit位宽的存储在区域A的数据。(实际上,Wp逻辑值为0→(n-1)时,表示存储区域B已经在上一个信元周期写入了一个完整的信元。Wp逻辑值为n→(2n-1)时,表示存储区域A已经在上一个信元周期写入了一个完整的信元。)
f.Select在有效时钟沿每检测到一个Soc就反相一次,在有效时钟沿采样Soc有效时,同时会采样Select,当Select为低电平表示这个信元将要被存储到存储区域A区,当Select为高电平表示这个信元将要被存储到存储区域B区。
由上述方案可以看出,本发明的关键在于:系统对计时器Wp的操作,以及根据Wp的逻辑值灵活的判断存储区域A、B的存储状况,并根据他们的存储状况做出相应的操作。灵活的采用Select内部信号判断,下一个信元将要被写入到哪一个存储区域。另外灵活的采用乒乓结构和操作,在对存储区域A进行写入操作时,同时对存储区域B进行读出操作;在对存储区域B进行写入操作时,同时对存储区域A进行读出操作。这样交替进行操作使系统可以不间断对back-to-back的信元进行位宽转换,保证了系统的性能。
因此,本系统成功完成不间断对back-to-back的信元进行位宽转换的要求,不需要FIFO存储数据,而采用简单的RAM(位宽为m Bit,深度为1),另外没有复杂的控制逻辑,只是简单的Gray计数器。对于FPGA设计来说仅需要很少的设计空间,节省逻辑资源,而且实现起来简单可靠。
附图说明
图1为定长信元交换中的数据位宽的转换在交换系统中的作用;
图2为定长信元交换中的数据位宽的转换结构示意图;
图3为输入的信号和数据进过定长信元位宽的转换电路后的输出时序示意图;
图4为现有的定长信元交换中的数据位宽的转换电路的实现原理图;
图5为本发明的定长信元交换中的数据位宽的转换电路的实现原理图;
具体实施方式
下面结合附图及具体实施例子对本发明做进一步的说明。
本发明采用两组存储区域和两个计数器来完成定长信元交换中的数据位宽的转换(完成从m Bit到m*n Bit的转换)。图5为本发明定长信元交换中的数据位宽的转换装置的实现原理图,该装置主要包括:
A.两组数据存储区域,每个存储区域用来存储一个完整的信元,用简单的2n个RAM来实现,RAM深度为1。
B.一个Gray计数器Wp,模值为2n,用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据,比如Gray的逻辑值为7就表示在在相应的时钟有效沿往RAM的第7个存储单元写入输入数据。另外用来指示RAM两个信元存储区域的状态,一种状态为另一区域已经写入了完整的信元,另一种状态为正在往该区域写入输入数据,也就是还没有写入完整的信元。该计数器在时钟有效沿检测到装置的写入Wr有效后,执行加“1”操作,加至最大值时,下一个时钟有效沿自动返回最小值。
C.一个内部标志信号,该信号代表即将写入的数据将要被存储到两个存储区域中的哪一个区域。
首先假设m=32Bit,n=7,也就是输入数据位宽为32Bit,在经过定长信元交换中的数据位宽的转换装置之后的输出的数据位宽为32*7Bit,这可能是一个完整或半个或四分之一或…信元的长度,在此假设是一个信元的长度。那么装置将包括14个位宽为32Bit深度为1的RAM,它们被分成两组,每组包括7个位宽为32Bit深度为1的RAM,在此对14个RAM分别进行编号RAM(0)、RAM(1)……RAM(13),其中存储区域A包括RAM(0)……RAM(6),存储区域B包括RAM(7)……RAM(13)。装置还包括一个14进制的Gray计数器Wp,它的逻辑值为:0、1、2……13,分别对应相应的Gray值:“0000
00010011……”。
首先,系统复位,初始化Wp的逻辑值为0和所有RAM空间的值为0,Select为0。
然后以图3的时序图为例,对其中的16个时钟节拍(每个节拍表示在有效时钟沿),定长信元交换中的数据位宽的转换装置的工作方式进行说明,完成两次32Bit到224Bit的转换,其输出结果见图3。
第1节拍:检测到Soc有效,同时检测到Select为低电平,那么下一个信元将要被写入到存储区域A,Wp赋值为0(逻辑值,非Gray值)。
第2节拍:检测到Wr有效,把Data写入到RAM(0)中去,并且Wp加1,下一节拍Wp为1。
第3节拍:检测到Wr有效,把Data写入到RAM(1)中去,并且Wp加1,下一节拍Wp为2。
……
第7节拍:检测到Wr有效,把Data写入到RAM(5)中去,并且Wp加1,下一节拍Wp为6。
第8节拍:检测到Wr有效,把Data写入到RAM(6)中去,并且Wp加1,下一节拍Wp为7。同时检测到Soc,下一节拍Wp赋值为7(和前面不矛盾)。检测到Soc有效,同时检测Select为高电平,表示下一个信元的存储区域为B。检测到Soc有效后,Select取反。检测到Wp为6后,Ready置高。
第9节拍:检测到Wr有效,把Data写入到RAM(7)中去(开始写入下一个信元的头部),并且Wp加1,下一节拍Wp为8。检测到Wp为7后,表示存储区域A已经写入完整的信元。输出端一次性输出224Bit数据,同时给出Rd置高,Ready置低。
第10节拍:Rd置低。检测到Wr有效,把Data写入到RAM(8)中去,并且Wp加1,下一节拍Wp为9。
……
第13节拍:检测到Wr有效,把Data写入到RAM(11)中去,并且Wp加1,下一节拍Wp为12。
第14节拍:检测到Wr有效,把Data写入到RAM(12)中去,并且Wp加1,下一节拍Wp为13。
第15节拍:检测到Wr有效,把Data写入到RAM(13)中去,并且Wp加1,下一节拍Wp为0。检测到Soc无效,表示没有Back-to-Back的信元传输。Select保持不变。检测到Wp为13后,Ready置高。
第16节拍:检测到Wp为0后,表示存储区域B已经写入完整的信元。输出端一次性输出存储区域A中的224Bit数据,同时给出Rd置高,Ready置低。
……
以上举例说明了两个信元的Back-to-Back,并且在传输信元中间没有间断的情况,实际中两个信元不一定Back-to-Back传输,一个信元本身传输时也可能中间间断。
总之,以上所述的仅为本发明的较佳实例而已,并非限定本发明的保护范围。
Claims (5)
1.一种实现定长信元交换中的数据位宽的转换装置,其特征在于,该装置包括:
两组数据存储区域,每个存储区域用来存储一个完整的信元。
一个Gray计数器,用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据。另外用来指示RAM两个信元存储区域的状态,一种状态为该区域已经写入了完整的信元,另一种状态为正在往该区域写入输入数据,也就是还没有写入完整的信元。该计数器在时钟有效沿检测到装置的写入输入数掘写有效有效后,执行加“1”操作,加至最大值时,下一个时钟有效沿自动返回最小值。
一个内部标志信号,该信号代表即将写入的信元将要被存储到两个存储区域中的哪一个区域。
2.根据权利要求1所述的装置,其特征在于,所述的两组存储区域,用简单的2n个RAM来实现,RAM数据宽度为m Bit,深度为1,每个存储区域用来存储一个完整的信元(定长信元为m*n Bit)。
3.根据权利要求1所述的装置,其特征在于,所述的Gray计数器,模值为2n,用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据。另外用来指示RAM两个信元存储区域的状态,一种状态为另一区域已经写入了完整的信元,另一种状态为正在往该区域写入输入数据,也就是还没有写入完整的信元。该计数器在时钟有效沿检测到装置的写入输入数据写有效有效后,执行加“1”操作,加至最大值时,下一个时钟有效沿自动返回最小值。
4.一种实现定长信元交换中的数据位宽的转换的方法,采用包括两组数据存储区域和一个Gray计数器的定长信元交换中的数据位宽转换装置,其特征在于,该方法包括以下步骤:
a.初始化系统,Gray计数器的逻辑值为0,所有RAM空间的值为0,内部标志信号为0。
b.系统在每个时钟有效沿检测标识信元头信号是否有效,当标识信元头信号有效后同时检测内部标志信号的值,当内部标志信号为低电平表示这个信元将要被存储到存储区域A区,Gray计数器逻辑值被赋值为0;当内部标志信号为高电平表示这个信元将要被存储到存储区域B区,Gray计数器逻辑值被赋值为n。然后下一个时钟有效沿必然会有输入数据写有效,执行步骤c。
c.在检测到标识信元头信号有效的下一个时钟有效沿,且Gray计数器的逻辑值为0,输入数据写有效,把输入数据(也就是信元的头部)写入到RAM(0),Gray计数器加一,然后在每个时钟有效沿检测输入数据写有效,如有效,执行d。
在检测到标识信元头信号有效的下一个时钟有效沿,且Gray计数器的逻辑值为n时,输入数据写有效,并把输入数据(也就是信元的头部)写入到RAM(n),Gray计数器加一,然后在每个时钟有效沿检测输入数据写有效,如有效,执行d。
d.把输入数据写入到RAM(Gray计数器),计数器Gray计数器加一。
e.系统在每个时钟有效沿检测检测Gray计数器,如果Gray计数器的逻辑值为0时,表示存储区域B已经在上一个时钟有效沿写入了一个完整的信元(在系统最开始工作时,虽然Gray计数器的逻辑值为0,但实际上此时存储区域B并没有写入信元,而全部为0,但是这并不影响系统工作,对于信元头部全为0的信元,系统自动丢弃不作处理),因此在该时钟有效沿一次性可以读出m*n Bit位宽的存储在区域B的数据。如果Gray计数器的逻辑值为n时,表示存储区域A已经在上一个时钟有效沿写入了一个完整的信元,因此在该时钟有效沿一次性可以读出m*n Bit位宽的存储在区域A的数据。(实际上,Gray计数器逻辑值为0→(n-1)时,表示存储区域B已经在上一个信元周期写入了一个完整的信元。Gray计数器逻辑值为n→(2n-1)时,表示存储区域A已经在上一个信元周期写入了一个完整的信元。)
f.内部标志信号在有效时钟沿每检测到一个标识信元头信号就反相一次,在有效时钟沿采样标识信元头信号有效时,同时会采样内部标志信号,当内部标志信号为低电平表示这个信元将要被存储到存储区域A区,当内部标志信号为高电平表示这个信元将要被存储到存储区域B区。
5.根据权利要求4所述的方法,其特征在于,步骤e,f是和其它并行执行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810236519A CN101770356A (zh) | 2008-12-30 | 2008-12-30 | 一种定长信元交换中的数据位宽的转换装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810236519A CN101770356A (zh) | 2008-12-30 | 2008-12-30 | 一种定长信元交换中的数据位宽的转换装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101770356A true CN101770356A (zh) | 2010-07-07 |
Family
ID=42503239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810236519A Pending CN101770356A (zh) | 2008-12-30 | 2008-12-30 | 一种定长信元交换中的数据位宽的转换装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101770356A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016058355A1 (zh) * | 2014-10-14 | 2016-04-21 | 深圳市中兴微电子技术有限公司 | 一种数据缓存方法、装置及存储介质 |
CN115221082A (zh) * | 2022-07-18 | 2022-10-21 | 中国兵器装备集团自动化研究所有限公司 | 一种数据缓存方法、装置及存储介质 |
-
2008
- 2008-12-30 CN CN200810236519A patent/CN101770356A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016058355A1 (zh) * | 2014-10-14 | 2016-04-21 | 深圳市中兴微电子技术有限公司 | 一种数据缓存方法、装置及存储介质 |
US10205673B2 (en) | 2014-10-14 | 2019-02-12 | Sanechips Technology Co. Ltd. | Data caching method and device, and storage medium |
CN115221082A (zh) * | 2022-07-18 | 2022-10-21 | 中国兵器装备集团自动化研究所有限公司 | 一种数据缓存方法、装置及存储介质 |
CN115221082B (zh) * | 2022-07-18 | 2023-04-18 | 中国兵器装备集团自动化研究所有限公司 | 一种数据缓存方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446934B (zh) | 一种基于多核dsp的动目标及恒虚警检测系统 | |
CN107133011A (zh) | 一种示波记录仪的多通道数据存储方法 | |
CN111832240A (zh) | Fifo数据传输方法及fifo存储装置 | |
CN103327265A (zh) | 一种基于fpga的四路视频合成方法及其装置 | |
CN109388370B (zh) | 一种实现先入先出队列的方法及装置 | |
CN203812236U (zh) | 一种基于处理器和现场可编程门阵列的数据交换系统 | |
CN105116318A (zh) | 一种逻辑分析仪中实现毛刺检测的方法 | |
CN101793557B (zh) | 高分辨率成像仪数据实时采集系统及方法 | |
CN103678729A (zh) | 一种基于fpga实现的高速a/d采样数据实时存储方法 | |
CN101825997A (zh) | 一种异步先入先出存储器 | |
CN113641625B (zh) | 一种基于fpga的四路并行数据处理转置系统 | |
CN101770356A (zh) | 一种定长信元交换中的数据位宽的转换装置和方法 | |
CN101566941B (zh) | 一种基于静态存储器的fifo存储单元 | |
EP2579507A1 (en) | Method and system for counting data packets | |
CN100568382C (zh) | 先进先出存储器 | |
CN204143431U (zh) | 一种高速低延迟数据采集累加器 | |
CN205228473U (zh) | 一种基于现场可编程门阵列的微型导航计算机 | |
CN108268416B (zh) | 一种异步接口转同步接口控制电路 | |
CN102645647A (zh) | 雷达成像信号模拟器 | |
CN105163045A (zh) | 一种用于图像传感器的像素信号读出方法 | |
CN201918981U (zh) | 双相哈佛码总线信号编解码电路 | |
CN201909847U (zh) | 基于vxi接口的双通道数字信号采集装置 | |
CN201859658U (zh) | 嵌入式sdram存储模块 | |
CN103685961B (zh) | 一种利用单片sram实现视频数据同步实时处理的系统 | |
CN101488119B (zh) | 地址译码方法、装置及单板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C57 | Notification of unclear or unknown address | ||
DD01 | Delivery of document by public notice |
Addressee: Chen Haihong Document name: Notification of Passing Preliminary Examination of the Application for Invention |
|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Chen Haihong Document name: Notification of Publication of the Application for Invention |
|
DD01 | Delivery of document by public notice |
Addressee: Yang Ting Document name: Notification of before Expiration of Request of Examination as to Substance |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100707 |