【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 个不同的标识符
相关推荐
phltxy几秒前
LangGraph智能租房助手实践
大数据·人工智能·python·深度学习·语言模型·langchain
zqrgkjyxgs5 分钟前
GEO垂直行业实战:医疗、制造、教育、金融的分行业差异化优化策略
大数据·人工智能·搜索引擎
winrisef5 分钟前
ChatGPT/Codex最新版本出错了,无法进入解决方案
人工智能·语言模型·chatgpt·codex
rain_sxr5 分钟前
部分 JSON 的增量解析:Function Calling 流式输出的前端执行策略
人工智能
OpenApi.cc6 分钟前
Mocode 开发文档平台
人工智能·深度学习·目标检测·自然语言处理·语音识别
Promise微笑7 分钟前
电力电缆故障分类与精准定位:物理机制、诊断挑战及前沿技术
人工智能·分类·数据挖掘
GrepowTattu8 分钟前
智能护膝与外骨骼设备为什么需要异形定制电池?
人工智能·智能穿戴
夜影风13 分钟前
我国AI智能体产业发展洞察:为何能在AI应用层实现“换道超车“
大数据·人工智能
是店小二呀16 分钟前
NanoPi R4S怎么搭私人云盘?iStoreOS与WebDAV完整教程
数据库·人工智能
阳光是sunny23 分钟前
LangGraph 核心概念详解:从编译到可视化
前端·人工智能·后端