- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VerilogHDL行为语句
第 7 章 Verilog HDL语言基础
7.1 Verilog HDL设计初步
Verilog HDL是一种硬件描述语言,主要用于从级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象简单的门完整的电子数字系统。Verilog语言 C语言 Verilog语言 功能 function module, function + + 加 if-then-else if-then-else - - 减 for for * * 乘 while while / / 除 case case % % 取模 break break ! ! 逻辑非 define define 逻辑与 printf printf ( ( 逻辑或 int int 大于 {,} begin,end 小于 = = 大于等于 = = 小于等于 == == 等于 != != 不等于 ~ ~ 取反 按位与 | | 按位或 ^ ^ 按位异或 左移 右移 ?: ?: 等同于if-else 从表中可以看出,Verilog语言与C语言几乎完全相同。但是作为一种硬件描述语言,Verilog语言与C语言在使用中还是有着本质的区别的:C语言是一行一行依次执行的,属于顺序结构;而Verilog语言是用语言的方式去描述物理电路的行为,在任何时刻,只要接通电源,所有电路都同时工作,因此,虽然程序语句是顺序编写的,但一旦综合成硬件电路后,各部分电路可以在同一时刻同时运行,属于并行结构。C语言的函数调用与Verilog中的模块调用也有区别,C语言调用函数是没有延迟特性的,一个函数是惟一确定的,对同一个函数的不同调用是一样的。而Verilog中对模块的不同调用是不同的,即使调用的是同一模块,也必须用不同的名字来指定。
7.1.3 基本的Verilog HDL模块
模块是的基本描述单,用Verilog语言对两输入与门的描述:
/*AND2*/
module AND2 (A,B,F ); //模块名为AND2
input A,B; //输入信号定义
output F ; //输出信号定义
and U1 (F ,A,B ); //调用门元件
endmodule
将上面的Verilog程序与原理图对照,可以对Verilog程序模块有一个比较直观的认识。Verilog模块结构完全嵌在module和endmodule关键字之间,每个Verilog程序包括4个主要部分:模块声明、端口定义、数据类型说明和逻辑功能描述。
模块声明: module 模块名(端口列表);
端口定义: input 端口名1,……端口名N;//输入端口
output 端口名1,……端口名N;//输出端口
inout 端口名1,……端口名N;//输入/输出端口
数据类型说明:wire 数据名1,……数据名N;//连线型数据
reg 数据名1,……数据名N;//寄存器型数据
……
功能描述: assign
always
function
task
……
endmodule
模块声明
在模块声明中,“模块名”是模块唯一的标识符,模块名区分大小写。端口列表是由模块各个输入、输出和双向端口组成的列表,这些端口用来与其它模块进行连接,括号中的列表以逗号“,”来区分,列表的顺序没有规定,先后自由。要注意关键字与模块名之间应留有空格,端口列表的最后要写入分号“;”。
端口定义
端口列表中所列端口要在端口定义中进行输入、输出的明确说明。输入和输出的端口名间分别以逗号“,”来区分,行末写入分号“;”。Verilog定义的端口类型有三种:input、output、inout,分别表示输入、输出和双向端口。在顶层模块中,端口对应的物理模型是芯片的管脚,在内部子模块中,端口对应的物理模型是内部连线。
数据类型说明
对模块中用到的所有信号(包括端口信号、节点信号等)都必须进行数据类型的定义。在7.2节中我们将介绍Verilog语言提供的常用信号类型,这些信号类型分别模拟实际电路中的各种物理连接和物理实体。
逻辑功能描述
模块中最重要的部分是逻辑功能描述。有3中方法可在模块中产生逻辑:
用“assign”持续赋值语句
这种方法的句法很简单,只需
您可能关注的文档
最近下载
- [信息与通信]系统级电磁兼容量化设计技术.ppt
- 2023-2024学年天津市部分区八年级上学期期中数学试题.pdf VIP
- 小学科学物体的运动作业设计.docx
- 小鲤鱼跳龙门电子版.pdf
- 湖南单招信息技术基础知识题库及答案.docx VIP
- 人教小学英语六年级上册Unit_6_How_do_you_feel_单元整体作业设计优秀案例.pdf VIP
- 【人教版】小学六年级数学上册期中复习课件.pptx VIP
- 工业自动化中的自动化清洁与环境保护.pptx VIP
- 政权分立与民族交融(第01期)(解析版)-2024年中考历史试题分类汇编(全国通用).pdf VIP
- 第五章 羽毛球:.四方球战术 “米”字形移动练习 教学设计 2022—2023学年人教版初中体育与健康九年级全一册.docx
文档评论(0)