电子说
要点
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设计方案也许无法正常运行。不妨设想某种用于高清视频记录的FPGA设计方案。FPGA必须记录原始视频数据,并填充内部FIFO缓冲器。DSP通过外部存储器接口与FPGA连接,读取FPGAFIFO缓冲器的内容以便记录视频数据。利用来自真实应用软件流的时序信息,验证工程师就能估计DSP在连续两次FIFO缓冲器读操作之间可能耗费的最长时间。工程师然后可以实现某个考虑了DSP上述限制的测试案例。如果FIFO缓冲器容量太小,无法缓冲连续两次FIFO缓冲器读操作之间的最长间隔期间到达的所有数据,那么测试就会记录一次错误。
视频信号处理领域的问题与数据相关。因此应在电路板设计确认期间使用不同类型的视频图形,这可能很重要。该方法有助于确保任何视频流应用的准确视频处理。随着开源领域的进步,验证工程师可随时找到合适的开源软件,来生成原始数据格式的此类测试图形。验证工程师可利用软件或直接记录来自某系统的图形,由此生成原始数据文件等视频图形。选用这类方法后,验证工程师就能在实时测试场景下发现设计错误,并在前端验证期间纠正它们,而不必等到客户碰巧应用了某个视频图形使系统失灵后。
利用软件或记录直接来自某系统的图形验证工程师就能在实时测试场景下发现设计错误
在设计阶段伊始,验证团队和软件团队在测试计划中就应该拥有一套共同的测试场景。这套共同的测试案例将确保电路板设计确认期间不存在漏洞。另外,设计者在设计阶段初期还能发现或纠正任何实现错误或集成错误。
FPGA设计方案十分复杂,这就要求设计者在设计阶段尽早发现问题,避免重制。在减少电路板设计确认期间出现的错误数量方面,验证的作用变得很重要。验证工程师应仔细考虑系统体系结构,并应具备外设硬件方面的工作知识,这将使他们能写出更接近实时应用的测试场景。这些万法会使验证工作变得很有效,最终使电路板设计确认工作变得很容易。
全部0条评论
快来发表一下你的评论吧 !