您所在位置: 网站首页 / VerilogHDL重新整理.doc / 文档详情
VerilogHDL重新整理.doc 立即下载
2024-07-05
约2.9千字
约4页
0
31KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

VerilogHDL重新整理.doc

VerilogHDL重新整理.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开






VerilogHDL
一、verilogHDL设计模块的基本结构包括:模块端口定义、I/O声明、信号类型声明、功能描述。一个完整的建模结构如下:
Module模块名(端口1,端口2,端口3……);
I/O声明;
信号类型声明;
功能描述;
Endmodule
说明:
①模块端口定义用来声明设计模块名称及相应的(输入/输出)端口。
②I/O声明用来声明模块端口定义中各端口数据的流动方向,包括input、output、inout。
③信号类型声明用来声明设计电路的功能描述中所用的变量的数据类型,常用的有:wire型、reg型、integer型、parameter型。
④功能描述用来描述设计模块的内部结构和模块端口之间的关系,在电路上相当于器件的内部电路结构。功能描述可以用assign语句、元件例化、always语句块、initial语句块等方法来实现,通常把确定这些设计模块描述的方法称为建模。
用assign语句建模
用assign语句建模的方法较简单,只需要在assign后面再加一个表达式即可。Assign语句一般适合对组合逻辑进行赋值,称为连续赋值方式。
用元件例化方式建模
元件例化方式建模是利用VerilogHDL提供的元件库实现的。
用always块语句建模
Always块语句可以用于设计组合逻辑和时序逻辑,但时序逻辑必须用always语句来建模。
用initial块语句建模
Initial块语句与always语句类似,不过在程序中它只执行一次就结束了。Initial块语句主要用于设计电路的初始化操作和仿真。
二、VerilogHDL的基本词法
1、常数	VerilogHDL中的常数包括数字、未知x和高阻z3种。完整的数字程式为:
		<位宽>’<进制符号><数字>
2、VerilogHDL数据对象
常量	常量是一个恒定不变的数值,一般在程序前部定义,格式为:
		Parameter常量名1=表达式,常量名2=表达式,…….
变量	变量是在程序运行时其值可以改变的量,在VerilogHDL中,变量分为网络型和寄存器型两种,网络型变量wire型,寄存器型变量reg型和integer型。Wire型变量在assign语句和元件例化语句中赋值,而reg型变量是在always、initial等过程语句中定义,并通过过程语句赋值。
3、VerilogHDL运算符
算术运算符:+(加)、-(减)、*(乘)、/(除)
逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)
位运算:~(按位取反)、&(按位与)、|(按位或)、^(按位异或)、^~(按位同或)
关系运算符:<、>、<=、>=
等值运算符:==、===
缩减运算符:&(与)、~&(与非)、|(或)、~|(或非)、^(异或)、^~(同或)
移位运算符:》(右移)、《(左移)
条件运算符:?:
位拼接运算符:{}
4、VerilogHDL的基本语句
(1)持续赋值语句	持续赋值语句的关键词是assign,赋值符号是“=”,赋值语句的格式为:assignwire型变量=表达式;“=”两边都应该是wire型。持续赋值语句一般用来描述组合逻辑电路。
(2)过程赋值语句	过程赋值语句有阻塞赋值语句(“=”)和非阻塞赋值语句(“<=”),主要是运用于reg型变量的赋值操作。
注意:非阻塞赋值“<=”不能用于assign持续赋值语句中,而只能用于对寄存器型变量进行赋值,即在always和initial等过程块语句中;阻塞赋值“=”则既能用于assign持续赋值语句中,也能用于initial和always等过程赋值语句中。
(3)块语句		块语句有串行块语句begin-end和并行块语句fork-join。begin-end块内的语句是顺序执行的,而fork-join块内的语句是同时并行执行的。
(4)过程语句	VerilogHDL有两过程语句:initial和always过程块。一个程序模块可以有多个initial和always过程块,它们都是同时执行的。Initial语句不带触发条件,但在程序中只执行一次就结束,多用于初始化和仿真;always过程块通常带有触发条件的,当满足条件时,执行一次always过程块,always语句的格式如下:
Always@(敏感信号表达式)
上式的敏感信号可以分为两种类型:一种为边沿敏感型(关键字posedge表示上升沿,negedge表示下降沿),一种为电平敏感型。每个always过程最好只由一种类型的敏感信号来触发,而不要将边沿敏感型和电平敏感型信号列在一起。
(5)条件语句	条件语句有if条件语句和case条件语句两种,它们都是顺序语句。
(6)循环语句	VerilogHDL中用来实现循环的语句有以下四种:forever、repeat、wh
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

VerilogHDL重新整理

文档大小:31KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用