VerilogHDL硬件描述-2(修改后版本) - 副本
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Verilog HDL设计复杂数字电路的优点
Verilog HDL软核、固核和硬核的重用
•
软核:把功能经过验证的、可综合的、实现后电路结构总门数 在5000门以上的Verilog HDL模型称之为“软核”(Soft Core)。 把由软核构成的器件称为虚拟器件。软核和虚拟器件的重用性 就可大大缩短设计周期,加快复杂电路的设计。目前国际上有 一个叫作虚拟接口联盟的组织(Virtual Socket Interface Alliance)来协调这方面的工作。 固核:把在某一种FPGA器件上实现的,经验证是正确的,总 门数在5000门以上电路结构编码文件,称为“固核”。
2013年7月29日
14
Verilog HDL设计复杂数字电路的优点
• 硬件描述语自身就是设计规格书。 • 可以在设计初期发现错误。 • 可以进行仿真。而且,仿真可以在电路系统不同的 • •
层次进 行。 可以直接作为逻辑综合的输入数据。 设计的文档化。
可以大大提高硬件的生产效率
2013年7月29日 15
2013年7月29日
6
Verilog HDL和VHDL的比较
不同点: Verilog HDL拥有更广泛的设计群体, 成熟的资源也远比VHDL丰富。 Verilog HDL的最大优点是:它是一 种非常容易掌握的硬件描述语言,只 要有C语言的编程基础,通过二十学 时的学习,再加上一段实际操作,一 般可在二至三个月内掌握这种设计技 术。 Verilog HDL和VHDL在行为级抽象建 模的覆盖范围方面也有所不同。一般 认为Verilog HDL在系统级抽象方面 比VHDL略差一些,而在门级开关电 路描述方面比VHDL强得多。
Verilog HDL作为一种高级的硬件描述编程语言,有 着类似C语言的风格。其中有许多语句如:if语句、 case语句等和C语言中的对应语句十分相似。 如果已经掌握C语言编程的基础,那么学习 Verilog HDL并不困难,只要对Verilog HDL某些语句的特殊方 面着重理解,并加强上机练习就能很好地掌握它。
Verilog HDL硬件描述语言
第二讲
2013年7月29日
长江大学电信学院
1
第一讲回顾
学习可编程技术的现实意义
CPLD/FPGA的具体应用举例
三大公司的芯片简介
三大公司的软件开发平台简介
目前存在的5种硬件描述语言简介
2013年7月29日
2
HDL的来历
HDL是“硬件描述语言”Hardware Description Language 的缩写(不是“硬件设计语言”Hardware Design Language 的缩写)。 VHDL(VHSIC HDL) 1980年开始在美国国防部Department of Defense (DOD) VHSIC (Very High Speed Integration Circuit)计划的指 导下开发,完成于1983年,1987 VHDL成为标准, IEEE1076-1987。 美国国防部要求所有的电子设计使用VHDL描述,并决定 在F-22战斗机项目中使用VHDL。
wire reg c; q;
// 模块定义 // 输入信号定义 // 输出信号定义
// 模块内信号线的定义 // 输出端子数型定义
always @( posedge clk or negedge resetn ) begin // 非同步复位的F/F if( resetn == 1„b0 ) q <= 1‟b0; else q <= c; end assign endmodule
2013年7月29日 9
Verilog HDL的应用
在美国,高层逻辑电路设计领域Verilog HDL和VHDL 的应用比率是80%和20%; 日本和台湾省与美国相同。 欧洲VHDL发展比较好。 国内大多数集成电路设计公司都采用Verilog HDL。
2013年7月29日
10
Verilog HDL的应用
mytri tri_inst(out,in,enable); //调用由mytri模块定义的实例元件tri_inst endmodule module mytri(out,in,enable); output out; input in, enable; assign out = enable? in : 'bz; endmodule
2013年7月29日
3
HDL的来历
Verilog HDL Verilog HDL是在1983年由Gateway Design Automation 公司的Phil Moorby首创的。 在1984-1985年,Moorby设计出了第一个关于Verilog-XL的 仿真器。 1986年,他对Verilog HDL的发展又作出了另一个巨大贡献: 即提出了用于快速门级仿真的XL算法。 1989年,Cadence公司收购了GDA公司,Verilog HDL语言 成为Cadence公司的私有财产。 1990年,Cadence公司决定公开Verilog HDL语言,于是成 立了OVI(Open Verilog International)组织来负责Verilog HDL语言的发展。 基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL1364-1995。
assign {count,sum} = a + b + cin; //模块功能描述 endmodule //模块定义结束
2013年7月29日
20
Verilog HDL模块的基本概念
/*一个名为compare的比较器例子。 copyright XAUT 2013-7-29 */
module compare ( equal,a,b ); output equal; //声明输出信号equal input [1:0] a,b; //声明输入信号a,b /*如果a、b 两个输入信号相等,输出为1,否则为0*/ assign equal=(a==b)?1:0; endmodule
2013年7月29日
c = ( sel )? a: b;
// 选择逻辑组合
22
Verilog HDL模块的基本概念
/*一个模块调用(例化)的例子。 copyright XAUT 2013-7-29 */
module trist1(out,in,enable); output out; input in, enable;
•
2013年7月29日
17
Verilog HDL设计流程
自顶向下(Top-Down)设计
2013年7月29日
18
Verilog HDL设计流程
设计流程
电路图设计文件 HDL计文件
电路功能仿真 没问题
HDL功能仿真 没问题 HDL综合
有问题
确定实现电路 的具体库名
与实现逻辑的物 理器件有关的工 艺技术文 件
2013年7月29日
8
Verilog HDL的应用
Verilog HDL是专门为复杂数字逻辑电路和系统的设计仿 真而开发的,本身就非常适合复杂数字逻辑电路和系统 的仿真和综合。 Verilog HDL较为适合系统级(System)、算法级 (Alogrithem)、寄存器传输级(RTL)、逻辑级(Logic)、门 级(Gate)、电路开关级(Switch)设计。 而对于特大型(几百万门级以上)的系统级(System)设 计,则VHDL更为适合。 2001年3月,Verilog HDL IEEE1364-2001标准公布, Verilog HDL语言在综合和仿真性能方面都有大幅度的提 升。
2013年7月29日
7
Verilog HDL和VHDL的比较
一个有趣的现象:由于Verilog HDL在其门级描述的底层,也就 是在晶体管开关的描述方面比VHDL有强得多得功能,所以即使 是VHDL的设计环境,在底层往往上也是由Verilog HDL描述的 器件库所支持的。 Cadence开发了Verilog HDL和SDF,其领导开发的ASIC的 库元素的Verilog HDL模型高效、仿真速度快;工具厂商在 开发ASIC库元素的高效VHDL模型上速度较慢。 VITAL:库元素的VHDL模型生成标准。IEEE成立VHDL Initiative Towards ASIC Libarary( VITAL)委员会,利用 现存的模型开发方法,加速VHDL的ASIC单元仿真库的开发。 形成了一套标准化的VHDL ASIC单元模型产生技术,由两个 IEEE包支持:VITAL_timing和VITAL_primitive。IEEE 1076.4-1995。(2000 年做了修订:IEEE 1076.4- 2000)
2013年7月29日 4
HDL的来历
பைடு நூலகம்
2013年7月29日
5
Verilog HDL和VHDL的比较
共同特点:
能形式化地抽象表示电路的结构和行为; 支持逻辑设计中层次描述; 具有电路仿真与验证机制; 支持电路描述由高层到低层的综合转换; 硬件描述与实现工艺无关; 便于文档管理、易于理解和设计重用。
Verilog HDL与 C 语言根本的区别: - 并行性 - 块的含义:initial块 和 always块 两种赋值语句:阻塞赋值 “ = ” 非阻塞赋值 “ <= ”
2013年7月29日
11
Verilog HDL设计复杂数字电路的优点
传统的设计方法: • - 查用器件手册; • - 选用合适的微处理器和电路芯片; • - 设计面包板和线路板; • - 调试; • - 定型; • - 设计复杂的系统(几十万门以上)极其困难。
2013年7月29日
12
Verilog HDL设计复杂数字电路的优点
传统的设计方法
2013年7月29日
13
Verilog HDL设计复杂数字电路的优点
Verilog HDL设计法
• • • • • •
采用Verilog HDL设计电路的逻辑功能容易理解; 便于利用EDA工具对逻辑进行分析处理; 把逻辑设计与具体电路的实现分成两个独立的阶段来操作; 逻辑设计与实现的工艺无关; 逻辑设计的资源积累可以重复利用; 可以由多人共同更好更快地设计非常复杂的逻辑电路(几十 万门以上的逻辑系统)。
2013年7月29日
23
Verilog HDL模块的基本概念
Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在 module和endmodule两个语句之间。每个模块实现特定的功能。 模块是可以进行层次嵌套的。可以将大型的计分割成不同的小模 块来实现特定的功能,最后通过顶层模块调用子模块来实现整体功 能。 每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进 行行为逻辑描述。 Verilog HDL区分大小写。也就是说大小写不同的标识符是不同的。 此外,Verilog HDL是自由格式的,即结构可以跨越多行编写,也 可以在一行内编写。白空(新行、制表符和空格)没有特殊意义。 除了endmodule语句外,每个语句和数据定义的最后必须有分号。 可以用/*.....*/和//.......对Verilog HDL程序的任何部分作注释。
2013年7月29日
21
Verilog HDL模块的基本概念
/* Verilog HDL Example1 copyright XAUT 2013-7-29 */
module sample( q, a, b, sel, clk, resetn ); input a, b, sel, clk, resetn; output q;
•
2013年7月29日
16
Verilog HDL设计复杂数字电路的优点
Verilog HDL软核、固核和硬核的重用
•
硬核:把在某一种ASIC器件上实现的,经验证是正确的,总 门数在5000门以上的电路结构掩膜,称为“硬核”。 在逻辑设计阶段,软核具有最大的灵活性,它可以很容易地 借助EDA综合工具与其它外部逻辑结合为一体。相比之下固 核和硬核与其它外部逻辑结合为一体的灵活性要差得多,特 别是电路实现工艺技术改变时更是如此。
优化、布局布线
布线门级仿真 有问题
电路制造工艺文件 或FPGA码流文件
2013年7月29日
19
Verilog HDL模块的基本概念
/*一个名为adder的三位加法器的例子。 copyright XAUT 2013-7-29 */
module adder ( count,sum,a,b,cin ); //模块定义开始 input [2:0] a,b; input cin; output count; output [2:0] sum; //输入信号定义 //输出信号定义 //输出信号定义 //输出信号定义