当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

康芯科技:《EDA技术实用教程》配套教学资源(PPT课件讲稿,第二版)第7章 有限状态机设计与LPM应用

资源类别:文库,文档格式:PPT,文档页数:105,文件大小:1.25MB,团购合买
7.1 一般有限状态机的设计 7.2 Moore型有限状态机的设计 7.3 Mealy型有限状态机的设计
点击下载完整版文档(PPT)

EDA技术实用教程 第7章 有限状态机设计与LPM应用

第7章 有限状态机设计与LPM应用 EDA技术实用教程

K述列 7.1一般有限状态机的设计 711用户自定义数据类型定义语句 TYPE语句用法如下: TYPE数据类型名IS数据类型定义OF基本数据类型; 或 TYPE数据类型名IS数据类型定义; 以下列出了两种不同的定义方式: TYPE stl IS ARRAY(O TO 15)OF STD_ LOGIC TYPE week Is (sun, mon, tue, wed thu fri sat)

KX 康芯科技 7.1 一般有限状态机的设计 7.1.1 用户自定义数据类型定义语句 TYPE语句用法如下: TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型 ; 或 TYPE 数据类型名 IS 数据类型定义 ; 以下列出了两种不同的定义方式: TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ; TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ;

K述列 7.1一般有限状态机的设计 711用户自定义数据类型定义语句 TYPE m state Is( sto, stl, st2, st3, st4, st5)i SIGNAL present state, next state m state i 「布尔数据类型的定义语句是: TYPE BOOLEAN IS( FALSE, TRUE) TYPE my_logic Is (1,Z,U,0) SIGNAL s1: my_logic i s1<="z

KX 康芯科技 7.1 一般有限状态机的设计 7.1.1 用户自定义数据类型定义语句 TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ; SIGNAL present_state,next_state : m_state ; 布尔数据类型的定义语句是: TYPE BOOLEAN IS (FALSE,TRUE) ; TYPE my_logic IS ( '1' ,'Z' ,'U' , '0' ) ; SIGNAL s1 : my_logic ; s1 <= 'Z' ;

K述列 7.1一般有限状态机的设计 711用户自定义数据类型定义语句 子类型 SUBTYPE的语句格式如下: SUBTYPE子类型名IS基本数据类型 RANGE约束范围; SUBTYPE digits Is INTEGER RANGE 0 to 9

KX 康芯科技 7.1 一般有限状态机的设计 7.1.1 用户自定义数据类型定义语句 子类型SUBTYPE的语句格式如下: SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围; SUBTYPE digits IS INTEGER RANGE 0 to 9 ;

K述列 7.1一般有限状态机的设计 712为什么要使用状态机 ◆有限状态机克服了纯硬件数字系统顺序方式控制不灵活 的缺点。 ◆状态机的结构模式相对简单 ◆状态机容易构成性能良好的同步时序逻辑模块。 ◆状态机的VHDL表述丰富多样。 ◆在高速运算和控制方面,状态机更有其巨大的优势。 ◆就可靠性而言,状态机的优势也是十分明显的

KX 康芯科技 7.1.2 为什么要使用状态机 7.1 一般有限状态机的设计  有限状态机克服了纯硬件数字系统顺序方式控制不灵活 的缺点。  状态机的结构模式相对简单。  状态机容易构成性能良好的同步时序逻辑模块。  状态机的VHDL表述丰富多样。  在高速运算和控制方面,状态机更有其巨大的优势。  就可靠性而言,状态机的优势也是十分明显的

K述列 7.1一般有限状态机的设计 713一般有限状态机的设计 1.说明部分 ARCH工 TECTUR..工S TYPE FSM ST Is (so, sl, s2, s3); s工GNAT current state next state: FSM ST

KX 康芯科技 7.1.3 一般有限状态机的设计 7.1 一般有限状态机的设计 1. 说明部分 ARCHITECTURE ...IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST;

K述列 7.1一般有限状态机的设计 713一般有限状态机的设计 2.主控时序进程 FSM:s machine current state PROCESS clk PROCESS REG COM comb_outputs reset next state state Inputs 图7-1一般状态机结构框图工作示意图

KX 康芯科技 7.1.3 一般有限状态机的设计 7.1 一般有限状态机的设计 2. 主控时序进程 comb_outputs state_inputs reset clk FSM: s_machine COM next_state current_state PRO CESS REG PRO CESS 图7-1 一般状态机结构框图工作示意图

K述列 7.1一般有限状态机的设计 713一般有限状态机的设计 3.主控组合进程 控组合进程的任务是根据外部输入的控制信号(包 括来自状态机外部的信号和来自状态机内部其它非主控 的组合或时序进程的信号),或(和)当前状态的状态 值确定下一状态( next state)的取向,即 next state 的取值内容,以及确定对外输出或对内部其它组合或时 序进程输出控制信号的内容

KX 康芯科技 3. 主控组合进程 7.1.3 一般有限状态机的设计 控组合进程的任务是根据外部输入的控制信号(包 括来自状态机外部的信号和来自状态机内部其它非主控 的组合或时序进程的信号),或(和)当前状态的状态 值确定下一状态(next_state)的取向,即next_state 的取值内容,以及确定对外输出或对内部其它组合或时 序进程输出控制信号的内容。 7.1 一般有限状态机的设计

4.辅助进程 K述列 【例7-1】 工工 BRARY工EEE; USE IEEE STD LOGIC 1164.ALL ENTITY s machine工S PORT( clk, reset :工 N STD LOG工C; state inputs IN STD LOGIC VECTOR (0 To 1)i comb outputs oUT INTEGER RANGE 0 To 15)i END s machine ARCHITECTURE ehv oF s machine Is TYPE FSM ST Is (so, sl, s2 s3)i SIGNAL current state next state: FSM ST BEG工N REG: PROCEss (reset, clk) BEG工N IF reset =i1then current state < so ElSIE clk=1 AND clK EVENT THEN current state < next statei END工F; END PROCESS i COM: PROCESS(current state, state Inputs) 接下页

KX 康芯科技 4. 辅助进程 【例7-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 clk'EVENT THEN current_state <= next_state; END IF; END PROCESS; COM:PROCESS(current_state, state_Inputs) 接下页

K述列 接上页 BEG工N CASE current state Is WHEN S0→>c。 mb outputs comb outputs<=14; IF state inputs ="11 THen next state < s3 ELSE next state < so; END工F; ENd case END PROCESS end ehv

KX 康芯科技 BEGIN CASE current_state IS WHEN s0 => comb_outputs comb_outputs comb_outputs comb_outputs <= 14; IF state_inputs = "11" THEN next_state <= s3; ELSE next_state <= s0; END IF; END case; END PROCESS; END behv; 接上页

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共105页,可试读30页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有