第7讲Verilog时序电路及状态机设计
- 格式:ppt
- 大小:427.00 KB
- 文档页数:40


verilog有限状态机实验报告范文(附源代码)
有限状态机实验报告
一、实验目的
进一步学习时序逻辑电路了解有限状态机的工作原理
学会使用“三段式”有限状态机设计电路掌握按键去抖动、信号取边沿等处理技巧
二、实验内容
用三段式有限状态机实现序列检测功能电路
a)按从高位到低位逐位串行输入一个序列,输入用拨动开关实现。b)每当检测到序列“1101”(不重叠)时,LED指示灯亮,否则灭,例如i.ii.
输入:1101101101输出:0001000001
c)用八段数码管显示最后输入的四个数,每输入一个数,数码管变化一次d)按键按下的瞬间将拨动开关状态锁存i.
注意防抖动(按键按下瞬间可能会有多次的电平跳变)
三、实验结果
1.Rt_n为0时数码管显示0000,led灯不亮,rt_n拨为1,可以开始输入,将输
入的开关拨到1,按下按钮,数码管示数变为0001,之后一次类推分别输入1,0,1,按下按钮后,数码管为1101,LED灯亮,再输入1,LED灯灭,之后再输入0,1(即共输入1101101使1101重叠,第二次LED灯不亮),之后单独输入
1101,LED灯亮2.仿真图像刚启动时使用rt_n
一段时间后
其中Y代表输出,即控制led灯的信号,el表示数码管的选择信号,eg表示数码管信号
四、实验分析
1、实验基本结构
其中状态机部分使用三段式结构:
2、整体结构为:
建立一下模块:Anti_dither.v
输入按键信号和时钟信号,输出去除抖动的按键信号生成的脉冲信号op
这一模块实现思路是利用按钮按下时会持续10m以上而上下抖动时接触时间不超过10m来给向下接触的时间计时,达到上限时间才产生输出。Num.v
输入op和序列输入信号A,时钟信号clk和复位信号,复位信号将num置零,否则若收到脉冲信号则将num左移一位并将输入存进最后一位。输出的num即为即将在数码管上显示的值Scan.v
输入时钟信号,对其降频以产生1m一次的扫描信号。Trigger.v
电子质量(2012第03期) 基于VefflogHDL的有限状态杌的优化设计
3状态机的三种设计方法
状态机的基本状态转换图如图1所示。 !^I^一 。 ( ‘ …。
_、_~… ~一一
图1状态机基本状态转换图
3.1一段式(One—always)状态机
一段式状态机即采用一个always模块进行状态机的
设计。将状态的同步转移,状态的输出以及状态的输入写
入一个always模块中圈.其设计结构图如图2所示。
图2一段式状态机结构图
3_2=段式(Two—always)状态机
二段式状态机采用两个进程进行状态机的设计。一
个always模块采用同步时序描述状态之间的转移;另一 个always模块采用组合逻辑判断输入条件,描述状态转
移规律,并进行状态输出。其设计结构图如图3所示。 E-个进程(纯缀合 第一个进程(同步时 逻 ̄1ways模块) 序always ̄[块)
37 图3二段式状态机结构图
同步时序状态转移always模块中采用两个状态寄存 器Curt_st和Next_st进行当前状态和下一状态的存储。
程序代码如下:
always@(posedge Clock or posedge Rese0 begin
ifReset) Curr_st<=S1;
else
Curr_st<=Next_st; end 组合逻辑always模块在设计时在敏感列表下首先对
下一状态寄存器Next_st进行描述,将其赋值为不定态
x,这样设计的好处在于:在进行时序仿真时可以很好地 检验所设计的FSM的完备性,如果所设计的FSM不完
备,则会进入任意状态,仿真时很容易发现。
3-3三段式(Three—always)状态机
三段式状态机的设计即使用三个进程对状态机进行
描述。第一个always模块使用同步时序描述状态之间的 转移;第二个always模块使用组合逻辑判断状态转移条
件,描述状态转移规律;第三个always模块采用同步时序
Verilog HDL程序设计教程
红色:做后有错。粉红色:有疑问。紫色:第二次仍有错。绿色:文字错误
第1章EDA技术综述 1.1引言
1.摩尔定律
1.2EDA的发展阶段
1.阶段
1.3设计方法与设计技术
1.两种设计思路 2.IP的含义 3. IP核的分类。4. SOC的含义
1.4EDA的实现
1.实现方法
第2章EDA设计软件与设计流程 2.2EDA的设计流程
1(FPGA的设计流程 2(综合的定义与类型。3(仿真的类型
第3章Verilog HDL设计初步(P18) 3.2完整的Verilog HDL设计
1. 4位全加器的和4位计数器的程序。
2. 4位全加器的仿真程序(1.时间头文件 2.模块名(没有参数)3.参数规定(端口、延时、
时钟)4.调用测试对象 5.设置参数(所有的输入端口都应初始化赋值)6.显示设
置)。
3.3Verilog模块基本结构剖析 1.端口定义注意事项。2.逻辑功能定义的几种方式
第4章Verilog HDL语言要素(P32)
4.1词法
1.verilog中的四种基本逻辑状态 4.2数据类型
1.连线型(Net Type)的特点
2.寄存器型(Register Type):定义、与连线型区别(赋值、保值)
3.Parameter的使用格式
4.3寄存器和存储器
1.寄存器定义格式和标矢性
2.存储器:定义、格式、位区选择方法
4.3运算符
1.等式与全等式的区别 2.位拼接运算符
第5章Verilog HDL行为语句(P45)
5.2 Verilog HDL中的过程语句
1.always过程语句格式。 2.initial过程语句格式。
5.3 块语句
1.块语句。 2.用begin—end产生周期为10的个单位时间的方波. 3.用fork—join产生周期为10的个单位时间的方波
5.4赋值语句
第29卷 VO1.29 第4期 NO.4 计算机工程与设计 Computer Engineering and Design 2008年2月 Feb.2008 基于Verilog HDL的有限状态机设计与描述 刘小平, 何云斌, 董怀国 (哈尔滨理工大学计算机学院,黑龙江哈尔滨150080) 摘 要:有限状态机(FsM)是逻辑设计的重要内容,稍大一点的逻辑设计都存在FSM。介绍了采用VerilogHDL实现有限状态 机的几种不同编码方式和描述风格,并从稳定性、可读性、速度和面积等方面比较了不同实现方式的利弊。最后,以简单序 列检测器为例实现了可综合的FSM描述,并分析了其采用不同描述风格所得的综合结果。 关键词:有限状态机;Verilog硬件描述语言;状态编码;独热码;综合 中图法分类号:TP302 文献标识码:A 文章编号:1000—7024(2008)04—0958—03 Design and description of finite state machine based on verilog HDL LIU Xiao—ping, HE Yun—bin, D0NG Huai—guo 【Department of Computer,Harbin University of Science and Technology,Harbin 1 50080,China) Abstract:Finite state machine is a critical content in logic design,big logic design is presented in slightly ̄Different state encoding styles and Verilog HDL descriptions ofFSM fire introduced,stability,readability,speed and area ofthese styles are described.Finally, sequence detector as a synthesizable FSM design example is implemented,the synthesis results ofdifferent descriptions are analyzed. Key words:finite state machine;verilog HDL;state encoding;one—hot encoding;synthesis O引 言 数字系统包括以控制为主的系统和以数据为主的系统“ 。 通常,控制系统的主体是一个有限状态机(finite statemachine, FSM),通过接收外部信号以及数据单元产生的状态信息,产 生控制信号序列。在系统设计中,能否设计出高效可靠的有 限状态机已经成为关键。 传统的有限状态机的描述方式有状态转移图,状态转移 列表两种。随着EDA技术的发展,人们开始用硬件描述语言 来描述有限状态机,通过充分发挥硬件描述语言的抽象建模 能力,对系统在系统级或寄存器传输级进行描述。 使用VerilogHDL描述有限状态机有一定的灵活性,同样 的系统功能可以用多种编码方式和描述风格来实现,但其综 合出来的状态机在稳定性、速度、面积以及电路复杂程度上有 很大的差别。因此研究FSM的编码方式和描述风格有利于 更好地设计出高效可靠的有限状态机。 1有限状态机的设计 根据状态机的输出是否与输入条件相关,可将有限状态 机分为Moore型状态机和Mealy型状态机,如图1所示。前者 的输出仅仅依赖于当前状态,与输入条件无关;后者的输出不 仅依赖于当前状态,而且取决于该状态的输入条件 。 可综合有限状态机的Verilog HDL设计的基本要求 : 输入 仅Mealy型状态机有