首页 matlab嵌入式代码生成

matlab嵌入式代码生成

举报
开通vip

matlab嵌入式代码生成 Embedded Coder     ——为嵌入式系统生成优化的C/C++代码 Embedded coder可为嵌入式处理器、目标上的快速原型及产品中使用的微处理器生成可读的、集成的、高效的C/C++代码。Embedded coder扩展了Matlab coder和Simulink coder配置选项和优化设置,来更好的控制生成代码的函数、文件和数据。这些优化设置提高了代码的执行效率,并能够集成产品应用时的外部代码、数据类型及标定参数。还可以将第三方开发环境集成到为嵌入式系统生成可...

matlab嵌入式代码生成
Embedded Coder     ——为嵌入式系统生成优化的C/C++代码 Embedded coder可为嵌入式处理器、目标上的快速原型及产品中使用的微处理器生成可读的、集成的、高效的C/C++代码。Embedded coder扩展了Matlab coder和Simulink coder配置选项和优化设置,来更好的控制生成代码的函数、文件和数据。这些优化设置提高了代码的执行效率,并能够集成产品应用时的外部代码、数据类型及标定参数。还可以将第三方开发环境集成到为嵌入式系统生成可执行文件的build过程中。 Embedded coder本身提供对AUTOSAR和ASAP2软件标准的支持。同时也提供可追溯性 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 、代码接口文件和自动化的软件测试来支持DO-178B,IEC61508和ISO26262的软件开发。 特点: l 扩展了Matlab coder和Simulink coder的优化和代码生成配置选项。 l 具有使用Simulink数据字典进行存储类型、数据类型和别名定义的能力。 l 针对具体目标平台的代码优化。 l 无论有无RTOS的多速率、多任务和多核的代码执行。 l 代码验证,包含SIL/PIL测试,自定义注释,具有模型和需求到代码双向追踪的代码报告。 l 集成Texas Instruments Code Composer Studio?, Analog Devices? VisualDSP++?及其它的第三方嵌入式开发环境。 l 对标准的支持,包含ASAP2, AUTOSAR, DO-178, IEC 61508, ISO 26262, and MISRA C。 一个生成代码的定点模型和它的设置为SIL执行的仿真模型。Embedded Coder可进行产品级的嵌入式系统代码快速生成、归档和测试。 强大的功能 ■配置目标平台 可使用Matlab Coder的工程用户界面及Simulink Model Explore来设置Embedded Coder的代码生成的配置选项。也可以直接使用Matlab命令和脚本的形式对每个选项进行设置。 从Matlab Coder的工程用户界面,可进行: l 为MATLAB文件和函数生成代码。 l 选择使用Embedded Coder特性。 l 为代码生成配置功臣设置选项。 l 创建、加载和重用多个工程。 从Simulink Model Explore,可进行: l 为Simulink模型和子系统生成代码。 l 选择一个Embedded Coder目标。 l 为代码生成进行目标配置。 l 创建、加载和重用多个配置集。 ■选择目标 Embedded Coder使用配置对象和系统目标文件将MATLAB代码和Simulink模型转换为产品级的源代码和可执行文件。 对于一个MATLAB配置对象,需要说明如下的输出目标: l MEX文件 l C/C++静态库 l C/C++可执行文件 对于Simulink系统目标文件,需要说明生成的代码即将运行在哪种实时环境中。 Embedded Coder包含多种配置的目标文件,也支持第三方和自定义目标。内置的目标包括: l Embedded Real-Time目标:为任意的产品级处理器生成具有定点和浮点数据的ANSI/ISO C,C++代码,可进行高效的实时运行。 l AUTOSAR 目标:生成支持AUTOSAR软件组件的C代码和实时运行接口。 l 共享库目标:生成可在主机目标平台上运行的静态库,如windows的动态链接库(.dll),UNIX共享目标文件(.so)。 l IDE LINK目标:生成支持第三方集成开发环境编译和下载的代码,如(CCS)。 ■定义嵌入式硬件特性 可从预定义的列表或者使用目标设置为MATLAB或者SIMULINK代码生成选择目标平台。可通过自定义环境来扩展这个预定义的列表。 可通过Simulink Model Explore为代码部署设置预定义列表或者设置生成的微处理器选项。Embedded Coder可为任意的微处理器或者DSP生成代码,包括8位,16位,32位。 ■定义及控制自定义数据 Embedded Coder可以定义及控制生成代码中的数据格式。为了便于软件集成,可以通过MATLAB Coder工程用户界面说明入口函数和全局数据的类型、长度及是否是复数。 对于MATLAB代码,Embedded Coder支持所有的MATLAB Coder的数据定义,包括定点数据对象。 对于Simulink模型,Embedded Coder生成代码支持如下的数据说明及数据字典定义: l Simulink data object—提供预定义存储类型,包括constant,volatile,exported global,imported global,structure,bit fileld及获取和设置的方法。 l Module packaging data object—为高级的数据对象提供预定义的特性,主要用于多种产品,如内存分配来进行标定或者调节查表数据。 l User data type-从复杂的数据中创建抽象的数据类型,可精确控制生成代码中的模型数据,可与legacy data进行交互,同时也可替代simulink内置的数据类型。 如下的工具将有助于在simulink中 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 和管理工程数据: l Custom Storage Class Designer-通过图形化的界面创建自定义的数据定义和声明,将数据结构导入到生成的代码中,或者是导出数据,分配内存,将自动生成与交换标准如ASAM或者ASAP2兼容的数据格式。 l Simulink Model Explore—显示simulink模型和stateflow图中所有用到的数据,可以以数据字典的格式查看所有自定义数据的信息。 l Embedded Coder可以创建ASAP2的数据交换文件,能够使用ASAP2标准导出具有复杂数据定义的模型数据。可修改内置的属性生成其它的数据交换机制文件。 通过Custom Storage Class Designer创建自定义的存储类型,可使用内置图形用户界面进行设计、查看及验证复杂数据类型。 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ■优化及打包代码 使用Embedded Coder,可控制函数边界、保留表达式,对多个模块使用优化选项以减少代码量。数据通过全局变量或者函数参数的形式与生成的代码进行交换。可将生成的代码追溯到模型中的模块和信号。 从MATLAB代码和Simulink模型生成代码,Embedded Coder选项可进行: l 为数学函数和操作符生成具体目标平台的代码。 l 生成导出到外部环境的可重用代码。 l 减少不必要的初始化、终止、记录和错误处理的代码。 l 从整形应用中去除浮点型代码。 Embedded Coder还为simulink模型提供额外的代码优化和配置选项,可进行: 从模型中生成具有处理器编译宏定义的代码变量。 按位存储布尔型数据和stateflow状态。 l 可控制每个生成文件的格式。 l 控制全局变量数据是如何定义和引用的。 l 对注释的内容和放置位置进行说明。 具有具体目标平台的数学扩展函数和重用函数优化选项的MATLAB例子和Simulink例子。Embedded Coder使用具体目标平台和可移植的代码优化选项来提高代码的执行效率。 ■注释、追溯及记录代码 Embedded Coder提供多种方式来检查从MATLAB文件和函数或者Simulink模型和子系统生成的代码。使用这些方式,可进行: l 生成代码生成报告,来描述模型和模块的配置选项。 l 控制生成代码中全局数据,数据烈性和函数的标识符。 l 在生成的代码中可将MATLAB代码作为注释,包含函数帮助文档。 Embedded Coder也可将高级需求作为代码注释插入到代码中,与需求文档可进行链接(需要Simulink Verification and Validation)。代码生成报告也包含代码接口描述文件,追溯性报告及可显示生成的源文件和代码。模型和代码间存在双向的链接,可以方便的在每行代码和相关的simulink模型间进行定位,包含子系统、模块、MATLAB函数和代码及Stateflow状态图和转换。可点击一个链接以高亮显示相关的模型元素或者代码行,更加方便代码检查和调试。 Simulink代码生成报告,高亮现实算法和代码间的双向追踪。 ■执行和验证代码 Embedded Coder可将生成的代码与代码执行环境进行集成,Embedded Coder对MATLAB生成的代码的执行与使用MATLAB Coder生成的代码具有相同的执行框架。 对于Simulink,Embedded Coder扩展了Simulink Coder提供的实时执行的框架。默认情况下,代码可在具有或者没有实时操作系统、单任务多任务或者异步模式下执行。也可以使用软件在环(SIL)和处理器在环(PIL)的方式验证代码执行的结果。 ◆生成主程序 Embedded Coder按照所提供的实时环境代码部署信息生成一个可扩展的主程序。这种特性可为模型生成和创建一个完整的自定义可执行文件。 ◆速率分组 Embedded Coder按照模型中的采样时间设置生成单速率或者多速率代码。对于多速率多任务模型,按照速率分组为每个速率任务生成独立的函数。 ◆使用链接和目标 第三方IDE、微处理器及RTOS包括Wind River Systems? VxWorks支持生成代码的自动下载、集成、优化和执行。 ◆SIL和PIL测试 Embedded Coder可在simulink中使用simulink仿真模型或者s-function模块自动执行生成代码进行SIL测试,或者在嵌入式目标平台上进行PIL测试。代码生成测试API可帮助自动测试的执行,并与之前的模型比较测试结果。与第三方工具的集成可进行代码结构覆盖度分析来确保测试的完整性。           Simulink Coder     ——从Simulink和Stateflow模型生成C和C++代码 Simulink Code(之前版本为 Real-Time Workshop)从 Simulink框图、Stateflow图和 MATLAB函数生成并执行 C和C++代码。生成的代码可用于实时和非实时应用,包括仿真加速、快速原型建立和硬件在回路测试。可以使用 Simulink 对生成的代码进行调优和监测,或在 MATLAB和 Simulink之外运行代码并与之交互。 特点 离散、连续或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C++ 代码及可执行文件用于大型模型的增量代码生成支持整型、浮点型和定点型数据类型针对单采样率、多采样率和异步模型的代码生成使用或不使用 RTOS 的单任务、多任务和多核代码执行用于参数调优和信号监测的外部模式仿真 强大的功能 ■选择和使用目标 Simulink 模型资源管理器在 Simulink 中提供了单一用户界面,用于配置所有代码生成设置。模型资源管理器可提供: l 选择代码生成目标 l 配置目标以进行代码生成 l 为模型或子系统生成代码 Code Generation Advisor 会检查模型和代码生成设置,然后根据需求针对如何改进配置提供建议。一旦为项目确定了最优设置之后,便可以将这些设置保存为配置集以重复用于其他模型。 使用 Simulink 建模的大型飞机系统。 Simulink Coder 支持用于大规模建模的高级 Simulink 功能,包括模型块、变量子系统和总线数组。 ◆选择目标: Simulink Coder 使用系统目标文件将模型转换为源代码和可执行文件。目标文件指定生成的代码将要在其中运行的环境。 Simulink Coder 包括若干个准备好运行的配置的目标文件,还支持第三方目标和自定义目标。内置目标包括: l 一般实时目标——生成用于模型参数交互式调优的代码,记录和显示实时仿真结果并静态分配数据为进行高效的实时执行; l 一般实时 Malloc目标——在生成的代码中使用动态内存分配,以便在一个可执行文件中包含同一模型的多个实例或包含多个模型; l 快速仿真目标 (RSim)——提供快速灵活的测试平台用于使用定步长或变步长求解器执行批量或 Monte Carlo 仿真研究,并使您可以将每次运行的数据保存到唯一的输出文件中。 可以扩展这些目标以创建自定义的运行时接口和设备驱动程序文件,从而能以特定环境为目标,访问 Simulink Coder 的执行并调试其中的功能。 ■编译和执行生成的代码 Simulink Coder为使用常用桌面环境编译和执行生成的代码提供内置支持,包括: l Eclipse? IDE l Microsoft? Visual C++? IDE l Linux? 操作系统 l Windows? 操作系统 可以使用 Embedded Coder 在实时嵌入式系统中生成和运用优化的 C 和 C++ 代码。 ■定义和控制数据 Simulink Coder 允许用户定义和控制模型数据在所生成代码中的出现方式。可通过以下方式管理数据: l 将数据类型声明为整型、浮点型和定点型 l 指定调优和校准参数或常数的存储区 l 指定监测和记录信号数据的存储区 l 重复使用存储区以最小化局部范围的数据 Simulink Coder 从存储在 Simulink 框图或数据字典(通过 Simulink 模型资源管理器访问)中的数据生成代码。通过利用不同的数据字典集,可以将代码从一个模型重新运用到多个目标。 Simulink 模型资源管理器可显示模型中使用的各种数据类型和存储类。注意存储类要求Embedded Coder。 ■生成代码 Simulink Coder 为 Simulink 和 Stateflow 功能和组件提供了全面的代码生成支持,包括: l 模型块用于增量生成代码 l 原子子系统和原子子图表,用于通过可重入 C 函数的重用代码 l 在代码中,总线对象和总线数组用于生成结构 l S-函数,用于对已有代码进行仿真和对接 Simulink 中的 MATLAB 函数块和 Stateflow 中的 MATLAB 函数,用于从具有 MATLAB 组件的模型生成代码 Simulink Coder 还支持 Simulink 系列产品,包括定点建模、物理建模、信号处理和通信建模以及快速原型建立和硬件在回路 (HIL) 测试产品。 ◆代码生成选项: Simulink Coder 提供了用户可选择的选项,以便在桌面和仿真环境中执行生成的代码。选项包括: l 代码重用 l 表达式折叠 l 信号存储区重用 l 死路径消除 l 参数内联 l 单精度和预制数学库(包括 ISO C 和 GNU C) 生成的代码,其中将 For 循环融合和表达式折叠用于一个 10 元素数组模型。Simulink Coder 为单维和多维信号生成高效且可读的代码。 ■在实时环境中执行代码 Simulink Coder 提供了实时执行生成的代码并将其合并到用户执行环境中的完整框架。它根据用户在模型中指定的周期采样次数生成单采样率或多采样率代码。 ◆执行模式: 在单任务、多任务或异步模式下部署代码,可使用或不使用 RTOS。 ◆单任务模式 在单任务模式下,简单的调度程序以单线程执行来调用生成的代码,防止不同速率之间的抢占。 ◆多任务模式 在多任务模式下,通过确定性单调速率调度程序调用生成的代码,允许不同速率之间的抢占。在裸机环境中以嵌套中断来抢占代码。在 RTOS 环境中则使用任务优先级和任务抢占。 ◆异步模式 在异步模式下,使用 Simulink S-函数指定非周期性采样率或异步采样率。 Simulink Coder 将这些采样率转换为用户执行环境所需的代码。用户为硬件中断之类的事件建模并生成代码,然后作为独立的任务触发各子系统。可以使用所含的异步块库作为模板,以创建适用于其他环境的库。 ◆实时部署 Simulink 和 Simulink Coder 为实时部署提供了一整套独立于目标的功能。其中包括: l 可以为模型中的每个采样率指定的任务优先级 l 产品级质量计数器以及计算绝对时间和实耗时间的计时器 l 采样率转移块,用于指定各采样率之间的数据传输机制(例如信号量、互斥和双缓冲),从而使您可以权衡数据完整性、确定性和性能 l 对合并每种采样率的错误处理逻辑进行超限检测 ◆继承代码集成 通过合并已有的用于仿真和代码生成的自定义 C、Fortran、Ada 和 C++ 代码,可以自定义生成的代码及其运行时环境。 Simulink Coder 中的自定义工具包括目标语言编译器 (TLC)、自定义代码块、模板联编文件 (makefile)、构建过程 API 和 S-函数生成器。使用代码继承工具 (Legacy Code Tool),可以快速地将现有 C 和 C++ 函数集成到 Simulink 模块中,这对于集成通常用于嵌入式系统的离散时间代码特别有用。 ■调优参数和记录数据 Simulink Coder 使用户可以与生成的可执行文件交互并进行分析,从而帮助用户优化算法的性能并改进代码执行行为。 通过 Simulink Coder 可以使用下列数据接口来监测和调优模块信号及参数: l 基于目标的 C API——允许用户编写的代码访问 MATLAB 和 Simulink外部的模块输出和参数; l 基于主机的 ASAP2 数据交换文件——允许将 ASAP2 标准数据描述用于 MATLAB 和 Simulink 外部的数据测量、校准和诊断系统; l Simulink 外部模式——允许下载新的参数值和上传信号值,以便在 Simulink 内部查看或在 MATLAB 工作空间中进行记录。(打开源模块的对话框会造成 Simulink 暂停。尽管 Simulink 已暂停,但仍可编辑参数值。必须关闭该对话框才能使更改生效并使 Simulink 继续运行。) Simulink Coder     ——从Simulink和Stateflow模型生成C和C++代码 Simulink Code(之前版本为 Real-Time Workshop)从 Simulink框图、Stateflow图和 MATLAB函数生成并执行 C和C++代码。生成的代码可用于实时和非实时应用,包括仿真加速、快速原型建立和硬件在回路测试。可以使用 Simulink 对生成的代码进行调优和监测,或在MATLAB和 Simulink之外运行代码并与之交互。 特点 离散、连续或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C++ 代码及可执行文件用于大型模型的增量代码生成支持整型、浮点型和定点型数据类型针对单采样率、多采样率和异步模型的代码生成使用或不使用 RTOS 的单任务、多任务和多核代码执行用于参数调优和信号监测的外部模式仿真 强大的功能 ■ 选择和使用目标 Simulink 模型资源管理器在 Simulink 中提供了单一用户界面,用于配置所有代码生成设置。模型资源管理器可提供: l 选择代码生成目标 l 配置目标以进行代码生成 l 为模型或子系统生成代码 Code Generation Advisor 会检查模型和代码生成设置,然后根据需求针对如何改进配置提供建议。一旦为项目确定了最优设置之后,便可以将这些设置保存为配置集以重复用于其他模型。 使用 Simulink 建模的大型飞机系统。 Simulink Coder 支持用于大规模建模的高级 Simulink 功能,包括模型块、变量子系统和总线数组。 ◆ 选择目标: Simulink Coder 使用系统目标文件将模型转换为源代码和可执行文件。目标文件指定生成的代码将要在其中运行的环境。 Simulink Coder 包括若干个准备好运行的配置的目标文件,还支持第三方目标和自定义目标。内置目标包括: l 一般实时目标——生成用于模型参数交互式调优的代码,记录和显示实时仿真结果并静态分配数据为进行高效的实时执行; l 一般实时 Malloc目标——在生成的代码中使用动态内存分配,以便在一个可执行文件中包含同一模型的多个实例或包含多个模型; l 快速仿真目标 (RSim)——提供快速灵活的测试平台用于使用定步长或变步长求解器执行批量或 Monte Carlo 仿真研究,并使您可以将每次运行的数据保存到唯一的输出文件中。 可以扩展这些目标以创建自定义的运行时接口和设备驱动程序文件,从而能以特定环境为目标,访问 Simulink Coder 的执行并调试其中的功能。 ■ 编译和执行生成的代码 Simulink Coder为使用常用桌面环境编译和执行生成的代码提供内置支持,包括: l Eclipse? IDE l Microsoft? Visual C++? IDE l Linux? 操作系统 l Windows? 操作系统 可以使用 Embedded Coder 在实时嵌入式系统中生成和运用优化的 C 和 C++ 代码。 ■ 定义和控制数据 Simulink Coder 允许用户定义和控制模型数据在所生成代码中的出现方式。可通过以下方式管理数据: l 将数据类型声明为整型、浮点型和定点型 l 指定调优和校准参数或常数的存储区 l 指定监测和记录信号数据的存储区 l 重复使用存储区以最小化局部范围的数据 Simulink Coder 从存储在 Simulink 框图或数据字典(通过 Simulink 模型资源管理器访问)中的数据生成代码。通过利用不同的数据字典集,可以将代码从一个模型重新运用到多个目标。 Simulink 模型资源管理器可显示模型中使用的各种数据类型和存储类。注意存储类要求Embedded Coder。 ■ 生成代码 Simulink Coder 为 Simulink 和 Stateflow 功能和组件提供了全面的代码生成支持,包括: l 模型块用于增量生成代码 l 原子子系统和原子子图表,用于通过可重入 C 函数的重用代码 l 在代码中,总线对象和总线数组用于生成结构 l S-函数,用于对已有代码进行仿真和对接 Simulink 中的 MATLAB 函数块和 Stateflow 中的 MATLAB 函数,用于从具有 MATLAB 组件的模型生成代码 Simulink Coder 还支持 Simulink 系列产品,包括定点建模、物理建模、信号处理和通信建模以及快速原型建立和硬件在回路 (HIL) 测试产品。 ◆ 代码生成选项: Simulink Coder 提供了用户可选择的选项,以便在桌面和仿真环境中执行生成的代码。选项包括: l 代码重用 l 表达式折叠 l 信号存储区重用 l 死路径消除 l 参数内联 l 单精度和预制数学库(包括 ISO C 和 GNU C) 生成的代码,其中将 For 循环融合和表达式折叠用于一个 10 元素数组模型。Simulink Coder 为单维和多维信号生成高效且可读的代码。 ■ 在实时环境中执行代码 Simulink Coder 提供了实时执行生成的代码并将其合并到用户执行环境中的完整框架。它根据用户在模型中指定的周期采样次数生成单采样率或多采样率代码。 ◆ 执行模式: 在单任务、多任务或异步模式下部署代码,可使用或不使用 RTOS。 ◆ 单任务模式 在单任务模式下,简单的调度程序以单线程执行来调用生成的代码,防止不同速率之间的抢占。 ◆ 多任务模式 在多任务模式下,通过确定性单调速率调度程序调用生成的代码,允许不同速率之间的抢占。在裸机环境中以嵌套中断来抢占代码。在 RTOS 环境中则使用任务优先级和任务抢占。 ◆ 异步模式 在异步模式下,使用 Simulink S-函数指定非周期性采样率或异步采样率。 Simulink Coder 将这些采样率转换为用户执行环境所需的代码。用户为硬件中断之类的事件建模并生成代码,然后作为独立的任务触发各子系统。可以使用所含的异步块库作为模板,以创建适用于其他环境的库。 ◆ 实时部署 Simulink 和 Simulink Coder 为实时部署提供了一整套独立于目标的功能。其中包括: l 可以为模型中的每个采样率指定的任务优先级 l 产品级质量计数器以及计算绝对时间和实耗时间的计时器 l 采样率转移块,用于指定各采样率之间的数据传输机制(例如信号量、互斥和双缓冲),从而使您可以权衡数据完整性、确定性和性能 l 对合并每种采样率的错误处理逻辑进行超限检测 ◆ 继承代码集成 通过合并已有的用于仿真和代码生成的自定义 C、Fortran、Ada 和 C++ 代码,可以自定义生成的代码及其运行时环境。 Simulink Coder 中的自定义工具包括目标语言编译器 (TLC)、自定义代码块、模板联编文件 (makefile)、构建过程 API 和 S-函数生成器。使用代码继承工具 (Legacy Code Tool),可以快速地将现有 C 和 C++ 函数集成到 Simulink 模块中,这对于集成通常用于嵌入式系统的离散时间代码特别有用。 ■ 调优参数和记录数据 Simulink Coder 使用户可以与生成的可执行文件交互并进行分析,从而帮助用户优化算法的性能并改进代码执行行为。 通过 Simulink Coder 可以使用下列数据接口来监测和调优模块信号及参数: l 基于目标的 C API——允许用户编写的代码访问 MATLAB 和 Simulink外部的模块输出和参数; l 基于主机的 ASAP2 数据交换文件——允许将 ASAP2 标准数据描述用于 MATLAB 和 Simulink 外部的数据测量、校准和诊断系统; l Simulink 外部模式——允许下载新的参数值和上传信号值,以便在 Simulink 内部查看或在 MATLAB 工作空间中进行记录。(打开源模块的对话框会造成 Simulink 暂停。尽管 Simulink 已暂停,但仍可编辑参数值。必须关闭该对话框才能使更改生效并使 Simulink 继续运行。)   Simulink HDL Coder     —— 将Simulink模型和MATLAB代码生成可综合的HDL代码 Simulink HDL Coder可以把Simulink模型、MATLAB代码和Stateflow框图生成位真(bit-true)、周期精确(cycle-accurate)、可综合的Verilog和VHDL代码。通过使用工业标准化设计工具,可以对自动生成的HDL代码进行仿真和综合,并进一步映射到FPGA和ASIC芯片上。Simulink HDL Coder可以控制HDL的体系架构和实施,突出模型中的关键路径,生成硬件资源利用评估。Simulink HDL Code还能够生成测试验证平台以及EDA Simulator Link的仿真模型,并提供支持DO-254工作流的代码跟踪能力,从而对生成的HDL代码进行快速验证。特点: l 将Simulink模型、MATLAB代码和Stateflow框图生成独立于目标器件、可综合的HDL代码; l 支持Mealy / Moore有限状态机以及控制逻辑的实现; l 生成测试验证平台和EDA Simulator Link协同仿真模型; l 资源共享和子系统级重定时,以实现面积与速度的权衡; l 利用时间约束信息和HDL合成工具箱进行Simulink模型的优化; l 支持DO-254规范从代码到模型,模型到代码的跟踪能力; l 遗产代码集成; 将Simulink模型生成HDL代码;Simulink HDL Coder能够为系统建模,自动生成位真、周期精确(cycle-accurate)、可综合的Verilog和VHDL代码,以及测试平台。 使用Simulink HDL Coder从建模到FPGA和ASIC的实现,Simulink HDL Coder能够使得算法设计过程自动化,步骤如下: l 配置参数,以选择实现不同的HDL模块 l 优化模型以达到面积与速度的设计指标 l 利用HDL Workflow Advisor或者Configuration Parameters GUI生成HDL代码 l 根据测试平台验证生成的代码,并自动生成协同仿真模型 通过使用Simulink HDL Coder,用户可以首先在Simulink、MATLAB和Stateflow中构建系统模型,然后对模型进行HDL代码的生成。Simulink提供了160多个模块供用户选择,来进行信号处理和通信的算法建模。例如,可以使用Viterbi译码器或者Reed-Solomon译码器来建立通信接收端模型,并生产HDL代码。同样,可以使用信号处理FFT函数和滤波算法,如CIC插值法、FIR插值法,以及抽取滤波器等。Simulink中的Embedded MATLAB功能模块可以将MATLAB代码生成HDL代码。Simulink HDL Coder提供了一个现有的通用逻辑单元库,如可以写入MALAB代码中的计数器和定时器等。用户还可以在Stateflow中建立有限状态机(FSM)模型,并且通过黑箱接口将手写代码或者HDL遗产代码与Simulink模型合成为一体。用户创建好模型之后,通过HDL Work Advisor或者Configuration Parameters GUI,并应用代码生成控制文件来生成HDL代码。 通过Configuration Parameters GUI设置代码生成选项并生成Verilog及VHDL Code Simulink HDL Coder与EDA仿真器共同生成协同仿真测试平台模型,并由HDL仿真器进行配置,包括Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery。除此之外,还可以生成HDL测试平台和脚本文件,从而在仿真环境中进行独立的测试验证。 优化设计 面积与速度权衡的资源利用报告 Simulink HDL Coder使得用户可以通过模型的模块和子系统来控制HDL代码的体系结构。例如,将分布式流水线、连续数据流以及资源共享应用到子系统、Stateflow框图和Embedded MATLAB功能模块,在实现FPGA和ASIC时获得速度与面积的权衡。用户还可以实现多通道设计和序列化技术,这些技术通常用于信号处理和多媒体应用程序当中。 资源优化举例。数据速率提高4倍,使得设计面积减少为原来的1/4 文档记录及代码跟踪Simulink HDL Coder帮助用户对生成的代码进行验证,具体如下: l 用户自定义注释及描述,增强代码可读性 l 模型到代码,以及代码到模型的双向可跟踪性 l 生成的代码中包含需求,且符合DO-254标准 模型与代码之间的相互跟踪。Simulink HDL Coder促进DO-254标准的符合以及对所做设计的检验和确认 Simulink HDL Coder以HTML报告的形式记录生成的代码,报告中全面描述了代码的模型结构以及在HDL代码生成过程中应用的模型优化设置。报告中包含与Simulink模型直接相关的摘要和生成的源文件列表。在MATLAB Help浏览器中选择一个源文件使得模型中相应的模块突出显示,方便对相应的代码跟踪和回顾。用户还能够对Simulink模块,Stateflow状态及转移,Embedded MATLAB突触显示HDL代码,以实现代码和模型之间的双向跟踪。使用Simulink Verification and Validation时,Simulink HDL Code将系统需求作为注释嵌入到HDL代码中。因此,从系统需求到HDL代码实现,用户可以对整个流程完整地把握。协同仿真及测试平台生成Simulink HDL Coder生成VHDL和Verilog测试平台,对生成的HDL代码快速验证。用户能够通过若干选项来激励HDL代码,从而实现自定义HDL测试平台。还能够生成脚本文件,使得在HDL仿真器中,代码编译和仿真过程自动化。Simulink HDL Coder与EDA仿真器共同生成协同仿真模型。为实现Simulink仿真及协同仿真,由HDL仿真器对自动生成的模型进行配置,如Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery等。 利用Simulink HDL Coder自动生成协同仿真模型(左下)和HDL(右上)测试平台 FPGA自动化设计 Simulink HDL Coder下的FPGA设计流程。将HDL Workflow Advisor与第三方合成工具,如Xilinx ISE和Altera Quartus共同使用,以实现迭代次数的快速设计。 Simulink HDL Coder使得用户快速地将Simulink模型应用到Xilinx和Altera FPGA中。HDL Workflow Advisor支持FPGA设计过程的全部阶段,包括: l 检测Simulink模型对HDL代码生成的兼容性 l 生成RTL代码,RTL测试平台,以及协同仿真模型 l 在与Xilinx ISE和Altera Quartus II的集成过程中进行综合时序分析 l 根据为达到设计指标所作出的模型修改,提供资源利用评估报告和指导 l 根据关键路径信息,对Simulink模型后端注释 HDL Workflow Advisor支持在Simulink环境中进行FPGA设计过程的全部阶段 用户可以查看到综合时序分析报告,并对Simulink模型后端注释以鉴别时序限制瓶颈。与合成工具的综合使用,为迭代次数快速设计提供了途径,并且使得FPGA的设计流程时间显著减少。 Simulink中合成前期和后期时序信息的关键路径突出显示。能够快速迭代设计,以规避时序限制瓶颈。 Simulink HDL Coder能够生成可读的,独立于目标机的HDL代码,并且支持遗产代码集成。因此,用户能够根据设计需求在FPGA和ASIC的实现之间快速转换。   Simulink PLC Coder     ——生成PLCs和PACs的IEC 61131结构化文本 Simulink PLC Coder?能够将Simulink模型,Stateflow?图和Embedded MATLAB?函数,生成与硬件无关的IEC 61131结构化文本。结构化文本可以是PLCopen规范的XML格式,也可以是广泛应用于集成开发环境(IDEs)的其他文件格式。因此,我们可以对各种可编程逻辑控制器(PLC)及可编程自动化控制器(PAC)设备进行应用程序的编译和配置。Simulink PLC Coder通过PLC和PAC IDEs,以及仿真工具的使用,能够生成测试平台,帮助我们来验证结构化文本。特点 l 自动生成IEC 61131-3结构化文本; l 支持Simiulink,包括可重复利用子系统,PID控制器模块及查找表; l 支持Stateflow,包括图形功能,真值表及状态机; l 支持嵌入式MATLAB,包括if-else语句,循环结构及数学运算; l 支持多种数据类型,包括布尔型、整数型、枚举类型、浮点型,以及向量、矩阵、总线和可调参数; l 支持IDE,包括B&R Automation?,PLCopen XML,Rockwell Automation? RSlogix? 5000,及3S-Smart Software Solutions CoDeSys; l 创建测试平台。 从模型到结构化文本再到应用,Simulink PLC Coder将模型生成结构化文本,供IDE应用到工业控制系统。 Simulink PLC Coder的使用在Simulink环境中,利用Simulink PLC Coder生成结构化文本,需右键点击Simulink子系统模块,在打开的右键菜单中选择PLC Coder>Generate Code for Subsystem选项。在MATLAB环境中,用户可以调用plcgeneratecode命令,来创建脚本文件,生成结构化文本,使得结构化文本的生成过程自动化且可重复。Simulink PLC Coder支持130多个Smulink模块,包括所有的Stateflow结构以及大部分嵌入式MATLAB函数;对于包含了反馈环路,模型和状态逻辑以及复杂数学算法的控制系统模型,Simulink PLC Coder也能完全够执行。用户利用Simulink PLC Coder可以将离散对象模型转换成结构化文本,用来进行硬件在回路(HIL)测试。另外,也可以使用Real-Time Workshop?生成C/C++代码,对离散或者连续系统模型进行硬件在回路(HIL)测试。 在Simulink环境中,利用Simulink PLC Coder生成结构化文本,需右键点击Simulink子系统模块,在打开的右键菜单中选择PLC Coder>Generate Code for Subsystem选项。 代码优化和IDE集成Simulink PLC Coder提供了优化策略,使得内存大小减少,并且所生成的结构化文本的执行速度也得以提高。优化策略包括: l 死代码消除; l 折叠表达式; l 循环合并; l 内联参数; l 信号存储和复用; l 子系统复用。 用户对于优化的需求可以随着项目发展阶段的不同而变化。例如,在快速开发原型阶段,可以定义全局参量来对模型进行调节和校准;在后续的产品生成阶段,可以通过内嵌参数选项生成数值形式的参数来生成更多的优化代码。Simulink PLC Coder能够输出多种格式的结构化文本,供第三方IDE使用。Simulink PLC Coder支持的文档格式包括: l 3S-Smart Software Solutions CoDeSys;PLCopen XML,Rockwell Automation? RSlogix? 5000, l B&R Automation Studio; l Beckhoff? TwinCAT?; l Generic ASCII; l PLCopen XML; l Rockwell Automation RSlogix 5000 从Simulink PLC Coder参数配置对话框中所列出的“supported IDEs”选择IDE,然后生成结构化文本,利用所选的IDE对结构化文本进行集成和编译。  
本文档为【matlab嵌入式代码生成】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:110KB
软件:Word
页数:29
分类:交通与物流
上传时间:2019-01-24
浏览量:21