0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式视频处理系统领域的FPGA验证

jf_pJlTbmA9 2023-10-27 17:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

要点

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可以实现UARTI2C、SPI、GPIO等等标准接口。这些标准应该指定这些端口的验证策略。在验证这类设计方案时,您还必须考虑那些使用定制接口的外设器件的时序约束。例如,FPGA的GPIO接口可与板上多路复用器连接。FPGA负责驱动多路复用器的选择输入,然后记录它的输出。一旦选择输入发生变化,多路复用器在其输入端就需要稳定时间。如果实现在生成验证模型响应过程中发生的这种延迟,就可确保FPGA仅在多路复用器的输出稳定后记录它的输出。

使各团队同步工作

使受测FPGA设计方案感觉像是实时应用软件流,这是一种很好的做法。当应用软件施加自己的某些限制时,看似在验证测试台上工作的FPGA设计方案也许无法正常运行。不妨设想某种用于高清视频记录的FPGA设计方案。FPGA必须记录原始视频数据,并填充内部FIFO缓冲器。DSP通过外部存储器接口与FPGA连接,读取FPGAFIFO缓冲器的内容以便记录视频数据。利用来自真实应用软件流的时序信息,验证工程师就能估计DSP在连续两次FIFO缓冲器读操作之间可能耗费的最长时间。工程师然后可以实现某个考虑了DSP上述限制的测试案例。如果FIFO缓冲器容量太小,无法缓冲连续两次FIFO缓冲器读操作之间的最长间隔期间到达的所有数据,那么测试就会记录一次错误。


视频信号处理领域的问题与数据相关。因此应在电路板设计确认期间使用不同类型的视频图形,这可能很重要。该方法有助于确保任何视频流应用的准确视频处理。随着开源领域的进步,验证工程师可随时找到合适的开源软件,来生成原始数据格式的此类测试图形。验证工程师可利用软件或直接记录来自某系统的图形,由此生成原始数据文件等视频图形。选用这类方法后,验证工程师就能在实时测试场景下发现设计错误,并在前端验证期间纠正它们,而不必等到客户碰巧应用了某个视频图形使系统失灵后。

利用软件或记录直接来自某系统的图形验证工程师就能在实时测试场景下发现设计错误


在设计阶段伊始,验证团队和软件团队在测试计划中就应该拥有一套共同的测试场景。这套共同的测试案例将确保电路板设计确认期间不存在漏洞。另外,设计者在设计阶段初期还能发现或纠正任何实现错误或集成错误。

FPGA设计方案十分复杂,这就要求设计者在设计阶段尽早发现问题,避免重制。在减少电路板设计确认期间出现的错误数量方面,验证的作用变得很重要。验证工程师应仔细考虑系统体系结构,并应具备外设硬件方面的工作知识,这将使他们能写出更接近实时应用的测试场景。这些万法会使验证工作变得很有效,最终使电路板设计确认工作变得很容易。

审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630236
  • 嵌入式
    +关注

    关注

    5186

    文章

    20146

    浏览量

    328792
  • 视频处理
    +关注

    关注

    2

    文章

    102

    浏览量

    19327
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    合适的数据结构和算法。 3 、计算机体系结构 了解处理器架构,如ARM、x86等,以及指令集和内存管理。 熟悉嵌入式系统的硬件组成,如微控制器、FPGA、DSP等。 可以很熟练地根据C
    发表于 11-28 07:48

    嵌入式FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、 PCB设计等技能。 ✅2、FPG
    发表于 11-20 07:12

    嵌入式FPGA的区别

    用于芯片量产前的功能验证。 架构与工作原理差异 嵌入式系统采用顺序执行架构,基于冯·诺依曼或哈佛体系结构,程序指令按顺序从存储器中读取并执行。这种架构灵活但效率相对固定。 FPGA
    发表于 11-19 06:55

    嵌入式系统的定义和应用领域

    嵌入式系统,简而言之,就是一种专为特定设备或装置设计的计算机系统。它们通常配备一个嵌入式处理器,其控制程序被存储在ROM中。这些
    发表于 11-17 06:49

    嵌入式实时操作系统的特点

    操作系统具备高效的中断处理机制,能够快速响应和处理系统的中断事件。 资源管理:实时嵌入式操作系统提供有效的资源管理机制,包括内存管理、设备驱
    发表于 11-13 06:30

    RK3506开发板:嵌入式系统领域的革新力量

    在科技飞速发展的今天,嵌入式系统已成为推动工业自动化、智能家居、智能交通等领域发展的核心力量。作为这一领域的佼佼者,明远智睿推出的RK3506开发板,凭借其创新架构、严苛测试、丰富接口
    的头像 发表于 08-13 17:15 646次阅读

    入行嵌入式应该怎么准备?

    想入行嵌入式该怎么准备。很能理解大家对于嵌入式的关注,嵌入式系统是当今科技领域中的重要组成部分,它存在于我们生活的方方面面,各行各业。智能化
    发表于 08-06 10:34

    怎么结合嵌入式,Linux,和FPGA三个方向达到一个均衡发展?

    嵌入式领域,不少人都怀揣着让嵌入式、Linux 和 FPGA 三个方向实现均衡发展的梦想,然而实践中却面临诸多挑战。就像备受瞩目的全栈工程师稚晖君,他从大学玩单片机起步,凭借将智能算
    的头像 发表于 06-25 10:08 649次阅读
    怎么结合<b class='flag-5'>嵌入式</b>,Linux,和<b class='flag-5'>FPGA</b>三个方向达到一个均衡发展?

    Linux嵌入式和单片机嵌入式的区别?

    区别 单片机嵌入式系统和Linux嵌入式系统是两种不同的嵌入式系统开发方式,它们在应用
    发表于 06-20 09:46

    嵌入式开发入门指南:从零开始学习嵌入式

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微控制器原理熟悉Lin
    发表于 05-15 09:29

    嵌入式系统开发圣经【干货】

    主管、系统设计分析人员及欲进入该领域的工程师。是一本开发嵌入式系统产品必备的入门圣经,进入嵌入式系统领域
    发表于 03-12 13:58

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、
    的头像 发表于 01-13 16:30 1184次阅读
    <b class='flag-5'>嵌入式</b>主板的概述与发展

    哪些专业适合学习嵌入式开发?

    网络协议与标准,包括MQTT、CoAP以及HTTP等,适合物联网领域的数据交换和通信。 5)物联网工程:直接关联物联网领域,涉及嵌入式系统、网络通信、数据
    发表于 01-03 13:44

    ARM嵌入式实时操作系统比较

    嵌入式系统领域,实时操作系统(RTOS)是确保任务按时完成的关键技术。ARM架构因其低功耗、高性能的特点,在嵌入式系统中得到了广泛应用。本
    的头像 发表于 12-28 09:15 2442次阅读

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    系统开发与硬件关系的几个关键点: 硬件依赖性 :嵌入式系统的软件必须能够在特定的硬件上运行,这包括处理器、内存、输入/输出接口等。软件必须能够充分利用硬件的特性,同时绕过其限制。 资源
    的头像 发表于 12-09 09:38 1466次阅读