分享

FPGA开发流程中的HDL代码生成和验证

 小明师兄 2021-06-22

一个汽车工程师团队开始为一辆乘用车建立一个控制系统,比如ADAS控制器(ADAS-ECU)。使用的是基于模型的设计,所以他们首先从系统需求中建立一个结构模型;在这种情况下,系统包含环境模型,感知模型,规划控制模型及执行器模型。然后基于上述整个系统模型得出一个仿真/设计模型。这个高层次、低保真度的模型包括将在ADAS 控制器中运行的控制软件的一部分,以及平台模型--比如环境模型、车辆模型等。
团队通过在各种情况下仿真这个高层次的模型来执行初始的系统和集成测试,以验证系统是否被正确表示,策略是否执行,以及它是否对输入信号作出正确的反应。
逐渐向模型添加细节,不断测试和验证系统级的行为与技术规范。如果系统很大很复杂,工程师们可以独立开发和测试各个组件,但仍然在全系统仿真中频繁地测试它们。
最终,建立了一个详细的系统和环境的模型,整个系统在其中运行。这个模型捕获了关于系统的累积知识。工程师们从控制算法的模型中自动生成代码,用于软件测试和验证。
在生成代码之前,可以快速将基于仿真的模型,移植到整车上,通过RCP进行实车标定和验证。从而实现应用层算法开发与底层软件开发同步进行。从小编的以往项目经验来看,基于RCP标定的参数和基于生成代码后部署在嵌入式系统中的标定参数来看,两者变化很小。
在硬件在环测试之后,他们将生成的代码下载到生产硬件上,在实际车辆中进行测试。
正如这个场景所显示的,基于模型的设计使用与传统开发工作流程相同的元素,但有两个关键的区别:
- 工作流程中的许多耗时或容易出错的步骤--例如,代码生成--都是自动化的。
- 系统模型是开发的核心,从需求捕捉到设计、实现和测试。这些阶段从需求到整车验证,整个系统模型均可参与其中。

获得pdf,请联系小编


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多