datasheet

四种常用FPGA/CPLD设计思想与技巧之乒乓操作

2008-03-28来源: 互联网 关键字:CPLD设计  FPGA  乒乓  Xilinx  Altera  Lattice  act

本系列讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。
     FPGA/CPLD 的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作、串并转换、流水线操作和数据接口的同步方法。希望本文能引起工程师们的注意,如果能有意识地利用这些原则指导日后的设计工作,将取得事半功倍的效果!

 


     乒乓操作的处理流程为:输入数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。在第一个缓冲周期,将输入的数据流缓存到“数据流缓存到“数据缓冲模块2”,同时将“数据缓冲模块1”缓存的第1个周期数据通过“输入数据选择单元”的选择,送到“数据流运算处理模块”进行运算处理;在第3个缓冲周期通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据 缓冲模块2”缓存的第2个周期的数据通过“输入数据选择单元”切换,送到“数据流运算处理模块”进行运算处理。如此循环。
     乒乓操作的最 大特点是通过“输入数据选择单元”和“输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算与处理。把乒乓操作模块当做一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处 理。所以乒乓操作常常应用于流水线式算法,完成数据的无缝缓冲与处理。
     乒乓操作的第二个优点是可以节约缓冲区空间。比如在WCDMA基 带应用中,1个帧是由15个时隙组成的,有时需要将1整帧的数据延时一个时隙后处理,比较直接的办法是将这帧数据缓存起来,然后延时1个时隙进行处理。这时缓冲区的长度是1整帧数据长,假设数据速率是3.84Mbps,1帧长10ms,则此时需要缓冲区长度是38400位。如果采用乒乓操作,只需定义两个 能缓冲1个时隙数据的RAM(单口RAM即可)。当向一块RAM写数据的时候,从另一块RAM读数据,然后送到处理单元处理,此时每块RAM的容量仅需 2560位即可,2块RAM加起来也只有5120位的容量。


     另外,巧妙运用乒乓操作还可以达到用低速模块处理高速数据流的效果。如图2所示,数据缓冲模块采用了双口RAM,并在DPRAM后引入了一级数据预处理模块,这个数据预处理可以根据需要的各种数据运算,比如在WCDMA设计中,对输入数据流的解扩、解扰、去旋转等。假设端口A的输入数据流的速率为 100Mbps,乒乓操作的缓冲周期是10ms。以下分析各个节点端口的数据速率。
     A端口处输入数据流速率为100Mbps,在第1个 缓冲周期10ms内,通过“输入数据选择单元”,从B1到达DPRAM1。B1的数据速率也是100Mbps,DPRAM1要在10ms内写入1Mb数据。同理,在第2个10ms,数据流被切换到DPRAM2,端口B2的数据速率也是100Mbps,DPRAM2在第2个10ms被写入1Mb数据。在第 3个10ms,数据流又切换到DPRAM1,DPRAM1被写入1Mb数据。
     仔细分析就会发现到第3个缓冲周期时,留给DPRAM1读 取数据并送到“数据预处理模块1”的时间一共是20ms。有的工程师困惑于DPRAM1的读数时间为什么是20ms,这个时间是这样得来的:首先,在在第 2个缓冲周期向DPRAM2写数据的10ms内,DPRAM1可以进行读操作;另外,在第1个缓冲周期的第5ms起(绝对时间为5ms时刻), DPRAM1就可以一边向500K以后的地址写数据,一边从地址0读数,到达10ms时,DPRAM1刚好写完了1Mb数据,并且读了500K数据,这个缓冲时间内DPRAM1读了5ms;在第3个缓冲周期的第5ms起(绝对时间为35ms时刻),同理可以一边向500K以后的地址写数据一边从地址0读 数,又读取了5个ms,所以截止DPRAM1第一个周期存入的数据被完全覆盖以前,DPRAM1最多可以读取20ms时间,而所需读取的数据为1Mb,所以端口C1的数据速率为:1Mb/20ms=50Mbps。因此,“数据预处理模块1”的最低数据吞吐能力也仅仅要求为50Mbps。同理,“数据预处理 模块2”的最低数据吞吐能力也仅仅要求为50Mbps。换言之,通过乒乓操作,“数据预处理模块”的时序压力减轻了,所要求的数据处理速率仅仅为输入数据速率的1/2。
     通过乒乓操作实现低速模块处理高速数据的实质是:通过DPRAM这种缓存单元实现了数据流的串并转换,并行用“数据预处理模块1”和“数据预处理模块2”处理分流的数据,是面积与速度互换原则的体现!

关键字:CPLD设计  FPGA  乒乓  Xilinx  Altera  Lattice  act

编辑:ssb 引用地址:http://www.eeworld.com.cn/gykz/2008/0328/article_713.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:FPGA可满足SMPTE视频标准对更高速率的需求
下一篇:四种常用FPGA/CPLD设计思想与技巧之流水线操作

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

I2C器件接口IP核的CPLD设计

I2C器件接口IP核的CPLD设计 根据单片机I2C串行扩展的特点,在EDA软件MaxplusII的环境下,利用AHDL语言,建立IP核。此设计利用状态机实现,在给出设计的同时详细说明IP核的建立过程,并下载到芯片通过硬件试验验证。 关键词: 可编程逻辑器件 I2C串行扩展 IP核   由于CPLD数字设计结构化的趋势,将出现针对CPLD不同层次的IP(Intellectual Property)核。各个IP核可重复利用,可大大提高设计能力和效率。国外各大公司都推出了专门的IP核,我国也迫切需要发展自己的IP核。本文针对I2C的主方式串行扩展通信的特点,详细给出设计过程和结果。 1 IP核简介   IP核是指:将一些在数
发表于 2013-12-23
I2C器件接口IP核的CPLD设计

使用CPLD设计实现QWERTY键盘

用来输入文本信息或数据。最近,有些手机生产商已经推出了面向文本用户的带 QWERTY 键盘的手机。 数据输入键盘可以用多种方法来设计,并无一定之规。为传统 DTMF 键盘添加更多按键对设计人员提出了挑战,本文即讨论应对这挑战的一种可能解决方案。 QWERTY 构建模块 我们的解决方案使用 Xilinx® CoolRunner™-II CPLD;低功耗、小包装及低成本的特点使其成为此应用的理想选择。 将 DTMF 转化为 QWERTY 键盘需要更多按键,从而需要更多通用 I/O (GPIO)。例如,DTMF 键盘可能只有四行三列,而 QWERTY 键盘可能有多至八行八列。不过,键盘的大小可根据终端系统的需求而定
发表于 2013-02-19

利用CPLD设计逆变器的控制电路

        现代逆变器的控制电路多采用电机控制专用微处理器作为控制系统的核心,如INTEL公司的80C196MC,TI公司的TMS320F240等。随着逆变器性能的不断提高和功能的不断完善,当微处理器的片内资源无法满足要求时,就需要进行外围电路的扩展。与采用分立元件相比,采用具有ISP(在系统可编程)功能的CPLD(复杂可编程逻辑器件)进行外围电路扩展的方案在电路的体积、灵活性和可靠性等方面具有明显的优势。本文在分析逆变器控制电路的典型结构的基础上,设计了以TMS320F240为核心、用CPLD进行外围电路扩展的逆变器控制电路方案,说明CPLD的采用可以极大地改善
发表于 2012-11-12
利用CPLD设计逆变器的控制电路

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">