《硬件描述语言课件》由会员分享,可在线阅读,更多相关《硬件描述语言课件(53页珍藏版)》请在金锄头文库上搜索。
1、2018/9/18,1,Verilog HDL硬件描述语言 Hardware Description Language(HDL),西安理工大学电子工程系,2018/9/18,2,HDL的来历,HDL是“硬件描述语言”Hardware Description Language的缩写(不是“硬件设计语言”Hardware Design Language的缩写)。 VHDL(VHSIC HDL) 1980年开始在美国国防部Department of Defense (DOD) VHSIC (Very High Speed Integration Circuit)计划的指导下开发,完成于1983年,1
2、987 VHDL成为标准,IEEE1076-1987。 美国国防部要求所有的电子设计使用VHDL描述,并决定在YF-22战斗机项目中使用VHDL。,2018/9/18,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
3、语言成为Cadence公司的私有财产。 1990年,Cadence公司决定公开Verilog HDL语言,于是成立了OVI(Open Verilog International)组织来负责Verilog HDL语言的发展。 基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL1364-1995。,2018/9/18,4,HDL的来历,2018/9/18,5,Verilog HDL和VHDL的比较,共同特点: 能形式化地抽象表示电路的结构和行为; 支持逻辑设计中层次描述; 具有电路仿真与验证机制; 支持电路描述由高层到低层的
4、综合转换; 硬件描述与实现工艺无关; 便于文档管理、易于理解和设计重用。,2018/9/18,6,Verilog HDL和VHDL的比较,不同点: Verilog HDL拥有更广泛的设计群体,成熟的资源也远比VHDL丰富。 Verilog HDL的最大优点是:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,通过二十学时的学习,再加上一段实际操作,一般可在二至三个月内掌握这种设计技术。 Verilog HDL和VHDL在行为级抽象建模的覆盖范围方面也有所不同。一般认为Verilog HDL在系统级抽象方面比VHDL略差一些,而在门级开关电路描述方面比VHDL强得多。,2018/9/1
5、8,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)委员会,利用
6、现存的模型开发方法,加速VHDL的ASIC单元仿真库的开发。形成了一套标准化的VHDL ASIC单元模型产生技术,由两个IEEE包支持:VITAL_timing和VITAL_primitive。IEEE 1076.41995。(2000 年做了修订:IEEE 1076.4 2000),2018/9/18,8,Verilog HDL的应用,Verilog HDL是专门为复杂数字逻辑电路和系统的设计仿真而开发的,本身就非常适合复杂数字逻辑电路和系统的仿真和综合。 Verilog HDL较为适合系统级(System)、算法级(Alogrithem)、寄存器传输级(RTL)、逻辑级(Logic)、门级
7、(Gate)、电路开关级(Switch)设计。 而对于特大型(几百万门级以上)的系统级(System)设计,则VHDL更为适合。 2001年3月,Verilog HDL IEEE13642001标准公布, Verilog HDL语言在综合和仿真性能方面都有大幅度的提升。,2018/9/18,9,Verilog HDL的应用,在美国,高层逻辑电路设计领域Verilog HDL和VHDL的应用比率是80和20; 日本和台湾省与美国相同。 欧洲VHDL发展比较好。 国内大多数集成电路设计公司都采用Verilog HDL。,2018/9/18,10,Verilog HDL的应用,Verilog HDL
8、作为一种高级的硬件描述编程语言,有着类似C语言的风格。其中有许多语句如:if语句、case语句等和C语言中的对应语句十分相似。如果已经掌握C语言编程的基础,那么学习 Verilog HDL并不困难,只要对Verilog HDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它。 Verilog HDL与 C 语言根本的区别: - 并行性 - 块的含义:initial块 和 always块两种赋值语句:阻塞赋值 “ = ” 非阻塞赋值 “ = ”,2018/9/18,11,Verilog HDL设计复杂数字电路的优点,传统的设计方法:- 查用器件手册;- 选用合适的微处理器和电路芯片;-
9、 设计面包板和线路板;- 调试;- 定型;- 设计复杂的系统(几十万门以上)极其困难。,2018/9/18,12,Verilog HDL设计复杂数字电路的优点,传统的设计方法,2018/9/18,13,Verilog HDL设计复杂数字电路的优点,Verilog HDL设计法采用Verilog HDL设计电路的逻辑功能容易理解; 便于利用EDA工具对逻辑进行分析处理; 把逻辑设计与具体电路的实现分成两个独立的阶段来操作; 逻辑设计与实现的工艺无关; 逻辑设计的资源积累可以重复利用; 可以由多人共同更好更快地设计非常复杂的逻辑电路(几十万门以上的逻辑系统)。,2018/9/18,14,Veril
10、og HDL设计复杂数字电路的优点,硬件描述语自身就是设计规格书。 可以在设计初期发现错误。 可以进行仿真。而且,仿真可以在电路系统不同的层次进 行。 可以直接作为逻辑综合的输入数据。 设计的文档化。,可以大大提高硬件的生产效率,2018/9/18,15,Verilog HDL设计复杂数字电路的优点,软核、固核和硬核 IP(Intellectual Property)就是常说的知识产权。美国Dataquest咨询公司将半导体产业的IP定义为:用于 ASIC、ASSP和PLD等当中,并且是预先设计好的电路模块。IP核模块有行为(Behavior)、结构(Structure)和物理 (Physic
11、al)三级不同程度的设计,对应描述功能行为的不同分为三类,即软核(Soft IP Core)、完成结构描述的固核 (Firm IP Core)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。,2018/9/18,16,Verilog HDL设计复杂数字电路的优点,软核、固核和硬核软核:IP软核通常是用 HDL文本形式提交给用户,它经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。 据此,用户可以综合出正确的门电路级设计网表,并可以进 行后续的结构设计,具有很大的灵活性,借助于EDA综合工具可以很容易地与其他外部逻辑电路合成一体,根据各种不同半导体工艺,设计成具有不
12、同性能的器件。 软IP内核也称为虚拟组件(VC-Virtual Component)。国际上有一个叫作虚拟接口联盟的组织(Virtual Socket Interface Alliance)来协调这方面的工作。,2018/9/18,17,Verilog HDL设计复杂数字电路的优点,软核、固核和硬核 硬核:IP硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。 固核:IP固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等
13、设计环节。一般以门级电路网表的形式提供给用户。在逻辑设计阶段,软核具有最大的灵活性,它可以很容易地借助EDA综合工具与其它外部逻辑结合为一体。相比之下固核和硬核与其它外部逻辑结合为一体的灵活性要差得多,特别是电路实现工艺技术改变时更是如此。,2018/9/18,18,Verilog HDL设计流程,自顶向下(Top-Down)设计,2018/9/18,19,Verilog HDL设计流程,设计流程,2018/9/18,20,Verilog HDL模块的基本概念,/*一个名为adder的三位加法器的例子。copyright XAUT 2018/9/18 */module adder ( coun
14、t,sum,a,b,cin ); /模块定义开始 input 2:0 a,b; /输入信号定义input cin; /输出信号定义output count; /输出信号定义output 2:0 sum; /输出信号定义assign count,sum = a + b + cin; /模块功能描述 endmodule /模块定义结束,2018/9/18,21,Verilog HDL模块的基本概念,/*一个名为compare的比较器例子。copyright XAUT 9/18/2018 */module compare ( equal,a,b );output equal; /声明输出信号equa
15、linput 1:0 a,b; /声明输入信号a,b/*如果a、b 两个输入信号相等,输出为1,否则为0*/assign equal=(a=b)?1:0; endmodule,2018/9/18,22,Verilog HDL模块的基本概念,/* Verilog HDL Example1copyright XAUT 2018/9/18 */module sample( q, a, b, sel, clk, resetn ); / 模块定义 input a, b, sel, clk, resetn; / 输入信号定义 output q; / 输出信号定义 wire c; / 模块内信号线的定义 reg q; / 输出端子数型定义 always ( posedge clk or negedge resetn )begin / 非同步复位的F/F if( resetn = 1b0 ) q = 1b0; else q = c; end assign c = ( sel )? a: b; / 选择逻辑组合 endmodule,