No.3 Verilog 语言要素

3-1 标识符
    任意字母、数字、‘$’和’_‘组成,标识符第一个不能是数字。

3-2 注释
   (1)/*可扩展多行*/
   (2)//本行结束

3-3 系统函数
    以$字符开始的标识符。
   (1)$display("...") //$display系统函数用新的一行字符显示指定的信息
   (2)$time //返回当前仿真时间

3-4 编译器指令
   (1)‘define和’undef  //类似于C语言
   (2)‘ifdef、‘ifndef、’else、’elseif、‘endif //条件编译
   (3)‘default_nettype //为隐式线网指定线网类型
   (4)’include //用于在代码中包含任何其他文件的内容
       ‘include "../../asim.v"
   (5)’timescale   //定义时间单位
   (6)‘restall   //讲所有的编译指令重新设置为缺省值
   (7)’line //将行号和文件名复位至指定的值

3-5 值集合
    四种基本值:0、1、x(未知)、z(高阻态)
    整型数:
   (1)简单十进制:16,32,...
   (2)基数格式:
       4‘B0_x1 ----4位二进制
       5‘O32   ----5位八进制
       4‘D2    ----4位十进制
       4‘Hx    ----4位x,即xxxx
       *位长不能是表达式,x和z在十六进制中为四位,八进制中为三位。
       *若位宽定义比数值小,则左边的多余位被相应截断,若大则填0补齐。
   (3)实数:十进制表示,科学计数法,5E-4,23_45e3...

3-6 数据类型
   (1)线网类型:结构化元件间的物理连线,缺省值为z。
    wire & tri
    wor & trior
    wand & triand
    trireg
    tri0 & tri1
    supply0 & supply1
    *未声明的线网缺省设置为1位的wire。
    *线网分为向量线网(vectored)和标量线网(scalared),其中向量线网不允许对其进行局部操作,必须整体操作。
   (2)变量类型:抽象的数据存储单元,只能在initial和always中被赋值,缺省值为x。
    reg、integer、time、real、realtimme
    reg [3:0] pus; //pus为4位的变量
    reg [0:3] memory[0:63];//memory为一个由64个四位reg变量组成的数组(存储器)
    integer: 定义整型变量
    integer run_state[0:15][0:15] //16x16的整型数组
   (3)命名事件:event  ...

3-7 参数
    参数是一个常量。
    全局参数:parameter
    局部参数:localparam
    eg: parameter N = 8;

原文地址:https://www.cnblogs.com/vilicute/p/11588272.html

时间: 2024-10-12 17:41:14

No.3 Verilog 语言要素的相关文章

Verilog语言

Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,两种HDL均为IEEE标准.Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的. Verilog是由Gateway Design Automation公司的工程师Prabhu Goel和菲尔·莫比(Phil Moorby)发明的.1990年,Gateway设计自动化被Cadence公司收

VHDL硬件描述语言学习笔记---VHDL语言要素

VHDL硬件描述语言学习笔记---VHDL语言要素,布布扣,bubuko.com

Verilog语言:还真的是人格分裂的语言

人气腹语术师天愿在现场披露了被人偶搭档夺取灵魂的腹语术师将妻子杀害的表演节目.天愿真的陷入了多重人格,命令自己杀害妻子和子的人偶的人格出现了.为了不(让自己)杀害和弟子登川有外遇的妻子,天愿提出委托想要监视,然而第二天早上,和子真的被杀害的事件发生了.天愿坦白很可能是在自己的意识失去的时候杀害的--"(----"真相只有一个"<名侦探柯南>一向是老衲喜欢的动画片)这个是第806回<腹语師的错觉>的介绍. 人有双重人格,或者叫人格分裂,那么语言呢?Ver

从RTL视图到Verilog语言-转可乐豆原创

从RTL视图到Verilog语言 曾经听过某位大牛都说:“当你的学习FPGA到一个境界的时候,你看到的硬件描述语言,将不再是单纯的语言,而是由一个个逻辑门组成的电路图,一旦达到这个境界,方能把代码写到极致!” 笔者是多么希望达到这种境界啊--,可这种境界给笔者的感觉是那么的虚无缥缈. 前段时间笔者写了一篇名叫<关于FPGA(verilog)电平检测模块的易错点分析>的博客.我仔细看了看verilog对应的RTL视图,又将RTL视图与verilog对比,突然间略有感悟. 首先奉上笔者亲手绘制的逻

用Verilog语言实现一个简单的MII模块

项目中要求简单地测试一下基于FPGA的模拟平台的RJ45网口,也就是需要实现一个MII或者RMII模块.看了一下官方网口PHY芯片的官方文档,还是感觉上手有点障碍,想在网络上找些参考代码看看,最后只在opencores找到了一些MAC层控制模块,代码庞大且复杂,对于初学者来说阅读起来很困难. 于是在此以一个初学者的角度记录一下我实现一个简单的MII模块的过程,并且指出一些实现过程中要注意的问题.希望可以帮助有需要的朋友. 为了便于测试,我选择了和我们平台使用相同物理芯片的FPGA开发板NEXYS

FPGA培训专家 V3学院 FPGA专家 带你学习Verilog语言top_down书写技巧

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家 为了提高我们代码的复用率,我们可以将不同的功能的代码分模块书写,然后在顶层连线即可.我们举一个简单的例子,如下程序,我们实现的是LED流水. 我们在led模块中先将系统时钟分频为1HZ的时钟,然后用分频后的时钟控制LED灯的流水,但我的分频和LED灯流水完全不是相同的工程,只是把分频后的时钟作为LED灯的控制时钟.这样我们会发现如果我再次用到流水灯的模块的话需要修改很多地方,那么为了让我们的模块复用率更高.更容易复用,我们

verilog语言实现TCL549(AD)转换

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家 ADC 和 DAC 是模拟量和数字量之间不可或缺的桥梁.A/D 转换器是将各种模拟信号转换为抗干扰性更强的数字信号,直接进入数字计算机进行处理. 本设计采用V3学院基础开发板,采用TCL549进行模数转换,通过数码管显示电压值.TLC549 是一个 8 位的串行模数转换器,I/O所需最大时钟为1.1MHz.A/D 转换时间最大 17us,如图1所示,TCL549引脚图,管脚8和4分别接VCC和GND,管脚1和3分别接基准电

用Verilog语言设计一个3-8译码器

case语句 if_case语句 源代码 // case语句 module decoder38(din,dout); input [2:0] din; output reg[7:0] dout; [email protected](*) begin case(din) 3'b000: dout = 8'h01; 3'b001: dout = 8'h02; 3'b010: dout = 8'h04; 3'b011: dout = 8'h08; 3'b100: dout = 8'h10; 3'b10

MiS603 开发板2.2 Verilog HDL硬件语言基础

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ 2.2 Verilog HDL硬件语言基础 2.2.1 技术背景 大规模集成电路设计制造技术和数字信号处理技术,近三十年来,各自得到了迅