一种定长信元交换中的数据位宽的转换装置和方法

文档序号:6471497阅读:179来源:国知局
专利名称:一种定长信元交换中的数据位宽的转换装置和方法
技术领域
本发明涉及数据位宽转换电路设计技术,特别是涉及一种定长信元交换中的数据
位宽的转换装置和方法。
背景技术
在定长信元交换系统的大规模集成电路设计中,为了保证多路数据被无阻塞进行 交换,经常要提高逻辑电路的数据位宽,需要将逻辑电路的处理带宽提高N倍。比如如图1 所示,在扭4ATM共享缓存交换结构中,每路输入数据的带宽为32Bit,7个时钟周期完成一 个完整信元的传输。在这种交换系统内,可以连续不间断的7个时钟周期传输一个信元, 传输信元中间也可以有间断,如图3所示,第一、二个信元传输是连续不间断的7个时钟周 期传输一个信元,而第三个信元传输时,中间有两个时钟没有传输信元;前一个完整信元传 输与后一个完整信元信元可以是不间断的Back-to-Back传输,也可以在两个传输信元之 间间隔任意时钟周期,如图3所示的第二个信元与第三个信元传输间隔任意时钟周期。为 了完成信元无阻塞交换,将交换系统内部的共享缓存总线宽度达到一个信元宽度,也就是 32*7 = 224bit的宽度,然后进行交换处理。可以采用如图2所示的数据位宽的转换装置将 图3所示的有效的7个时钟周期的数据总线dada转换为图3所示的在传输完全部的data 后的下一个时钟输出data_0ut,从而使数据位宽增加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(O)- > FIF0(n-1)中。比如系统中信元长度为32*7Bit (其中m =32,n = 7),当Soc有效,则把计数器清零;当计数器的逻辑值为0时,判断Wr是否有效, 输入数据Data写入FIFO(O),也就是把信元头写入到FIFO(O);当计数器的逻辑值为1时,判断Wr是否有效如有效,如有效则把输入数据Data写入FIFO (1);……依次类推,把一个 信元的32承7Bit数据分7次每次32Bit顺序写入到FIF0(0)-〉FIF0(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有效后,执行加"l"操 作,加至最大值时,下一个时钟有效沿自动返回最小值。 —个内部标志信号,该信号代表即将写入的数据将要被存储到两个存储区域中的 哪一个区域。 本发明公开了一种定长信元交换中的数据位宽的转换的方法,在采用上面定长信 元交换中的数据位宽的转换装置的基础之上,用一定的方法来完成数据位宽的转换,如图5 所示,该方法的步骤如下 a.初始化系统,Wp的逻辑值为O,所有RAM空间的值为0, Select为0。
b.系统在每个时钟有效沿检测Soc信号是否有效,当Soc有效后同时检测Select 的值,当Select为低电平表示这个信元将要被存储到存储区域A区,Wp逻辑值被赋值为0 ; 当Select为高电平表示这个信元将要被存储到存储区域B区,Wp逻辑值被赋值为n。然后 下一个时钟有效沿必然会有Wr有效,执行步骤c。 c.在检测到Soc有效的下一个时钟有效沿,且Wp的逻辑值为0时,输入数据写有 效,把Data(也就是信元的头部)写入到RAM(O) ,Wp加一,然后在每个时钟有效沿检测Wr,
5如有效,执行d。 在检测到Soc有效的下一个时钟有效沿,且Wp的逻辑值为n时,输入数据写有效, 计把Data(也就是信元的头部)写入到RAM(n) , Wp加一,然后在每个时钟有效沿检测Wr, 如有效,执行d。 d.并把Data写入到RAM(Wp),计数器Wp加一。 e.系统在每个时钟有效沿检测检测Wp,如果Wp的逻辑值为0时,表示存储区域B 已经在上一个时钟有效沿写入了一个完整的信元(在系统最开始工作时,虽然Wp的逻辑值 为O,但实际上此时存储区域B并没有写入信元,而全部为O,但是这并不影响系统工作,对 于信元头部全为0的信元,系统自动丢弃不作处理),因此在该时钟有效沿一次性可以读出 m*n Bit位宽的存储在区域B的数据。如果Wp的逻辑值为n时,表示存储区域A已经在上 一个时钟有效沿写入了一个完整的信元,因此在该时钟有效沿一次性可以读出m*n Bit位 宽的存储在区域A的数据。(实际上,Wp逻辑值为0— (n-1)时,表示存储区域B已经在上 一个信元周期写入了一个完整的信元。Wp逻辑值为n— (2n-l)时,表示存储区域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有效后,执行加"l" 操作,加至最大值时,下一个时钟有效沿自动返回最小值。 C. —个内部标志信号,该信号代表即将写入的数据将要被存储到两个存储区域中 的哪一个区域。 首先假设m = 32Bit, n = 7,也就是输入数据位宽为32Bit,在经过定长信元交 换中的数据位宽的转换装置之后的输出的数据位宽为32*7Bit,这可能是一个完整或半个 或四分之一或…信元的长度,在此假设是一个信元的长度。那么装置将包括14个位宽为 32Bit深度为1的RAM,它们被分成两组,每组包括7个位宽为32Bit深度为1的RAM,在此
对14个RAM分别进行编号RAM(O) 、 RAM(l)......RAM(13),其中存储区域A包括RAM(O)......
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加l,下一节拍Wp 为l。 第3节拍检测到Wr有效,把Data写入到RAM (1)中去,并且Wp加l,下一节拍Wp 为2。 ...... 第7节拍检测到Wr有效,把Data写入到RAM(5)中去,并且Wp加l,下一节拍Wp 为6。 第8节拍检测到Wr有效,把Data写入到RAM(6)中去,并且Wp加l,下一节拍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(ll)中去,并且Wp加l,下一节拍 Wp为12。 第14节拍检测到Wr有效,把Data写入到RAM(12)中去,并且Wp加l,下一节拍 Wp为13。 第15节拍:检测到Wr有效,把Data写入到RAM(13)中去,并且Wp加l,下一节拍 Wp为0。检测到Soc无效,表示没有Back-to-Back的信元传输。Select保持不变。检测到 Wp为13后,Ready置高。 第16节拍检测到Wp为O后,表示存储区域B已经写入完整的信元。输出端一次 性输出存储区域A中的224Bit数据,同时给出Rd置高,Ready置低。
...... 以上举例说明了两个信元的Back-to-Back,并且在传输信元中间没有间断的情 况,实际中两个信元不一定Back-to-Back传输, 一个信元本身传输时也可能中间间断。
总之,以上所述的仅为本发明的较佳实例而已,并非限定本发明的保护范围。
权利要求
一种实现定长信元交换中的数据位宽的转换装置,其特征在于,该装置包括两组数据存储区域,每个存储区域用来存储一个完整的信元。一个Gray计数器,用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据。另外用来指示RAM两个信元存储区域的状态,一种状态为该区域已经写入了完整的信元,另一种状态为正在往该区域写入输入数据,也就是还没有写入完整的信元。该计数器在时钟有效沿检测到装置的写入输入数掘写有效有效后,执行加“1”操作,加至最大值时,下一个时钟有效沿自动返回最小值。一个内部标志信号,该信号代表即将写入的信元将要被存储到两个存储区域中的哪一个区域。
2. 根据权利要求1所述的装置,其特征在于,所述的两组存储区域,用简单的2n个RAM 来实现,RAM数据宽度为m Bit,深度为l,每个存储区域用来存储一个完整的信元(定长信 元为m*n Bit)。
3. 根据权利要求1所述的装置,其特征在于,所述的Gray计数器,模值为2n,用来指示 在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据。另外用来指示RAM两 个信元存储区域的状态,一种状态为另一区域已经写入了完整的信元,另一种状态为正在 往该区域写入输入数据,也就是还没有写入完整的信元。该计数器在时钟有效沿检测到装 置的写入输入数据写有效有效后,执行加"1"操作,加至最大值时,下一个时钟有效沿自动 返回最小值。
4. 一种实现定长信元交换中的数据位宽的转换的方法,采用包括两组数据存储区域和 一个Gray计数器的定长信元交换中的数据位宽转换装置,其特征在于,该方法包括以下步 骤a. 初始化系统,Gray计数器的逻辑值为O,所有RAM空间的值为0,内部标志信号为0。b. 系统在每个时钟有效沿检测标识信元头信号是否有效,当标识信元头信号有效后同 时检测内部标志信号的值,当内部标志信号为低电平表示这个信元将要被存储到存储区域 A区,Gray计数器逻辑值被赋值为0 ;当内部标志信号为高电平表示这个信元将要被存储到 存储区域B区,Gray计数器逻辑值被赋值为n。然后下一个时钟有效沿必然会有输入数据 写有效,执行步骤c。c. 在检测到标识信元头信号有效的下一个时钟有效沿,且Gray计数器的逻辑值为0, 输入数据写有效,把输入数据(也就是信元的头部)写入到RAM(O),Gray计数器加一,然后 在每个时钟有效沿检测输入数据写有效,如有效,执行d。在检测到标识信元头信号有效的下一个时钟有效沿,且Gray计数器的逻辑值为n时, 输入数据写有效,并把输入数据(也就是信元的头部)写入到RAM(n),Gray计数器加一,然 后在每个时钟有效沿检测输入数据写有效,如有效,执行d。d. 把输入数据写入到RAM (Gray计数器),计数器Gray计数器加一。e. 系统在每个时钟有效沿检测检测Gray计数器,如果Gray计数器的逻辑值为0时,表 示存储区域B已经在上一个时钟有效沿写入了一个完整的信元(在系统最开始工作时,虽 然Gray计数器的逻辑值为0,但实际上此时存储区域B并没有写入信元,而全部为O,但是 这并不影响系统工作,对于信元头部全为0的信元,系统自动丢弃不作处理),因此在该时 钟有效沿一次性可以读出m*n Bit位宽的存储在区域B的数据。如果Gray计数器的逻辑值为n时,表示存储区域A已经在上一个时钟有效沿写入了一个完整的信元,因此在该时钟 有效沿一次性可以读出m*n Bit位宽的存储在区域A的数据。(实际上,Gray计数器逻辑 值为0— (n-1)时,表示存储区域B已经在上一个信元周期写入了一个完整的信元。Gray 计数器逻辑值为n— (2n-l)时,表示存储区域A已经在上一个信元周期写入了一个完整的 信元。)f.内部标志信号在有效时钟沿每检测到一个标识信元头信号就反相一次,在有效时钟 沿采样标识信元头信号有效时,同时会采样内部标志信号,当内部标志信号为低电平表示 这个信元将要被存储到存储区域A区,当内部标志信号为高电平表示这个信元将要被存储 到存储区域B区。
5.根据权利要求4所述的方法,其特征在于,步骤e, f是和其它并行执行的。
全文摘要
本发明公开了一种定长信元交换中的数据位宽的转换装置。该装置包括两组数据存储区域、一个Gray计数器和一个内部标志信号,其中每个存储区域用来存储一个完整的信元;Gray计数器用来指示在相应的时钟有效沿往相应Gray计数值的RAM单元写入输入数据,另外用来指示RAM两个信元存储区域的状态;内部标志信号代表即将写入的数据将要被存储到两个存储区域中的哪一个区域。本发明公开了实现一种定长信元交换中的数据位宽的转换的方法,采用这种装置和方法,可以大大减少设计面积,节约成本;耗费很少的逻辑资源,实现起来简单可靠;还可以实现定长的信元的Back-to-Back的传输,提高系统的吞吐率。
文档编号G06F5/00GK101770356SQ200810236519
公开日2010年7月7日 申请日期2008年12月30日 优先权日2008年12月30日
发明者不公告发明人 申请人:陈海红;杨婷;杨艳
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1