Verilog第1章设计综述.ppt
1,VerilogHDL设计基础,第一章 VerilogHDL数字设计综述,华 迪物联网工程学院,2,VerilogHDL设计基础,为什么要学?怎么学?老师的责任。对同学们的要求。,3,教学要求,掌握Verilog HDL语言的基础知识;熟练使用Verilog HDL仿真工具;掌握Verilog HDL设计的一般方法和特点;能实现简单的Verilog HDL设计;,4,主要参考书目,教材Verilog+HDL数字设计与综合(第二版)参考书 Verilog数字系统设计教程(第2版)Verilog HDL程序设计与实践 Verilog HDL程序设计教程,5,课程内容,第一章 Verilog HDL数字设计综述第二章 层次建模的概念*第三章 基本概念*第四章 模块和端口*第五章 门级建模*第六章 数据流建模*第七章 行为级建模*第八章 任务和函数*第九章 实用建模技术,6,课程安排,总课时:32学时,第18周课内考试没有实验,但是有课程设计,7,成绩评定办法,笔试成绩(70%):期末考试平时成绩(30%):作业随堂测试+出勤,8,数字电路CAD技术的发展历史,1)晶体管 MOSFET CMOS2)IC 工艺 SSIMSILSIVLSI面包板计算机辅助设计(Computer Assist Design,CAD)计算机辅助工程设计(Computer Assist Engineering Design,CAE)电子设计自动化(Electronic Design Automation,EDA),9,术语定义(terms and definitions),硬件描述语言HDL:描述电路硬件及时序的一种编程语言仿真器:读入HDL并进行解释及执行的一种软件ASIC:(Application Specific Integrated Circuit)专用集成电路FPGA(Field Programmable Gate Array):现场可编程门阵列 CPLD(Complex Programmable Logic Device):复杂可编程逻辑器件 SOC(System on Chip):片上系统,10,CPLD和FPGA,将以乘积项结构方式构成逻辑行为的器件称为CPLD将以查表法结构方式构成逻辑行为的器件称为FPGA,11,术语定义(terms and definitions),自下而上的设计流程:一种先构建底层单元,然后由底层单元构造更大的系统的设计方法。自顶向下的设计流程:一种设计方法,先用高抽象级构造系统,然后再设计下层单元抽象级:描述风格的详细程度,如行为级和门级RTL级:寄存器传输级(Register Transfer Level),用于设计的可综合的一种抽象级,12,什么是硬件描述语言 HDL(Hardware Discription Language),具有特殊结构能够对硬件逻辑电路的功能进行描述的一种高级编程语言这种特殊结构能够:描述电路的连接描述电路的功能在不同抽象级上描述电路描述电路的时序表达具有并行性(并发),13,HDL的一些主要特征:,HDL语言既包含一些高级程序语言的结构形式,同时也兼顾描述硬件线路的连接的具体结构;通过使用结构级行为描述,可以在不同的抽象层次描述设计,主要包括4个抽象层次;HDL是并行处理的,具有同一时刻执行多任务的能力;HDL语言具有时序的概念,硬件电路中从输入到输出总是有延迟存在的,引入了时延的概念,14,Verilog HDL层次总结,行为或算法级:注重其实现的算法,而不关心具体的硬件实现细节;数据流级:数据如何在各个寄存器之间流动,以及如何处理这些数据;门级:构成电路的逻辑门及其相互之间的互联关系;开关级:开关、存储节点及其互联关系,15,为什么使用HDL,使用HDL描述设计具有下列优点:设计在高层次进行,与具体实现无关设计开发更加容易早在设计期间就能发现问题能够自动的将高级描述映射到具体工艺实现HDL具有更大的灵活性可重用(Intellectual Property)可以选择工具及生产厂HDL能够利用先进的软件更快的输入易于管理,16,Verilog的历史,Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby所创。Phi Moorby后来成为Verilog-XL的主要设计者和Cadence公司的第一个合伙人。在19841985年间,Moorby设计出了第一个Verilog-XL的仿真器。1986年,Moorby提出了用于快速门级仿真的XL算法。1990年,Cadence公司收购了GDA公司1991年,Cadence公司公开发表Verilog语言,成立了OVI(Open Verilog International)组织来负责Verilog HDL语言的发展。1995年制定了Verilog HDL的IEEE标准,即IEEE1364。,17,Verilog的主要应用包括:,ASIC和FPGA设计师可用它来编写可综合的代码。描述系统的结构,做高层次的仿真。验证工程师编写各种层次的测试模块对具体电路设计工程师所设计的模块进行全面细致的验证。库模型的设计:可以用于描述ASIC和FPGA的基本单元(Cell)部件,也可以描述复杂的宏单元(Macro Cell)。,18,可综合的代码:,可综合,就是说可以通过EDA工具自动转化为硬件逻辑;设计者本身都不能想象出一个较直观的硬件实现方法,那EDA软件肯定也能综合;A+B-C,(AB)?C:D 这样的运算一定可以综合;而除法、求平方根、对数以及三角函数等较复杂的运算,必须通过一定的算法实现,所以不可综合;直观的判断有时候是不准确的,因此最终都需要经过 EDA 工具的检验。,19,Verilog与VHDL,目前,设计者使用Verilog和VHDL的情况美国:Verilog:60%,VHDL:40%台湾:Verilog:50%,VHDL:50%,两者的区别:VHDL是一种类ADA语言,使用难度较大,一般需要半年以上的专业培训;Verilog是一种类C语言,简单易用且应用广泛,如果具有C语言的基础,可以很快能够掌握。,20,Verilog与VHDL,两者的区别:VHDL侧重于系统级描述,从而更多的为系统级 设计人员所采用;Verilog侧重于电路级描述,从而更多的为电路 级设计人员所采用。,21,Verilog HDL与 C语言,虽然Verilog的某些语法与C语言接近,但存在本质上的区别Verilog是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真C语言是一种软件语言,是控制硬件来实现某些功能利用Verilog编程时,要时刻记得Verilog是硬件语言,要时刻将Verilog与硬件电路对应起来,22,Verilog HDL与 C语言,一段C语言代码,一段Verilog HDL语言,23,Verilog HDL与 C语言,C语言是由函数组成的;Verilog HDL则称之为module模块C语言的函数调用通过函数名关联,通过端口变量实现函数之间的传值;Verilog HDL模块调用也通过模块名,同样通过端口之间的联系实现模块之间的联系C语言中,整个程序从main函数开始;Verilog中,从顶层模块开始C语言运行在CPU平台,是串行执行;Verilog用于CPLD/FPGA,或者数字IC,对应于门逻辑,是并发执行两者的注释语句是类似的,24,典型设计流程,技术规范:用文字表示用算法表示用高级行为的Verilog模块表示RTL(registertransfer level)用可综合的Verilog模块表示门级用实例引用的Verilog模块表示版图布局/物理级:用几何形状来表示,25,四位二进制计数器,功能描述,I/O 电路图,26,数字电路设计的基本方法组合电路设计问题逻辑关系真值表化简逻辑图时序电路设计列出原始状态转移图和表状态优化状态分配触发器选型求解方程式逻辑图,27,使用中、小规模器件设计电路(74、54系列)编码器(74LS148)译码器(74LS154)比较器(74LS85)计数器(74LS193)移位寄存器(74LS194),28,时序电路的设计,29,