Categories: Verilog 教程

Verilog 基础语法

格式

Verilog 是区分大小写的。

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

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

不换行(不推荐)

wire [1:0]  results ;assign results = (a == 1b0) ? 2b01 : (b==1b0) ? 2b10 : 2b11 ;

换行(推荐)

wire [1:0]  results ;
assign      results = (a == 1b0) ? 2b01 :
            (b==1b0) ? 2b10 :
                2b11 ;

注释

Verilog 中有 2 种注释方式:

用 ​//​ 进行单行注释:

reg [3:0] counter ;  // A definition of counter register

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

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

标识符与关键字

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

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

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

Verilog 中关键字全部为小写。

reg [3:0] counter ; //reg 为关键字, counter 为标识符
input clk; //input 为关键字,clk 为标识符
input CLK; //CLK 与 clk是 2 个不同的标识符

唐伯虎点蚊香

前端小白,想各位学习!

Share
Published by
唐伯虎点蚊香

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

4 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago