每日签到 地址发布 老王说明书 宣传中心 繁/简
此板块只作为纯讨论

正经话题,不搞色情!贤者时间必备
查看: 1.2K|回复: 0
收起左侧

[学习讨论] 【芝士】VLSI第四讲:Verilog HDL语言要素

[复制链接]
发表于 2026-7-24 11:57:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?免费注册

x
上一篇博客里我们讲了Verilog的简介、设计举例和模块结构,这一篇接着往下看,聊聊Verilog程序里的"语言要素",简单说就是组成代码的那些基本符号。

一、Verilog程序由哪些符号组成
Verilog程序本质上就是一串符号流,这些符号包括:
空白符(White space)
注释(Comments)
操作符(Operators)
数字(Numbers)
字符串(Strings)
标识符(Identifiers)
关键字(Keywords)

下面挨个简单说一下,对初学者来说搞清楚这些就够了。

二、空白符(White space)
空白符包括:空格、Tab、换行和换页。它的作用就是让代码排版好看,方便人阅读,综合器在编译时会把它忽略掉。
Verilog的格式非常自由,一行可以写几个语句,一个语句也可以拆成几行写。比如下面这两种写法是完全等价的:

//写法一:一行搞定
initial begin ina=3'b001; inb=3'b011; end

//写法二:拆开写,加点空格换行更清楚
initial
begin
    ina = 3'b001;     //用空格、换行让代码错落有致
    inb = 3'b011;
end

记住一句话:Verilog的空格在文本里只是起"分隔符"的作用,没有其他用处。

三、注释(Comments)
注释对写代码来说非常重要,能让以后再看代码的人(包括你自己)一眼就明白这段在干嘛。Verilog的注释方法和C语言完全一致:
单行注释:用 // 开头,这一行后面都被忽略
多行注释:用 /* ... */ 包围起来,中间的内容都被忽略

// 单行注释举例
wire a;       //这也是注释

/* 多行注释
   可以写好几行
   用来解释一大段代码 */
好的源程序一定要记得加注释,不然过两个星期你自己都看不懂。

四、标识符(Identifiers)
标识符就是你自己给东西起的名字,模块名、端口名、变量名这些都是标识符。
命名规则:
可以是字母、数字、$ 和 _(下划线)的组合
第一个字符必须是字母或者下划线,不能是数字
区分大小写(Count 和 count 是两个不同的标识符)

//合法的标识符
shift_reg_a
busa_index
bus
_count

//非法的标识符
30count      //错:不能以数字开头
a*b_net      //错:不能含有 * 这种字符
n@           //错:不能含有 @

特别注意一点:Verilog是大小写敏感的,并且所有的关键字都是小写的,所以写always不能写成Always,写module不能写成Module。

五、转义标识符
转义标识符比较特殊,用反斜杠 \ 开头,以空格结束,可以包含任何可打印的ASCII字符,主要是为了解决一些特殊场景下的命名问题,比如一些工具生成的信号名带特殊字符。普通写代码很少用到,简单了解就行:
\~#@sel
\bus+index
\{A,B}

六、关键字(Keywords)
关键字就是Verilog语言自己"占用了"的那些词,always、module、wire、assign这些都是关键字,我们自己不能再用这些词来给变量起名字。关键字全部都是小写形式,这点一定要记住。下面列出一些常见的关键字:
module, endmodule
input, output, inout
wire, reg
assign
always, initial
begin, end
if, else, case, endcase
for, while, repeat
and, or, not, xor
parameter
……(还有很多,用到的时候查一下就行)

七、小结
这一篇主要讲了Verilog的语言要素,也就是构成代码的最基本的几类符号:
空白符只起分隔作用
注释分单行 // 和多行 /* */
标识符第一个字符必须是字母或下划线,区分大小写
关键字都是小写,不能拿来做变量名

下一篇打算写写Verilog里的常量和数据类型,那部分也是基础但内容很多,先把语言要素这块理清楚再看后面的会轻松很多。


评分

参与人数 1软妹币 +150 收起 理由
navebayes + 150

查看全部评分

本帖被以下淘专辑推荐:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
点击进行验证

本版积分规则

我们不生产资源,只做资源的搬运工。

广告合作-tags标签-app下载-Archiver-小黑屋-