第3章 基于可编程逻辑器件的数字系统设计

第3章 基于可编程逻辑器件的数字系统设计

ID:39677897

大小:2.74 MB

页数:86页

时间:2019-07-09

第3章  基于可编程逻辑器件的数字系统设计_第1页
第3章  基于可编程逻辑器件的数字系统设计_第2页
第3章  基于可编程逻辑器件的数字系统设计_第3页
第3章  基于可编程逻辑器件的数字系统设计_第4页
第3章  基于可编程逻辑器件的数字系统设计_第5页
资源描述:

《第3章 基于可编程逻辑器件的数字系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大规模可编程器件技术第三章基于可编程逻辑器件的数字系统设计李振荣AllrightsreservedPLD数字系统设计1Verilog硬件描述语言概述2可编程逻辑器件的基本逻辑门设计3可编程逻辑器件的组合逻辑设计4可编程逻辑器件的时序逻辑设计5可编程逻辑器件的状态机设计2Verilog硬件描述语言概述发展历史所谓硬件描述语言,就是可以描述硬件电路的功能、信号连接关系及定时关系的语言。随着ASIC技术的发展,为了提高研发效率,增加成果的可继承性,缩短开发时间,各ASIC厂家相继开发了各自的硬件描述语言。最有代表性的是美国国防部的VHDL、Ve

2、rilog公司的VerilogHDL以及日本电子工业振兴协会的UDL/I语言。VerilogHDL的历史可以追溯到20世纪80年代,由GatewayDesignAutomation公司开发了逻辑仿真器:verilog-XL和其硬件描述语言。1989年,Cadence收购了这家公司。1990年,Cadence公司公开发布verilogHDL语言,并成立组织专门负责verilogHDL的发展。3Verilog硬件描述语言概述发展历史4Verilog硬件描述语言概述VerilogvsVHDLVHDL在1987年成为IEEE标准,Verilog则

3、在1995年才正式成为IEEE标准。因为VHDL是美国军方组织开发的,而Verilog则基于自身的优越性成为IEEE标准,因而有更强的生命力。共同特点:能形式化地抽象表示电路结构和行为、支持逻辑设计中层次描述、可借用高级语言来简化电路描述、具有电路仿真与验证机制以保证设计正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关、便于文档管理、易于理解和设计重用。不同特点:Verilog1983年就已推出,拥有更广泛的设计群体,成熟资源比VHDL丰富;Verilog更易于掌握,在C语言基础上几个月就可掌握,而VHDL相对困难;通常

4、认为Verilog在系统级抽象方面比VHDL略差,而在门级开关电路描述方面比VHDL强。5Verilog硬件描述语言概述描述层次VerilogHDL在四个层次上描述硬件:行为级(functional):描述系统结构的程序很难直接映射到具体逻辑元件结构的硬件实现,通常用于写仿真激励;寄存器传输级(RTL):描述系统功能,能导出系统的逻辑表达式、进行逻辑综合和仿真,是逻辑设计的主要层次;提高了逻辑电路的设计层次,比电路原理图更有效的表达硬件电路的特性。门级(netlist):传统上作为手工逻辑图的输入,现在作为逻辑综合器的输出,代表实际的逻

5、辑电路;开关级(switch):可以直接描述到晶体管,用于描述特殊电路形式,如开漏级输出的OC门电路。6Verilog硬件描述语言概述设计流程自顶向下系统模块A模块B模块C模块A-1模块A-2模块B-1模块B-2模块C-1模块C-2模块C-3层次化、结构化、模块复用!7Verilog硬件描述语言概述基本语法数据类型系统函数编译预处理integer$display`defineparameter$monitor`includewire$time`timescaleReg$finish`uselib$random`ifdef$readmem`e

6、lse`endif常用命令赋值语句:assign、always函数任务语句:task、function条件语句:if-else、case循环语句:forever、repeat、while、for实用、可综合!8Verilog硬件描述语言概述编码风格标准的文件头标准的module格式一致的排版:一致的缩排、一致的beginend一致的信号命名风格统一的表达式书写:括号的使用、适当空格统一的语句书写条件的完整性:Ifelse语句,缺省条件要写else;Case中的缺省条件要写default。平行结构的条件,优先写成case结构,例

7、如地址译码;复杂条件判断、条件间有重复和嵌套则写成ifelse结构。状态机:不允许有模糊不清的状态,通常将时序部分和组合逻辑部分分开。9Verilog硬件描述语言概述编码风格统一格式的always程序块的书写使用always语句进行组合逻辑建模时,使用阻塞赋值(串行);使用always语句进行时序逻辑建模时,使用非阻塞赋值(并行);always中变量赋值的唯一性。合理的注释代码中应采用英文作详细注释,注释量应达到代码50%以上;注释应该与代码一致,修改程序的时候一定要修改相应的注释;注释不应重复代码已经表明的内容,而是点明程

8、序的突出特征;注释应该是整个程序的线索和关键词,连接程序中分散的信息。10Verilog硬件描述语言概述重用化设计层次结构与模块划分层次设计的原理以简单为主

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。