第3章 Verilog HDL的基本语法
- 格式:ppt
- 大小:1.28 MB
- 文档页数:156


1EDAEDA应用技术应用技术
3.1 引言
3.2 Verilog HDL基本结构
3.3 数据类型及常量、变量
34运算符及表达式第3章硬件描述语言Verilog HDL
3.8 循环语句
3.9 结构说明语句
3.10 编译预处理语句
3.11 语句的顺序执行与并行执行
3.12 不同抽象级别的Verilog HDL模型
3.13 设计技巧3.4 运算符及表达式
3.5 语句
3.6 赋值语句和块语句
3.7 条件语句
3-2
3.1 引言
什么是VilHDL内容概要
一、什么是Verilog HDL
二、Verilog HDL的发展历史
三、不同层次的Verilog HDL抽象
四、Verilog HDL的特点
3-33.1 引言
一、什么是VerilogHDL
VerilogHDL是一种用于数字逻辑电路设计的硬件描述
语言(HradwareDescriptionLanguage),可以用来进
行数字电路的仿真验证、时序分析、逻辑综合。
¾用VerilogHDL描述的电路设计就是该电路的Verilog
HDL模型。
¾VerilogHDL既是一种行为描述语言也是一种结构描述
语言。
既可以用电路的功能描述,也可以用元器件及其之间的
连接来建立VerilogHDL模型。
3-4
3.1 引言
二、VerilogHDL的发展历史
1983年,由GDA(GateWayDesignAutomation)公
司的PhilMoorby首创;
1989年,Cadence公司收购了GDA公司;
1990年,Cadence公司公开发表VerilogHDL;
1995年,IEEE制定并公开发表VerilogHDL1364-
1995标准;
1999年,模拟和数字电路都适用的Verilog标准公开
发表
3-53.1 引言
三、不同层次的VerilogHDL抽象
VerilogHDL模型可以是实际电路的不同级别的抽象。
抽象级别可分为五级:
¾系统级(system level): 用高级语言结构(如case语句)
第三章 Verilog-HDL中的语句
1.基本语句
1.1赋值语句
赋值语句分为连续赋值语句和过程赋值语句。
1.1.1连续赋值语句
1.连续赋值语句用于把值赋给wire型变量(不能为reg型变量赋值)。
语句形式为:assign A = B & C;
a.只要在右端表达式的操作数上有事件(事件为值的变化)发生时,表达式即被计算;
b.如果计算的结果值有变化,新结果就赋给左边的线网。
2.连续赋值的目标类型
标量线网 wire a;
向量线网 wire [7:0] a;
向量线网的常数型位选择 a[1]
向量线网的常数型部分选择 a[3:1]
上述类型的任意的拼接运算结果 {3a[2],a[2:1]}
注:多条assign语句可以合并到一起。
3.线网说明赋值
连续赋值可作为线网说明本身的一部分。这样的赋值被称为线网说明赋值。如:
wire Clear = 'b1;
等价于 wire clear;
assign clear=‘b1;
1.1.2 过程赋值语句
1.
a.过程性赋值是仅仅在initial语句或always语句内的赋值
b.它只能对reg型的变量赋值。表达式的右端可以是任何表达式。
c.过程性赋值分两类:阻塞性过程赋值 =
非阻塞性过程赋值<=
2.语句内部时延与句间时延
a.在赋值语句中表达式右端出现的时延是语句内部时延。
Done = #5 1'b1;
b.通过语句内部时延表达式,右端的值在赋给左端目标前被延迟。即右端表达式在语句内部时延之前计算,随后进入时延等待,再对左端目标赋值。
c.对比以下语句间的时延
begin
Temp = 1'b1;
#5 Done = Temp; //语句间时延控制
end
3.阻塞性过程赋值
第 1 页 共 9 页 FPGA笔记之verilog语言(基础语法篇)
笔记之verilog语言(基础语法篇)
写在前面:
verilogHDL语言是面对硬件的语言,换句话说,就是用语言的形式来描述硬件线路。因此与等软件语言不同,假如想要在实际的中实现,那么在举行verilog语言编写时,就需要提前有个硬件电路的构思和主意,同时,在编写verilog语言时,应当采纳可综合的语句和结构。
1. verilog 的基础结构
1.1 verilog设计的基本单元——module
在数字电路中,我们经常把一些复杂的电路或者具有特定功能的电路封装起来作为一个模块用法。以后在运用这种模块化的封装时,我们只需要知道:1.模块的输入是什么;2.模块的输出是什么;3.什么样的输入对应什么样的输出。而中间输入是经过什么样的电路转化为输出就不是我们在用法时需要特殊重视的问题。当无数个这样的模块互相组合,就能构成一个系统,解决一些复杂的问题。verilog语言的基础结构就是基于这种思想。verilog中最基本的模块是module,就可以看做是一个封装好的模块,我们用verilog来写无数个基本模块,然后再用verilog描述多个模块之间的接线方式等,将多个模块组合得到一个系统。
那么一个module应当具有哪些要素呢?首先对于一个module,我们应当设计好其各个I/O,以及每个I/O的性质,用于与模块外部的信号相联系,让用法者知道如何连线。第二,作为开发者,我们需要自己设计模块内部的线路来实现所需要的功能。因此需要对模块内部浮现的变量举行声明,同时通过语句、代码块等实现模块的功能。综上所述,我们把一个module分成以下五个部分:
模块名
端口定义
I/O解释
中文版Verilog HDL简明教程
Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象
设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和
完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地
进行时序建模。
Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、
设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所
有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口
PLI,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体
控制和运行。
Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰
的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行
验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展
的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集
非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描
述语言足以对从最复杂的芯片到完整的电子系统进行描述。
1
第1章 简介
Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象
设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和
完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地
进行时序建模。
Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、
设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有
这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通
过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运
行。
Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰