Verilog基本语法介绍(上)

本文详细介绍了Verilog语言的基础知识,包括模块定义中的端口声明、数据类型(wire、reg、variable)、数制表示、逻辑状态、运算符、参数使用、存储器操作、以及initial和always过程语句。

文章目录

    • 注意事项
    • 模板
    • 数制的表示
    • 特殊符号
    • 数据类型
      • 四种逻辑状态(四值逻辑)
      • 两种数据类型:
    • 参数
    • 位选择和域选择
    • 存储器
    • 运算符
    • 过程语句

注意事项

定义端口时要注意以下几点:

  • 每个端口除要声明是输入、输出还是双向端口外,还要声明其数据类型,是wire型、reg型、还是其他类型。
  • 输入端口和双向端口不能声明为reg型。
  • 在测试模块中不需要定义端口。

模板

verilog模块的模板:

module <顶层模块名> (<输入输出端口列表>);
    input 输入端口列表;  //输入端口声明
    output 输出端口列表; //输出端口声明
    /*定义数据,信号的类型,函数声明,用关键字wire、reg、task、function等定义*/
    wire 信号名
    reg 信号名
    //逻辑功能定义
    assign <结果信号名>=<表达式>; //使用assign语句定义逻辑功能
    //用always块描述逻辑功能
    always @(<敏感信号表达式>)
        begin
        //过程赋值
        //if-else,case语句,for循环语句
        //task,function调用
        end
    //调用其它模块
    <调用模块名> <例化模块名> (<端口列表>);
    //门元件例化
    门元件关键字<例化元件名> (<端口列表>);
endmodule

转义标识符,以"\"开头,以空白符结尾,可以包含任何字符。

反斜线和结束空白符并不是转义标识符的一部分,因此,标识符“\out”和标识符"out"恒等。

数制的表示

整数

  • 二进制:b或B
  • 十进制:d或D或默认
  • 十六进制:h或H
  • 八进制:o或O
+/-<位宽><进制><数字>
例如:
8'b11000101
8'hd5
5'o27
4'D2

如果没有定义一个整数的位宽,则默认为32位

实数转换为整数的方法,通过四舍五入转换为最相近的整数

verilog采用reg型变量来存储字符串

例如:
reg[8*12,1] stringvar
initial
    begin
    stringvar="hello world!";
    end

特殊符号

特殊符号 说明
\n 换行
\t Tab键
\\ 符号\
\" 符号“
\ddd 八进制数ddd对应的ASCII字符
\123       //八进制数123对应的ASCII字符是大写字母S

数据类型

四种逻辑状态(四值逻辑)

  • 0:低电平
  • 1:高电平
  • z:高阻态
  • x:不确定或未知的逻辑状态

在可综合的设计中,只有端口变量可赋值为z,因为三态逻辑仅在FPGA器件的i/o引脚中是物理存在的,可物理实现高阻逻辑。

两种数据类型:

  • net型:常用的有wire型、tri型
  • variable型:包括reg型、integer型等

net型:

net型数据相当于硬件电路中的各种物理连接,其特点是输出值紧跟输入值的变化而变化。

net型数据的值取决于驱动的值,对net型变量有两种驱动方式:

一种方式是在结构描述中将其连接到一个门元件或模块的输出端;

另一种是用持续赋值语句assign对其进行赋值。

如果net型变量没有连接到驱动,其值为高阻态z

  1. wire型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书阁下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值