//并没有找到很全的语法,也没有很成体系的资料,就看到哪写到哪,大部分引用菜鸟教程
1).格式要求
Verilog 是区分大小写的。
格式自由,可以在一行内编写,也可跨多行编写。
每个语句必须以分号为结束符。空白符(换行、制表、空格)都没,有实际的意义,在编译阶段可忽略。
2).注释
//进行单行注释
/* */进行多行注释
3).标识符与关键字
标识符可以是一组字母、数字和_下划线组合而成,但是标识符的第一次字符必须是字母或者下划线开始。其次大小写是区分的。关键字必须是小写的。
4).整体结构
Verilog程序的最基本设计单元是“模块”,模块从关键字module开始,到endmodule结束,其中每条语句以";"分隔。
一个完整的模块由以下四个部分组成:
模块定义 :定义 模块名称、输入输出参数 列表;
定义部分 :定义不同的项,其中包括 端口类型 (input输入、output输出和inout双向端口)、 寄存器 ( reg )、连线( wire )、参数(parameter)、函数(function)和任务(task);
行为部分 :这一部分描述模块的行为和功能;
结束 :以endmodule结束
5).数值表示
Verilog的设计是按照硬件的电平逻辑设计,也就有我们所说的0或者1,高电平,低电平,真值假值。
在Verilog中,用0表示 逻辑0或者“假”;
用1表示 逻辑1或者“真”;
x或者X表示未知值(信号可能为 1,也可能为 0,不知道是不是我所理解的未知数,参数类型之类的)
z表示高阻状态,常见于信号(input, reg)没有驱动时的逻辑结果。
(
高阻状态:电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。它的极限状态可以认为悬空(开路)。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几乎是一样的。
相当于该门和它连接的电路处于断开的状态。(因为实际电路中你不可能去断开它,所以设置这样一个状态使它处于断开状态)。
意义
当门电路的输出上拉管导通而下拉管截止时,输出为高电平;反之就是低电平;如上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制 。
上拉下拉的概念 上拉电阻一般是一端接电源,一端接芯片管脚的电路中的电阻,下拉电阻一般是指一端接芯片管脚一端接地的电阻。
)