欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VerilogHDL硬件描述.ppt

    • 资源ID:6522807       资源大小:644KB        全文页数:30页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VerilogHDL硬件描述.ppt

    1,Verilog HDL硬件描述语言Hardware Description Language(HDL),2,宏定义 define:用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为:define 标识符(宏名)字符串(宏内容)这种方法使用户能以一个简单的名字代替一个长的字符串,也可以用一个有含义的名字来代替没有含义的数字和符号,因此把这个标识符(名字)称为“宏名”,在编译预处理时将宏名替换成字符串的过程称为“宏展开”。define WORDSIZE 8 reg1:WORDSIZE data;/这相当于定义 reg1:8 data;注意:宏定义不是Verilog HDL语句,不必在行末加分号。如果加了分号会连分号一起进行置换。,define 和undef,3,define 和undef,undef 指令取消前面定义的宏。例如:define WORD 16/建立一个文本宏替代。.wire WORD:1 Bus;.undef WORD/在undef编译指令后,WORD的宏定义不再有效.,4,条件编译命令 ifdef、else 和endif,一般情况下,Verilog HDL源程序中所有的行都将参加编译。但是有时希望对其中的一部分内容只有在满足条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,而当条件不满足是则编译另一部分。例如:ifdef WINDOWS parameter WORD_SIZE=16else parameter WORD_SIZE=32endif 在编译过程中,如果已定义了名字为WINDOWS的文本宏,就选择第一种参数声明,否则选择第二种参数说明。else 程序指令对于ifdef 指令是可选的。,5,“文件包含”处理include,“文件包含”处理是一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。一般形式为:include“文件名”,“文件包含”处理将File2.v的全部内容复制插入到 include“File2.v”命令出现的地方。,6,“文件包含”处理include,共享任务和函数:在不同模块间共享任务和函数的方法是在文本文件中编写共享任务和函数的定义,然后使用include编译指令在需要的模块中包含这些定义。,7,时间尺度 timescale,timescale命令用来说明跟在该命令后的模块的时间单位和时间精度。命令的格式如下:timescale/时间单位参量用来定义模块中仿真时间和延迟时间的基准单位。时间精度参量用来声明该模块的仿真时间的精确程度。时间单位(time_unit)和时间精度(time_precision)由值1、10、和100以及单位s、ms、us、ns、ps和fs组成。例如:timescale 10ns/1ns 在这个命令之后,模块中所有的时间值都表示是10ns的整数倍。这是因为在timescale命令中,定义了时间单位是10ns。模块中的延迟时间可表达为带一位小数的实型数,因为 timescale命令定义时间精度为1ns.,8,时间尺度 timescale,在模块test中,所有的时间值应为10ns的整数倍,且以1ns为时间精度。仿真时刻值按照以下的步骤来计算:根据时间精度,参数d值被从1.55取整为1.6。因为时间单位是10ns,时间精度是1ns,所以延迟时间#d作为时间单位的整数倍为16ns。EDA工具预定在仿真时刻为16ns的时候给寄存器set赋值0(即语句#d set=0;执行时刻),在仿真时刻为32ns的时候给寄存器set赋值1(即语句#d set=1;执行时刻)。,timescale 10ns/1ns module test;reg set;parameter d=1.55;initial begin#d set=0;#d set=1;endendmodule,9,有限状态机是由寄存器组和组合逻辑构成的硬件时序电路。有限状态机的状态可以在同一时钟跳变沿的情况下从一个状态转向另一个状态。究竟转向哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。有限状态机分为Mealy型有限状态机,和Moore型有限状态机。,以状态机为基本的时序电路设计,10,Moore型有限状态机,下一个状态逻辑,状态寄存器,输出电路,组合逻辑,时序逻辑,组合逻辑,下一状态,现状态,输出由状态决定,与输入信号无关,状态寄存器由一组触发器组成,用来记忆状态机当前所处的状态。,11,mealy型有限状态机,输出与状态及输入信号相关,输入,输出,下一个状态逻辑,状态寄存器,输出逻辑,组合逻辑,时序逻辑,组合逻辑,下一状态,现状态,状态寄存器由一组触发器组成,用来记忆状态机当前所处的状态。,12,有限状态机状态编码state定义,定义STATE常量状态较少情况下(比如4个一下),用onehot方式表示.比如:STATE0,STATE1,STATE2,STATE3分别用0001,0010,0100,1000 来表示.onehot编码占用触发器较多。注意多余的状态。状态较多时(比如16个状态),尽量少占用触发器.STATE0,STATE1,STATE15分别用 4h0,4h1,4hf 来表示。建议用parameter来定义,不要用define来定义(define只用来定义变量位宽和延时大小),13,有限状态机的输出,一般采用组合电路输出在always块的敏感表不含时钟这种状态机组合和时序全部分开也可用时序输出在always块的敏感表中只有时钟和复位这种状态机的组合电路和时序电路揉和在一起每个输出都是寄存器输出,14,Moore型有限状态机,描述1:时序输出,15,Moore型有限状态机,描述1综合结果:,推导出三个触发器,两个用于保存状态机的状态值(Moorestate),另一个用于保存输出Z的值。,16,Moore型有限状态机,描述2:组合电路输出,17,Moore型有限状态机的verilog描述,描述2:综合结果,只推导出两个触发器,用于保存状态机的状态值(Moorestate)。,18,Mealy型有限状态机的verilog描述,组合电路输出,19,Mealy型有限状态机的verilog描述,推导出两个触发器用于保存状态机的状态值(Mealystate)。,描述Mealy状态机的最佳方式之一是使用两条always语句,一条用于描述时序逻辑,一条用于描述组合逻辑(包括次态逻辑和输出逻辑),输入上的任何变化都会直接影响被描述成组合逻辑的输出。,20,Mealy 型有限状态机的verilog描述,状态转移图表示了一个四状态的有限状态机,它的同步时钟是Clock,输入信号是 A 和 Reset,输出信号是 F 和 G。状态的转移只能在同步时钟(Clock)的上升沿时发生,往哪个状态的转移则取决于目前所在的状态和输入的信号(Reset 和 A),21,Mealy 型有限状态机的verilog描述,时序输出,22,Mealy 型有限状态机的verilog描述,23,Mealy 型有限状态机的verilog描述,时序输出,24,Mealy 型有限状态机的verilog描述,组合输出,25,Mealy 型有限状态机的verilog描述,26,有限状态机设计的一般步骤:,1)逻辑抽象,得出状态转换图。就是把给出的一个实际逻辑关系表示为时序逻辑函数,可以用状态 转换表来描述,也可以用状态转换图来描述。这就需要:分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。通常是取原因(或条件)作为输入变量,取结果作为输出变量。定义输入、输出逻辑状态的含意,并将电路状态顺序编号。按照要求列出电路的状态转换表或画出状态转换图。这样,就把给定的逻辑问题抽象到一个时序逻辑函数了。,27,2)状态化简 如果在状态转换图中出现这样两个状态,它们在相同的输入下转换到同一状态去,并得到一样的输出,则称它们为等价状态。显然等价状态是重复的,可以合并为一个。电路的状态数越少,存储电路也就越简单。状态化简的目的就在于将等价状态尽可能地合并,以得到最简的状态转换图。3)状态分配 状态分配又称状态编码。通常有很多编码方法,编码方案选择得当,设计的电路可以简单,反之,选得不好,则设计的电路就会复杂许多。实际设计时,需综合考虑电路复杂度与电路性能之间的折衷,在触发器资源丰富的FPGA或ASIC设计中采用独热编码(one-hot-coding)既可以使电路性能得到保证又可充分利用其触发器数量多的优势。,有限状态机设计的一般步骤:,28,4)选定触发器的类型并求出状态方程、驱动方程和输出方程。5)按照方程得出逻辑图 用Verilog HDL来描述有限状态机,可以充分发挥硬件描述语言的抽象建模能力,使用always块语句和case(if)等条件语句及赋值语句即可方便实现。具体的逻辑化简及逻辑电路到触发器映射均可由计算机自动完成,上述设计步骤中的第2步及4、5步不再需要很多的人为干预,使电路设计工作得到简化,效率也有很大的提高。,有限状态机设计的一般步骤:,29,状态机设计实例,30,状态机设计实例,综合结果,

    注意事项

    本文(VerilogHDL硬件描述.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开