3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao

3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao

ID:39348203

大小:1.84 MB

页数:99页

时间:2019-07-01

3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao_第1页
3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao_第2页
3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao_第3页
3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao_第4页
3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao_第5页
资源描述:

《3_Verilog HDL硬件描述语言程序设计基础 II_AltechQingDao》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、VVererililogog硬件描硬件描述述语言设计入门语言设计入门ALTECH技术部:张洪磊:zhanghl@altechcn.com01/99H0NLY_ZHANGContents¡VerilogHDL的编译指令¡VerilogHDL的逻辑值¡VerilogHDL的常量¡VerilogHDL的变量¡VerilogHDL的参数¡VerilogHDL的表达式02/99H0NLY_ZHANG03/99H0NLY_ZHANG编译指令¡以`(反引号)开始的某些标识符是编译器指令。¡在VerilogHD

2、L语言编译时,特定的编译器指令在整个编译过程中有效(编译过程可跨越多个文件),直到遇到其它的不同编译程序指令。04/99H0NLY_ZHANG编译指令¡完整的标准编译器指令如下:¡•`define,`undef¡•`ifdef,`else,`endif¡•`default_nettype¡•`include¡•`resetall¡•`timescale¡•`unconnected_drive,`nounconnected_drive¡•`celldefine,`endcelldefine05/9

3、9H0NLY_ZHANG`define和`undef¡`define指令用于文本替换,它很像C语言中的#define指令¡eg:`defineMAX_BUS_SIZE32...reg[`MAX_BUS_SIZE-1:0]AddReg;¡一旦`define指令被编译,其在整个编译过程中都有效。¡note:通过另一个文件中的`define指令,MAX_BUS_SIZE能被多个文件使用。¡`undef指令取消前面定义的宏。¡eg:`defineWORD16//建立一个文本宏替代。...wire[`WO

4、RD:1]Bus;...`undefWORD//在`undef编译指令后,WORD的宏定义不再有效.06/99H0NLY_ZHANG`ifdef、`else和`endif¡用于条件编译¡eg:`ifdefWINDOWSparameterWORD_SIZE=16`elseparameterWORD_SIZE=32`endif在编译过程中l如果已定义了名字为WINDOWS的文本宏,就选择第1种参数声明l否则选择第2种参数说明。`else程序指令对于`ifdef指令是可选的。07/99H0NLY_ZH

5、ANG`default_nettype¡用于为隐式线网指定线网类型。l也就是将那些没有被说明的连线定义线网类型。`default_nettypewandl实例定义的缺省的线网为线与类型。因此,如果在此指令后面的任何模块中没有说明的连线,那么该线网被假定为线与类型。01/99H0NLY_ZHANG`include¡`include编译器指令用于嵌入内嵌文件的内容。¡文件既可以用相对路径名定义,也可以用全路径名定义,¡eg:`include"../../primitives.v"编译时,这一行由文件

6、“../../primitives.v”的内容替代。09/99H0NLY_ZHANG`resetall¡该编译器指令将所有的编译指令重新设置为缺省值。¡`resetall¡该指令使得缺省连线类型为线网类型。10/99H0NLY_ZHANG`timescale¡在VerilogHDL模型中,所有时延都用单位时间表述。¡使用`timescale编译器指令将时间单位与实际时间相关联。¡该指令用于定义时延的单位和时延精度。¡`timescale编译器指令格式:l`timescaletime_unit/t

7、ime_precision¡time_unit和time_precision由值1、10、和100以及单位s、ms、us、ns、ps和fs组成。eg.l`timescale1ns/100ps¡表示时延单位为1ns,时延精度为100ps。11/99H0NLY_ZHANG`timescale¡。`timescale编译器指令在模块说明外部出现,并且影响后面所有的时延值。¡eg:`timescale1ns/100psmoduleAndFunc(Z,A,B);outputZ;inputA,B;and#(

8、5.22,6.17)Al(Z,A,B);//规定了上升及下降时延值。endmodule编译器指令定义时延以ns为单位,并且时延精度为1/10ns(100ps)因此,时延值5.22对应5.2ns,时延6.17对应6.2ns。¡如果`timescale10ns/1ns那么5.22对应52ns,6.17对应62ns。12/99H0NLY_ZHANG`timescale¡在编译过程中,`timescale指令影响这一编译器指令后面所有模块中的时延值¡直至遇到另一个`timescale指令or`reset

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。