K康芯科技 EDA技术与VHDL 第5章 VHDL状态机
EDA技术与VHDL 第5章 VHDL状态机 KX 康芯科技
K能科拉 5.1状态机设计相关语句 5.1.1类型定义语句 TYPE 数据类型名工S 数据类型定义OF基本数据类型:或 TYPE 数据类型名 IS 数据类型定义; TYPE st1 IS ARRAY 0 TO 15 OF STD LOGIC; TYPE week IS (sun,mon,tue,wed,thu,fri,sat); TYPE m state IS st0,stl,st2,st3,st4,st5 ) SIGNAL present state,next state m state TYPE BOOLEAN IS (FALSE,TRUE);
KX 康芯科技 5.1 状态机设计相关语句 5.1.1 类型定义语句 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) ; TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ; SIGNAL present_state,next_state : m_state ; TYPE BOOLEAN IS (FALSE,TRUE) ;
K康科技 5.1状态机设计相关语句 5.1.1类型定义语句 TYPE my logic IS 1,Z,U',0); SIGNAL s1 my logic i s1<=Z; SUBTYPE子类型名IS基本数据类型RANGE约束范围; SUBTYPE digits IS INTEGER RANGE 0 to 9;
KX 康芯科技 5.1 状态机设计相关语句 5.1.1 类型定义语句 TYPE my_logic IS ( '1' ,'Z' ,'U' , '0' ) ; SIGNAL s1 : my_logic ; s1 <= 'Z' ; SUBTYPE 子类型名IS 基本数据类型 RANGE 约束范围; SUBTYPE digits IS INTEGER RANGE 0 to 9 ;
K康芯科技 5.1状态机设计相关语句 5.1.2状态机的优势 1.状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点; 2.由于状态机的结构相对简单,设计方案相对固定; 3、状态机容易构成性能良好的同步时序逻辑模块; 4、与VDL的其他描述方式相比,状态机的VDL表述丰富多样、 程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植 方面也有其独到的好处; 5、在高速运算和控制方面,状态机更有其巨大的优势。 6、高可靠性
KX 康芯科技 5.1 状态机设计相关语句 5.1.2 状态机的优势 1.状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点; 2.由于状态机的结构相对简单,设计方案相对固定; 3、状态机容易构成性能良好的同步时序逻辑模块; 4、与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样、 程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植 方面也有其独到的好处; 5、在高速运算和控制方面,状态机更有其巨大的优势。 6、高可靠性
K康还科技 5.1状态机设计相关语句 5.1.3状态机结构 1.说明部分 ARCHITECTURE·,.IS TYPE FSM ST IS (s0,s1,s2,s3); SIGNAL current state,next state:FSM ST;
KX 康芯科技 5.1 状态机设计相关语句 5.1.3 状态机结构 1. 说明部分 ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST;
K康芯科骏 5.1状态机设计相关语句 5.1.3状态机结构 2.主控时序进程 FSM:s machine clk- PROCESS current state PROCESS REG COM comb outputs reset next state state_inputs 图5-1一般状态机结构框图
KX 康芯科技 5.1 状态机设计相关语句 5.1.3 状态机结构 2. 主控时序进程 comb_outputs state_inputs reset clk FSM: s_machine COM next_state current_state PROCESS REG PROCESS 图5-1 一般状态机结构框图
K康还科技 5.1状态机设计相关语句 5.1.3状态机结构 3.主控组合进程 4.辅助进程
KX 康芯科技 5.1 状态机设计相关语句 5.1.3 状态机结构 3. 主控组合进程 4. 辅助进程
K能还科液 【例5-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) -一主控组合进程 (接下页)
KX 康芯科技 【例5-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康还科技 BEGIN CASE current state IS WHEN s0 =comb outputs<=5; IF state inputs ="00"THEN next state<=s0; ELSE next state<=s1; END IF; WHEN s1 =comb outputs<=8; IF state inputs "00"THEN next state<=s1; ELSE next state<=s2; END IF: WHEN s2 =comb outputs<=12; IF state_inputs ="11"THEN next_state <s0; ELSE next state <=s3; END IF; WHEN s3 =comb outputs <14; IF state inputs ="11"THEN next state <s3; ELSE next state <s0; END IF; END case; END PROCESS; END behv;
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;
K康恋科技 5.1状态机设计相关语句 5.1.3 状态机结构 Name: Value: 500.0ns 1.0us 1.5us2.0us 2.5us 3.0us3.5us 4.0us 4.5 -reset 0 工-ck 0 state_inputs HO 0 3 0 2 0 comb_outputs H5 C 8 C 5 current state HO 0 1 0 图5-2例5-1状态机的工作时序
KX 康芯科技 5.1 状态机设计相关语句 5.1.3 状态机结构 图5-2 例5-1状态机的工作时序