欢迎来到天天文库
浏览记录
ID:45079225
大小:644.00 KB
页数:30页
时间:2019-11-09
《VerilogHDL硬件描述-6》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VerilogHDL硬件描述语言HardwareDescriptionLanguage(HDL)1宏定义`define:用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为:`define标识符(宏名)字符串(宏内容)这种方法使用户能以一个简单的名字代替一个长的字符串,也可以用一个有含义的名字来代替没有含义的数字和符号,因此把这个标识符(名字)称为“宏名”,在编译预处理时将宏名替换成字符串的过程称为“宏展开”。`defineWORDSIZE8reg[1:`WORDSIZE]data;//这相当于定义reg[1:8]data;注意:宏定义不是Ver
2、ilogHDL语句,不必在行末加分号。如果加了分号会连分号一起进行置换。`define和`undef2`define和`undef`undef指令取消前面定义的宏。例如:`defineWORD16//建立一个文本宏替代。...wire[`WORD:1]Bus;...`undefWORD//在`undef编译指令后,WORD的宏定义不再有效.3条件编译命令`ifdef、`else和`endif一般情况下,VerilogHDL源程序中所有的行都将参加编译。但是有时希望对其中的一部分内容只有在满足条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编
3、译”。有时,希望当满足条件时对一组语句进行编译,而当条件不满足是则编译另一部分。例如:`ifdefWINDOWSparameterWORD_SIZE=16`elseparameterWORD_SIZE=32`endif在编译过程中,如果已定义了名字为WINDOWS的文本宏,就选择第一种参数声明,否则选择第二种参数说明。`else程序指令对于`ifdef指令是可选的。4“文件包含”处理`include“文件包含”处理是一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。一般形式为:`include“文件名”“文件包含”处理将F
4、ile2.v的全部内容复制插入到`include“File2.v”命令出现的地方。5“文件包含”处理`include共享任务和函数:在不同模块间共享任务和函数的方法是在文本文件中编写共享任务和函数的定义,然后使用`include编译指令在需要的模块中包含这些定义。6时间尺度`timescale`timescale命令用来说明跟在该命令后的模块的时间单位和时间精度。命令的格式如下:`timescale<时间单位>/<时间精度>时间单位参量用来定义模块中仿真时间和延迟时间的基准单位。时间精度参量用来声明该模块的仿真时间的精确程度。时间单位(time_unit
5、)和时间精度(time_precision)由值1、10、和100以及单位s、ms、us、ns、ps和fs组成。例如:`timescale10ns/1ns在这个命令之后,模块中所有的时间值都表示是10ns的整数倍。这是因为在`timescale命令中,定义了时间单位是10ns。模块中的延迟时间可表达为带一位小数的实型数,因为`timescale命令定义时间精度为1ns.7时间尺度`timescale在模块test中,所有的时间值应为10ns的整数倍,且以1ns为时间精度。仿真时刻值按照以下的步骤来计算:根据时间精度,参数d值被从1.55取整为1.6。因为
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;endendmodule8有限状态机是由寄存器组和组合逻辑构成的硬件时序电路。有限状态机的状态可以在同一时钟跳变沿的情况下从一个状态转向
7、另一个状态。究竟转向哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。有限状态机分为Mealy型有限状态机,和Moore型有限状态机。以状态机为基本的时序电路设计9Moore型有限状态机下一个状态逻辑状态寄存器输出电路组合逻辑时序逻辑组合逻辑下一状态现状态输出由状态决定,与输入信号无关状态寄存器由一组触发器组成,用来记忆状态机当前所处的状态。10mealy型有限状态机输出与状态及输入信号相关输入输出下一个状态逻辑状态寄存器输出逻辑组合逻辑时序逻辑组合逻辑下一状态现状态状态寄存器由一组触发器组成,用来记忆状态机当前所处的状态。11有限状态机
8、状态编码state定义定义STATE常量状态较少情况下(比如4个一下),用one
此文档下载收益归作者所有