第0讲 HDL前言_第1页
第0讲 HDL前言_第2页
第0讲 HDL前言_第3页
第0讲 HDL前言_第4页
第0讲 HDL前言_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、f=ab 安徽师范大学安徽师范大学20152015自我介绍 陈付龙,男,安徽霍邱人,工学博士,副教授,目前主要从事嵌入式与普适计算、物联网、高性能计算机体系结构方面的研究。 QQ:544056537什么是什么是HDL?Hardware Description Language硬件描述语言硬件描述语言顾名思义,硬件描述语言就是指对硬件电路进行描述的顾名思义,硬件描述语言就是指对硬件电路进行描述的一种语言。一种语言。硬件描述语言是用文本的形式描述硬件电路的功能,信硬件描述语言是用文本的形式描述硬件电路的功能,信号连接关系以及时序关系。它虽然没有图形输入那么直号连接关系以及时序关系。它虽然没有图形输

2、入那么直观,但功能更强,可以进行大规模,多个芯片的数字系观,但功能更强,可以进行大规模,多个芯片的数字系统的设计。常用的统的设计。常用的HDL有有VHDL和和Verilog HDL等。等。学习HDL有何意义?设计人员通过计算机借助一些软件平台对HDL语言进行逻辑仿真和逻辑综合,方便高效地设计数字电路及其产品。替代传统的手工设计电路方法和图形设计方法。- - 接口逻辑接口逻辑 + + 专门设计的高速计算逻辑专门设计的高速计算逻辑数字信号处理、计算、程序数字信号处理、计算、程序 算法和硬线逻辑的基本概念算法和硬线逻辑的基本概念数字信号处理数字信号处理计算(计算(Computing)算法和数据结构算

3、法和数据结构编程语言和程序编程语言和程序体系结构体系结构硬线逻辑硬线逻辑 数字信号处理的基本概念数字信号处理的基本概念现代电子系统设备中广泛使用了数字信号处理现代电子系统设备中广泛使用了数字信号处理 专专用集成电路。用集成电路。用于数字信号传输中所必需的滤波、变换、加密、用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩、解压缩等操解密、编码、解码、纠检错、压缩、解压缩等操作。作。处理工作从本质上说都是数学运算。处理工作从本质上说都是数学运算。完全可以用计算机或微处理器来完成处理工作。完全可以用计算机或微处理器来完成处理工作。计算(计算(Computing)的基本概念的

4、基本概念 “Computing 这门学问研究怎样系统地有步骤地描述和这门学问研究怎样系统地有步骤地描述和转换信息,实质上它是一门覆盖了多个知识和技术范畴转换信息,实质上它是一门覆盖了多个知识和技术范畴的学问,其中包括了计算的理论、分析、设计、效率和的学问,其中包括了计算的理论、分析、设计、效率和应用。它提出的最基本的问题是什么样的工作能自动完应用。它提出的最基本的问题是什么样的工作能自动完成,什么样的不能。成,什么样的不能。”(摘自(摘自Denning et al., “Computing as a Discipline,” Communication of ACM, January,1989

5、)。)。算法和数据结构的基本概念算法和数据结构的基本概念算法就是解决特定问题的有序步骤。算法就是解决特定问题的有序步骤。数据结构就是解决特定问题的相应的数据结构就是解决特定问题的相应的模型。模型。 编程语言和程序的基本概念编程语言和程序的基本概念编程语言:编程语言: 程序员利用一种由专家设计的既可以被人理解,程序员利用一种由专家设计的既可以被人理解,也可以被计算机解释的语言来表示算法问题的求也可以被计算机解释的语言来表示算法问题的求解过程。这种语言就是编程语言。解过程。这种语言就是编程语言。程序:程序:由编程语言所表达的算法问题的求解过程由编程语言所表达的算法问题的求解过程就是。就是。 常用的

6、编程语言:常用的编程语言:C、Pascal、Fortran、Basic或或汇编语言汇编语言。 计算机体系结构和硬线逻辑计算机体系结构和硬线逻辑的基本概念的基本概念计算机体系结构:计算机体系结构:是一门是一门 讨论和研究通用的讨论和研究通用的计算机中央处理器如何提高运算速度性能的学问。计算机中央处理器如何提高运算速度性能的学问。硬线逻辑:硬线逻辑: 由与门、或门、非门、触发器、多由与门、或门、非门、触发器、多路器等基本逻辑部件造成的逻辑系统。路器等基本逻辑部件造成的逻辑系统。 数字信号处理系统的分类数字信号处理系统的分类 非实时系统:非实时系统: 信号处理的工作是可以事后进行。信号处理的工作是可

7、以事后进行。 实时系统:实时系统: 信号处理的工作必须在规定的很短的时间内完信号处理的工作必须在规定的很短的时间内完成。成。 数字信号处理系统的实现数字信号处理系统的实现 非实时系统:非实时系统: 通用的计算机和利用通用计算机改装的设备,主要工通用的计算机和利用通用计算机改装的设备,主要工作量是编写作量是编写 “C C” 程序。输入程序。输入/ /输出数据大多为文本输出数据大多为文本 。 实时系统:实时系统: 信号处理专用的微处理器为核心的设备,主要工作量信号处理专用的微处理器为核心的设备,主要工作量是编写汇编程序。输入是编写汇编程序。输入/ /输出数据大多为数据流,直接输出数据大多为数据流,

8、直接用于控制用于控制 。 实时数字信号实时数字信号处理系统实现中存在的技术难点处理系统实现中存在的技术难点 1)算法问题。算法问题。2)电路实现问题:电路实现问题: 如果由最快的如果由最快的信号处理专用的微处理器为核心的设信号处理专用的微处理器为核心的设备也来不及处理如此大量的数据怎么办呢?备也来不及处理如此大量的数据怎么办呢? 实时数字信号实时数字信号处理系统实现中存在的技术难点处理系统实现中存在的技术难点和解决办法和解决办法 1)算法问题。研究并行快速算法。算法问题。研究并行快速算法。2)电路实现问题:电路实现问题: 设计并研制具有并行结构的数字和计算逻设计并研制具有并行结构的数字和计算逻

9、辑结构和相应的接口逻辑。辑结构和相应的接口逻辑。 实时数字信号实时数字信号处理系统实现中存在的技术难点处理系统实现中存在的技术难点和解决办法和解决办法 电路实现的两个方向:电路实现的两个方向: FPGAFPGA专用集成电路专用集成电路 实时数字信号实时数字信号处理系统实现中存在的技术难点处理系统实现中存在的技术难点和解决办法和解决办法 用于信号处理的用于信号处理的 FPGA FPGA 和专用集成和专用集成 电路(电路(ASIC)设计的方法设计的方法: Verilog HDL 建模、仿真、综合和建模、仿真、综合和 全面验证。全面验证。 什么是复杂的数字逻辑系统什么是复杂的数字逻辑系统?嵌入式微处

10、理机系统嵌入式微处理机系统数字信号处理系统数字信号处理系统高速并行计算逻辑高速并行计算逻辑 高速通信协议电路高速通信协议电路高速编码高速编码/解码、加密解码、加密/解密电路解密电路复杂的多功能智能接口复杂的多功能智能接口门逻辑总数超过几万门达到几百甚至达几千门逻辑总数超过几万门达到几百甚至达几千 万门的数字系统万门的数字系统为什么要设计复杂的为什么要设计复杂的数字逻辑系统?数字逻辑系统? 对嵌入式系统的性能要求越来越高对嵌入式系统的性能要求越来越高 - 通用的微处理机不能满足要求通用的微处理机不能满足要求 - 硬件结构是提高系统总体性能的关键硬件结构是提高系统总体性能的关键 - 软件只能提高系

11、统的灵活性能软件只能提高系统的灵活性能 - 军用系统的实时、高可靠、低功耗要求军用系统的实时、高可靠、低功耗要求 - 系统的功能专一,但对其各种性能要求极高系统的功能专一,但对其各种性能要求极高 - 降低系统的设计和制造成本降低系统的设计和制造成本传统的:线路图传统的:线路图现代的:硬件描述语言现代的:硬件描述语言怎样设计如此复杂的系统怎样设计如此复杂的系统?传统的设计方法:传统的设计方法: - 查用器件手册;查用器件手册; - 选用合适的微处理器和电路芯片;选用合适的微处理器和电路芯片; - 设计面包板和线路板;设计面包板和线路板; - 调试;调试; - 定型;定型; - 设计复杂的系统(几

12、十万门以上)极其困难。设计复杂的系统(几十万门以上)极其困难。 怎样设计如此复杂的系统怎样设计如此复杂的系统?现代的设计方法:现代的设计方法: - 选用合适的选用合适的 EDA仿真仿真工具;工具; - 选用合适选用合适电路图输入和电路图输入和HDL编辑工具;编辑工具; - 逐个编写可综合逐个编写可综合HDL模块;模块; - 逐个编写逐个编写HDL测试模块;测试模块; - 逐个做逐个做Verilog HDL 电路逻辑访真;电路逻辑访真; - 编写编写Verilog HDL总测试模块;总测试模块; - 做系统电路逻辑总仿真;做系统电路逻辑总仿真; 怎样设计如此复杂的系统?怎样设计如此复杂的系统?现

13、代的设计方法(续前):现代的设计方法(续前): - 选用合适的基本逻辑元件库和宏库选用合适的基本逻辑元件库和宏库 - 租用或购买必要的租用或购买必要的IP核;核; - 选用合适的综合器;选用合适的综合器; - 进行综合得到门级电路结构;进行综合得到门级电路结构; - 布局布线,得到时延文件;布局布线,得到时延文件; - 后仿真;后仿真; - 定型,定型, FPGA编码或编码或ASIC投片投片Top-Down Top-Down 设计思想设计思想用EDA设计数字系统的流程为什么要用为什么要用硬件描述语言来设计?硬件描述语言来设计?电路的逻辑功能容易理解;电路的逻辑功能容易理解;便于计算机对逻辑进行

14、分析处理;便于计算机对逻辑进行分析处理;把逻辑设计与具体电路的实现分成两个独立把逻辑设计与具体电路的实现分成两个独立 的阶段来操作;的阶段来操作;逻辑设计与实现的工艺无关;逻辑设计与实现的工艺无关;逻辑设计的资源积累可以重复利用;逻辑设计的资源积累可以重复利用;可以由多人共同更好更快地设计非常复杂可以由多人共同更好更快地设计非常复杂 的逻辑电路(几十万门以上的逻辑系统)。的逻辑电路(几十万门以上的逻辑系统)。选择VHDL还是verilog HDL?这是一个初学者最常见的问题。其实两种语言的差别并不这是一个初学者最常见的问题。其实两种语言的差别并不大,他们的描述能力也是类似的。掌握其中一种语言以

15、后,大,他们的描述能力也是类似的。掌握其中一种语言以后,可以通过短期的学习,较快的学会另一种语言。可以通过短期的学习,较快的学会另一种语言。 选择何种选择何种语言主要还是看周围人群的使用习惯,这样可以方便日后语言主要还是看周围人群的使用习惯,这样可以方便日后的学习交流。当然,如果您是的学习交流。当然,如果您是专用集成电路专用集成电路(ASIC)设计)设计人员,则必须首先掌握人员,则必须首先掌握verilog,因为在,因为在IC设计领域,设计领域,90以上的公司都是采用以上的公司都是采用verilog进行进行IC设计。对于设计。对于PLD/FPGA设计者而言,两种语言可以设计者而言,两种语言可以

16、自由选择自由选择。 EDA(1)20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA(2)EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成

17、设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 EDA(3)利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 EDA工具软件工具软件 EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。 目前进入我国并具有广泛影响的EDA软件是系统设计软

18、件辅助类和可编程芯片辅助设计软件:Protel、PSPICE、multiSIM10(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim、ISE、modelsim、Matlab等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。 EDA技术的发展趋势 从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。 中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PCB制板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂

19、的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要引进和学习一些最新的EDA技术。 EDA技术的发展趋势(续)中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。 在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具在各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年增长率分别达到了50%和30

20、%。 EDA工具软件厂商三巨头工具软件厂商三巨头SynopsysMentor GraphicsCadence ASIC制造过程制造过程芯片制作完整过程包括 芯片设计、晶片制作、封装制作、成本测试等几个环节,其中晶片片制作过程尤为的复杂。下面图示让我们共同来了解一下芯片制作的过程,尤其是晶片制作部分。 首先是芯片设计,根据设计的需求,生成的“图样”芯片的原料晶圆 晶圆的成分是硅,硅是由石英沙所精练出来的,晶圆便是硅元素加以纯化(99.999%),接着是将些纯硅制成硅晶棒,成为制造集成电路的石英半导体的材料,将其切片就是芯片制作具体需要的晶圆。晶圆越薄,成产的成本越低,但对工艺就要求的越高。晶圆涂

21、膜 晶圆涂膜能抵抗氧化以及耐温能力,其材料为光阻的一种 晶圆光刻显影、蚀刻 该过程使用了对紫外光敏感的化学物质,即遇紫外光则变软。通过控制遮光物的位置可以得到芯片的外形。在硅晶片涂上光致抗蚀剂,使得其遇紫外光就会溶解。这是可以用上第一份遮光物,使得紫外光直射的部分被溶解,这溶解部分接着可用溶剂将其冲走。这样剩下的部分就与遮光物的形状一样了,而这效果正是我们所要的。这样就得到我们所需要的二氧化硅层。搀加杂质 将晶圆中植入离子,生成相应的P、N类半导体。具体工艺是是从硅片上暴露的区域开始,放入化学离子混合液中。这一工艺将改变搀杂区的导电方式,使每个晶体管可以通、断、或携带数据。简单的芯片可以只用一

22、层,但复杂的芯片通常有很多层,这时候将这一流程不断的重复,不同层可通过开启窗口联接起来。这一点类似所层PCB板的制作制作原理。 更为复杂的芯片可能需要多个二氧化硅层,这时候通过重复光刻以及上面流程来实现,形成一个立体的结构。封装 将制造完成晶圆固定,绑定引脚,按照需求去制作成各种不同的封装形式,这就是同种芯片内核可以有不同的封装形式的原因。比如:DIP、QFP、PLCC、QFN 等等。这里主要是由用户的应用习惯、应用环境、市场形式等外围因素来决定的。测试、包装经过上述工艺流程以后,芯片制作就已经全部完成了,这一步骤是将芯片进行测试、剔除不良品,以及包装。FPGA/CPLD设计过程建模:利用HD

23、L描述系统仿真:利用仿真环境对系统进行功能仿真和时序仿真综合:利用综合工具对系统进行翻译,转换成电路(网表)下载:将综合后的电路下载到开发板制作电路板:进行外围电路焊接目前流行的过程FPGA/CPLD设计、验证ASIC制作课程学习要求及注意事项本课程以计算机导论、电子电路(模拟电路和数字电路)本课程以计算机导论、电子电路(模拟电路和数字电路)和逻辑代数的知识为基础,是专业选修课程,也是后续课和逻辑代数的知识为基础,是专业选修课程,也是后续课程(计算机组成原理,计算机体系结构等)的基础,有一程(计算机组成原理,计算机体系结构等)的基础,有一定学习难度,希望大家认真对待定学习难度,希望大家认真对待

24、课程学习课时:课程学习课时:210课时理论教学课时理论教学+46学时实验教学学时实验教学课程学习总成绩课程学习总成绩=平时成绩平时成绩+考试成绩考试成绩平时成绩平时成绩=提问提问5%+考勤考勤5%+实验实验40%期末期末成绩成绩=考试成绩考试成绩50%课程目录第第1讲讲 Verilog HDL数字设计方法及工具:数字设计方法及工具:HDL,ModelSim,Xilinx ISE第第2讲讲 Verilog HDL层次建模:模型,数据类型,接口层次建模:模型,数据类型,接口第第3讲讲 Verilog HDL常用建模方法:开关,门,数据流,行为常用建模方法:开关,门,数据流,行为第第4讲讲 同步有限状态机设计:同步有限状态机设计:Mealy机,机,Moore机机第第5讲讲 Verilog HDL高级建模:任务、函数、延迟高级建模:任务、函数、延迟、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论