- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
答疑与有限状态机设计祥解.ppt
* 问题探讨 全成斌 存在的问题 Signal vs variable 对LE认识 资源是有限的240个LE 状态机 * * 硬件描述与软件不同之处 信号 硬件连线的抽象 连接电路中元件 并行语句 多个语句同时执行 对应于电路中的不同部分 a b * FPGA的基本单元 Out D Q Clock Select 触发器 In 1 In 2 In 3 LUT 组合逻辑块 * 有限状态机设计 * 1 一般有限状态机 1.1 类型定义语句TYPE TYPE语句用法 TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型 ; TYPE 数据类型名 IS 数据类型定义 ; 举例 1. TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ; 2. TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; 子类型Subtype是原数据类型的一个子集 Subtype 子类型名 Is 基本数据类型 Range 约束范围; Subtype Digits Is Integer Range 0 To 9 ; * 枚举数据类型 属于自定义数据类型 枚举数据类型常用于状态机描述 type stats is (S0, S1, S2, S3); -- 定义状态机的四个状态 Signal current_state,next_state:stats * 1.2 为什么要使用状态机 1、状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。 2、状态机的结构相对简单,设计方案相对固定。 3、状态机容易构成性能良好的同步时序逻辑模块。 4、状态机的VHDL表述丰富多样、有其独到的好处。 5、在高速运算和控制方面,状态机更有其巨大的优势。 6、高可靠性。 * 状态机实例 ADC0809采样状态机 * 简单计算器状态机 * 1.3 一般状态机的结构 1. 说明部分 说明部分一般放在结构体的ARCHITECTURE 和BEGIN之间,例如: ARCHITECTURE ...IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST; ... 一般用枚举数据类型描述状态机的状态; 用一个信号存储当前状态。 * 1.3 一般状态机的结构 2. 主控时序进程 描述在时钟的驱动下,状态转换的进程 图1 一般状态机结构框图 * 1.3 一般状态机的结构 3. 主控组合进程 给出状态机输出 确定下一状态的走向 4. 辅助进程 辅助状态机工作的进程,比如数据锁存 * 【例1】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY s_machine IS PORT ( clk,reset : IN STD_LOGIC; state_inputs : IN STD_LOGIC_VECTOR (0 TO 1); comb_outputs : OUT INTEGER RANGE 0 TO 15 ); END s_machine; ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS (s0, s1, s2, s3); --数据类型定义,状态符号化 SIGNAL current_state, next_state: FSM_ST; --将现态和次态定义为新的数据类型 接下页 BEGIN REG: PROCESS (reset,clk) --主控时序进程 BEGIN IF reset = 1 THEN current_state = s0;--检测异步复位信号 ELSIF clk=1 AND clkEVENT THEN current_state = next_state; END IF; END PROCESS; COM:PROCESS(current_state, state_Inputs) --主控组合进程 BEGIN CASE current_state IS WHEN s0 = comb_outputs= 5; IF state_inputs = 00 THEN next_state=s0; ELSE next_
您可能关注的文档
最近下载
- 兴边富民工程实施方案(3篇).docx
- 苏科版八年级数学上册压轴题攻略专题03解题技巧专题:判定三角形全等的基本思路压轴题三种模型全攻略(原卷版+解析).docx VIP
- 卡通手绘风班干部竞选自我介绍PPT模板(二零二五学期版).pptx VIP
- 带锯机安全生产操作规程.pptx
- 第3课 古代印度 课件(共34张PPT).pptx VIP
- 公共政策3政策的资料搜集与方法剖析.ppt VIP
- 专题04 解题技巧专题:判定三角形全等的基本思路压轴题三种模型全攻略(解析版).docx VIP
- 2025年健康管理师技能证书全国考试题库(含答案).pdf VIP
- 写景抒情散文阅读.doc VIP
- 中小学班级卫生值日表 模板.docx VIP
文档评论(0)