嵌入式视频处理系统领域的FPGA验证
时间:11-08
来源:互联网
点击:
FPGA在视频处理方面可能很有用处,但在验证基于FPGA的视频系统时,则需要仔细关注您所用的方法。
要点
FPGA能满足目前的视频处理系统的需要。
在视频处理应用领域,必须格外重视测试台设计。
应使验证环境尽可能接近真实世界,这将使电路板级的集成变得容易,并减少重制需要。
参与消费电子细分市场,会带来许多优势。尽管如此,该细分市场的设计团队仍将面临急剧收缩的上市时间窗口。因此,基于FPGA的设计已经演变成为许多系统体系结构设计者的首选。同时,人们对消费品中的多媒体功能的需求日益增多,这使得DSP和流传输接口成为许多嵌入式产品中必备的部件。几家FPGA厂商开发了带有DSP核心与流传输接口的FPGA,它们在技术和复杂度上均足以应对最近这些设计要求。
但是,如果FPGA通过接口与DSP核心连接,并且高速视频数据是通过它来传输,那么它根本不是简单的系统。这种更高的设计复杂度导致了额外的验证难题,并且如果您在设计阶段晚期发现一处重大错误,那么这还会导致高成本的系统板重制。为了消除这一隐患,您必须仔细考虑自己采用的验证方法,以便降低重制风险。
对基于FPGA的设计进行验证,其最大优势在于,系统在最低级别拥有预先定义的体系结构,因此您在设计伊始就知道测试必要场景的范围。因此,验证团队可在FPGA基础上构建一个模仿实际系统体系结构的验证环境。
除了验证外设之外,您还必须验证FPGA内部的各种设计元件,比如数字时钟管理器(DCM)和块RAM,您在自己的设计方案中会用到它们。但是这需要您验证许多部件。因此测试完成时间会极大地影响产品开发总体时间。有鉴于此,验证环境必须具有很高的时间效率。如果您在对FPGA设计元件和外围器件有充分了解的前提下开发出恰当的验证环境,那么该环境的初期设计可使您编写出准确的测试案例,并确认电路板设计。
基元的正确使用
FPGA厂商们提供DCM、块RAM等经过良好验证的FPGA基元。但是,要想在FPGA设计中正确使用这些基元,您就必须遵循特定的指导方针。务必在设计方案变成芯片之前发现所有不正确的使用。例如,输入时钟上的允许时钟抖动就是这样一条DCM约束。在某个测试案例中,DCM在低频模式时,对周期抖动的约束为±300ps。按照设计规格,DCM的输入时钟可以是16.384、22.5792或24.576MHz。但是在设计验证期间,当实验人员把输入时钟从一个频率切换到另一个频率时,DCM解锁了,这是因为频率的切换违反了输入时钟抖动约束。因此,修改后的设计方案实现了一种机制,在改变输入时钟频率的同时使DCM复位。如果您在前端验证期间未能发现此类错误,那么在电路板设计确认期间,很有可能需要一周或更长时间来查明错误。
随着技术的进步,FPGA目前已把块RAM包含在内,后者可以是单端口或双端口存储器。如果是双端口RAM,那么块RAM允许两个端口同时访问同一个存储单元。但是,如果设计者以不恰当的方式来实现RAM控制器,那么在同一个有效的写周期当中,两个存储器端口也许会试图向相同的RAM位置写入不同数据。验证团队必须为此类场景准备单独的测试。因此,FPGA设计者和FPGA验证工程师都必须意识到FPGA内部元件的要求或约束。
输入信号的变化
在现实世界,FPGA的输入信号具有路由路径延迟和质量退化现象。FPGA验证计划应该考虑输入激励信号生成过程中的时序和信号完整性的这类变化。例如,一种很好的做法就是了解输入信号偏离理想条件的漂移程度,这样您就能验证FPGA设计在漂移期间将顺利发挥作用。当接口同步,并且某个外部器件在驱动时钟时,这项要求就会变得至关重要。根据路由路径延迟、发射器件的时钟至输出延迟、接收器件的输入设置时间的不同情况,数据、控制和时钟可能会具有各自不同的延迟。在高频工作期间,这一约束也许会给FPGA留下很窄的采样窗口,供它记录输入数据。在这种情况下,在向FPGA设计提供激励时,您就应该考虑这类实时延迟。
在现实世界,输入时钟伴随着抖动和漂移变化。虽然你可用DCM来处理这些变化,但DCM在输入时钟变化公差方面有自己的限制。验证工程师必须知道在真实系统中可能出现的时钟变化,并且在验证环境中生成输入时钟时,包含相同的变化。采用这类做法可帮助发现FPGA设计方案的局限性,并在早期开发阶段实施纠正行动。
外设的集成
流媒体的迅速成长要求各系统以更快的速度工作。对于频率较高的系统,您在集成FPGA及其外设器件时务必小心。这些外设器件在输入设置和保持时间方面具有时序约束。验证工程师必须知道所有外设器件的时序约束。如果添加示波器来验证具有不同时序约束的FPGA设计方案,就会迫使设计者遵循恰当的设计指导方针,来使FPGA设计与系统兼容。
FPGA可以实现UART、I2C、SPI、GPIO等等标准接口。这些标准应该指定这些端口的验证策略。在验证这类设计方案时,您还必须考虑那些使用定制接口的外设器件的时序约束。例如,FPGA的GPIO接口可与板上多路复用器连接。FPGA负责驱动多路复用器的选择输入,然后记录它的输出。一旦选择输入发生变化,多路复用器在其输入端就需要稳定时间。如果实现在生成验证模型响应过程中发生的这种延迟,就可确保FPGA仅在多路复用器的输出稳定后记录它的输出。
要点
FPGA能满足目前的视频处理系统的需要。
在视频处理应用领域,必须格外重视测试台设计。
应使验证环境尽可能接近真实世界,这将使电路板级的集成变得容易,并减少重制需要。
参与消费电子细分市场,会带来许多优势。尽管如此,该细分市场的设计团队仍将面临急剧收缩的上市时间窗口。因此,基于FPGA的设计已经演变成为许多系统体系结构设计者的首选。同时,人们对消费品中的多媒体功能的需求日益增多,这使得DSP和流传输接口成为许多嵌入式产品中必备的部件。几家FPGA厂商开发了带有DSP核心与流传输接口的FPGA,它们在技术和复杂度上均足以应对最近这些设计要求。
但是,如果FPGA通过接口与DSP核心连接,并且高速视频数据是通过它来传输,那么它根本不是简单的系统。这种更高的设计复杂度导致了额外的验证难题,并且如果您在设计阶段晚期发现一处重大错误,那么这还会导致高成本的系统板重制。为了消除这一隐患,您必须仔细考虑自己采用的验证方法,以便降低重制风险。
对基于FPGA的设计进行验证,其最大优势在于,系统在最低级别拥有预先定义的体系结构,因此您在设计伊始就知道测试必要场景的范围。因此,验证团队可在FPGA基础上构建一个模仿实际系统体系结构的验证环境。
除了验证外设之外,您还必须验证FPGA内部的各种设计元件,比如数字时钟管理器(DCM)和块RAM,您在自己的设计方案中会用到它们。但是这需要您验证许多部件。因此测试完成时间会极大地影响产品开发总体时间。有鉴于此,验证环境必须具有很高的时间效率。如果您在对FPGA设计元件和外围器件有充分了解的前提下开发出恰当的验证环境,那么该环境的初期设计可使您编写出准确的测试案例,并确认电路板设计。
基元的正确使用
FPGA厂商们提供DCM、块RAM等经过良好验证的FPGA基元。但是,要想在FPGA设计中正确使用这些基元,您就必须遵循特定的指导方针。务必在设计方案变成芯片之前发现所有不正确的使用。例如,输入时钟上的允许时钟抖动就是这样一条DCM约束。在某个测试案例中,DCM在低频模式时,对周期抖动的约束为±300ps。按照设计规格,DCM的输入时钟可以是16.384、22.5792或24.576MHz。但是在设计验证期间,当实验人员把输入时钟从一个频率切换到另一个频率时,DCM解锁了,这是因为频率的切换违反了输入时钟抖动约束。因此,修改后的设计方案实现了一种机制,在改变输入时钟频率的同时使DCM复位。如果您在前端验证期间未能发现此类错误,那么在电路板设计确认期间,很有可能需要一周或更长时间来查明错误。
随着技术的进步,FPGA目前已把块RAM包含在内,后者可以是单端口或双端口存储器。如果是双端口RAM,那么块RAM允许两个端口同时访问同一个存储单元。但是,如果设计者以不恰当的方式来实现RAM控制器,那么在同一个有效的写周期当中,两个存储器端口也许会试图向相同的RAM位置写入不同数据。验证团队必须为此类场景准备单独的测试。因此,FPGA设计者和FPGA验证工程师都必须意识到FPGA内部元件的要求或约束。
输入信号的变化
在现实世界,FPGA的输入信号具有路由路径延迟和质量退化现象。FPGA验证计划应该考虑输入激励信号生成过程中的时序和信号完整性的这类变化。例如,一种很好的做法就是了解输入信号偏离理想条件的漂移程度,这样您就能验证FPGA设计在漂移期间将顺利发挥作用。当接口同步,并且某个外部器件在驱动时钟时,这项要求就会变得至关重要。根据路由路径延迟、发射器件的时钟至输出延迟、接收器件的输入设置时间的不同情况,数据、控制和时钟可能会具有各自不同的延迟。在高频工作期间,这一约束也许会给FPGA留下很窄的采样窗口,供它记录输入数据。在这种情况下,在向FPGA设计提供激励时,您就应该考虑这类实时延迟。
在现实世界,输入时钟伴随着抖动和漂移变化。虽然你可用DCM来处理这些变化,但DCM在输入时钟变化公差方面有自己的限制。验证工程师必须知道在真实系统中可能出现的时钟变化,并且在验证环境中生成输入时钟时,包含相同的变化。采用这类做法可帮助发现FPGA设计方案的局限性,并在早期开发阶段实施纠正行动。
外设的集成
流媒体的迅速成长要求各系统以更快的速度工作。对于频率较高的系统,您在集成FPGA及其外设器件时务必小心。这些外设器件在输入设置和保持时间方面具有时序约束。验证工程师必须知道所有外设器件的时序约束。如果添加示波器来验证具有不同时序约束的FPGA设计方案,就会迫使设计者遵循恰当的设计指导方针,来使FPGA设计与系统兼容。
FPGA可以实现UART、I2C、SPI、GPIO等等标准接口。这些标准应该指定这些端口的验证策略。在验证这类设计方案时,您还必须考虑那些使用定制接口的外设器件的时序约束。例如,FPGA的GPIO接口可与板上多路复用器连接。FPGA负责驱动多路复用器的选择输入,然后记录它的输出。一旦选择输入发生变化,多路复用器在其输入端就需要稳定时间。如果实现在生成验证模型响应过程中发生的这种延迟,就可确保FPGA仅在多路复用器的输出稳定后记录它的输出。
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)