【Verilog教程】2.1基本语法

格式

Verilog 是区分大小写的。

格式自由,可以在一行内编写,也可跨多行编写。

每个语句必须以分号为结束符。空白符(换行、制表、空格)都没有实际的意义,在编译阶段可忽略。例如下面两中编程方式都是等效的。

不换行(不推荐)

bash 复制代码
wire [1:0]  results ;assign results = (a == 1'b0) ? 2'b01 : (b==1'b0) ? 2'b10 : 2'b11 ;

换行(推荐)

bash 复制代码
wire [1:0]  results ;
assign      results = (a == 1'b0) ? 2'b01 :
            (b==1'b0) ? 2'b10 :
                2'b11 ;

注释

Verilog 中有 2 种注释方式:

用 // 进行单行注释:

bash 复制代码
reg [3:0] counter ;  // A definition of counter register

用 /* 与 */ 进行跨行注释:

bash 复制代码
wire [11:0]  addr ;
/* 
Next are notes with multiple lines.
Codes here cannot be compiled.
*/
assign   addr = 12'b0 ;

标识符与关键字

标识符(identifier)可以是任意一组字母、数字、$ 符号和 _(下划线)符号的合,但标识符的第一个字符必须是字母或者下划线,不能以数字或者美元符开始。

另外,标识符是区分大小写的。

关键字是 Verilog 中预留的用于定义语言结构的特殊标识符。

Verilog 中关键字全部为小写。

bash 复制代码
reg [3:0] counter ; //reg 为关键字, counter 为标识符
input clk; //input 为关键字,clk 为标识符
input CLK; //CLK 与 clk是 2 个不同的标识符
相关推荐
一瓢一瓢的饮 alanchan3 分钟前
通过AI自动生成springboot的CRUD以及单元测试与压力测试源码(一)
人工智能·spring boot·单元测试·压力测试·jpa·aicoder·java crud
沈二到不行11 分钟前
深入浅出 Transformers:自注意力和多头注意力的那些事儿
人工智能
aircrushin12 分钟前
【PromptCoder + Trae 最新版】三分钟复刻 Spotify 页面
前端·人工智能·后端
Phodal14 分钟前
成为超级个体:AI 时代研发人员的编程技巧与最佳实践
人工智能·程序员·ai 编程
Phodal28 分钟前
AI 辅助研发的 2024 年的 6 个实践感受与思考
人工智能·ai 编程
唐天下文化39 分钟前
第一中标人!晶科能源入围大唐集团19.5GW光伏组件集采
人工智能·5g·能源
mozun202041 分钟前
YOLOv1到YOLOv12发展概述2025.3.17
人工智能·yolo·目标跟踪·单阶段检测
ssshooter1 小时前
超越 70%:最大化 AI 开发中不可或缺的 30%
人工智能·程序员·ai 编程
2501_908123291 小时前
2025可视掏耳勺VS棉签:哪个挖耳朵更安全高效?
人工智能·计算机视觉