MATLAB / Simulink HDL 快速入门

news2024/11/24 8:39:31

MATLAB / Simulink HDL 快速入门

我们将使用实例讲解MATLAB / Simulink HDL 使用入门。

fda95b1e7a06ae175a5ff19ea8ef6bf8.jpeg

开始这个项目,首先需要创建一个包含 Stateflow 的新 Simulink 。只需单击画布中的任意位置并开始输入 Stateflow。

728e81d8643c361c2ec9c65e0e4ed80b.png

此时应该能在画布上看到 Stateflow 图标。双击图标进行编辑。

979892bd3419e293259701c6173b8f2f.png

进入图表编辑器后,可以添加状态以及状态之间的转换。开始,我们创建两种状态并将它们命名为“idle”和“LED”。它们之间的转换还没有任何条件。

4851dd2314d9d3cd6ee93cf46e94f6eb.png

要添加状态转换条件,可以双击转换并输入所需的条件。

765254984319cbdc1593095de1407ed9.png

当然,状态机可以具有 Mealey 和 Moore 输出,这些输出作为当前状态 (Moore) 或当前状态和输入 (Mealey) 的函数出现。在本例中,将 LED 输出声明为 Moore 输出,并在每个状态下声明。

edeb1ee07cbb64fe0016a85eae44a982.png

最终的结果如下所示。

4a44b8545cf91c9b3ba8e1d812506927.png

使用模型浏览器,我们可以定义状态机的输入和输出。对于输入,我们将它们保留为与 Simulink 相同的类型,但需要定义输出。由于 LED 需要三位,因此我们使用类型 fixdt(0,3,0)。这意味着向量是三位宽、无符号的,并且没有数字的小数元素。

5910ce1cc2ebe07ee3f53e16983faa9d.png

此外,在模型资源管理器中选中“初始化时执行(输入)图表”选项。

9977cebafda8432abbb5d97d4299b62b.png

导航到图表上方的画布。这里我们需要添加块的 IO,我们还将添加延迟。在画布中,开始输入输入或输出以获取所需的端口。

aff463ac4b6b7a33d2bf79e711787200.png

还可以通过双击输入和输出来命名端口,将其设置为正确的类型。

62457b46a6d478c67a17fdec84242f54.png

将 sw_in 设置为与之前声明的输出类型相同的 fixdt(0,3,0)。我们使用延迟来添加寄存器。要添加额外的延迟,只需在画布中键入即可。

251f1dc949726debf87d7feede34a345.png

要更改延迟的长度,双击延迟并将其更改为延迟 1。

e14ae30bbc374cff8ec64ccd4ba3a5eb.png

下图显示了完整的图表。

6f09b0fe1712ebde863c478ca093457e.png

现在我们可以将其生成 RTL,但首先我们将为它创建一个测试平台。选择画布上的所有元素,右键单击它,然后选择从选择创建子系统。

91c9a238dae0317104b51a5c2711541d.png

添加阶跃函数和常数,设置子系统模块中使用的模块类型,并确保将离散采样的采样时间设置为 -1。

e109d5bc552fa0a108b9688dffa38899.png

右键单击感兴趣的信号并选择开始记录所选信号。

74a348d1118801d05257526e2699d6fd.png

打开模型资源管理器并将模型设置为具有固定步长的计时器的离散时间。

3f706577a27eb5dd8cf7c9258307ef7f.png

运行模拟并打开数据检查器。应该能够看到 SW_ENB 被置位,并且 LED 输出在下一个时钟后变高。

52f27345dfa8ee4df95230fac6600749.png

现在我们可以创建 HDL 并将其导出到 Vivado 中使用。我们可以通过右键单击子系统并选择为子系统生成 HDL 来完成此操作。

0daefc6ef7a06ee9dfaa6ab5f4362690.png

如果要更改任何生成的 HDL 代码格式(即删除时钟启用),需要从 HDL 代码生成选项卡中选择全局设置选项。

28d7178552bce7192ff2d4b3deb2ac45.png

生成代码后,将在生成代码的 MATLAB 窗口中看到一条消息。

80a3339bbed4f6d6970bb7125a09daae.png

然后可以将该 HDL 导入到 Vivado 项目中。生成的代码本身实际上是可读的,并且取决于我们对 Simulink 图的注释程度。例如,我可以命名状态图,这将反映在case语句名称中。

生成三个 VHDL 文件:包含声明的包、实现状态机的实际源代码以及顶级文件。

在 Vivado 中进行综合,最终设计需要三个触发器和两个 LUT。

14ae1f1203bd30a420ce55a12e25d334.png

当然,这是一个简单的示例,但能够学习流程,以便可以将它用于更复杂的应用程序。

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

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

相关文章

埃安AION V Plus 80星辰版:纯电家庭SUV市场的新续航里程碑

埃安汽车全新AION V Plus 80星辰版上市:定位600km续航家庭SUV,亲民价引领市场新趋势 埃安汽车宣布其全新车型——AION V Plus 80星辰版正式上市,以18.59万元的竞争性价格和超过600公里的续航力,响应了中国家庭对于多功能、…

微软Azure OpenAI申请和使用教程

新版已增加微软Azure OpenAI接口,申请教程对照如下 一、申请使用Azure OpenAI服务 二、配置Azure OpenAI 打开这个页面:https://portal.azure.com/?quickstart=true#create/Microsoft.CognitiveServicesOpenAI 进入 Azure 后,直接搜索OpenAI 若是已经通过,这里即可选择订阅…

C语言实现输入 n 个字符串,将它们按字母由小到大的顺序排列并输出

完整代码&#xff1a; // 输入 n 个字符串&#xff0c;将它们按字母由小到大的顺序排列并输出 #include<stdio.h> #include<stdlib.h> //字符串的最大长度 #define N 20//交换两个字符串在数组中的位置 void swap(char **str1,char **str2){char *temp*str1;*str1…

【数字图像处理-TUST】实验二-图像噪声生成与滤波降噪

一&#xff0c;题目 读入一幅图像使用两种以上的方法向图像中分别添加噪声输出一幅二值图像&#xff0c;背景为黑色&#xff0c;噪声区域为白色使用三种滤波方法对上述添加了噪声的图像进行降噪处理输出降噪处理后的结果图像 二&#xff0c;实验原理 采用了两种方法添加了噪…

7.现代卷积神经网络3-GPT版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 深度卷积神经网络 AlexNet一、AlexNet1、AlexNet2、机器学习3、几何学4、特征工程5、HardWare6、数据集7、AlexNet的改进的地方8、AlexNet架构-卷积池化9、AlexNet架构-卷积池化10、AlexNet架构-全连接层11、更多改变细…

Oracle 三种分页方法(rownum、offset和fetch、row_number() over())

Oracle的三种分页指的是在进行分页查询时&#xff0c;使用三种不同的方式来实现分页效果&#xff0c;分别是使用rownum、使用offset和fetch、使用row_number() over() 1、使用rownum rownum是oracle中一个伪劣&#xff0c;它用于表示返回的行的序号。使用rownum进行分页查询的方…

华为交换机忘记console密码怎么办?

console线RJ45头 连接交换机console口&#xff0c;usb接口连接电脑电脑桌面计算机右键-》管理&#xff0c;端口查看端口是com几 3打开secureCRT 点击第二个图标&#xff0c;快速连接&#xff0c;然后设置下参数&#xff0c;如下图 4、重启交换机 5、看到如下图提示信息&#x…

Window下安装 Mongodb,并实现单点事务

在window操作系统下安装Mongodb&#xff0c;并让单点mongodb支持事务&#xff0c;mongodb5以上时才支持事务&#xff0c;所以必须时mongodb5及以上版本才支持。 1、下载mongodb安装文件 &#xff08;1&#xff09; 下载mongodb msi 安装文件 地址&#xff1a;mongocommunity &…

研发项目管理改进方法有哪些

研发项目管理改进方法有哪些 1.多项目协同管理 有可视化的项目进度管理环境&#xff0c;可通过表格视图或施工进度表&#xff0c;项目成员可以共同进行实时项目计划的编制。可以修改项目的任务约束、重大事件以及开始结束日期。还可进行任务分解、任务约束、不限层任务树、任务…

秒懂!用这10款思维导图软件,让头脑风暴如虎添翼!

世界上最糟糕的感觉之一就是忘记了一个伟大的点子。原本你只需把它记下来&#xff0c;但你当时确信自己绝不会忘记如此引人入胜的事物。然而&#xff0c;当这个想法从你的脑海彻底消失时&#xff0c;分分钟会让人崩溃。 如果你的想法有很多组成部分&#xff0c;比如一个大项目…

ChatGPT已经不知不觉改变了我的生活

文章目录 前言GPT技术的广泛应用内容创作智能助手教育和知识分享 机遇与挑战机遇挑战 总结 前言 近年来&#xff0c;自然语言处理技术的巨大进步已经催生了一系列GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型&#xff0c;如ChatGPT、文心一言、C知道等…

AI生图王者之战!深度体验实测,谁是真正的艺术家?

10月11日凌晨&#xff0c;设计软件巨头Adobe宣布推出一系列图像生成模型&#xff0c;其中Firefly Image 2作为新一代图像生成器&#xff0c;通过改善皮肤、头发、眼睛、手和身体结构增强了人体渲染质量&#xff0c;提供更好的色彩和改进的动态范围&#xff0c;并为用户提供更大…

C# Onnx DirectMHP 全范围角度2D多人头部姿势估计

效果 项目 代码 using Microsoft.ML.OnnxRuntime.Tensors; using Microsoft.ML.OnnxRuntime; using OpenCvSharp; using System; using System.Collections.Generic; using System.Windows.Forms; using System.Linq; using System.Numerics;namespace Onnx_Demo {public part…

Leetcode-876 链表的中间结点

本人解法有点硬凑答案… /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; …

京东数据分析:2023年10月京东洗衣机行业品牌销售排行榜

鲸参谋监测的京东平台10月份洗衣机市场销售数据已出炉&#xff01; 10月份&#xff0c;洗衣机市场整体销售呈上升走势。鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台洗衣机市场的销量为143万&#xff0c;环比增长约23%&#xff0c;同比增长约1%&#xff1b;销售额约…

千兆工业交换机——工业环境的高速以太网交换机

千兆工业交换机&#xff08;Gigabit Industrial Switch&#xff09;是一种用于工业环境的高速以太网交换机&#xff0c;具有以下特性&#xff1a; 1. 高速传输&#xff1a;支持千兆以太网速率&#xff08;1000Mbps&#xff09;&#xff0c;提供更快的数据传输速度和高带宽。 2.…

C#中.NET 7.0控制台应用使用LINQtoSQL、LINQtoXML

目录 一、新建控制台应用和数据库连接 二、手动添加System.Data.Linq程序包 三、手动添加System.Data.SqlClient程序包 四、再次操作DataClasses1.dbml 五、示例 1.源码 2.xml文件 默认安装的.NET 7.0控制台应用是不支持使用LINQtoSQL、LINQtoXML的。 默认安装的.NET F…

配置无线路由器

配置无线路由器 将Linux配置为无线路由器。使用hostapd&#xff0c;可以配置无线网卡为AP模式。 这里使用buildroot来生成这个工具。Wi-Fi模块使用的是 rt8188eus。 1. 内核配置 2. buildroot配置 开启 rt8188eus 驱动 3. 启动hostapd 系统启动后&#xff0c;会自动加载无线…

【测开求职】面试题:计算机网络 精简版整理

本篇文章整理的是在秋招过程中遇到的计算机网络高频面试题&#xff0c;应付部分中小厂的测试开发工程师面试完全没有问题&#xff0c;如果时间充足的话&#xff0c;建议再看一下笔者的另外一篇文章&#xff1a;【测开求职】面试题&#xff1a;计算机网络 详细版整理&#xff0c…