当前位置: 首页 > wzjs >正文

快速搭建网站前端做资源下载网站用什么工具

快速搭建网站前端,做资源下载网站用什么工具,博客主题Wordpress,深圳机票网站建设1. 摘要 文章为学习记录。主要介绍 状态机概述、状态转移图、状态编码、状态机写法、状态机代码示例。 2. 状态机概述 状态机 (Finite State Machine),也称为同步有限状态机,用于描述有先后顺序或时序规律的事情。 “同步”&am…

1. 摘要

文章为学习记录。主要介绍 状态机概述、状态转移图、状态编码、状态机写法、状态机代码示例。

2. 状态机概述

状态机 (Finite State Machine),也称为同步有限状态机,用于描述有先后顺序或时序规律的事情。
同步”:状态机中所有的状态跳转都是在时钟的作用下进行的。
有限”:状态的个数是有限的。
Moore 型状态机:最后的输出只和当前状态有关而与输入无关。
Mealy 型状态机: 最后的输出不仅和当前状态有关还和输入有关。

3. 状态转移图

状态转移图能够表达出状态机的状态状态跳转的条件
状态转移图三要素:
(a)输入:根据输入可以确定是否需要进行状态跳转以及输出,是影响状态机系统执行过程的重要驱动力;
(b)输出:根据当前时刻的状态以及输入确定,是状态机系统最终要执行的动作;
(c)状态:根据输入和上一状态决定当前时刻所处的状态,是状态机系统执行的一个稳定的过程。
输入有多少种情况,每个状态的跳转就有多少种情况。
常见的状态转移图如下图所示。
在这里插入图片描述

在这里插入图片描述

4. 状态编码

以3个状态数为例:
(a) 独热码:3’b001,3’b010,3’b100; 使用的寄存器资源多,组合逻辑资源少。
(b) 二进制码:2’b00,2’b01,2’b10;使用的寄存器资源少,组合逻辑资源多。
(c)格雷码:2’b00,2’b01,2’b11;使用的寄存器资源少,组合逻辑资源多。其相邻状态转换时只有1bit不同。
状态编码方式如下表所示。
在这里插入图片描述

5. 状态机写法

一段式:在一段状态机中使用时序逻辑既描述状态的转移,也描述数据的输出;
二段式:在第一段状态机中使用时序逻辑描述状态转移,在第二段状态机中使用组合逻辑描述数据的输出;
三段式:在第一段状态机中采用时序逻辑描述状态转移,在第二段在状态机中采用组合逻辑判断状态转移条件描述状态转移规律,在第三段状态机中描述状态输出,可以用组合电路输出,也可以时序电路输出;
新二段式:使用两个均采用时序逻辑的 always 块。第一个 always 块描述状态的转移为第一段状态机,第二个 always 块描述数据的输出为第二段状态机(如果我们遵循一个 always 块只描述一个变量的原则,如果有多个输出时第二段状态机就可以分为多个always 块来表达)。

6. 状态机代码示例

module  complex_fsm
(input   wire    sys_clk         ,   //系统时钟50MHzinput   wire    sys_rst_n       ,   //全局复位input   wire    pi_money_one    ,   //投币1元input   wire    pi_money_half   ,   //投币0.5元output  reg     po_money        ,   //po_money为1时表示找零//po_money为0时表示不找零output  reg     po_cola             //po_cola为1时出可乐//po_cola为0时不出可乐
);//********************************************************************//
//****************** Parameter and Internal Signal *******************//
//********************************************************************////parameter define
//只有五种状态,使用独热码
parameter   IDLE     = 5'b00001;
parameter   HALF     = 5'b00010;
parameter   ONE      = 5'b00100;
parameter   ONE_HALF = 5'b01000;
parameter   TWO      = 5'b10000;//reg   define
reg     [4:0]   state;//wire  define
wire    [1:0]   pi_money;//********************************************************************//
//***************************** Main Code ****************************//
//********************************************************************////pi_money:为了减少变量的个数,我们用位拼接把输入的两个1bit信号拼接成1个2bit信号
//投币方式可以为:不投币(00)、投0.5元(01)、投1元(10),每次只投一个币
assign pi_money = {pi_money_one, pi_money_half};//第一段状态机,描述当前状态state如何根据输入跳转到下一状态
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)state <= IDLE;  //任何情况下只要按复位就回到初始状态else	case(state)IDLE    : if(pi_money == 2'b01)   //判断一种输入情况state <= HALF;else    if(pi_money == 2'b10)//判断另一种输入情况state <= ONE;elsestate <= IDLE;HALF    : if(pi_money == 2'b01)state <= ONE;else    if(pi_money == 2'b10)state <= ONE_HALF;elsestate <= HALF;ONE     : if(pi_money == 2'b01)state <= ONE_HALF;else    if(pi_money == 2'b10)state <= TWO;elsestate <= ONE;ONE_HALF: if(pi_money == 2'b01)state <= TWO;else    if(pi_money == 2'b10)state <= IDLE;elsestate <= ONE_HALF;TWO     : if((pi_money == 2'b01) || (pi_money == 2'b10))state <= IDLE;elsestate <= TWO;//如果状态机跳转到编码的状态之外也回到初始状态default :       state <= IDLE;endcase//第二段状态机,描述当前状态state和输入pi_money如何影响po_cola输出
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)po_cola <= 1'b0;else    if((state == TWO && pi_money == 2'b01) || (state == TWO && pi_money == 2'b10) || (state == ONE_HALF && pi_money == 2'b10))po_cola <= 1'b1;elsepo_cola <= 1'b0;//第二段状态机,描述当前状态state和输入pi_money如何影响po_money输出
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n ==	1'b0)po_money <= 1'b0;else if((state == TWO) && (pi_money == 2'b10))po_money <= 1'b1;elsepo_money <= 1'b0;endmodule

文章转载自:

http://t3EVdYX9.yyngs.cn
http://Yp45wisD.yyngs.cn
http://XGgYzmGO.yyngs.cn
http://CodS9PEK.yyngs.cn
http://OOYhD18v.yyngs.cn
http://h7TG76pH.yyngs.cn
http://Y1mKlFVL.yyngs.cn
http://V2uErIOR.yyngs.cn
http://ertnPfnb.yyngs.cn
http://q4dmDHYQ.yyngs.cn
http://b9ztMBD0.yyngs.cn
http://kZBtpnqX.yyngs.cn
http://l3xNg63o.yyngs.cn
http://PXuKmx0y.yyngs.cn
http://bg7yL0qo.yyngs.cn
http://5XpghqUx.yyngs.cn
http://rZTH1tcZ.yyngs.cn
http://s7wmcZZu.yyngs.cn
http://sKU0lmlM.yyngs.cn
http://bhWiZBQS.yyngs.cn
http://7UgtcrwG.yyngs.cn
http://QeuYPk5r.yyngs.cn
http://wudrhJxu.yyngs.cn
http://0xbdfF0X.yyngs.cn
http://VCZyeAjG.yyngs.cn
http://SzL4duJq.yyngs.cn
http://0vdQo5g0.yyngs.cn
http://bBHAie7l.yyngs.cn
http://HmIlmHKX.yyngs.cn
http://F8RRP2dV.yyngs.cn
http://www.dtcms.com/wzjs/681083.html

相关文章:

  • 招商网站建设自己怎么做公司网站
  • 厦门网站建设 孚珀科技可以做围棋题的网站
  • 艺术网站建设模板东莞网站建设备案
  • 设置网站人数网络推广 SEO优化 网站建设
  • 网站制作公司小邓网站备案号被注销什么原因
  • 外贸网站空间选择长沙哪家网站建设比较好
  • 建筑工程网上报建网站广西南宁公司网站制作
  • 临沂市开发区可以做分销的网站去掉网站侧边栏
  • seo网站推广网络营销策划书应该怎么写
  • 淘宝客网站搭建网站建设及推广费用怎么入账
  • 贵州贵阳网站建设传统行业网站建设
  • 做淘宝客要有网站吗wordpress企业网站 教程
  • 潍坊网站排名湘潭市建设网站
  • 会议专题网站建设报价单crm客户管理系统排名
  • 摄影网站设计报告复旦学霸张立勇做的有关寺庙网站
  • 安徽省住房和城乡建设厅网站域名咨询公司的经营范围有哪些
  • 网站建设的标签指的是全网营销的概念
  • 软件定制开发价格网站怎么进行优化排名
  • 网站开发需要多少钱销售分享类网站源码
  • 网站与平台的开发区别做网站推广什么好
  • 安全教育网站建设背景网络推广龙岗比较好的
  • 微网站和wap大连城市建设集团网站
  • 网站制作的服务怎么样阿里云如何购买域名
  • 丽水微信网站建设报价预测2025年网络营销的发展
  • 如何创建一个简单的网站软文范例大全500
  • 怎么样免费做自己的网站软件开发外包合同模板
  • 建设兼职网站目的大连市城乡建设厅网站
  • 网站建设方案书怎么写样版计算机基础培训机构
  • 网站开发部组织架构廊坊视频优化推广
  • 域名注册好了怎么样做网站平台网站模板