Quartus自带库里面有各种编程语言的模板,供开发者参考。
初学者利用VHDL实现状态机比较生疏的情况下,可以调出该模板,适当修改即可。
本文将描述如何利用Quartus自带库调出状态机模板,并适当修改完成状态机。

=========================================================

  • step one
    新建VHDL文档,右键选择Insert Template
  • step two
    在列表中选择状态机,点击Insert。这里以Mearly型状态机为例
  • step three
    修改具体代码。
    生成的代码如下:
library ieee;
use ieee.std_logic_1164.all;-- 在这里修改器件名称/输入输出
entity four_state_mealy_state_machine isport(clk      : in   std_logic;input    : in   std_logic;reset    : in   std_logic;output   : out  std_logic_vector(1 downto 0));end entity;architecture rtl of four_state_mealy_state_machine is-- 在这里修改状态名称 可以直接利用replace进行替换type state_type is (s0, s1, s2, s3);signal state : state_type;begin-- 在clk的边沿跟新状态机的状态-- 在这里修改跳转条件process (clk, reset)beginif reset = '1' thenstate <= s0;elsif (rising_edge(clk)) then-- state为现在的状态,下面的list为现态分别为s0,s1,s2,s3跳转到其他状态的条件case state iswhen s0=>-- 当现态为s0,跳转到其他状态的条件-- 列出s0所有可能出现的状态转移,在这里用if语句描述即可-- 其他状态类似if input = '1' thenstate <= s1;elsestate <= s0;end if;......end case;end if;end process;-- 由于我们选的是Mearly型状态机,根据现态输出-- 在这里修改不同的状态的输出process (state, input)begincase state is-- 若现在状态为s0 且输入为1 则输出00-- 这里可以修改为其他的条件,描述现态为s0时需要处理的内容-- 其他状态类似when s0=>if input = '1' thenoutput <= "00";elseoutput <= "01";end if;......end case;end process;end rtl;

转载于:https://www.cnblogs.com/he11o-liu/p/7503251.html

VHDL学习:利用Quartus自带库3步快速完成状态机相关推荐

  1. 零基础:邪恶带你3步快速掌握iSCSI搭建

    零基础:邪恶带你3步快速掌握iSCSI搭建 Hello,我是--邪恶君子!今天呢,给大家分享一下Linux上iSCSI的搭建,通过文字+图像的解说,不管你是小白还是菜鸟,都能够让你掌握搭建iSCSI的 ...

  2. python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...

    前言 最近的一个项目中需要在图片上添加文字,使用了OpenCV,结果发现利用opencv给图像添加文字有局限.可利用的字体类型比较少,需要安装Freetype扩展,比较复杂.而且不能用putText函 ...

  3. Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略

    Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...

  4. TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线

    TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线 目录 输出结果 设计代码 输出结果 设计代码 ...

  5. 【STM32】标准库与HAL库对照学习教程六--位带操作

    [STM32]标准库与HAL库对照学习教程六--位带操作 一.前言 二.准备工作 三.位带介绍 1.位带操作 2.STM32位带及位带别名区域 四.位带区与位带别名区地址转换 五.GPIO的位带操作 ...

  6. 利用python自带的库,直接根据位移的解析表达式求解无阻尼振动

    #利用python自带的库,直接根据位移的解析表达式 import math #导入数学模块,属于自带库 import matplotlib.pyplot as plt #导入绘图模块库,是外部库 p ...

  7. 利用python自带的库sympy,求解不同阻尼比的振动方程表达式

    #利用python自带的库sympy,求解不同阻尼比的振动方程表达式 import sympy #导入数学符号运算库,属于自带库 import numpy as np import matplotli ...

  8. 利用quartus II自带的仿真工具进行简单的波形仿真

    利用quartus II自带的仿真工具进行简单的波形仿真 按照常规程序点击Run Functional Simulation后出现错误,猜测可能是未选择正确的仿真工具,因为这里可能默认的仿真工具是mo ...

  9. 十大被低估的python库_小白必读!十大被低估的Python自带库!

    原标题:小白必读!十大被低估的Python自带库! 大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们 ...

最新文章

  1. SpringBoot入门(二)——起步依赖
  2. java 使用正则表达式过滤HTML中标签
  3. [转载]交换机背板带宽计算方法
  4. Win64 驱动内核编程-11.回调监控进线程句柄操作
  5. Spring Cloud(八)使用Zipkin进行分布式链路跟踪
  6. pop客户机程序流程图_基于.NET的在线考试系统的设计与实现
  7. 剑指offer java版(一)
  8. wince 6.0 pb
  9. Linux安装pyaudio
  10. 隐藏手机号码中间四位程序python_Excel快速将手机号码中间四位数字隐藏
  11. 第二届广东省大学生网络攻防大赛 pyre
  12. 两个好用的eclipse js编辑器插件
  13. 【IDEA】idea工程打包成jar包
  14. 自己喜欢的句子总结一
  15. 计算机一级考试繁体字换成简体字,EXCEL繁简体转换 电脑显示的繁体字改成简体字...
  16. 超大水箱持久水润,让这个冬天不干燥,摩飞有雾加湿器体验
  17. 机器学习-数据科学库 13 政治献金数据案例
  18. 斯坦福公布3D街景数据集:2500万张图像,8个城市模型 | 下载
  19. LinkList L与LinkList *L Lnode与*LinkList的区别
  20. group by left join where 使用总结

热门文章

  1. ITK:使用GMM EM分配像素
  2. ITK:演示可用的阈值算法
  3. ITK:创建前向差异内核
  4. VTK:Utilities之CommandSubclass
  5. OpenCV摄像机videocapture camera的实例(附完整代码)
  6. OpenCV ASIFT的实例(附完整代码)
  7. C++实现堆栈stack(附完整源码)
  8. C++ RBTree(红黑树) 算法(附完整源码)
  9. C++有哪些性质(面向对象特点)
  10. 经典C语言程序100例之四七