【Verilog HDL数字系统设计】【笔记】Verilog HDL的基本语法

Verilog HDL 基本语法


Verilog HDL程序的基本结构

Verilog HDL程序由模块组成
一个完整的模块由模块端口定义模块内容组成
模块内容包括I/O声明信号类型声明功能表述
基本结构

module 模块名(端口定义);
	I/O声明;			//代码
	   功能描述;		//代码
endmodule

语法:

  • module 与 endmodule 定义一个模块的起始与解释
    module后跟模块名
    模块名必须以英文字母开头可以包括英文字母,数字和下划线
  • 除了endmodule,所有的语句以英文结尾结尾
  • 语句可以是单条语句,也可以是begin和end构成的复合语句 (后面会讲到)
  • 注释风格与C语言类似

模块端口定义

模块端口定义用来声明设计模块的输入/输出端口
格式:module 模块名 (端口1,端口2,端口3,···) ;
模块的端口是设计实体的对外引脚,是使用时外界可以看到的部分,多个端口之间用逗号

模块内容

模块内容用于对信号的I/O状态及信号类型进行声明,并描述模块的功能

I/O声明

模块的I/O声明用来声明各端口信号流动方向,包括输入,输出,双向
格式:

  • 输入声明
    信号位宽为1位,声明格式:input 端口1,端口2,端口3,.....
    信号位宽大于1位,声明格式:input[msb:lsb] 端口1,端口2,端口3,....

  • 输出声明
    信号位宽为1位,声明格式:output 端口1,端口2,端口3,....
    信号位宽大于1位,声明格式: output[msb,lsb] 端口1,端口2,端口3,....

  • 输入/输出声明
    inout

信号类型声明

信号类型声明用来说明电路的功能描述中所用信号数据类型
常用的信号类型有wire(连线型)reg(寄存器型)整型(integer),实型(real),时间型(time)

功能描述

功能描述是Verilog HDL程序的主要部分,在电路上相当于器件的内部结构

  • assign语句
    assign后加赋值语句,一般对组合逻辑进行描述,称为连续赋值方式
  • 实例元件实现
    利用Verilog HDL提供的元件库实现一个逻辑关系
    格式:元件名 实例化后元件名(输入/输出端)
    模块中的实例化后的元件名称必须唯一
  • always块
    常用于组合和时序逻辑的功能描述
    程序运行中,某些条件满足时,就重复执行always块中的语句
    格式:`always@(触发条件)
  • initial块实现
    与always块语句相似,但只执行一次,用于电路初始化

Verilog HDL的数据类型

Verilog HDL中共有19种数据类型

常量

程序运行过程中,值不能改变的量称为常量,分为三种:整型,实型,字符串型

整型

整型常量格式为:<位宽>'<进制><数值>
位宽:为对应的二进制宽度
进制:二进制&#x

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值