2 常见的DSP功能实现
下面通过分析有限冲击响应(FIR)滤波器的两个实现示例来说明这些特性是如何影响器件的利用率。一个是基于乘法累加器(MAC)的实现,另一个是基于多通道分布式算法(DA)的实现。
FIR滤波器通常应用于基站、数字视频、无线局域网、xDSL以及有线调制解调器。测试基准是在Spartan-3 XC3S400 FPGA中实现频率为130MHz、数据和系数均为16位的64抽头MAC FIR滤波器。第一个实现仅用了一个MAC,第二个实现则用了四个MAC。
从采用单个MAC的实现到采用四个MAC的实现可显著增加FIR滤波器的性能,而LUT数量只增加一倍并仍仅占总可用逻辑资源的4%。四个MAC的实现使用了四块RAM和四个MAC,以最少的器件逻辑资源高效地实现了FIR滤波器。
另一个有趣的实现是多通道FIR功能的实现,在这里可以看到从单通道FIR滤波器到8通道FIR滤波器,器件利用率是如何变化的。
实现单通道分布式算法FIR滤波器使用了XC3S1000 Spartan-3器件29%的逻辑资源和39%的寄存器资源。当实现同样的8通道滤波器时,通常将不同通道进行时分复用来保存逻辑,但这将占用很多寄存器或者大量的片内存储器来存放中间结果。
如果使用Spartan-3 FPGA,中间结果将被存放在由LUT配置成的16位移位寄存器(SRL-16)中。这样,实现同样的8通道滤波器只多使用10%的可用逻辑资源和7%的可用寄存器资源,也就是说,构建8个通道仅多占用25%的器件资源。
这种显著的资源节约与Spartan-3器件中SRL-16的使用有直接关系,在8通道实现中还有另外1,343个LUT被用作SRL-16模式。
如果在不支持SRL-16性能的FPGA中实现这种设计,将需要额外的10,744(1343×8)个触发器用作存储单元,这就必须选用大规模器件以提供数量庞大的寄存器,同时将也会消耗相关的组合逻辑资源。
2 常见的DSP功能实现
下面通过分析有限冲击响应(FIR)滤波器的两个实现示例来说明这些特性是如何影响器件的利用率。一个是基于乘法累加器(MAC)的实现,另一个是基于多通道分布式算法(DA)的实现。
FIR滤波器通常应用于基站、数字视频、无线局域网、xDSL以及有线调制解调器。测试基准是在Spartan-3 XC3S400 FPGA中实现频率为130MHz、数据和系数均为16位的64抽头MAC FIR滤波器。第一个实现仅用了一个MAC,第二个实现则用了四个MAC。
从采用单个MAC的实现到采用四个MAC的实现可显著增加FIR滤波器的性能,而LUT数量只增加一倍并仍仅占总可用逻辑资源的4%。四个MAC的实现使用了四块RAM和四个MAC,以最少的器件逻辑资源高效地实现了FIR滤波器。
另一个有趣的实现是多通道FIR功能的实现,在这里可以看到从单通道FIR滤波器到8通道FIR滤波器,器件利用率是如何变化的。
实现单通道分布式算法FIR滤波器使用了XC3S1000 Spartan-3器件29%的逻辑资源和39%的寄存器资源。当实现同样的8通道滤波器时,通常将不同通道进行时分复用来保存逻辑,但这将占用很多寄存器或者大量的片内存储器来存放中间结果。
如果使用Spartan-3 FPGA,中间结果将被存放在由LUT配置成的16位移位寄存器(SRL-16)中。这样,实现同样的8通道滤波器只多使用10%的可用逻辑资源和7%的可用寄存器资源,也就是说,构建8个通道仅多占用25%的器件资源。
这种显著的资源节约与Spartan-3器件中SRL-16的使用有直接关系,在8通道实现中还有另外1,343个LUT被用作SRL-16模式。
如果在不支持SRL-16性能的FPGA中实现这种设计,将需要额外的10,744(1343×8)个触发器用作存储单元,这就必须选用大规模器件以提供数量庞大的寄存器,同时将也会消耗相关的组合逻辑资源。
举报