高速数据通讯应用,如155Mbps异步传输模式(ATM),需要速率相应的Buffers或FIFOs。利用现今高速、大容量FPGA上集成的大量RAM,开发为员可以满足这些需求而无需使用外置FIFOs。本文是一个基于FPGA的ADSL的设计实例,它在FPGA上采用了UTOPIA ATM接口并利用片上RAM构成了FIFOs。
本设计提供了一个基于标准的UTOPIA-1实现的介于AFSL套片和ATM分割层和组装层间的桥接器。
应用背景
互联网的流行呼唤新的网络技术,以便能提供更高带宽的连接。Cisco system所提供的ADSL网络产品包括ADSL局复用器、桥接器、路由器及调制解调器卡。
这些Cisco system 的产品(PCIRunner,SpeedRunner及FireRunner)提供了ADSL数据流和ATM UTOPIA-1总线间的连接桥。该桥能完成ATM传输汇聚(TC)子层的功能。传输汇聚子层主要完成如力量一所示的五项主要功能。下文所述的接收及传输模块是由Cisco system设计的两个主要组件,执行传输汇聚子层的功能。
Cisco ADSL接收模块
接收模块用于从输入的ADSL位流中搜索ATM信元。当接收到有效信元时,数据将被送入两个FIFO之一。当信元被完整地接收时,信元信被送到UTOPIA-1接口。接收路径中的主要部件有信元解析单元(CDB),解扰码器,串并转换器以及两个FIFO。
具体工作过程描述略。
FIFO说明
计算构成发送和接收FIFO所需的RAM容量是非常方便的。
4 Bytes Header +1 Byte HEC+ 48 Bytes Data = 53 Bytes
·一个具有53字节的FIFO = 424bits
·两个接收FIFO模块,合计共848bits
·QuickLogic双端口RAM块由1152位构成,有四种配置模块。可配置为64X18,128X9,256X4,512X2。在Quicklogic的QuickRAM系列产品里FPCA上所集成的RAM块数从8块到22块不等。这极大地灵活了用户的设计,同步FIFO如图3所示。
Cisco ADSL发送模块
发送模块用于通过UTOPIA-1接口从ATM的SAR接收8-bit的数据,写入两个FIFO之一。当其中一个FIFO装满一个信元时,ATM SAR将会将数据存入另一FIFO,并且ATM发送状态机将会自动更新FIFO的状态,以便数据能串行地送入ADSL的发送流。发送模块由HEC生成器,并串转换器,扰码器和两个FIFO构成。
Header错误控制(HEC)产生
ATM信元的首四个字节被用作ATM header,并被输入HEC产生器。HEC生成器利用ITU-T I.432定义的多项式x8+x4+x+1来计算HEC字节,作为ATM信元的第五字节贮存于FIFO的相应位置中。
将数据送至ADS输出
当其中一个FIFO装入一个完整的ATM信元后,ADSL发送机便被激活,此时ATM SAR便开始传送一个新的信元。8-bit的信元被从FIFO中读出,经并串转换形成数据流,高位先行。
FIFO内的前五个字节经上述途经输出,最后的48数据字节代表ATM载荷数据。它们经过相同的并串转换后,还要经过扰码电路,然后送入ADSL输出。
FPGA的选择
Quicklogic的可变粒度的FPGA结构非常适合这类应用。信元解析和解扰码所需的长移位寄存器和计数器需要大量的寄存器资源。而高速状态机需要多输入(high FAN-in)逻辑单元。
QuickLogic器件还有大量的布线资源,确保设计为员在进行多次设计修改时能维持器件的引出脚固定。甚至在FPGA完成之前就可以指定引脚并完成PCB设计、制造。
Quicklogic的开发工具QuickWorks(r)中加入了一个贮存器制作向导。利用它可以自动产生各种规格和RAM、FIFO、ROM。
结论
集成有RAM的FPGA可以使设计为员在ATM应用中完成内置高速的FIFO。正确运用这些资源可以降低设计的复杂性,节线成本及有助于减小板面积。为了确保RAM资源被正确使用,FPGA厂家提供了交互工具软件,可以帮助设计为员完成FIFO设计。总之,高性能的芯片和优良的软件的结合使客房进行高速度、大容量的FPGA设计变得更方便。