# 有限状态机的VHDL设计

2005 年 4 月 Apr. 2005

1.上海大学 机电工程与自动化学院, 上海 200072; 2.山东科技大学 信息科学与工程学院 山东 泰安 271019 该设计不需要进行复杂的状态化简

Mealy 状态机

TP 311.11

A

VHDL design of finite state machines
HAN Jin1,2, CHENG Yong1 (1. College of Mechanical &Electronic Engineering and Automation, Shanghai University,Shanghai 200072,China ;2.College of Info & Engineering, Shandong University of Science & Technology, Taian 271019,China) Abstract The design method of FSM based on VHDL is introduced, which doesn’t need state implication, state distribution, state coding, output and impulse function, and doesn’t need diagram drawing. All tasks can be carried out by EDA. The feature and the advantage of this design method are proved with an example of wave generator design and the validity of this design is testified by simulation. The modern digital system design of FSM is realized based on VHDL. Key words FSM mealy moore VHDL modern digital system designing

0

output 寄 组合逻辑 器 存

input

1

[3]

2004-09-23 国家自然科学基金资助项目(50374044) 韩 进 1968女 山东 章丘人 博士研究生

current state

reset

mealy 型状态机框图 Fig.1 mealy FSM

elk input 寄 组合逻辑 存 器 current state reset

247

output 组合逻辑

1.2

S0 1

S1 1

Fig.3

2
2.1

port (clk,reset:in std_logic; output:out std_logic); end modeA_example; architecture a of modeA_example is type signal begin reg:process(reset,clk) begin if reset='1'then state<=s0; elsif clk'event and clk='1' then state_type is (s0,s1,s2,s3); state:state_type;

CP

A

B

C

D

Fig.4

248 case state is when s0=>state<=s1; when s1=>state<=s2; when s2=>state<=s3; when s3=>state<=s0; end case; end if; end process; com: process(state) begin case state is when s0=>output<='1'; when s1=>output<='1'; when s2=>output<='0'; when s3=>output<='0'; end case; end process; end a; 2.2.2

S0 0

S1 1 S2 0

2.2.5 整体模块设计 MUX+PLUS 支持图形输入和文本输入 所以 在上面 4 个子模块的基础上采用图形输入法可方便 的实现整体模块的功能 在 MUX+PLUS 的图形 文件*.gdf 如图 9
MODEA_EXAMPLE clk INPUT INPUT clk reset MODEB_EXAMPLE clk reset MODEC_EXAMPLE clk reset MODED_EXAMPLE clk reset output OUTPUT output OUTPUT C output OUTPUT B output OUTPUT A

Mode B 模块的设计 Mode B 模块的 Moore 状态转移图如图 6 (S0 为初态 程序清单略)
S0 0 S1 1

2.2.6

S3 0

S2 1

A 11.9/12.4 /ns B 11.9/12.4 /ns C 9.9 /ns D 11.9/12.4 /ns

S O U R C E

clk reset

2.2.3 Mode C 模块的设计 Mode C 模块的 Moore 状态转移图如图 7 为初态 程序清单略)

(S0

S0 1 S1 0

2.2.4 Mode D 模块的设计 Mode D 模块的 Moore 状态转移图如图 8 所示

249

3

[3]

[3] 林明权.VHDL 数字控制系统设计师范例[M].北京: 电子工业出版 社,2003. [4] John F. Wakerly. DIGITAL DESIGN Principles & Practices[M]. 北京. 高等教育出版社,2001. [5] 单长虹. 用 VHDL 设计有限状态机的方法[J]. 电子技术应用, 2001, (7):11-13. [6] 卢 毅, 赖 杰. VHDL 与数字电路设计[M].北京: 科学出版社,

[1] 黄正谨, 徐 坚, 张小丽,等. CPLD 系统设计技术入门与应用[M].

2001. [7] Dougas L Perry. 电 子 设 计 硬 件 描 述 语 言 [M]. 北 京 : 学 苑 出 版 社,1994.

VHDLFPGA状态机
VHDL 与数字系统设计》课程设计报告 ( 2014 -- 2015 年度第 1 学期) 名题院班学 称: VHDL 与数字系统设计 目: 系: 级: 号: 简单状态机 电气与电子...
VHDL设计 有限状态机设计