Verilog HDL(西电版)第一章
西安电子科技大学verilog教程
西安电子科技大学
雷达信号处理国防科技重点实验室
Verilog 数字系统设计教程
第一讲 Verilog 的基本概念
宋万杰
西安电子科技大学 雷达信号处理国家重点实验室
1.1 硬件描述语言HDL
• 硬件描述语言HDL(Hardware Description Language)是 硬件设计人员和电子设计自动化(EDA)工具之间的接
2013-8-7
16
西安电子科技大学
雷达信号处理国防科技重点实验室
第一竞争对数字系统提出了越来越高的 要求,特别是需要设计具有实时信号处理能力的专用 集成电路,要求把包括多个CPU内核的整个电子系统 综合到一个芯片(SOC)上。 VHDL和Verilog HDL这两种工业标准的产生 顺应了历史的潮流,因而得到了迅速的发展。作为新 世纪的中国大学生应该尽早掌握这种新的设计方法, 使我国在复杂数字电路及系统的设计竞争中逐步缩小 与美国等先进的工业发达国家的差距。为我国新世纪 的深亚微米千万门级的复杂系统的设计培养一批技术 骨干。
2013-8-7 2
西安电子科技大学
雷达信号处理国防科技重点实验室
课时及考试安排
授课时数:30课时 上机时数;14课时
考试时数:90分钟
成绩计算:大作业*40%+考试*60%
2013-8-7
3
西安电子科技大学
雷达信号处理国防科技重点实验室
课程内容安排
第一部分 初级篇
第一章. 概述及设计工具介绍 第二章. Verilog HDL的基本知识 第三章. Verilog HDL基本概念 第四章. 常用Verilog语法之一 第五章.常用Verilog语法之二 第六章.常用Verilog语法之三 第七章.常用Verilog语法之四 第八章.常用Verilog语法之五
VerilogHDL基础语法入门
1) $dumpfile(“file.dump”); //打开记录数据变化的数据文件
2) $dumpvars();
//选择需要记录的变量
3) $dumpflush; //把记录在数据文件中的资料转送到硬盘保存
4) $dumpoff;
//停止记录数据变化
5) $dumpon;
//重新开始记录数据变化
模块的抽象
技术指标:
用文字表示 用算法表示 用高级行为的Verilog模块表示
RTL/功能级:
用可综合的Verilog模块表示
门级/结构级:
用实例引用的Verilog模块表示
版图布局/物理级:
用几何形状来表示
行为综合 综合前仿真
逻辑综合
综合后仿真 布局布线
第三部分.简单的 Verilog HDL 模块
转换为门级电路互连的电路结构(综合)。 ▪ 需要对已经转换为门级电路结构的逻辑
进行测试(门级电路仿真)。 ▪ 需要对布局布线后的电路结构进行测试。
(布局布线后仿真)。
模块的测试
激励和控 制信号
被测模块
输出响应 和验证
模块的测试
测试模块常见的形式:
module t; reg …; //被测模块输入/输出变量类型定义 wire…; //被测模块输入/输出变量类型定义 initial begin …; …; …; end … …//产生测试信号 always #delay begin …; end … …//产生测试信号
▪ Verilog HDL的构造性语句可以精确地建立信号的 模型。这是因为在Verilog HDL中,提供了延迟和输出 强度的原语来建立精确程度很高的信号模型。信号值 可以有不同的的强度,可以通过设定宽范围的模糊值 来降低不确定条件的影响。
[工学]西安电子科技大学verilog教程1-2
西安电子科技大学
雷达信号处理国防科技重点实验室
2. 数字信号处理
数字信处理系统往往要进行一些复杂的数字运算和数据处理, 并且又有实时响应的要求,他们通常是由高速专用数字逻辑系统或专 用数字信号处理器所构成,电路是相当复杂的。因此只有在高速大规 模集成电路设计制造技术进步的基础上,才有可能实现真正有意义的 实时数字信号处理系统。对实时数字信号处理系统的要求不断提高, 也推动了高速大规模集成电路设计制造技术的进步。现代专用集成电 路的设计是借助于电子电路设计自动化(EDA)工具完成的。学习和 掌握硬件描述语言(HDL)是使用电子电路设计自动化工具的基础。
• 由传统的观点出发,可以从三个不同的方面来研究计算,即从数 学、科学和工程的不同角度;由比较现代的观点出发,可以从四 个主要的方面来研究计算,即从算法和数据结构、编程语言、体 系结构、软件和硬件设计方法学。
• 一个复杂的数字系统设计往往是从算法到由硬线连接的门级逻辑 结构,再映射到硅片的逐步实现的过程。
&Moorby,刘明业等译。
西安电子科技大学
雷达信号处理国防科技重点实验室
课时及考试安排
授课时数:30课时 上机时数;14课时 考试时数:90分钟 成绩计算:大作业*40%+考试*60%
西安电子科技大学
雷达信号处理国防科技重点实验室
课程内容安排
第一部分 初级篇
第一章. 概述及设计工具介绍 第二章. Verilog HDL的基本知识 第三章. Verilog HDL基本概念 第四章. 常用Verilog语法之一 第五章.常用Verilog语法之二 第六章.常用Verilog语法之三 第七章.常用Verilog语法之四 第八章.常用Verilog语法之五
VerilogHDL入门教程
VerilogHDL入门教程第一部分:Verilog HDL概述(约200字)Verilog HDL是一种硬件描述语言,用于描述和建模数字电路和系统。
它是一种被广泛使用的硬件设计语言,特别适合用于逻辑设计和验证。
Verilog HDL提供了一种形式化的方式来表示数字电路和系统的行为和结构,使得工程师可以更轻松地进行硬件设计和验证。
第二部分:Verilog HDL基础(约400字)在Verilog HDL中,最基本的组成单元是模块。
模块是Verilog HDL中的一个独立的、可重用的单元,可以由其他模块实例化和连接。
每个模块由端口(输入和输出)和内部功能(如逻辑代码和信号声明)组成。
module and_gate(input a, input b, output y);assign y = a & b;endmodule这个模块表示一个与门,它有两个输入a和b,一个输出y。
使用assign语句,我们将输出y连接到输入a和b的逻辑与操作。
第三部分:Verilog HDL高级特性(约400字)除了基本的模块和连接之外,Verilog HDL还提供了一些高级特性,用于更复杂的电路建模和验证。
一种特殊的构造是always块。
always块用于描述模块内的行为,基于一个条件或时钟信号的变化。
例如,下面是一个使用always块的模块示例:module counter(input clk, input enable, output reg count);if (enable)count = count + 1;endendmodule这个模块表示一个简单的计数器,在时钟上升沿时根据enable信号增加计数器的值。
Verilog HDL还支持层次化的建模,允许将模块层次化地组织起来,以便更好地管理和复用代码。
层次化建模通过使用模块的层次命名和连接来实现。
例如,我们可以将上面的计数器模块实例化为另一个模块,如下所示:module top_module(input clk, input enable, output reg count);countercounter_inst(.clk(clk), .enable(enable), .count(count));endmodule这个模块实例化了上面定义的计数器模块,并将其内部信号和端口连接到外部接口。
第一讲 HDL语言概述
常见数字系统: 常见数字系统:微处理机系统,数字信号处理系统, 数字通信系统,数字编解码和加解密电路,数字多功 能智能接口等.目前数字系统单片等效逻辑门总数达 到几百甚至几千万门的已较常见.
Verilog硬件描述语言概述 第一讲 Verilog硬件描述语言概述
Verilog硬件描述语言概述 第一讲 Verilog硬件描述语言概述
西安邮电学院通信工程系
为什么要用硬件描述语言来设计? 为什么要用硬件描述语言来设计?
使用HDL语言设计具有如下优点: 能形式化地抽象表示电路的结构和行为,便于人和计算机 理解; 支持逻辑设计中不同层次和领域的描述; 可以借用类似计算机软件高级语言的方法简化电路的描述; 具有电路仿真与验证机制以保证设计的正确性; 支持电路描述由高层到低层的综合转换; 硬件描述与实现工艺无关; 便于文档管理,易于理解和设计重用.
Verilog硬件描述语言概述 第一讲 Verilog硬件描述语言概述
西安邮电学院通信工程系
VerilogHDL与VHDL建模能力的比较 VerilogHDL与VHDL建模能力的比较
行为级 的抽象 系统级 Verilog VHDL
算法级
寄存器传输级
逻辑门级 VITAL 开关电路级
VerilogHDL 与 VHDL 建 模 能 力 的 比 较
Verilog硬件描述语言概述 第一讲 Verilog硬件描述语言概述
西安邮电学院通信工程系
Verilog HDL特点 特点1 特点
Verilog HDL是一种用于数字逻辑电路描述的语言, 主要用于逻辑电路的建模,仿真和设计. 用 Verilog HDL 描 述 的 电 路 设 计 就 是 该 电 路 的 Verilog HDL模型. Verilog HDL 既是一种行为描述的语言也是一种结 构描述的语言.既可以用电路的功能描述也可以用 元器件和它们之间的连接来建立所设计电路的 Verilog HDL模型. Verilog模型可以是实际电路的不同级别的抽象.这 些抽象的级别和它们对应的模型类型共有以下五种
Verilog HDL介绍
【例3】1位全加器电路(always)
Module Fulladder (A, B, Cin, Sum, Cout) ; input A, B, Cin ; output Sum, Cout ; reg Sum, Cout ; reg T1, T2, T3 ; //数据类型说明 always @(A or B or Cin) begin Sum = (A ^ B) ^ Cin ; T1 = A & B ; T2 = A & Cin ; T3 = B & Cin ; Cout = (T1 | T2) | T3 ; end // 多条语句时必须要begin-end
endmodule
行为描述方式
•行为功能常使用下述过程语句结构描述: 1) initial语句:此语句只执行一次; Used to initialize behavioral statements for simulation(Not supported by synthesis) 2) always语句:此语句总是循环执行。 Used to describe the circuit functionality using behavioral statements
什么是Verilog
• Verilog HDL是硬件描述语言的一种,
用于数字电子系统设计。设计者可用它 进行各种级别的逻辑设计,可用它进行 数字逻辑系统的仿真验证、时序分析和 逻辑综合。它是目前应用最广泛的一种 硬件描述语言。
设计中心 Verilog历史
Verilog HDL是在1983年,由GDA(Gateway Design Automation)公司的Phil Moorby首创的。Phil Moorby后 来成为Verilog-XL的主要设计者和Cadence公司的第一 个合伙人。 在1984—1985年间,Moorby设计出了第一个关于 Verilog-XL的仿真器。 1989年,Cadence公司收购了GDA公司, Verilog HDL 语言成为Cadence公司的私有财产。 1990年,Cadence公司决定公开发表Verilog HDL语言, 于是成立了OVI组织来负责Verilog HDL语言的发展。 基于Verilog HDL的优越性,IEEE于1995年制定了 Verilog HDL的IEEE标准,即IEEE std 1364—1995。
VerilogHDL第一讲绪论
1. 能形式化地抽象表示电路的行为和结构 2. 支持逻辑设计中层次与范围地描述 3. 可借用高级语言地精巧结构来简化电路行 为和结构;具有电路仿真与验证机制以保证设 计的正确性 4. 支持电路描述由高层到低层的综合转换 5. 硬件描述和实现工艺无关 6. 便于文档管理 7. 易于理解和设计重用——这点很重要啊
1.2VHDL介绍 介绍
VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是 超高速集成电路硬件描述语言.因此它 的应用主要是应用在数字电路的设计中. 目前,它在中国的应用多数是用在 FPGA/CPLD/EPLD的设计中.当然在一些 实力较为雄厚的单位,它也被用来设计 ASIC.
VHDL诞生于1982年. 在1987年底,VHDL被IEEE和美国国防部确认为 标准硬件描述语言 .VHDL语言是一种用于电路 设计的高级语言.最初是由美国国防部开发出 来供美军用来提高设计的可靠性和缩减开发周 期的一种使用范围较小的设计语言 .但是,由 于它在一定程度上满足了当时的设计需求,于 是他在1987年成为ANSI/IEEE的标准(IEEE 1987 ANSI/IEEE IEEE STD 1076-1987). 1993年更进一步修订,变得更加完备,成为 ANSI/IEEE的ANSI/IEEE STD 1076-1993标准. 目前,大多数的CAD厂商出品的EDA软件都兼容 了这种标准.
1.6用硬件描述语言设计复杂数字 用硬件描述语言设计复杂数字 电路的优点
以前的数字逻辑电路及系统的规模的比较小而且简单, 用电路原理图输入法基本足够了.但是一般工程师需 要手工布线,需要熟悉器件的内部结构和外部引线特 点,才能达到设计要求,这个工作量和设计周期都不 是我们能想象的.现在设计要求的时间和周期都很短, 用原理图这个方法显然就不符合实际了. Verilog设计法与传统的电路原理图输入法的比较:一 个是设计周期明显变短,另外硬件描述语言和工艺是 无关的,这个就大大减小了工作量.和硬件相关的一 些约束,对芯片的一些要求都可以交给EDA工具去做, 大大的加快了设计速度,减少了工程师的工作量,从 而提高了设计的××(不知道怎么描述了).
Verilog HDL 1
●能够描述层次设计,可使用模块实例结构描述 任何层次。
●设计的规模可以是任意的,语言不对设计的规 模(大小)施加任何限制。 ● Verilog HDL是IEEE标准而不再是某些公司 的专有语言,语言标准都是公开的。人和机器都 可阅读Verilog HDL 语言,因此它可作为EDA 的工具和设计者之间的交互语言。
模块的实际意义是代表硬件电路上的逻辑实体 (即实现特定逻辑功能的一组电路),其范围可 以从简单的门到整个大的系统,比如计数器、存 储子系统、微处理器等;
每个模块都实现特定的功能(一般来说最底层模 块的功能都比较简单); 模块的描述方式有行为建模和结构建模(或二者 结合)之分;
模块之间是并行运行的;
和C语言类似,Verilog HDL也有预处理指令,预处理指 令是以反引号“`”开始的某些标识符,它们指示编译器 执行某些操作。预处理指令通常应当出现在Verilog HDL文件的最开始几行。 Verilog HDL共有8组预处理指令: `define, `undef `ifdef, `else, `endif `include `timescale `resetall `default_nettype `unconnected_drive, `nounconnected_drive `celldefine, `endcelldefine
1.4.2 模块调用
在做模块划分时经常会出现这种情形:某个大的 模块中包含了一个或多个功能子模块。Verilog HDL是通过“模块调用”或称为“模块实例化” 的方式实现这些子模块与高层模块的连接的。 [例1-2] 为与门建模。通过将一个NAND门的输 出连到另一个NAND门的两个输入上可得到一 个与门,可以把这个与门看作“顶层”模块,例 1-1中的NAND模块可以看作是本例的子模块。 图1-3所示为本例示意图。
精品课件Verilog HDL数字设计教程-第1章 Verilog HDL数字设计综述
▪ 1.1 电子系统设计技术的发展 ▪ 1.2 数字系统典型设计流程 ▪ 1.3 HDL语言的发展、特点与应用 ▪ 1.4 Quartus II概述 ▪ 1.5 硬件描述语言的发展趋势 ▪ 1.6 小结
1.1 电子系统设计技术的发展 图1-1 理想的自顶向设计流程
1.2 数字系统典型设计流程
1.设计输入 2.综合 3.布线布局(适配) 4.仿真 5.下载和硬件测试
1.3 HDL语言的发展、特点与应用
常见的2种HDL语言: 1.Verilog HDL 2.VHDL
1.3 HDL语言的发展、特点与应用
系统级 算法级 寄存器传输级 逻辑门级 开关电路级
System Verilog
VHDL Verilog
VITAL
图 1-4 Verilog HDL与VHDL建模能力的比较
1.4 Quartus II概述
图形或 HDL编辑
Analysis & Synthesis (分析与综合)
设计 输入
综合或 编译
Filter (适配器)
Assembler (编程文件汇编)
Timing Analyzer (时序分析器)
作业
▪ P12 T1、2、3、4
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
一一一一谢谢大家!!
1.2 数字系统典型设计流程
电路图 设计文件
HDL 设计文件
电路 功能仿真
Байду номын сангаас
N
Y
正确?
综合
HDL 功能仿真
N 正确?
Y
确定实现 电路的库
与实现逻辑的物理器件 有关的工艺技术文件
第1章 Verilog HDL入门
Verilog HDL 是硬件描述语言的一种,它是 目前应用最广泛的一种硬件描述语言,用于数字 系统的设计。设计者用它进行数字逻辑系统的仿 真模拟、时序分析、逻辑综合。
1.2.2 Verilog HDL的发展历史
1980`s
Verilog-XL 诞生
Verilog IEEE 1364-2005……
2001 Verilog EEE1364-2001 标准公开发表
1989 Cadence 公司购买 Verilog HDL的版权
1999 模拟和数字都适用的 Verilog 标准公开发表
1990 Verilog HDL 公开发表
1995 Verilog IEEE1364 标准公开发表
1990有关Verilog HDL的 全部权利都移交给OVI(Open Verilog International)组织
1.3复杂数字系统的设计方法
1.3.1 什么是复杂数字逻辑系统
• 嵌入式微处理机系统 • 数字信号处理系统 • 高速并行计算逻辑 • 高速通信协议电路 • 高速编码/解码、加密/解密电路 • 复杂的多功能智能接口 • 门逻辑总数超过几万门达到几百甚至达几千万门的数
字系统
1.3.2 传统的设计方法
1.4 典型设计流程
Top-Down 设计思想 Top-Down 设计思想
系统级设计
模块A
模块B
模块C
模 块 A11
模 块 B2
模 块 B3
模 块 C1
模 块 C2
用EDA设计数字系统的典型流程
设计要求 电路图设计 电路功能仿真 HDL设计 HDL功能仿真 逻辑综合、时序 验证 工艺文 件 优化、布局布线 布线后门级仿真
采用Verilog HDL输入法时,由于 Verilog HDL的标准化,可以很容易把完成 的设计进行移植到不同厂家的不同芯片。 采用Verilog HDL输入法最大的优点是其与 工艺无关性。
Verilog HDL基础知识
心 中 数据类型定义:寄存器型(有保持功能)
实验缺省:wire导线型 系 电时钟上升沿执行下面语句块:描述时序
语句 begin
信
块
描述组 合电路
if (reset) q<=0;//清学0
else q<=
q
+
大 cin浙; 江//计数或保持
reset cin clk
cout 8
end
assign cout=&q && cin; // 进位
浙
true_expression:false_expression;
例,2选1的MUX:
out=sel?in1:in0
电
input[N:1]
in0,in1;
信 学
输入、输出端口描述
--描述外部特性
input sel;
大
assign out=sel浙?i江n1:in0;
endmodule
逻辑功能描述 --描述内部特性
程序为模块结构,包含在module与endmodule之间
8 out
第8页
例0.2 4位二进制加法计数器(带同步清0) 1、功能描述:
其功能,隐藏其具体的细节实现。 心
•提高逻辑设计的效率,降低设计成验本中,更重要的是缩
短设计同期。
实
系
•可读性强,易修改。
电
信
学
注意
大 江
浙
HDL追求对硬件的全面描述,而将HDL描述在目标器件上实现是
由EDA工具软件的综合器完成。受限于目标器件,并不是所有Verilog
HDL语句均可被综合。
第6页
0.2 Verilog HDL的基本结构
Verilog HDL(1_4)
Y1 = G1 G2 A G2 B D2 D1 D0 Y3 = G1 G2 A G2 B D2 D1 D0 Y5 = G1 G2 A G2 B D2 D1 D0
Y6 = G1 G2 A G2 B D2 D1 D0
Y7 = G1 G2 A G2 B D2 D1 D0
10
3-8译码器逻辑图 译码器逻辑图
X X X 0 0 0 0 1 1 1 1
X X X 0 0 1 1 0 0 1 1
X X X 0 1 0 1 0 1 0 1
1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 0 1 1 1
4
自顶向下(Top-Down)设计思想 设计思想 自顶向下
系统级设计
模块A 模块
模块B 模块
模块C 模块
模块A1 模块
模块A2 模块
模块A3 模块
模块B1 模块
模块B2 模块
模块C1 模块
模块C2 模块
5
设计方法为RISC-CPU划分模块 用Top-Down设计方法为 设计方法为 划分模块
RISC_CPU
1987年成为ieee标准veriloghdl与vhdl区别vhdlvhsichardwaredescriptionlanguagevhsicveryhighspeedintegratedcircuit自顶向下topdown设计思想系统级设计模块a模块b模块c模块a1模块a2模块a3模块b1模块b2模块c1模块c2用topdown设计方法为risccpu划分模块risccpuclkgenregisteraccumalucontroldatactladrcountermachinectlmachinerisccpu的树型结构图hdl设计流程图hdl设计文件hdl功能仿真hdl综合优化布局布线布线后门级仿真电路制造工艺文件与物理器件有关的布线约束等工艺技术文件确定实现电路的具体库名指定综合生成的网表类型没问题有问题没问题有问题fpga码流文件38译码器真值表选通输入二进制输入译码输出g1g2ag2bd2d1d0y0y1y2y3y4y5y6y738译码器符号图1038译码器状态方程1138译码器逻辑图ng2ang2b1238译码器波形图1338译码器veriloghdl结构描述moduledecoder38g1g2ag2boutput7
VerilogHDL硬件描述-1
2019年11月16日
13
Verilog HDL设计复杂数字电路的优点
• 硬件描述语自身就是设计规格书。 • 可以在设计初期发现错误。 • 可以进行仿真。而且,仿真可以在电路系统不同的
层次进 行。
• 可以直接作为逻辑综合的输入数据。 • 设计的文档化。
可以大大提高硬件的生产效率
Verilog HDL硬件描述语言
Hardware Description Language(HDL)
西安理工大学电子工程系
2019年11月16日
1
HDL的来历
HDL是“硬件描述语言”Hardware Description Language 的缩写(不是“硬件设计语言”Hardware Design Language 的缩写)。
• 软核:IP软核通常是用 HDL文本形式提交给用户,它经过RTL
级设计优化和功能验证,但其中不含有任何具体的物理信息。
• 据此,用户可以综合出正确的门电路级设计网表,并可以进 行
后续的结构设计,具有很大的灵活性,借助于EDA综合工具可 以很容易地与其他外部逻辑电路合成一体,根据各种不同半导 体工艺,设计成具有不同性能的器件。
基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL1364-1995。
2019年11月16日
3
HDL的来历
2019年11月16日
4
Verilog HDL和VHDL的比较
共同特点:
能形式化地抽象表示电路的结构和行为; 支持逻辑设计中层次描述; 具有电路仿真与验证机制; 支持电路描述由高层到低层的综合转换; 硬件描述与实现工艺无关; 便于文档管理、易于理解和设计重用。
Verilog HDL第一讲
设计输入
行为描述是一种较为抽象的描述,它仅说明一个设计想要实现的功 能,但不对该设计如何执行这些功能进行描述,亦不提供任何有关 硬件结构的信息。
寄存器传输级(RTL, register transfer level)描述又称数据 流描述,其抽象程度较行为描述低,描述数据在寄存器之间流动和 如何处理这些数据的模型,通过数据的传送和变换体现出所要实现 的行为功能。在这一层的描述中包含了电路结构及时钟的有关信息, 但仍是独立于工艺之外的,不受实现方法的限制。
门级描述直接描述逻辑门以及逻辑门之间连接关系。
开关级描述器件中三极管、储存节点以及它们之间的连接关系。
6
设计输入----Verilog HDL中的描述层次
Behavioral Models
(function only)
Abstract
if enable is true
Models
for (i=0; i<=15; i=i+1)
sized pieces.
Logic synthesis. Use an HDL (VHDL or Verilog) and a
logic synthesis tool to produce a netlist —a description of the logic cells and their connections.
低层综合工具以门级、开关级或逻辑描述作为输入,执行 逻辑优化,映射器件选择。不同体系结构的逻辑器件在逻 辑综合过程中需要采用不同的优化算法,以发挥出器件的 最高性能。
目前RTL综合和低层逻辑综合工具已发展得比较成熟,并
已在VLSI设计中得到广泛应用。高层综合由于其抽象程
度较高,仍处在迅速发展之中,是当代电子设计领域的研
Verilog_HDL教程1
Verilog HDL教程提纲:第一节Verilog简介第二节HDL入门指南第三节Verilog语言要素第四节Verilog中的表达式第五节门级电路模型化第六节Verilog编码技术第七节设计练习进阶(10个设计例子和分析)第一节Verilog简介Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。
被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。
数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。
V erilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。
所有这些都使用同一种建模语言。
此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。
V erilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。
因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。
语言从C编程语言中继承了多种操作符和结构。
Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。
但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。
当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。
历史:Verilog HDL语言最初是于1983年由Gateway Design Automation公司为其模拟器产品开发的硬件建模语言。
那时它只是一种专用语言。
由于他们的模拟、仿真器产品的广泛使用,Verilog HDL 作为一种便于使用且实用的语言逐渐为众多设计者所接受。
在一次努力增加语言普及性的活动中,Verilog HDL语言于1990年被推向公众领域。
Open Verilog International (OVI)是促进Verilog发展的国际性组织。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20世纪80年代(第二次变革时期)是标准工艺加工线
(Foundry)公司与IC设计公司共同发展的阶段,主流产品是 MPU、微控制器(Micro Control Unit,MCU)及专用
IC(Application-Specific IC,ASIC)。这时,Foundry和IC设
计公司相结合的方式开始成为集成电路产业发展的新模式。 这一时期,IC产业开始进入以客户为导向的阶段。首先, 标准化功能的IC已难以满足整机客户对系统成本、可靠性 等的要求;其次,由于小尺寸加工技术的进步,软件的硬 8 件化已成为可能,超大规模集成电路(Very Large Scale Integrated,VLSI)开始成为主流芯片;
4
图1.1-1 数字集成电路复杂度趋势
集成电路工艺制造水平的提高和芯片规模的扩大,使
芯片的设计方法和设计技术发生了很大的变化,如图1.1-2 所示。早期的数字系统大多采用搭积木式的原理图设计方
法,通过一些固定功能的器件加上一定的外围电路构成模
块,再由这些模块进一步形成功能电路。这种设计方式的 灵活性差,只适合于中小规模的集成电路,当电路和模块 的规模增大时,设计效率会降低。 5
Hale Waihona Puke 和美国电气和电子工程师协会(Institute of Electrical and
Electronics Engineers,IEEE)支持的VITAL等。 Verilog HDL和VHDL语言是目前主要的两种HDL语言,并分别在
1995年和1987年被采纳为IEEE国际标准,广泛用于数字集
成电路的设计和验证领域。
第1章 Verilog HDL数字集成电路 设计方法概述
1.1 数字集成电路的发展和设计方法的演变 1.2 硬件描述语言 1.3 Verilog HDL的发展和国际标准 1.4 Verilog HDL和VHDL 1.5 Verilog HDL在数字集成电路设计中的优点 1.6 功能模块的可重用性 1.7 IP核和知识产权保护 1.8 Verilog HDL在数字集成电路设计流程中的作 用 本章小结
6
图1.1-2 数字集成电路设计方法的演变
集成电路的发展可分为三个主要阶段。20世纪70年代
(第一次变革时期),是以加工制造为主导的IC(Integrated Circuit)产业发展的初级阶段,主流产品是简单微处理器
(Micro Processor Unit,MPU)、存储器以及标准通用逻辑
电路。这一时期,IC整合元件厂(Integrated Device Manufacturer,IDM)在IC市场中充当主要角色,设计只作 为附属部门而存在。芯片设计和半导体工艺密切相关,设 计主要以人工为主,计算机辅助设计(Computer Aided 7 Design, CAD)系统仅作为数据处理和图形编程之用。
1.2 硬件描述语言
C、FORTRAN、Pascal等程序化设计语言,极大地提 高了计算机软件程序设计的效率和可靠性。因此,在硬件 设计领域,设计人员也希望采用程序化设计语言来进行硬 件电路的设计。为此,产生了硬件描述语言HDL。HDL是 15 一种高级程序设计语言,通过对数字电路和系统的语言描 述,可以对数字集成电路进行设计和验证。
表1.3-1 Verilog HDL国际标准
名 称 Verilog IEEE 1364-1995 时 间 1995 年 12 月 备 注 基于 Verilog HDL 的优越性,IEEE 制定了 Verilog HDL 的 IEEE 标准,即 Verilog HDL 1364-1995 Verilog-A 是由 OVI 组织提出的一种硬件描述语言, 是模 Verilog-A 1996 年 拟电路行业的标准建模语言,来源于 IEEE 1364 Verilog 规范 1999 年 Verilog IEEE 1364-2001 2001 年 模拟和数字都适用的 Verilog 标准公开发表 IEEE 制定了 Verilog IEEE 1364-2001 标准,并公开发表; 其中 HDL 部分相对于 1995 年的标准有较大增强 此标准是继 VHDL 和 Verilog HDL 之后仿真工具支持的 语言,它建立在 Verilog HDL 语言的基础上,是 IEEE 1364 Verilog-2001 标准的扩展,兼容 Verilog-2001,将成为下一 代硬件设计和验证的语言
18
1.3 Verilog HDL的发展和国际 标准
Verilog HDL是一种常用的硬件描述语言,可以从系统 级、电路级、门级到开关级等抽象层次,进行数字电路系 统的建模、设计和验证工作。利用该语言可以设计出简单 19 的门级电路,甚至功能完整的数字电路系统。
从Verilog HDL的设计初始到目前的广泛应用,经历了
1987年,Synopsys公司开始使用Verilog HDL语言作为综合
工具的输入,为在数字集成电路上的应用提供了EDA综合 工具,提高了电路描述性设计方式的效率。
21
22
图1.3-1 Verilog HDL 的发展历史
1989年Cadence公司收购了GDA公司,Verilog HDL语
言成为Cadence公司的专有设计语言。为了在更大范围内 推广和使用Verilog HDL,1990年Cadence公司决定公开
集成电路设计单元从起初的分立元件发展到IP复用;系统
级别由早期的印刷版系统发展到当下最为流行的片上系统 (System on Chip,SoC);采用的65 nm和45 nm工艺技术已
成熟,并迅速向更小尺寸的产品方向发展;功能方面也从
开始的简单布尔逻辑运算发展到可以每秒处理数十亿次计 算的复杂运算,使数字集成电路在计算机、通信、图像等 领域得到了广泛应用。 3
进入21世纪,IC产业的发展速度更是惊人,基于市场
和社会发展的需要,数字集成电路正向多元化发展。在芯 片的市场需求方面,移动通信、多媒体技术等应用的迅速
发展,使具有特定功能的差异化专用芯片取代通用型芯片,
逐渐成为数字IC的主要增长点。在技术方面,出现了新的 发展方向。首先,CMOS模拟技术的发展使得数模混合单 芯片集成技术迅速发展,在设计和成本方面体现了巨大优 势; 11
HDL语言发展至今,产生了很多种对于数字集成电路
的描述性设计语言,并成功地应用于设计的各个阶段(建模、 仿真、验证和综合等)。20世纪80年代至今,已出现了上百
种硬件描述语言,它们对设计自动化起到了极大的促进和
推动作用,主要有Gateway Design Automation公司提出的 Verilog HDL、美国国防部高级研究计划局(DARPA)设计 的VHDL、美国国防部RPASSP(Rapid Prototyping of Application Specification Signal Processing)计划提出的基于 17 面向对象的OO VHDL(Object Oriented VHDL)、美国杜克 大学的DE VHDL(Duke Extended VHDL)
20世纪90年代(第三次变革时期),IC产业的“四业”
开始分离,功能强大的通用型中央处理器(Central Processing Unit,CPU)和信号处理器(Digital Signal
Processing,DSP)成为产业新的增长点。在这个阶段,芯
片厂商认识到,越来越庞大的集成电路产业体系并不利于 整个IC产业的发展,“分”才能精,“整合”才成优势。 于是,IC产业结构向高度专业化转化成为一种趋势,开始 形成了设计业、制造业、封装业、测试业独立成行的局面, 10 全球IC产业的发展越来越显示出这种结构的优势。
近30年的发展历程,其功能也由最初的模拟集成电路设计 发展到数字和模拟电路设计(见图1.3-1),它已经成为数字
电路和数字集成电路中使用最为广泛的设计语言。
Verilog HDL语言最初是由Gateway Design Automation(GDA)公司于1983年为其模拟器产品开发的硬 件建模语言。作为一种便于使用的专用设计语言,Verilog HDL被广泛用于模拟集成电路和仿真器中,并逐渐为众多 20 设计者所接受。在随后的几年,Verilog HDL开始在数字电 路设计领域广泛使用。
利用HDL语言,数字集成电路设计工程师可以根据电路结
构的特点,采用层次化的设计结构,将抽象的逻辑功能用 电路的方式进行实现。为了提高HDL对数字电路设计、综
合和仿真的能力,Mentor、Cadence、Synopsys等公司提供
了功能强大的电子设计自动化(Electronic Design Automation,EDA)工具,可以将HDL程序综合成为网表, 通过自动布局布线工具把网表转换为具体电路布线结构, 用于专用集成电路(Application Specific Integrated Circuit, 16 ASIC)和现场可编程门阵列(Field Programmable Gate Array, FPGA)的实现。
随着集成电路规模的迅速扩大和复杂度的不断提高,
芯片设计和制造成本不断提高,设计、测试和制造工艺中 的环节增加,使相应的设计过程变得越来越复杂,因此,
设计者希望通过某种手段提高数字集成电路的设计、验证
的效率和可靠性。 集成电路单元从起初的分立元件到单元,然后到寄存 器传输级,再到IP复用技术;系统级别由原先的印刷版系 统到当下最为流行的SoC片上系统。由图1.1-1可以看出, 13 数字集成电路技术的发展速度基本符合摩尔定律,芯片上 晶体管的集成数目以每三年翻两番的速度增长。
其次,应用需求使得存储器在USLI芯片中的作用越来越明
显,高密度存储器及其SoC设计成为设计的热点;再次, 单芯片规模的扩大使得单纯依靠提升频率的发展路线出现
技术瓶颈,大规模多内核处理器结构成为通用型芯片和
SoC芯片的主流设计方式。在设计方法方面,采用功能复 用IP(Intelligent Property)的设计方式成为IC设计和商业化的 一种主要方式,极大提高了ULSI芯片的设计效率和可扩展 性。 12