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

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

3天内不再提示

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

MATLAB 来源:djl 2019-09-18 14:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

HDL Coder 利用 MATLAB 函数、Simulink 模型和 Stateflow 图生成可移植、可综合的 Verilog 和 VHDL 代码。生成的 HDL 代码可用于 FPGA 编程ASIC 原型开发和设计。

HDL Coder 提供了一个 Workflow Advisor,可以自动执行 Xilinx 和 Altera FPGA 编程。您可以控制 HDL 架构和实施、突出显示关键路径,并估算硬件资源利用率。HDL Coder 在 Simulink 模型与生成的 Verilog 和 VHDL 代码之间提供了可追溯性,使高完整性应用程序的代码验证遵守 DO-254 和其他标准。

主要特性

独立于目标的、可综合的 VHDL 和 Verilog 代码

代码生成支持MATLAB 函数、系统对象以及 Simulink 模块

使用 Stateflow 实施 Mealy 和 Moore 有限状态机以及控制逻辑

用于 Xilinx 和 Altera 应用程序面板编程的 Workflow Advisor

资源共享和重定时,用以平衡面积速度

符合 DO-254 的代码到模型和模型到代码可追溯性

旧有代码集成

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

使用 HDL Coder 从 MATLAB 或 Simulink 生成 HDL 代码。您可以使用 MATLAB 函数、Simulink 模型或将两者结合使用来生成可综合的 VHDL 和 Verilog 代码。

主要功能

1.生成HDL代码

使用 HDL Coder,只需几个步骤便可为 FPGA 和 ASIC 实施生成可综合的 HDL 代码:

将 MATLAB 代码、Simulink 模块和 Stateflow 图组合使用,进行设计建模。

优化模型以满足面积速度设计目标。

使用为 MATLAB 和 Simulink 集成的 HDL Workflow Advisor 生成 HDL 代码。

使用 HDL Verifier 验证生成的代码。

2.优化 HDL 代码

在 MATLAB 或 Simulink 中,通过采用分布式流水线、流式处理和资源共享,可以优化 HDL 代码以实现速度面积目标。在 MATLAB 中,您可以使用高级循环优化,如循环流和循环展开,用于包含 for 循环或矩阵运算的 MATLAB 设计。您可以将 MATLAB 代码中的持续阵列或矩阵变量映射到 Block RAM。在 Simulink 中,您可以实施信号处理和多媒体应用中常用的多声道设计和序列化技术。

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

适用于 MATLAB 的 HDL Workflow Advisor 提供了多个优化选项,如 RAM 映射、流水线、资源共享和循环展开

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

面积速度优化。用一个乘法器取代四个乘法器,降低了设计面积成本,数据率提升4倍。

3. FPGA 设计自动化

HDL 中的 HDL Workflow Advisor 可以自动执行将 MATLAB 算法和 Simulink 模型实施到 Xilinx 和 Altera FPGA 的工作流程。HDL Workflow Advisor 集成了 FPGA 设计流程的所有步骤,包括:

检查 Simulink 模型的 HDL 代码生成兼容性

生成 HDL 代码、HDL 测试工作台和协同仿真模型

通过与 Xilinx ISE 和 Altera Quartus II 集成,执行合成和时序分析

估算设计中的资源使用

使用关键路径时序回注 Simulink 模型

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

使用关键路径时序回注 Simulink 模型。HDL Workflow Advisor 会在 Simulink 中突出显示关键路径时序,以帮助识别速度瓶颈并提高设计性能。

您可以查看合成后时序报告并回注 Simulink 模型,以识别时序约束瓶颈。与合成工具的这一集成实现了快速设计迭代,并显著缩短了 FPGA 设计周期时间。

4.验证 HDL 代码

HDL Coder 可以生成 VHDL 和 Verilog 测试工作台以快速验证生成的 HDL 代码。您可以使用各种选项自定义 HDL 测试工作台,测试HDL 代码。您还可以生成脚本文件,在 HDL 仿真器中自动处理代码编译和仿真。

HDL Coder 与 HDL Verifier 配套使用,可以自动生成两类协同仿真模型:

HDL 协同仿真模型,用于使用 Simulink 和 HDL 仿真器(如 Cadence Incisive 或 Mentor Graphics ModelSim 和 Questa)执行 HDL 协同仿真

FPGA 在环 (FIL) 协同仿真模型,用于使用 Simulink 和 FPGA 板验证设计

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

自动生成 FPGA 在环 (FIL) 模型,用于视频锐化。FIL 仿真可以在硬件上高效地执行设计空间探查。

5. 记录和追踪HDL 代码

HDL Coder 会将生成的代码记录在 HTML 报告中,该报告包括带超链接 的HDL 代码和生成的 HDL 文件表。通过 HDL 代码中的超链接,可以导航到与代码对应的 MATLAB 算法或 Simulink 模块。

为满足 DO-254 等标准对高完整性应用程序的代码可追溯性要求,HDL Coder 让您能够执行以下操作:

从生成的 HDL 代码导航到 MATLAB 代码

在 Simulink 模块与生成的 HDL 代码之间导航,实现双向追踪

插入用户注释和描述,增加代码可读性

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

MATLAB 中的代码生成报告,使您可以从生成的 VHDL 和 Verilog 代码导航到 MATLAB 代码。

将 Simulink Verification and Validation 与 HDL Coder 搭配使用,可以将系统需求作为注释嵌入到从 Simulink 或 Stateflow 生成的 HDL 代码中。这样,您便可以使整个工作流程完全透明,包括从系统需求到生成的 HDL 代码。

关于为FPGA和ASIC生成Verilog和VHDL代码分析和应用介绍

Simulink 中的 HDL 代码生成报告,使您可以在模型与生成的 HDL 代码之间导航。

6.HDL 编码标准

用于工业 FPGA 和 ASIC 应用(如航空航天工业中的 DO-254)的开发过程可能建议使用特定的 RTL 编码指南。HDL Coder 旨在生成满足通用行业编码指南(如 RMM 和 STARC)的 VHDL 和 Verilog 代码。HDL Coder 还可生成报告,帮助您确定 Simulink 模型和 MATLAB 代码中不合适的结构,这样您可以调整您的模型,使生成的 RTL 符合这些编码指南。

HDL Coder 还可以生成第三方 lint 工具脚本,用于检查您生成的 HDL 代码。HDL Coder 自动生成的代码可通过多种行业标准的 lint 工具的检查,例如Atrenta SpyGlass, Real Intent Ascent Lint, Synopsys Leda, 和 Mentor Graphics HDL Designer。HDL Coder 可生成允许与任何 lint 工具集成的自定义脚本。

使用 HDL Coder 生成的代码遵循 RTL 编码原则,通过:

避免 FSM 状态可访问性和编码问题

避免仿真和综合语义之间的差异

避免在实现代价高昂的操作

避免下游工具流问题

遵循命名规则和RTL编码习惯

强 RTL 建模的清晰度并降低复杂性

增强对时钟资源(时钟、启用、复位)和控制信号的检查

支持代码的可测性和可追溯性

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

    关注

    6

    文章

    1015

    浏览量

    56657
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73151
  • 脚本
    +关注

    关注

    1

    文章

    407

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【产品介绍】Modelsim:HDL语言仿真软件

    仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。
    的头像 发表于 11-13 11:41 201次阅读
    【产品<b class='flag-5'>介绍</b>】Modelsim:HDL语言仿真软件

    使用NucleiStudio生成tb仿真需要的.verilog文件

    project编译后生成仿真需要的.verilog文件: 1.打开一个工程,右键选择工程名,打开Properties: 2.选择C/C++ Build -&gt;setting,在
    发表于 11-05 07:07

    语法纠错和testbench的自动生成

    ;path 如果环境变量添加成功后,可以在cmd中查看xvlog的版本: 然后在该拓展设置中选择linting的工具xvlog: 选择后,在写完Verilog代码后保存一下会自动
    发表于 10-27 07:07

    NucleiStudio如何生成.verilog文件和.dasm文件,以及对.dasm文件中自定义指令反汇编结果分析

    文件,以及对.dasm文件中自定义指令反汇编结果分析。 一、如何生成.verilog和.dasm文件文件 项目右键选择Properties 选择C/C++ Build下面的Setting 更改
    发表于 10-24 06:33

    如何利用Verilog HDL在FPGA上实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDL在FPGA上实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。在FPGA中实现SRAM读写测试,包括设计SRA
    的头像 发表于 10-22 17:21 3962次阅读
    如何利用<b class='flag-5'>Verilog</b> HDL在<b class='flag-5'>FPGA</b>上实现SRAM的读写测试

    使用Simulink自动生成浮点运算HDL代码(Part 1)

    生成的HDL代码与目标无关。可以在任何通用FPGAASIC上部署该设计。 下面介绍如何在Simulink中创建单精度浮点乘法 直接使用乘
    发表于 10-22 06:48

    为什么我选择VHDL入门

    在群里交流提问的时候,大家总是惊讶并疑惑:为什么我要选择 VHDL入门?因为好像 99% 搞 FPGA 开发的人都在用 Verilog。 我的选择,是通过网上搜索的讨论而做出的,为了留存,我这里水一
    的头像 发表于 06-25 11:18 892次阅读
    为什么我选择<b class='flag-5'>VHDL</b>入门

    一文详解Verilog HDL

    (Application Specific Integrated Circuit,ASIC)和现场可编程门阵列(Field Programmabl Gate Array,FPGA)的实现。
    的头像 发表于 03-17 15:17 3781次阅读
    一文详解<b class='flag-5'>Verilog</b> HDL

    浅谈VerilogVHDL的区别

    VerilogVHDL是两种广泛使用的硬件描述语言(HDL),它们用于描述和模拟数字电路系统的行为和结构。这两种语言的主要作用是帮助工程师设计、仿真和验证集成电路(IC)和系统级芯片(SoC)中的硬件模块。
    的头像 发表于 02-17 14:20 2639次阅读
    浅谈<b class='flag-5'>Verilog</b>和<b class='flag-5'>VHDL</b>的区别

    ADS8361 fpga如何实现

    ADS8361项目中用到ADS8361,Verilog或者vhdl语言怎么实现对ad的读写?? ADS8361的误差有多少?我用FPGA写的误差有30mv,什么原因?求赐教
    发表于 01-20 06:15

    MT-HIL(4):如何在Simulink下使用HDL Coder导出FPGA/VHDL代码

    vhdl
    芒果树数字
    发布于 :2025年01月10日 17:22:17

    VerilogASIC 设计的关系 Verilog 代码优化技巧

    VerilogASIC设计的关系 Verilog作为一种硬件描述语言(HDL),在ASIC设计中扮演着至关重要的角色。ASIC(Appli
    的头像 发表于 12-17 09:52 1443次阅读

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog
    的头像 发表于 12-17 09:50 1562次阅读

    VerilogVHDL的比较 Verilog HDL编程技巧

    VerilogVHDL 比较 1. 语法和风格 VerilogVerilog 的语法更接近于 C 语言,对于有 C 语言背景的工程师来说,学习曲线较平缓。它支持结构化编程,
    的头像 发表于 12-17 09:44 2692次阅读

    SRIO介绍及xilinx的vivado 2017.4中生成srio例程代码解释

    介绍 本处将从SRIO的数据流,数据协议,常用FPGA支持模式,以及IP例程中的时钟大小计算等部分介绍SRIO的情况。 3.1 SRIO的数据流 SRIO通过生成IP后,通常情况下主要
    的头像 发表于 12-10 16:24 4476次阅读
    SRIO<b class='flag-5'>介绍</b>及xilinx的vivado 2017.4中<b class='flag-5'>生成</b>srio例程<b class='flag-5'>代码</b>解释