《EDA及verilog讲义》由会员分享,可在线阅读,更多相关《EDA及verilog讲义(48页珍藏版)》请在金锄头文库上搜索。
1、讲 义20102011学年第1学期系部电子与电气工程系教研室(实验室)电子通信课 程 名 称EDA技术适用班级通信AB班主 讲 教 师职 称 助教二 年 月 日厦门理工学院教务处 制首 页课程名称EDA技术授课对象08通信AB班课程编号课程类型必修课公共基础课( );专业基础课( );专业课()选修课限选课( );任选课( )授课方式课堂讲授();实践课( )考核方式考试();考查( )课程教学总学时数48学 分 数3学时分配课堂讲授 24学时; 实践课 24学时基 本教 材和 主要 参考 资料序号教材名称作者出版社出版时间1EDA技术与verilogHDL潘松、黄继业清华大学20102FPG
2、A设计及应用(第1版)褚振勇 翁木云科学技术20023Verilog数字系统设计教程夏宇闻北京航空航天大学出版社2008授课教师职称助教授课时间2010.9-2010.12教学目的要求本课程是通信类专业的一门很有实用性的技术课程。电子技术在不断地发展,电子系统的设计方法也随之发生变革,基于EDA技术的设计方法正在成为现代电子系统设计的主流。本课程旨在使学生了解以硬件描述语言为基础的数字系统设计的基本方法,熟悉常用PLD器件和现代数字系统的设计工具,通过教学使学生掌握数字系统自上而下的设计方法,通过对多个电子系统实例的学习和设计,使学生能够独立进行中等难度数字系统的设计,为进行应用系统设计和解决
3、实际问题打下基础。教学重点难点Verilog程序的基本结构,利用Verilog进行程序设计,算法状态机的设计(Verilog),逻辑电路时序设计,现代电子系统设计方法,EDA软件的熟练使用,PLD的熟悉与应用。授课题目: 第1章 EDA技术概述授课方式: 理论课课时安排: 2学时 课次:1l 课程简介:1) 脉冲与数字电路为基础,学习了数字电路的基本设计方法。2) EDA技术与VHDL,面向实际工程应用,紧跟技术发展,掌握数字系统新的设计方法。l 课程宗旨:更新数字电路的设计观念,建立用PLD器件取代传统TTL器件设计数字电路的思想;更新数字系统设计手段,学会使用硬件描述语言(Hardware
4、 Description Language)代替传统的数字电路设计方法来设计数字系统。一、 传统数字电子系统或IC设计这种手工设计法的缺点是:1)复杂电路的设计、调试十分困难;2)由于无法进行硬件系统仿真,如果某一过程存在错误,查找和修改十分不便;3)设计过程中产生大量文档,不易管理;4)对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;5)只有在设计处样机或生产出新片后才能进行实测。二、EDA概念EDA(Electronic Design Automation)即电子设计自动化,是指利用计算机完成电子系统的设计。1)广义的EDA技术,是指以计算机和微电子技术为先导, 汇集
5、了计算机图形学、数据库管理、图论和拓扑逻辑、编译原理、 微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术;2)狭义的EDA技术,是指以大规模可编程逻辑器件为载体,以硬件描述语言HDL为系统逻辑的主要表达方式,借助功能强大的计算机,在EDA工具软件平台上,对用HDL描述完成的设计文件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑简化、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片ASIC(Application Specific Integrated Circuits)的
6、一门新技术。三、EDA的发展历程1)计算机辅助设计CAD70年代,EDA工具供应商只有几家,产品几乎全面向LSI和PCB布线设计,这一阶段,人们开始利用计算机取代手工劳动,辅助进行集成电路板图编辑、PCB布局布线等工作,这个时期的EDA一般称为电路CAD(计算机辅助设计)。2)计算机辅助工程设计CAE80年代,带有电路图编辑工具和逻辑工具的EDA软件,以数字电路分析工具为代表,主要解决电路设计没有完成之前的功能检验问题。3) 电子设计自动化EDA90年代至今使用第三代EDA软件,能够在系统级、电路级及寄存器传输描述RTL及门级进行设计描述、综合和仿真。四、EDA技术的实现目标作为EDA技术最终
7、实现目标的ASCI可以通过一下3种途径完成:1)可编程逻辑器件FPGA/CPLD(直接面向用户、具用极大的灵活性和通用性)2)半定制或全定制ASCI(用户提要求,厂家设计生产,出厂后用户不可更改)3)混合ASCI(既具有面向用户的FPGA可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块)五、EDA主要内容1)可编程逻辑器件可编程逻辑器件是一种由用户编程以实现某种逻辑功能的新型件。 可编程逻辑器件也称为可编程ASIC,它是EDA技术的物质基础。2) 硬件描述语言HDLHDL语言是EDA技术的重要组成部分,它是一种用于描述硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统
8、的逻辑功能、电路结构和连接形式。3) 软件开发工具EDA软件开发工具是EDA技术的强有力支持。EDA软件开发工具是指以工作站或者高档计算机为基本工作平台,利用计算机图形学、拓扑逻辑学、计算数学和人工智能等多种应用学科的最新成果而开发出来的一套软件工具,它是一种帮助设计工程师进行电子系统设计的辅助工具。总结:本章重点是掌握EDA技术的概念,了解EDA技术实现的目标,重点掌握EDA的主要内容。授课题目: 第2章 PLD硬件特性与应用授课方式: 理论课课时安排: 2学时 课次:2一、 PLD概述不论是简单还是复杂的数字电路系统都是由基本门电路构成的。基本门可构成两种数字电路:组合电路(逻辑上输出总是
9、当前输入状态的函数);时序电路(含有存储器件,输出是当前系统状态与当前输入状态的函数)。实践中发现:1) 任何组合逻辑都可化成“与-或”表达式;2) 任何时序电路都可由组合电路加上存储元件组成。由此人们提出了一种可编程逻辑电路结构,即乘积项可编程结构,如图1。对于可编程逻辑器件的发展及分类见书P30,这里不多介绍,同学们课下自己熟悉图1 基本PLD器件的原理图可编程逻辑器件的分类:1、按集成度分;2、按结构分;3、按工艺分。详细分类及主要代表元件见PPT二、 简单PLD原理2.2.1 电路符号表示逻辑门标号如PPT所示,这里的符号应该都是数字电子技术里介绍过的。如图2-2、2-3所示,接入PL
10、D内部的与、或阵列输入缓冲器电路一般采用互补结构,即当信号输入PLD后,分别以相同或相反信号接入。2-4、2-5分别是与阵列和或阵列的简化图形表示2-6中十字交叉线表示未连接,有黑点表示固定连接,交叉线上打叉表示可编程,在PLD出厂后,其连接可随时改变。2.2.2 PROM如PPT图所示,PROM的地址译码器用于完成PROM存储阵列行的选择。 (2-1)PROM对于存储单元阵列的输出可用下列“或”的逻辑形式表示。 (2-2)由此可以看到PROM就是由固定的与阵列与可编程的或阵列组成。下面以半加器为例,即由PROM来实现半加器,经化简成与或形式可以看到F0为两个与项相或,那么相应将两个与项的与门
11、输出做或输出。 (2-3)2.2.3 PLAPROM中可以看到,当地址译码器有n个输入变量时,经不可编程的与阵列产生2n个最小项,那么当组合逻辑函数在输入变量增多时,PROM存储单元利用效率将大大降低。PROM的与阵列是全译码器,产生了全部的最小项,而在实际应用中绝大多数组合逻辑函数不需要全部的最小项,因此可编程逻辑阵列PLA对PROM进行了改进。PLA是与阵列和或阵列都是可编程,提高了阵列的利用率。但是其算法复杂使得运行速率下降。2.2.4 PAL基于PLA算法复杂,PAL进行了改进。PAL是与阵列可编程,或阵列固定。(结构小,编程方便,不通用,增加系统芯片数量)上述的可编程结构只解决组合逻
12、辑的可编程问题,那么对于时序逻辑电路还需加上存储器。2.2.5 GAL为适应不同应用需要,PAL的I/O结构很多,往往一种结构形式就有一种PAL器件,而设计者在设计不同功能的电路时,往往要采用不同I/O结构的PAL器件,由此带来了生产不便。GAL在PLD上采用了EEPROM工艺,使得其具有电可擦除重复编程特点GAL采用“与阵列可编程、或阵列固定”的结构,对PAL的I/O结构进行了较大的改进,在GAL的输出部分增加了“输出逻辑宏单元OLMC”,可构成各种输出端功能。使得编程容易,结构简单。三、FPGA/CPLD的结构与工作原理PLD根据器件互连结构、逻辑单元结构分为CPLD、FPGAFPGA:内
13、部互连结构由多种长度不同的连线资源组成,每次布线的延迟可不同,属统计型结构。逻辑单元主体为由静态存储器(SRAM)构成的函数发生器,即查找表。通过查找表可实现逻辑函数功能。采用SRAM工艺。(掉电后不能保持编程信息)CPLD:内部互连结构由固定长度的连线资源组成,布线的延迟确定,属确定型结构。逻辑单元主要由“与或阵列”构成。该结构来自于典型的PAL、GAL器件的结构。采用EEPROM工艺。(掉电后重新上电还能保持编程信息)FPGA/CPLD种类繁多,特点各异。基本结构如图(见PPT),主要包括三大部分:a. 一个二维的逻辑块阵列,构成了PLD器件的逻辑核心。b. 输入/输出块。c. 连接逻辑块
14、的互连资源,由各种长度的连线线段组成,其中也有一些可编程的连接开关,用于逻辑块之间、逻辑块与输入/输出块之间的连接。FPGA与CPLD的主要不同在于逻辑块的构成不同:1.CPLD(以MAX3000A为例)CPLD的逻辑阵列块由16个宏单元的阵列组成,而多个逻辑阵列块(LAB)组成的阵列及其之间的连线便构成了MAX3000A。多个LAB通过可编程连线阵列(PIA)和全局总线连接在一起,全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。n宏单元如PPT图所示,由逻辑阵列、乘积项选择阵列和可编程寄存器组成。不同的LAB通过在可编程连线PIA上布线来相互连接构成所需的逻辑。I/O控制块允许每个I/O引脚单