- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11第4章 状态机的设计1
第四章 状态机的设计
第一节 概述
前面我们探讨了VHDL的基本语句及构造方式,本章阐述它们在有限状态机(finite state machine,FSM)设计中的应用。
moore型状态机:输出为现态的函数;
mealy型状态机:输出为现态和现输入的函数。
在VHDL描述中,描述两种状态机的方法无本质的差异。
传统的设计方法:绘制状态图,列写状态表,合并等价状态,状态分配,列写次态方程和输出方程。
状态机逻辑通常非常适用于可编程逻辑器件来实现。
第二节 基本的状态机设计
—双进程描述风格
设计一:设计一个控制器,根据微处理器的读写周期,分别对存储器输出写使能we和读使能oe信号。该控制器的输入为微处理器的ready和read_write信号。
(状态图)
下面简要写出用VHDL描述该控制器的步骤:
1)画出状态图;
2)定义一个可枚举类型,它包含所有可能用到的状态;
type state is(idle,decision,write,read);
3) 定义两个信号ps (present state)和ns(next state)次态;
signal ps,ns:state;
4) 建立第一个进程,用于描述次态逻辑和输出逻辑;
a、敏感表中包含ps和输入信号ready, read_write。
b、在进程中定义按输入信号决定的状态转移和输出。其中,使用case when语句来判断状态,使用if elsif end if语句决定状态的转移。
5)建立第二个进程,使次态同步于时钟的变化变为现态。
library ieee;
use ieee.std_logic_1164.all;
entity wr_control is port
(clk,ready,read_write:in std_logic;
we,oe:out std_logic);
end entity wr_control;
architecture biprocess of wr_control is
type state is (idle,decision,write,read);
signal ps,ns:state;
begin
--进程state_comb描述次态逻辑和输出逻辑,是设计的组合逻辑部分。
state_comb:process(ps,ready,read_write)
--现态和所有影响状态转移的输入信号必须列写在敏感表
begin
case ps is
when idle = oe=0; we=0;
if ready=1 then
ns=decision;
else
ns=idle;
end if;
when decision=oe=0; we=0;
if read_write=1 then
ns=read;
else
ns=write;
end if;
when read = oe=1; we=0;
if ready=1 then
ns=idle;
else
ns=read;
end if;
when write = oe=0; we=1;
if ready=1 then
ns=idle;
else
ns=write;
end if;
end case;
end process state_comb;
state_clocked:process(clk)
--进程state_clocked描述状态转移同步于时钟的上升沿,是设计的时序逻辑部分。
begin
if rising_edge(clk) then
ps=ns;
end if;
end process state_clocked;
end architecture biprocess;
(1)在综合的时候,将状态自动解释为最小宽度的矢量。本例有四个状态idle,decision,write,read,编码依次为00、01、10、11。大多数综合工具采用顺序编码方式,有的工具采用“步进”编码,每次只改变一位,00、01、11、10。
(2)采用行为描述方式设计状态机可以简化编码,降低产生错误的几率。
设计二:双进程状态机描述中的同步复位,需要修改第一个进程。
state_comb:process(ps,ready,read_write,reset)
您可能关注的文档
- (参考)小学班主任学生评语大全(模板及范文).doc
- (国家)环境污染治理设施运营培训污废水处理工习题.docx
- (现场考问)汽机全能答案.doc
- (精)水稻病虫害综合防治技术(广东植保).doc
- (定)唐雎不辱使命课堂教学设计表.doc
- (正版)2015广东理综高考真题(化学)试题.doc
- (总结)主要农作物生长习性 2017版.doc
- (第二册)兴安石油公司乌加油站.doc
- 000_余氯.doc
- 02摄影基础知识概述.doc
- 2026版创新设计高考总复习地理中图版教师用-第58课时 交通运输与区域社会经济发展.docx
- 2026版创新设计高考总复习地理中图版教师用-第71课时 南水北调对区域发展的影响.docx
- 2026版创新设计高考总复习地理中图版教师用-第81课时 环境保护与国家安全.docx
- 2026版创新设计高考总复习地理中图版教师用-第77课时 海洋空间资源与国家安全.docx
- 2026版创新设计高考总复习地理中图版教师用-第72课时 黄河流域内部协作.docx
- 教育硕士考前冲刺练习含答案详解【达标题】.docx
- 教育硕士经典例题附答案详解【考试直接用】.docx
- 教育硕士综合提升测试卷附参考答案详解(完整版).docx
- 教育硕士题库附参考答案详解【黄金题型】.docx
- 教育硕士预测复习最新附答案详解.docx
最近下载
- 《质量评估流程》课件.ppt VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 2024年数智工程师职业鉴定考试复习题库(含答案).docx VIP
- (完整版)建筑施工技术交底范本(大全) .pdf VIP
- 水运工程大体积混凝土温度裂缝控制技术规范_JTS-T 202-1-2022.pdf
- 设备供货、安装、调试、验收方案.docx VIP
- 《水利水电工程施工图审查技术导则》.pdf VIP
- 《木材学》——李坚 木材学笔记(完整).doc VIP
- 《公路水泥混凝土路面施工技术规范》_(JTGF30-2015).pdf VIP
- 小学生数学学习自查习惯现状调查报告.pdf VIP
文档评论(0)