HDL coder使用手册

news2024/12/29 9:16:55

💡 由于本科毕设女朋友准备使用FPGA完成,因此写这篇文章帮助她快速上手HDL coder的使用,降低前期入门的难度。

支持生成HDL代码的simulink库

2024after4202409211041121.png

名字中含有HDL的库中的模块一般都可以用来生成HDL代码。直接搜索模块名称,比如搜索fir,

2024after4202409211050982.png

可以看到旁边会显示位于哪个库中,模块有可能位于多个库,只要有一个库的名字里面有HDL,就代表这个模块可以用来生成HDL代码。

一些常用操作

创建子系统

将库中的模块拖到主界面组合好后,可能会占据很大的空间,如果工程较大,模块越连越多就特别臃肿,因此当我们完成某个功能以后,就可以将这部分的模块全部选中,此时右下角会出现三个点,将鼠标移到上面后会展开,出现很多不同的功能。下图是一个AM调制的过程,可以看到选中所有相关的模块后点击创建子系统,即可得到右图的子系统。刚生成的子系统的命名为subsystem,可以将命名改为更清晰易懂的名字。

2024after4202409211056583.png

1726887497741.png

观察节点的信号波形

当选中某根连线时,同样会出现三个点,鼠标移动到上面后会展开,选择WiFi形状的选项即可记录该连线上的信号。运行仿真后再次点击WiFi图标即可打开逻辑分析仪,即可查看该连线上的信号。

1726888515922.png

1726889009858.png

逻辑分析仪内部选中某个信号后即可在波形中调节数制、高度等设置。

也可以使用scope模板看节点信号。

频谱分析

使用Spectrum Analyzer模块进行频谱分析。

2024after4202409211127829.png

当样点比较少的时候可以将估计方法改为welch。

信号数据格式显示

2024after4202409211131120.png

可以显示模块输入输出信号的数据类型和小数位数。

采样时间一栏中的时间图例选中以后,会用不同的颜色显示不同采样速率的模块,在多速率系统设计中有很大的用处。

生成HDL代码

前期准备

设置诊断类型

2024after4202409211138607.png

模型设置中选择诊断/采样时间

2024after4202409211139629.png

单任务和多任务数据传输必须设置成错误。

兼容性检测

2024after4202409211145908.png

选择代码生成的目标文件夹,运行兼容性检查器,如果工程没有问题的话会出现如下界面

1726890374067.png

目标平台选择

2024after4202409211148557.png

根据使用的FPGA选择综合工具和FPGA的系列。

模块设置

在要生成代码的子系统上右键,选择HDL模块属性:

2024after4202409211151201.png

可以对流水线、乘法器等参数进行设置

1726890814415.png

如果生成的代码在EDA工具中编译以后无法满足时序约束,可以加输入和输出的流水线

💡 如果模块的输出对前面的模块有反馈信号的话不能添加流水线,详细见
bookmark

[bookmark](https://blog.sawenmoerjie.top/article/ec96aebc-b5a5-4059-bbef-02f0003e7a45)

代码生成

2024after4202409211154140.png

点击为子系统生成HDL代码后会自动进行一次编译,命令行窗口会出现如下信息

1726891451673.png

同时会生成一个report

2024after4202409211206344.png

没有报错的话即可在上面选择的文件夹里面看到生成的Verilog代码文件

2024after4202409211207218.png

将这些文件导入到EDA工具中即可直接例化使用。

💡 所有文件都要导入,不能只导入需要的某个名字的模块!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160385.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot整合InfluxDB(实战)

一、简单介绍InfluxDB是什么? InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。 1、主要特点 时间序列数据存储 专门…

网页跨域异常100%解决(谷歌浏览器)

目的: 1.开发过程中,经常出现浏览器提示跨域 2.原因新版本浏览器拦截跨域请求 3.错误关键消息如下: Access-Control-Allow-Origin cess to XMLHttpRequest at http://192.168.1.104:3080/api/Login/Store from origin http://yingyongliere…

sheng的学习笔记-AI-K-摇臂赌博机(K-armed bandit)

AI目录:sheng的学习笔记-AI目录-CSDN博客 强化学习 sheng的学习笔记-AI-强化学习(Reinforcement Learning, RL)-CSDN博客 基础知识 单步强化学习任务 先考虑比较简单的情形:最大化单步奖赏,即仅考虑一步操作。需注意…

【LVIO-SLAM】 激光slam理论与实践

【LVIO-SLAM】 激光slam理论与实践 1. 激光slam理论与实践1.1 2D激光SLAM1.2 3D激光SLAM 2. 激光雷达运动畸变去除2.1 Lidar数学模型与点云去畸变2.2 运动畸变 3. 激光slam的前端配准3.1 帧间匹配3.2 3.2 ICP (Iterative Closest Point)3.3 PI-ICP (Point-to-Line Iterative Cl…

虚幻引擎游戏保存/加载存档功能

函数名功能Does Save Game Exist检查存档是否存在Load Game from Slot加载存档Save Game to Slot保存存档Delete Game in Slot删除存档 Slot Name 是插槽名字 存档都是通过插槽名字来 读取/加载/检查/删除的 先创建一个SaveGame类 , 这个类里可以存放要保存的数据 , 比如 玩家…

Unity Debug时出现请选择unity实例

Unity Debug时出现请选择unity实例 问题描述 出现请选择unity实例,并且选择框里为空。 出现原因 你打开了两个Unity工程,在附加时,不知道加在哪个Unity工程上。 解决方法 在调试窗口中点击“附加Unity调试程序”,然后在弹出…

Linux文件IO(三)-Linux系统如何管理文件

1.静态文件与 inode 文件在没有被打开的情况下一般都是存放在磁盘中的,譬如电脑硬盘、移动硬盘、U 盘等外部存储设备,文件存放在磁盘文件系统中,并且以一种固定的形式进行存放,我们把他们称为静态文件。 文件储存在硬盘上&#…

[000-002-01].第29节:MySQL执行流程

1、MySQL的查询流程: 客户端请求进入到数据库服务器后,先进行查询缓存,如果命中,那么就返回结果;如果没命中,进入到解析器,进行词法解析和语法解析,生成解析树;然后进入到…

Python在AI中的应用--使用决策树进行文本分类

Python在AI中的应用--使用决策树进行文本分类 文本分类决策树什么是决策树 scikit算法 使用scikit的决策树进行文章分类一个文本分类的Python代码使用的scikit APIs说明装入数据集决策树算法类类构造器: 构造决策树分类器产生输出评估输出结果分类准确度分类文字评估…

langchain介绍以及简单实用

1,介绍 LangChain是一个用于开发由大语言模型支持的应用程序的框架。它提供了大量组件来帮助我们构建LLM支持的应用程序。 其主要是有六大功能组成。 LLMs(大语言模型(生成式语言模型)),Prompts(提示词),Memory(记忆力)&#xff…

电器行业文件加密怎么做?防泄密哪种方法实用?

管控需求 1.电子文档(源代码、设计图纸、设计方案等)数据不同应用场景下如何有效保护; 2.发给第三方或外部单位的成果数据没有任何限制,对方可拷贝、篡改、截屏、盗用,严重损害单位的利益; 3.对员工出差…

基于单片机巡迹避障智能小车系统

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

[Python学习日记-28] 开发基础练习1——股票查询程序

[Python学习日记-28] 开发基础练习1——股票查询程序 简介 题目及效果参考 源码与解析 简介 该练习使用了列表、字典、字符串等之前学到的数据类型,用于巩固实践之前学习的内容,题目当中使用到的数据均摘录与东方财富网,最好在学习完前面的…

【论文阅读】Grounding Language with Visual Affordances over Unstructured Data

Abstract 最近的研究表明,大型语言模型(llms)可以应用于将自然语言应用于各种各样的机器人技能。然而,在实践中,学习多任务、语言条件机器人技能通常需要大规模的数据收集和频繁的人为干预来重置环境或帮助纠正当前的…

USB总线同步数据采集卡6路高速模拟量采集带DIO功能USB2884/2885/2886

USB2884/2885/2886 数据采集卡 概述: 系统框图: 规格参数: 板卡外形图: 尺寸图及元器件功能说明:

图像识别OCR(Tess4J)

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

ZBrush入门使用介绍——16、ArrayMesh

大家好,我是阿赵。   继续介绍ZBrush的用法。这次看看ArrayMesh功能。   简单来说,ArrayMesh功能是可以复制很多个模型,然后根据路径排列。 一、 从阵列预设生成ArrayMesh 先把模型转换成多边形网格体 这时候,ArrayMesh的选…

jupyter安装与使用——Ubuntu服务器

jupyter安装与使用——Ubuntu服务器 一、安装miniconda3/anaconda31. 下载miniconda32. 安装miniconda33. 切换到bin文件夹4. 输入pwd获取路径5. 打开用户环境编辑页面6. 重新加载用户环境变量7. 初始化conda8.验证是否安装成功9.conda配置 二、安装jupyter2.1 conda安装2.2 配…

Java调用数据库 笔记05(查询篇)

一. 数据库(通过各种驱动来实现调用): (应用程序通过接口控制的各种数据库驱动来调用数据库-->jdbc方法) 1.创建Java的普通class类 2.加载驱动 Class.forName("com.mysql.jdbc.Driver"); 3.驱动管理类…

C++_23_STL容器

文章目录 STL容器概念常用容器A string作用构造函数基本赋值操作获取字符串长度存取字符操作拼接操作查找和替换注意:查找是不存在返回-1比较操作截取操作插入与删除string与char * 转换 B vector概述与数组区别迭代器构造函数赋值操作插入与删除取值操作大小相关存储自定义类型…