- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用verilog_hdl语法
常用Verilog HDL语法 一、模块的结构 Verilog的基本设计单元是“模块”。一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能。 Verilog 结构位于module和endmodule声明语句之间,每个Verilog程序包括4个主要部分:端口定义、I/O说明、内部信号声明和功能定义。 1、模块的端口定义 模块的端口声明了模块的输入输出口。其格式如下: module module_name (port_list); 在引用模块时其端口可以用两种方法连接: (1)在引用时,严格按照模块定义的端口顺序来连接,不用标明原模块定义时规定的端口名: 模块名(连接端口1信号名,连接端口2信号名,……,) (2)在引用时用“.”符号,标明原模块是定义时规定的端口名, 模块名(.端口1名(连接信号1名), 端口2名(连接信号2名), ……,) 2、I/O说明的格式 (1)输入口: input[信号位宽-1:0]端口名i (2)输出口: output[信号位宽-1:0]端口名i (3)输入输出口: inout[信号位宽-1:0]端口名i 3、内部信号说明 在模块内用到的和端口有关的wire和reg类型变量的声明: reg[width-1:0] R变量1, R变量2,… wire[width-1:0] W变量1, W变量2,… 4、功能定义 (1)用“assign”声明语句,只需写一个“assign”,后面再加一个方程式即可,如: assign a=bc (2)用实例元件,此方法像在电路图输入方式下调入库元件一样,键入元件的名字和相连的引脚即可,如 and #2 u1(q,a,b),表示用一个跟与门(and)一样的名为u1的门,其输入端为a,b,输出为q,输出延迟为2个单位时间 (3)用“always”块:always 时序控制 执行语句,如:always areg=~areg 上述三个功能定义在verilog结构中是同时执行的,在同一模块文件中,它们的顺序不会影响实现的功能 二、数据类型及其常量及变量 1、常量 1.1数字 (1)整数:4种表示方式:二进制(b或B);十进制(d或D);十六进制(h或H);八进制(o或O) 数字表达方式如下: 位宽进制数字,其中位宽可以缺省,默认值根据不同机器有所不同,常为32位;进制也可以缺省,默认值为十进制。 如:8‘表示位宽为8 ,二进制,值(2)x和z值,x代表不定值,z代表高阻值。X可以用来定义十六进制的4位二进制数的状态,八进制的3位,二进制的1位,z的表示方式同x,z还可以表达为“?”,如12’dz=12’d? (3)负数,只要在数字定义式的最前面加上一个负号即可表示 (4)下划线:下划线可以用来分隔数的表达以提高程序的可读性,但不可用于位宽和进制处,如16’b1010_1100_1001_0011(合法) 8’b_1010_1100(非法) 1.2、参数(parameter)型 用parameter来定义一个标识符代表一个常量,成为符号常量,即标识符形式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性。其说明格式如下: Parameter 参数名1=表达式,参数名2=表达式,……. 例:parameter msh=7;定义参数msh为常数7 Parameter e=25,f=29;定义两个常数参数 2、变量 2.1 wire型 Wire型数据常用来表示以assign关键字制定的组合逻辑信号。Verilog程序模块中输入、输出信号类型默认时自动定义为wire型。Wire型信号可以用作任何方程式的输入,也可以用作“assign”语句或实例元件的输出。其定义格式为: wire[n-1:0] 数据名1,数据名2,……. 2.2 reg型 reg型数据常用来表示“always”模块内的指定信号,常代表触发器。通常,在设计中要在always模块通过使用行为描述语句来表达逻辑关系,在always块内被赋值的每一个信号都必须定义为reg型。 Reg型数据的格式如下: reg[n-1:0] 数据名1,数据名2,……. 2.3 memory型 Verilog通过对reg型变量建立数组来对存储器建模,可以描述RAM型存储器、ROM型存储器和reg文件。Memory型数据是通过扩展reg型数据的地址范围来生成的。其格式为: reg[n-1:0] 存储器名[m-1:0] reg[n-1:0]定义了存储器中每一个存储单元的大小,即该存储器单元是一个n位的寄存器;存储器名后的[m-1:0] 则定义了该存储器中有多少个这样的存储器。 例reg[7:0] mema[255:0] ;定义了一个名为m
您可能关注的文档
- 外经贸函电.doc
- 外贸业务跟单心得.doc
- 外贸函电练习题 (含答案).doc
- 外研英语必修2:Module4SectionⅡ速效提能演练.doc
- 外贸商务各环节常用口语总结(二十四).doc
- 外贸磋商询盘-接受的信函.doc
- 外贸英语翻译FTA.docx
- 外贸函电练习1.doc
- 大学英语2阶段性作业4.doc
- 大学英语BB平台1-7.doc
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
文档评论(0)