当前位置:首页 >> 计算机硬件及网络 >>

VHDLFPGA状态机


《VHDL 与数字系统设计》课程设计报告
( 2014 -- 2015 年度第 1 学期)

名 题 院 班 学

称: VHDL 与数字系统设计 目: 系: 级: 号: 简单状态机 电气与电子工程学院 电子 1301 1131230106 韩辉 高雪莲 2周

学生姓名: 指导教师: 设计周数:



绩:

日期:

2015 年 1 月



课程

课程设计报告

一、课程设计的目的与要求 1. 设计目的 (1) 熟悉 MAXPLUS2/Quartus II 软件,掌握软件的 VHDL 程序输入、程序编译和程序仿真操作; (2) 学习利用 VHDL 语言设计简单状态机程序。 2.设计要求:根据设计正文提出的简单状态机要求设计相应 VHDL 程序。 二、设计正文 设计一个简单状态机的电路,其功能如下: S0:100000 Q:0 K=1 S1:010000 Q:0 K=1 S2:001000 Q:0 K=1 S3:000100 Q:0 K=1 S4:000010 Q:0 K=1 S5:000001 Q:1 K=1

其中:状态有六种状态,分别为 s0—s5;Q 为输出值,只有从 S5 到 S0 的状态转换时,Q=1;k 为控制 信号,当 K=1 时,进行状态转换,k=0 时,状态保持。

简单状态机设计的源程序: Library ieee; Use ieee.std_logic_1164.all; Entity machine is
1

——包含库和程序包 ——定义实体

课程

课程设计报告

Port( clk,reset,K: in std_logic; phase: out std_logic_vector(3 downto 0) Q:out std_logic;); End entity machine; Architecture arc1 of stepmotor is Type states is (S0,S1,S2,S3,S4,S5); Signal current_state: states; Begin process(clk) begin if clk’event and clk='1' then if reset=‘1’ then current_state<= S0; else case current_state is WHEN S0=> IF K='1' THEN current_state <=S1; ELSE current_state <=S0; END IF; Q<='0'; WHEN S1=> IF K='1' THEN current_state <=S2; ELSE current_state <=S1; END IF; Q<='0'; WHEN S2=> IF K='1' THEN current_state E<=S3; ELSE current_state E<=S2;
2

——clk,reset,K 输入变量

——phase,Q 输出变量 ——结束实体

——检测时钟上升沿

——reset=1 时保持 S0 状态

——reset=0 时进入状态转换模式

——K=1 时 S0 转换为 S1

——K=0 时 S0 保持原状态

——输出结果 Q=0

——K=1 时 S1 转换为 S2

——K=0 时 S1 保持原状态

——输出结果 Q=0

——K=1 时 S2 转换为 S3

——K=0 时 S2 保持原状态

课程

课程设计报告

END IF; Q<='0'; WHEN S3=> IF K='1' THEN current_state <=S4; ELSE current_state <=S3; END IF; Q<='0'; WHEN S4=> IF K='1' THEN current_state <=S5; ELSE current_state <=S4; END IF; Q<='0'; WHEN S5=> IF K='1' THEN current_state <=S0; ELSE current_state <=S5; END IF; Q<='1'; WHEN others => current_state <=s0; end case; end if; End if; End progress; Process (current_state) Begin Case current_state is when S0 => phase <= “100000”; when S1 => phase <= “010000”; when S2 => phase <= “001000”;
3

——输出结果 Q=0

——K=1 时 S3 转换为 S4

——K=0 时 S3 保持原状态

——输出结果 Q=0

——K=1 时 S4 转换为 S5

——K=0 时 S4 保持原状态

——输出结果 Q=0

——K=1 时 S5 转换为 S0

——K=0 时 S5 保持原状态

——输出结果 Q=1

——设置 S0~S5 的输出结果

课程

课程设计报告

when S3 => phase <= “000100”; when S4 => phase <= “000010”; when S5 => phase <= “000001”; End case; End progress; End architecture arc1; 三.课程设计结论和总结 1.简单状态机的仿真波形图及其分析 ——结束进程

S0

S1

S2

S3

S4

S5

S0

图 1 简单状态机的仿真波形图一 图 1 为简单状态机的仿真波形图,由图 1 分析可得以下结论: (1) 如图 1 中红色框内区域所示,忽略时间的延迟,当 reset=1 时,输出 phase 一直保持 S0=100000,; 当 reset=1 时,输出 phase 开始进入状态转换。 (2) 如图 1 中绿色框内区域所示,输出结果 phase 的循环状态为 S0→S1→S2→S3→S4→S5→S0?? 且在 phase 输出 S0、S1、S2、S3、S4 时输出 Q=0;在 phase 输出 S5 时输出 Q=1。

S0

S1

S2

S3

S4

图 2 简单状态机的仿真波形图二 图 2 为简单状态机的仿真波形图,由图 2 分析可得以下结论: 输入 K 控制 phase 的状态:当 K=1 时,为转换状态;当 K=0 时,为保持状态。例如:图 2 中红色框内区域 所示即为 K=0 时的保持状态。 2.课程设计的总结 (1)在利用 Quartus II 进行仿真时,要清楚地知道源程序中每一个出入输出变量的作用,并对其给定合 适的值,最终得到正确的仿真波形图。 (2)对同一要求的设计,可尝试利用不同的设计方法进行设计,综合考量后选定最简单易懂的设计方案。
4


相关文章:
VHDLFPGA状态机.doc
VHDLFPGA状态机_计算机硬件及网络_IT/计算机_专业资料。《VHDL 与
第六章 状态机的VHDL设计_图文.ppt
第六章 状态机VHDL设计 - 第六章 状态机VHDL设计 状态机的分类: 摩尔型状态机(Moore) 米勒型状态机(Mealy) 1 6.1、概述 为何使用状态机? ? VHDL综合...
第五章 VHDL 状态机.doc
第五章 VHDL 状态机 - 理学院教案 课程名称 课程属性 课程教材 授课班级
VHDL_状态机_图文.pdf
VHDL_状态机 - 集大信息 EDA技术与VHDL 第五章 VHDL状态机 集大信息 TYPE 5.1 状态机设计相关语句 5.1.1 类型定义语句 数据类型名 IS 数据类型定义 ...
6VHDL状态机设计.pdf
6VHDL状态机设计_计算机软件及应用_IT/计算机_专业资料。CPLD主要内容 6 VHDL ...根据器件类型 FPGA一般采用ONE HOT编码,CPLD一般采用2进制编码或格 雷码编码 ?...
第八讲 状态机的VHDL设计_图文.ppt
第八讲 状态机VHDL设计 - 第八讲 状态机VHDL设计 教学课时:3学时 教学内容: 1、状态机概述 2、状态机的结构(1学时) 3、 状态机VHDL设计方法举例(1...
基于VHDL的Mealy状态机设计.doc
基于VHDL的Mealy状态机设计 - 基于 VHDL 的 Mealy 状态机设计 物理与电子信息科学系 姓名: 姓名:孙家芳 指导教师: 指导教师:胡湘娟 电子信息科学与技术专业 学号...
第5章 VHDL 状态机_图文.ppt
第5章 VHDL 状态机 - 第5章VHDL状态机 ? VHDL与EDA ? 状态机(STATE MACHINE)可以说是一个广义的 时序电路,触发器、计数器、移位寄存器都算是他的特殊 功...
第7章 VHDL有限状态机设计_图文.ppt
第7章 VHDL有限状态机设计 - EDA技术实用教程 第7章 VHDL有限状态机设计 内容提要 ?有限状态机及其设计技术,时使用数字系统设计中的重要 组成部分,是实现高效、...
第七章 VHDL有限状态机设计_图文.ppt
第七章 VHDL有限状态机设计 - 简要介绍资料的主要内容,以获得更多的关注... 第七章 VHDL有限状态机设计 状态机在数字...St4:由状态机FPGA中的寄存器发出锁存信号...
VHDL数字电路设计教程第8讲 状态机_图文.ppt
VHDL数字电路设计教程第8讲 状态机 - 第8章 状态机(Finite State Machine,FSM) 状态机(Finite FSM是为时序电路设计而创建的特殊模型技术, FSM是为时序...
VHDL有限状态机设计_图文.pdf
VHDL有限状态机设计 - 第7章 有限状态机设计 PDF pdfFactory Pro www.fineprint.cn 7.1 一般有限状态机的设计 7.1.1 用户自定义数据类型定...
有限状态机VHDL_图文.pdf
有限状态机VHDL - 数字系统VHDL设计课程课件... 数字系统VHDL设计 数字系统VHDL设计 金明录 教授 ECE 448 FPGA and ASIC Design with VHDL 有限状态机 Mealy机(...
Verilog三段式状态机的建模方法和注意事项.pdf
所以使用 GSR 企图进入 FPGA 的初始化状态,常常会产生种种不必一定的麻 烦。...VHDL 中,当使用 CASE 语句的时候,要使用“When Others”建立 默认状态。使用“...
verilog状态机编写技巧.doc
需要注明的一点是,大多数 FPGA 有 GSR(Global Set/Reset)信号,当 FPGA 加 ...VHDL 中,当使用 CASE 语句的时候,要使用“When Others”建立默认状态。使用 “...
基于FPGA的VGA显示详解(附VHDL代码).pdf
基于FPGA的VGA显示详解(附VHDL代码)_计算机硬件及网络_IT/计算机_专业资料。基于...用状态机实现。该实现过程类似于行同步信号的产生,在此不 再赘述。只是要注意...
基于VHDL有限状态机控制器的设计方法.pdf
基于VHDL有限状态机控制器的设计方法 - 控制系统 文章编号 :1008-05
《基于VHDL的FPGA设计》教学大纲.doc
《基于VHDLFPGA设计》教学大纲_研究生入学考试_高等教育_教育专区。教学大纲 ...要点或知识点 第一节 状态机的一般程序结构 第二节 Moore 状态机设计 第三节...
在FPGA中状态机的编码方式.pdf
关键词 : FPGA , 状态机 , 状态编码 , VHDL 中图分类号 : T
10进制加减计数器状态机的VHDL设计.doc
10进制加减计数器状态机VHDL设计 - 本次设计选用的功能状态为: A. 复
更多相关标签: