已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,VerilogHDL硬件描述语言HardwareDescriptionLanguage(HDL),2,宏定义define:用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为:define标识符(宏名)字符串(宏内容)这种方法使用户能以一个简单的名字代替一个长的字符串,也可以用一个有含义的名字来代替没有含义的数字和符号,因此把这个标识符(名字)称为“宏名”,在编译预处理时将宏名替换成字符串的过程称为“宏展开”。defineWORDSIZE8reg1:WORDSIZEdata;/这相当于定义reg1:8data;注意:宏定义不是VerilogHDL语句,不必在行末加分号。如果加了分号会连分号一起进行置换。,define和undef,3,define和undef,undef指令取消前面定义的宏。例如:defineWORD16/建立一个文本宏替代。.wireWORD:1Bus;.undefWORD/在undef编译指令后,WORD的宏定义不再有效.,4,条件编译命令ifdef、else和endif,一般情况下,VerilogHDL源程序中所有的行都将参加编译。但是有时希望对其中的一部分内容只有在满足条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,而当条件不满足是则编译另一部分。例如:ifdefWINDOWSparameterWORD_SIZE=16elseparameterWORD_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组成。例如:timescale10ns/1ns在这个命令之后,模块中所有的时间值都表示是10ns的整数倍。这是因为在timescale命令中,定义了时间单位是10ns。模块中的延迟时间可表达为带一位小数的实型数,因为timescale命令定义时间精度为1ns.,8,时间尺度timescale,在模块test中,所有的时间值应为10ns的整数倍,且以1ns为时间精度。仿真时刻值按照以下的步骤来计算:根据时间精度,参数d值被从1.55取整为1.6。因为时间单位是10ns,时间精度是1ns,所以延迟时间#d作为时间单位的整数倍为16ns。EDA工具预定在仿真时刻为16ns的时候给寄存器set赋值0(即语句#dset=0;执行时刻),在仿真时刻为32ns的时候给寄存器set赋值1(即语句#dset=1;执行时刻)。,timescale10ns/1nsmoduletest;regset;parameterd=1.55;initialbegin#dset=0;#dset=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)按照方程得出逻辑图用VerilogHDL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年低保老人护理课件
- 2026年广西南宁市青秀区中考语文一模试卷(含详细答案解析)
- 美容院会员服务调整情况说明
- 妇女权益保障法试题及答案
- 派出所疫情防控工作落实情况
- 2026年北京市海淀区初三二模语文试卷
- 公共机构节能工作总结
- 村干部工作总结
- 人保财产渠道管理与团队建设
- 初中语文100句古诗词98%考点都在这里了
- 膝过伸的原因
- 叉车升高施工方案设计
- 手机组装基础知识培训课件
- 2026年重庆市初中学业水平考试中考模拟语文试卷(含答案详解)
- 水厂供水安全培训资料课件
- 先进过程控制技术的实践与应用探讨
- 某铅锌矿开采设计毕业设计
- 校医基础知识培训课件
- 山东科技大学《概率论与数理统计》2024-2025学年第一学期期末试卷
- 性法医学图谱
- 废旧刀具管理办法
评论
0/150
提交评论