版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Embedded Coder为嵌入式系统生成优化的C/C+代码 Embedded coder可为嵌入式处理器、目标上的快速原型及产品中使用的微处理器生成可读的、集成的、高效的C/C+代码。Embedded coder扩展了Matlab coder和Simulink coder配置选项和优化设置,来更好的控制生成代码的函数、文件和数据。这些优化设置提高了代码的执行效率,并能够集成产品应用时的外部代码、数据类型及标定参数。还可以将第三方开发环境集成到为嵌入式系统生成可执行文件的build过程中。
2、0; Embedded coder本身提供对AUTOSAR和ASAP2软件标准的支持。同时也提供可追溯性报告、代码接口文件和自动化的软件测试来支持DO-178B,IEC61508和ISO26262的软件开发。特点:· 扩展了Matlab coder和Simulink coder的优化和代码生成配置选项。Ø · 具有使用Simulink数据字典进行存储类型、数据类型和别名定义的能力。Ø · 针对具体目标平台的代码优化。Ø · 无论有无RTOS的多速率、多任务
3、和多核的代码执行。Ø · 代码验证,包含SIL/PIL测试,自定义注释,具有模型和需求到代码双向追踪的代码报告。Ø · 集成Texas Instruments Code Composer Studio, AnalogØ Devices VisualDSP+®及其它的第三方嵌入式开发环境。 · 对标准的支持,包含ASAP2, AUTOSAR, DO-178, IEC 61508, ISO 26262,Ø and MISRA C。一个生成代码的定点模型和它的设置为SIL执行的仿真模型
4、。Embedded Coder可进行产品级的嵌入式系统代码快速生成、归档和测试。强大的功能 配置目标平台 可使用Matlab Coder的工程用户界面及Simulink Model Explore来设置Embedded Coder的代码生成的配置选项。也可以直接使用Matlab命令和脚本的形式对每个选项进行设置。 从Matlab Coder的工程用户界面,可进行:· 为MATLAB文件和函数生成代码
5、。l · 选择使用Embedded Coder特性。l · 为代码生成配置功臣设置选项。l · 创建、加载和重用多个工程。l 从Simulink Model Explore,可进行:· 为Simulink模型和子系统生成代码。l · 选择一个Embedded Coder目标。l · 为代码生成进行目标配置。l · 创建、加载和重用多个配置集。l
6、60; 选择目标 Embedded Coder使用配置对象和系统目标文件将MATLAB代码和Simulink模型转换为产品级的源代码和可执行文件。 对于一个MATLAB配置对象,需要说明如下的输出目标:· MEX文件l · C/C+静态库l · C/C+可执行文件l 对于Simulink系统目标文件,需要说明生成的代码即将
7、运行在哪种实时环境中。 Embedded Coder包含多种配置的目标文件,也支持第三方和自定义目标。内置的目标包括:· Embedded Real-Time目标:为任意的产品级处理器生成具有定点和浮点数据的ANSI/ISOl C,C+代码,可进行高效的实时运行。 · AUTOSAR 目标:生成支持AUTOSAR软件组件的C代码和实时运行接口。l · 共享库目标:生成可在主机目标平台上运行的静态库,如windows的动态链接库(.dll),UNIX共享目标文件
8、(.so)。l · IDEl LINK目标:生成支持第三方集成开发环境编译和下载的代码,如(CCS)。 定义嵌入式硬件特性 可从预定义的列表或者使用目标设置为MATLAB或者SIMULINK代码生成选择目标平台。可通过自定义环境来扩展这个预定义的列表。可通过Simulink Model Explore为代码部署设置预定义列表或者设置生成的微处理器选项。Embedded Coder可为任意的微处理器或者DSP生成代码,包括8位,16位,32位。 &
9、#160; 定义及控制自定义数据 Embedded Coder可以定义及控制生成代码中的数据格式。为了便于软件集成,可以通过MATLAB Coder工程用户界面说明入口函数和全局数据的类型、长度及是否是复数。 对于MATLAB代码,Embedded Coder支持所有的MATLAB Coder的数据定义,包括定点数据对象。 对于Simulink模型,Embedded Coder生成代码支
10、持如下的数据说明及数据字典定义:· Simulink datal object提供预定义存储类型,包括constant,volatile,exported global,imported global,structure,bit fileld及获取和设置的方法。 · Module packaging datal object为高级的数据对象提供预定义的特性,主要用于多种产品,如内存分配来进行标定或者调节查表数据。 · User datal type-从复杂的数据中创建抽象的数据类型,可精确控制生成代码中的模型数据,可与legac
11、y data进行交互,同时也可替代simulink内置的数据类型。 如下的工具将有助于在simulink中设计和管理工程数据:· Custom Storage Classl Designer-通过图形化的界面创建自定义的数据定义和声明,将数据结构导入到生成的代码中,或者是导出数据,分配内存,将自动生成与交换标准如ASAM或者ASAP2兼容的数据格式。 · Simulink Modell Explore显示simulink模型和stateflow图中所有用到的数据,可以以数据字典的格式查看所有
12、自定义数据的信息。 · Embeddedl Coder可以创建ASAP2的数据交换文件,能够使用ASAP2标准导出具有复杂数据定义的模型数据。可修改内置的属性生成其它的数据交换机制文件。通过Custom Storage Class Designer创建自定义的存储类型,可使用内置图形用户界面进行设计、查看及验证复杂数据类型。 优化及打包代码 使用Embedded Coder,可控制函数边界、保留表达式,对多个模块使用优化选项以减少代码量。数据通过全局变量或者
13、函数参数的形式与生成的代码进行交换。可将生成的代码追溯到模型中的模块和信号。 从MATLAB代码和Simulink模型生成代码,Embedded Coder选项可进行:· 为数学函数和操作符生成具体目标平台的代码。l · 生成导出到外部环境的可重用代码。l · 减少不必要的初始化、终止、记录和错误处理的代码。l · 从整形应用中去除浮点型代码。l Embedded Co
14、der还为simulink模型提供额外的代码优化和配置选项,可进行: 从模型中生成具有处理器编译宏定义的代码变量。 按位存储布尔型数据和stateflow状态。· 可控制每个生成文件的格式。l · 控制全局变量数据是如何定义和引用的。l · 对注释的内容和放置位置进行说明。l具有具体目标平台的数学扩展函数和重用函数优化选项的MATLAB例子和Simulink例子。Embedded Coder使用具体目标平台和可
15、移植的代码优化选项来提高代码的执行效率。 注释、追溯及记录代码 Embedded Coder提供多种方式来检查从MATLAB文件和函数或者Simulink模型和子系统生成的代码。使用这些方式,可进行:· 生成代码生成报告,来描述模型和模块的配置选项。l · 控制生成代码中全局数据,数据烈性和函数的标识符。l · 在生成的代码中可将MATLAB代码作为注释,包含函数帮助文档。l
16、160; Embedded Coder也可将高级需求作为代码注释插入到代码中,与需求文档可进行链接(需要Simulink Verification and Validation)。代码生成报告也包含代码接口描述文件,追溯性报告及可显示生成的源文件和代码。模型和代码间存在双向的链接,可以方便的在每行代码和相关的simulink模型间进行定位,包含子系统、模块、MATLAB函数和代码及Stateflow状态图和转换。可点击一个链接以高亮显示相关的模型元素或者代码行,更加方便代码检查和调试。Simulink代码生成报告,高亮现实算法和代码间的双向追踪。 &
17、#160; 执行和验证代码 Embedded Coder可将生成的代码与代码执行环境进行集成,Embedded Coder对MATLAB生成的代码的执行与使用MATLAB Coder生成的代码具有相同的执行框架。 对于Simulink,Embedded Coder扩展了Simulink Coder提供的实时执行的框架。默认情况下,代码可在具有或者没有实时操作系统、单任务多任务或者异步模式下执行。也可以使用软件在环(SIL)和处理器在环(PIL)的
18、方式验证代码执行的结果。 生成主程序 Embedded Coder按照所提供的实时环境代码部署信息生成一个可扩展的主程序。这种特性可为模型生成和创建一个完整的自定义可执行文件。 速率分组 Embedded Coder按照模型中的采样时间设置生成单速率或者多速率代码。对于多速率多任务模型,按照速率分组为每个速率任务生成独立的函数。 使用链接和目标
19、60; 第三方IDE、微处理器及RTOS包括Wind River Systems® VxWorks支持生成代码的自动下载、集成、优化和执行。 SIL和PIL测试 Embedded Coder可在simulink中使用simulink仿真模型或者s-function模块自动执行生成代码进行SIL测试,或者在嵌入式目标平台上进行PIL测试。代码生成测试API可帮助自动测试的执行,并与之前的模型比较测试结果。与第三方工具的集成可
20、进行代码结构覆盖度分析来确保测试的完整性。 Simulink Coder从Simulink和Stateflow模型生成C和C+代码 Simulink Code(之前版本为 Real-Time Workshop)从 Simulink框图、Stateflow图和 MATLAB函数生成并执行 C和C+代码。生成的代码可用于实时和非实时应用,包括仿真加速、快速原型建立和硬件在回路测试。可以使用 Simulink 对生成的代码进行调优和监测,或在 MATLAB和 Simulink之外运行代码并与之交互。特点
21、160; 离散、连续或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C+ 代码及可执行文件 用于大型模型的增量代码生成 支持整型、浮点型和定点型数据类型 针对单采样率、多采样率和异步模型的代码生成 使用或不使用 RTOS 的单任务、多任务和多核代码执行
22、 用于参数调优和信号监测的外部模式仿真强大的功能 选择和使用目标 Simulink 模型资源管理器在 Simulink 中提供了单一用户界面,用于配置所有代码生成设置。模型资源管理器可提供:· 选择代码生成目标l · 配置目标以进行代码生成l · 为模型或子系统生成代码l Code Generation Advisor 会检查模型和代码生成设置
23、,然后根据需求针对如何改进配置提供建议。 一旦为项目确定了最优设置之后,便可以将这些设置保存为配置集以重复用于其他模型。使用 Simulink 建模的大型飞机系统。 Simulink Coder 支持用于大规模建模的高级 Simulink 功能,包括模型块、变量子系统和总线数组。 选择目标: Simulink Coder 使用系统目标文件将模型转换为源代码和可执行文件。 目标文件指定生成的代码将要在其中运行的环境。 Simulink Coder 包括若干个准备好运行的配置的目标文件,还支持
24、第三方目标和自定义目标。 内置目标包括:· 一般实时目标生成用于模型参数交互式调优的代码,记录和显示实时仿真结果并静态分配数据为进行高效的实时执行;l · 一般实时 Mallocl 目标在生成的代码中使用动态内存分配,以便在一个可执行文件中包含同一模型的多个实例或包含多个模型; · 快速仿真目标 (RSim)提供快速灵活的测试平台用于使用定步长或变步长求解器执行批量或 Montel Carlo 仿真研究,并使您可以将每次运行的数据保存到唯一的输出文件中。 可以扩展这些目
25、标以创建自定义的运行时接口和设备驱动程序文件,从而能以特定环境为目标,访问 Simulink Coder 的执行并调试其中的功能。 编译和执行生成的代码 Simulink Coder为使用常用桌面环境编译和执行生成的代码提供内置支持,包括:· Eclipse IDEl · Microsoft® Visual C+® IDEl · Linux® 操作系统l · Windows
26、® 操作系统l 可以使用 Embedded Coder 在实时嵌入式系统中生成和运用优化的 C 和 C+ 代码。 定义和控制数据 Simulink Coder 允许用户定义和控制模型数据在所生成代码中的出现方式。 可通过以下方式管理数据:· 将数据类型声明为整型、浮点型和定点型l · 指定调优和校准参数或常数的存储区l · 指定监测和记录信号数据
27、的存储区l · 重复使用存储区以最小化局部范围的数据l Simulink Coder 从存储在 Simulink 框图或数据字典(通过 Simulink 模型资源管理器访问)中的数据生成代码。 通过利用不同的数据字典集,可以将代码从一个模型重新运用到多个目标。Simulink 模型资源管理器可显示模型中使用的各种数据类型和存储类。注意存储类要求Embedded Coder。 生成代码 Simulin
28、k Coder 为 Simulink 和 Stateflow 功能和组件提供了全面的代码生成支持,包括:· 模型块用于增量生成代码l · 原子子系统和原子子图表,用于通过可重入 C 函数的重用代码l · 在代码中,总线对象和总线数组用于生成结构l · S-函数,用于对已有代码进行仿真和对接l Simulink 中的 MATLAB 函数块和 Stateflow 中的 MATLAB 函数,用于从具有 MATLAB 组件的模型生成代码
29、; Simulink Coder 还支持 Simulink 系列产品,包括定点建模、物理建模、信号处理和通信建模以及快速原型建立和硬件在回路 (HIL) 测试产品。 代码生成选项: Simulink Coder 提供了用户可选择的选项,以便在桌面和仿真环境中执行生成的代码。选项包括:· 代码重用l · 表达式折叠l · 信号存储区重用l · 死路
30、径消除l · 参数内联l · 单精度和预制数学库(包括 ISO C 和 GNU C)l生成的代码,其中将 For 循环融合和表达式折叠用于一个 10 元素数组模型。Simulink Coder 为单维和多维信号生成高效且可读的代码。 在实时环境中执行代码 Simulink Coder 提供了实时执行生成的代码并将其合并到用户执行环境中的完整框架。 它根据用户在模型中指定的周期采样次数生成单采样率或多采样率代码。
31、 执行模式: 在单任务、多任务或异步模式下部署代码,可使用或不使用 RTOS。 单任务模式 在单任务模式下,简单的调度程序以单线程执行来调用生成的代码,防止不同速率之间的抢占。 多任务模式 在多任务模式下,通过确定性单调速率调度程序调用生成的代码,允许不同速率之间的抢占。在裸机环境中以嵌套中断来抢占代码。在 RTOS
32、 环境中则使用任务优先级和任务抢占。 异步模式 在异步模式下,使用 Simulink S-函数指定非周期性采样率或异步采样率。 Simulink Coder 将这些采样率转换为用户执行环境所需的代码。 用户为硬件中断之类的事件建模并生成代码,然后作为独立的任务触发各子系统。 可以使用所含的异步块库作为模板,以创建适用于其他环境的库。 实时部署 Simulink 和 Simulink C
33、oder 为实时部署提供了一整套独立于目标的功能。其中包括:· 可以为模型中的每个采样率指定的任务优先级l · 产品级质量计数器以及计算绝对时间和实耗时间的计时器l · 采样率转移块,用于指定各采样率之间的数据传输机制(例如信号量、互斥和双缓冲),从而使您可以权衡数据完整性、确定性和性能l · 对合并每种采样率的错误处理逻辑进行超限检测l 继承代码集成 通过合并已有的用于仿真和代码生成的自定义 C、Fo
34、rtran、Ada 和 C+ 代码,可以自定义生成的代码及其运行时环境。 Simulink Coder 中的自定义工具包括目标语言编译器 (TLC)、自定义代码块、模板联编文件 (makefile)、构建过程 API 和 S-函数生成器。 使用代码继承工具 (Legacy Code Tool),可以快速地将现有 C 和 C+ 函数集成到 Simulink 模块中,这对于集成通常用于嵌入式系统的离散时间代码特别有用。 调优参数和记录数据 Simulink Coder 使用户可以与生成的可执行文件交互并进
35、行分析,从而帮助用户优化算法的性能并改进代码执行行为。 通过 Simulink Coder 可以使用下列数据接口来监测和调优模块信号及参数:· 基于目标的 C API允许用户编写的代码访问 MATLAB 和 Simulinkl 外部的模块输出和参数; · 基于主机的 ASAP2 数据交换文件允许将 ASAP2 标准数据描述用于 MATLAB 和l Simulink 外部的数据测量、校准和诊断系统; · Simulink 外部模式允许下载新的参数值和上传信号值,
36、以便在 Simulink 内部查看或在l MATLAB 工作空间中进行记录。(打开源模块的对话框会造成 Simulink 暂停。尽管 Simulink 已暂停,但仍可编辑参数值。 必须关闭该对话框才能使更改生效并使 Simulink 继续运行。) Simulink Coder从Simulink和Stateflow模型生成C和C+代码 Simulink Code(之前版本为 Real-Time Workshop)从 Simulink框图、Stateflow图和 MATLAB函数生成并执行 C和C+代码。生成的代码可用于实时和非
37、实时应用,包括仿真加速、快速原型建立和硬件在回路测试。可以使用 Simulink 对生成的代码进行调优和监测,或在 MATLAB和 Simulink之外运行代码并与之交互。特点 离散、连续或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C+ 代码及可执行文件 用于大型模型的增量代码生成 支持整型、浮点型和定点型数据类型 针
38、对单采样率、多采样率和异步模型的代码生成 使用或不使用 RTOS 的单任务、多任务和多核代码执行 用于参数调优和信号监测的外部模式仿真强大的功能 选择和使用目标 Simulink 模型资源管理器在 Simulink 中提供了单一用户界面,用于配置所有代码生成设置。模型资源管理器可提供:· 选择代码生成目标l · 配置目标以进行代
39、码生成l · 为模型或子系统生成代码l Code Generation Advisor 会检查模型和代码生成设置,然后根据需求针对如何改进配置提供建议。 一旦为项目确定了最优设置之后,便可以将这些设置保存为配置集以重复用于其他模型。使用 Simulink 建模的大型飞机系统。 Simulink Coder 支持用于大规模建模的高级 Simulink 功能,包括模型块、变量子系统和总线数组。 选择目标:
40、0;Simulink Coder 使用系统目标文件将模型转换为源代码和可执行文件。 目标文件指定生成的代码将要在其中运行的环境。 Simulink Coder 包括若干个准备好运行的配置的目标文件,还支持第三方目标和自定义目标。 内置目标包括:· 一般实时目标生成用于模型参数交互式调优的代码,记录和显示实时仿真结果并静态分配数据为进行高效的实时执行;l · 一般实时 Mallocl 目标在生成的代码中使用动态内存分配,以便在一个可执行文件中包含同一模型的多个实例或包含多个模型; · 快速仿真目标 (RSim)提供快速灵活的测试平
41、台用于使用定步长或变步长求解器执行批量或 Montel Carlo 仿真研究,并使您可以将每次运行的数据保存到唯一的输出文件中。 可以扩展这些目标以创建自定义的运行时接口和设备驱动程序文件,从而能以特定环境为目标,访问 Simulink Coder 的执行并调试其中的功能。 编译和执行生成的代码 Simulink Coder为使用常用桌面环境编译和执行生成的代码提供内置支持,包括:· Eclipse IDEl
42、 · Microsoft® Visual C+® IDEl · Linux® 操作系统l · Windows® 操作系统l 可以使用 Embedded Coder 在实时嵌入式系统中生成和运用优化的 C 和 C+ 代码。 定义和控制数据 Simulink Coder 允许用户定义和控制模型数据在所生成代码中的出现方式
43、。 可通过以下方式管理数据:· 将数据类型声明为整型、浮点型和定点型l · 指定调优和校准参数或常数的存储区l · 指定监测和记录信号数据的存储区l · 重复使用存储区以最小化局部范围的数据l Simulink Coder 从存储在 Simulink 框图或数据字典(通过 Simulink 模型资源管理器访问)中的数据生成代码。 通过利用不同的数据字典集,可以将代码从一个模型重新运用到多个目标。Simulink 模型资源管理器可显示模型中
44、使用的各种数据类型和存储类。注意存储类要求Embedded Coder。 生成代码 Simulink Coder 为 Simulink 和 Stateflow 功能和组件提供了全面的代码生成支持,包括:· 模型块用于增量生成代码l · 原子子系统和原子子图表,用于通过可重入 C 函数的重用代码l · 在代码中,总线对象和总线数组用于生成结构l · S-函数,用于对已有代码进行仿真和对接l
45、160; Simulink 中的 MATLAB 函数块和 Stateflow 中的 MATLAB 函数,用于从具有 MATLAB 组件的模型生成代码 Simulink Coder 还支持 Simulink 系列产品,包括定点建模、物理建模、信号处理和通信建模以及快速原型建立和硬件在回路 (HIL) 测试产品。 代码生成选项: Simulink Coder 提供了用户可选择的选
46、项,以便在桌面和仿真环境中执行生成的代码。选项包括:· 代码重用l · 表达式折叠l · 信号存储区重用l · 死路径消除l · 参数内联l · 单精度和预制数学库(包括 ISO C 和 GNU C)l生成的代码,其中将 For 循环融合和表达式折叠用于一个 10 元素数组模型。Simulink Coder 为单维和多维信号生成高效且可读的代码。 在实时环境中执行代码 &
47、#160;Simulink Coder 提供了实时执行生成的代码并将其合并到用户执行环境中的完整框架。 它根据用户在模型中指定的周期采样次数生成单采样率或多采样率代码。 执行模式: 在单任务、多任务或异步模式下部署代码,可使用或不使用 RTOS。 单任务模式 在单任务模式下,简单的调度程序以单线程执行来调用生成的代码,防止不同速率之间的抢占。 多任务
48、模式 在多任务模式下,通过确定性单调速率调度程序调用生成的代码,允许不同速率之间的抢占。在裸机环境中以嵌套中断来抢占代码。在 RTOS 环境中则使用任务优先级和任务抢占。 异步模式 在异步模式下,使用 Simulink S-函数指定非周期性采样率或异步采样率。 Simulink Coder 将这些采样率转换为用户执行环境所需的代码。 用户为硬件中断之类的事件建模并生成代码,然后作为独立的任务触发各子系统。 可以使用所含的
49、异步块库作为模板,以创建适用于其他环境的库。 实时部署 Simulink 和 Simulink Coder 为实时部署提供了一整套独立于目标的功能。其中包括:· 可以为模型中的每个采样率指定的任务优先级l · 产品级质量计数器以及计算绝对时间和实耗时间的计时器l · 采样率转移块,用于指定各采样率之间的数据传输机制(例如信号量、互斥和双缓冲),从而使您可以权衡数据完整性、确定性和性能l · 对合并每种采
50、样率的错误处理逻辑进行超限检测l 继承代码集成 通过合并已有的用于仿真和代码生成的自定义 C、Fortran、Ada 和 C+ 代码,可以自定义生成的代码及其运行时环境。 Simulink Coder 中的自定义工具包括目标语言编译器 (TLC)、自定义代码块、模板联编文件 (makefile)、构建过程 API 和 S-函数生成器。 使用代码继承工具 (Legacy Code Tool),可以快速地将现有 C 和 C+ 函数集成到 Simulink 模块中,这对于集成通常用于嵌入式系统的
51、离散时间代码特别有用。 调优参数和记录数据 Simulink Coder 使用户可以与生成的可执行文件交互并进行分析,从而帮助用户优化算法的性能并改进代码执行行为。 通过 Simulink Coder 可以使用下列数据接口来监测和调优模块信号及参数:· 基于目标的 C API允许用户编写的代码访问 MATLAB 和 Simulinkl 外部的模块输出和参数; · 基于主机的 ASAP2 数
52、据交换文件允许将 ASAP2 标准数据描述用于 MATLAB 和l Simulink 外部的数据测量、校准和诊断系统; · Simulink 外部模式允许下载新的参数值和上传信号值,以便在 Simulink 内部查看或在l MATLAB 工作空间中进行记录。(打开源模块的对话框会造成 Simulink 暂停。尽管 Simulink 已暂停,但仍可编辑参数值。 必须关闭该对话框才能使更改生效并使 Simulink 继续运行。) Simulink HDL Coder 将Simulink模型和MATLAB代码生成可综合的HDL代码 &
53、#160; Simulink HDL Coder可以把Simulink模型、MATLAB代码和Stateflow框图生成位真(bit-true)、周期精确(cycle-accurate)、可综合的Verilog和VHDL代码。通过使用工业标准化设计工具,可以对自动生成的HDL代码进行仿真和综合,并进一步映射到FPGA和ASIC芯片上。 Simulink HDL Coder可以控制HDL的体系架构和实施,突出模型中的关键路径,生成硬件资源利用评估。Simulink HDL Code还能够生成测试验证平
54、台以及EDA Simulator Link的仿真模型,并提供支持DO-254工作流的代码跟踪能力,从而对生成的HDL代码进行快速验证。特点:· 将Simulink模型、MATLAB代码和Stateflow框图生成独立于目标器件、可综合的HDL代码;· 支持Mealy / Moore有限状态机以及控制逻辑的实现;· 生成测试验证平台和EDA Simulator Link协同仿真模型;· 资源共享和子系统级重定时,以实现面积与速度的权衡;· 利用时间约束信息和HDL合成工具箱进行Simulink模型的优化;· 支持DO-254规范从代码到
55、模型,模型到代码的跟踪能力;· 遗产代码集成;将Simulink模型生成HDL代码;Simulink HDL Coder能够为系统建模,自动生成位真、周期精确(cycle-accurate)、可综合的Verilog和VHDL代码,以及测试平台。使用Simulink HDL Coder 从建模到FPGA和ASIC的实现,Simulink HDL Coder能够使得算法设计过程自动化,步骤如下:· 配置参数,以选择实现不同的HDL模块 · 优化模型以达到面积与速度的设计指标 · 利用HDL Work
56、flow Advisor或者Configuration Parameters GUI生成HDL代码 · 根据测试平台验证生成的代码,并自动生成协同仿真模型 通过使用Simulink HDL Coder,用户可以首先在Simulink、MATLAB和Stateflow中构建系统模型,然后对模型进行HDL代码的生成。Simulink提供了160多个模块供用户选择,来进行信号处理和通信的算法建模。例如,可以使用Viterbi译码器或者Reed-Solomon译码器来建立通信接收端模型,并生产HDL代码。同样,可以使用信号处理FFT
57、函数和滤波算法,如CIC插值法、FIR插值法,以及抽取滤波器等。 Simulink中的Embedded MATLAB功能模块可以将MATLAB代码生成HDL代码。Simulink HDL Coder提供了一个现有的通用逻辑单元库,如可以写入MALAB代码中的计数器和定时器等。用户还可以在Stateflow中建立有限状态机(FSM)模型,并且通过黑箱接口将手写代码或者HDL遗产代码与Simulink模型合成为一体。 用户创建好模型之后, 通过HDL Work Advisor或者
58、Configuration Parameters GUI,并应用代码生成控制文件来生成HDL代码。通过Configuration Parameters GUI设置代码生成选项并生成Verilog及VHDL Code Simulink HDL Coder与EDA仿真器共同生成协同仿真测试平台模型,并由HDL仿真器进行配置,包括Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery。除此之外,还可以生成HDL测试平台和脚本文件,从而在仿真环境中进行独立的测试验证。优化设计面
59、积与速度权衡的资源利用报告 Simulink HDL Coder使得用户可以通过模型的模块和子系统来控制HDL代码的体系结构。例如,将分布式流水线、连续数据流以及资源共享应用到子系统、Stateflow框图和Embedded MATLAB功能模块,在实现FPGA和ASIC时获得速度与面积的权衡。用户还可以实现多通道设计和序列化技术,这些技术通常用于信号处理和多媒体应用程序当中。资源优化举例。数据速率提高4倍,使得设计面积减少为原来的1/4文档记录及代码跟踪 Sim
60、ulink HDL Coder帮助用户对生成的代码进行验证,具体如下:· 用户自定义注释及描述,增强代码可读性 · 模型到代码,以及代码到模型的双向可跟踪性 · 生成的代码中包含需求,且符合DO-254标准模型与代码之间的相互跟踪。Simulink HDL Coder促进DO-254标准的符合以及对所做设计的检验和确认 Simulink HDL Coder以HTML报告的形式记录生成的代码,报告中全面描述了代码的模型结构以及在HDL代码生成过程中应用的模型优化设置。报告中包含与Simulink模型直接相关
61、的摘要和生成的源文件列表。在MATLAB Help浏览器中选择一个源文件使得模型中相应的模块突出显示,方便对相应的代码跟踪和回顾。用户还能够对Simulink模块,Stateflow状态及转移,Embedded MATLAB突触显示HDL代码,以实现代码和模型之间的双向跟踪。使用Simulink Verification and Validation时,Simulink HDL Code将系统需求作为注释嵌入到HDL代码中。因此,从系统需求到HDL代码实现,用户可以对整个流程完整地把握。协同仿真及测试平台生成 Simulink HDL
62、 Coder生成VHDL和Verilog测试平台,对生成的HDL代码快速验证。用户能够通过若干选项来激励HDL代码,从而实现自定义HDL测试平台。还能够生成脚本文件,使得在HDL仿真器中,代码编译和仿真过程自动化。 Simulink HDL Coder与EDA仿真器共同生成协同仿真模型。为实现Simulink仿真及协同仿真,由HDL仿真器对自动生成的模型进行配置,如Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery等。利用Simulink HDL Coder自动生成
63、协同仿真模型(左下)和HDL(右上)测试平台FPGA自动化设计Simulink HDL Coder下的FPGA设计流程。将HDL Workflow Advisor与第三方合成工具,如Xilinx ISE和Altera Quartus共同使用,以实现迭代次数的快速设计。 Simulink HDL Coder使得用户快速地将Simulink模型应用到Xilinx和Altera FPGA中。HDL Workflow Advisor支持FPGA设计过程的全部阶段,包括:· 检测Simulink模型对HDL代码生成的兼容性
64、· 生成RTL代码,RTL测试平台,以及协同仿真模型 · 在与Xilinx ISE和Altera Quartus II的集成过程中进行综合时序分析 · 根据为达到设计指标所作出的模型修改,提供资源利用评估报告和指导 · 根据关键路径信息,对Simulink模型后端注释HDL Workflow Advisor支持在Simulink环境中进行FPGA设计过程的全部阶段 用户可以查看到综合时序分析报告,并对Simulink模型后端注释以鉴别时序限制瓶颈。与合成工具的综合使用,为迭代次数快速设计提供了途径,并且使得FPGA的设计流程时间显著减少。Simulink中合成前期和后期时序信息的关键路径突出显示。能够快速迭代设计,以规避时序限制瓶颈。 Simulink HDL Coder能够生成可读的,独立于目标机的HDL代码,并且支持遗产代码集成。因此,用户能够根据设计需求在FPGA和ASIC的实现之间快速转换。Simulink PLC Coder生成PLCs和PACs的I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省眉山市仁寿县2024-2025学年高二上学期1月期末联考地理试卷(含答案)
- 湖南省益阳市沅江市两校联考2024-2025学年九年级上学期1月期末考试历史试卷(含答案)
- 广东省揭阳市普宁市2024-2025学年高二上学期期末考试英语试题(无答案)
- 2024物业租赁合同履行保证
- 色酒调酒知识培训课件
- 福建省南平市九三英华高级中学高一英语模拟试卷含解析
- 2024语音识别与自然语言处理合同
- 2025年度互联网企业新媒体运营实习协议范本3篇
- 2024年音乐会上演艺人委托合同2篇
- 2024年限量版豪宅营销策划与销售代表协议版B版
- 噪声监测服务投标方案
- 分子影像学概论课件
- 中国移动呼叫中心的精细化管理
- (全)2023电气工程师内部考试习题含答案(继保)
- 辣椒栽培技术
- 纪检监察知识题库-案例分析(20题)
- 《笨狼的故事》读书会读书分享PPT课件(带内容)
- 就这样当班主任读书分享
- 某kv送电线路铁塔组立监理细则
- 武艳艳数学思政课教学设计《式与方程的整理复习》
- 气柜安装工程施工方案
评论
0/150
提交评论