EDA技术与应用讲义第0章概述.ppt_第1页
EDA技术与应用讲义第0章概述.ppt_第2页
EDA技术与应用讲义第0章概述.ppt_第3页
EDA技术与应用讲义第0章概述.ppt_第4页
EDA技术与应用讲义第0章概述.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

第0章 概 论 EDA技术与应用 课程讲义,合肥工业大学 彭良清,本章内容,EDA技术的发展历史 EDA技术实现目标 硬件描述语言VHDL概述 EDA技术与传统电子设计方法的比较 EDA技术的发展趋势,培根说:Histories make men wise 让我们先看看EDA的历史,数字集成电路的发展,晶体管(1955 William Shockley) 小中规模集成电路(1960年代) 超大规模集成电路VLSIC(1970年代) 专用集成电路 ASIC (1980年代 ) PLD(1970年代 ) FPGA(Xilinx公司,1984年),好了,我们知道了“米”由来 现在我们来学习“煮饭”的方法,什么是EDA,电子设计自动化(Electronic Design Automation)指设计者利用计算机及相关应用软件完成电子系统设计任务。,EDA的三个阶段,CAD Computer Assist Design 70年代 CAE Computer Assist Engineering Design 80年代 ESDA Electronic System Design Automation 90年代,CAD阶段,1:选用SSIMSI如各种逻辑门触发器寄存器编码译码器。 2:用Tango (Protel)等软件布线,焊接在PCB(Printed Circuit Board)上调试。 现在还存在吗?,CAE阶段(19801990),集成电路设计各个阶段的集成工具的产生 (原理图输入、编译和连接、逻辑模拟、测试码生成、版图自动布局、单元库的建立) 实现从设计输入到版图输出的全程自动化 ASIC芯片应用日益广泛,CAE阶段的2大特点,ASIC 大行其道 实现了 设计的自动化 但 设计 仍 采用 图形方式,ESDA阶段,使用HDL语言进行设计 高层综合(行为级)取得进展 物理设计和逻辑设计的融合,在设计初期就考虑芯片物理结构的影响 可测试性设计广泛使用(JTAG) IP核大量使用,EDA阶段的结果,FPGA/CPLD器件取代部分ASIC器件应用 系统设计者或者线路板设计者成为芯片设计者,本课程的就是:?,学习 如何使用 可编程逻辑器件 进行 电子系统设计 的方法,一切都是命运 一切都是烟云 一切都是没有结局的开始 北岛 EDA技术已经开始,那么 她的结局是?,EDA技术的终极目标是:?,完成ASIC (专用集成电路) 的设计和实现 板级或者系统级的 应用系统设计者 也能 设计 IC (芯片) _,你、我 了不起吧?!,如何实现?,3个途径,FPGA /CPLD 可编程 ASIC,半定制 全定制 ASIC,EDA技术,ASIC技术,数字ASIC,混合 ASIC,PCB设计,途径一:使用可编程逻辑器件,使用FPGA/CPLD 特点: 灵活性 通用性好 上市周期块 对于小批量产品成本低,途径二:半定制或者全定制ASIC,分类 门阵列ASIC 标准单元ASIC 全定制ASIC 特点 价格低 性能好 具有知识产权,保密性好,途径三:混合ASIC设计,是前2种方法的混合体 不是 模拟和数字的混合体 既具有FPGA可编程逻辑资源, 也含有可调用的硬件标准单元模块(CPU,RAM,ROM,硬件加法器,乘法器 锁相环) 例如:ALTERA公司的Virtex-4系列, StratixII系列,硬件描述语言:起源,是电子电路的文本描述。 最早的发明者:美国国防部,VHDL,1983 大浪淘沙,为大者二: VHDL 和 Verilog HDL 其他的小兄弟: ABEL、AHDL、System Verilog、System C。,一个D触发器的VHDL代码例子,- VHDL code position: p83_ex4_11_DFF1 - - LIBARY IEEE; - USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS PORT ( CLK : IN BIT; D : IN BIT; Q : OUT BIT ); END ENTITY DFF1; ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND (CLK=1) AND ( CLKLAST_VALUE = 0) THEN - 严格的CLK信号上升沿定义 Q = D; END IF; END PROCESS; END ARCHITECTURE bhv;,代码实体(510),代码结构体(1120),VHDL (Very High Speed Integrated Circuit Hardware Description Labguage),以Ada语言为基础,由美国国防高级研究计划局(DARPA)开发。 历史和发展: 1985年完成第一版 1987年成为IEEE标准(IEEE1076), 1993年增修为IEEE1164标准并使用至今。 1996年又加入电路合成标准程序和规格,成为IEEE1076.3标准。 美国国防部规定其为官方ASIC设计语言。 1995年成为中国国家标准(见CAD通用技术规范),Verilog HDL,以C语言为基础,由GDA(Gateway Design Automation)公司的Phil Moorby创建于1983年。 历史和发展: 1989年CADENCE公司收购了GDA公司,拥有了Verilog HDL的独家专利。 于1990年正式发表了Verilog HDL,并成立OVI(Open Verilog International)组织推进其发展。 1995年CADENCE公司放弃了Verilog HDL专利,使之成为IEEE标准(IEEE1364)。,VHDL与Verilog HDL的比较,不存在优劣之分。 相同电路,2种语言的编码长度大体相同。 常用的各种仿真/综合工具均为二者通用。 一个公司通常习惯于使用其中一种,和习惯有关。 在日本,VHDL用户略多于Verilog HDL,例如: NEC,日立,福田电子,丸文等公司通常习惯使用VHDL;而松下,CASIO等公司习惯使用Verilog HDL。,HDL和C的比较,不能使用单步、断点等软件语言调试方法。 具有并行性,而软件语言完全顺序执行的。 编写时不能随心所欲,按照“规矩”编写代码。 看似可实现的代码,仿真往往有很大问题。,优点?,和传统的电子系统设计相比 使用HDL的优点?,硬件描述语言(VHDL)的优点:,1). 打破了IC设计者与使用者的界线。 2). 迅速掌握。 3). 缩短了专用芯片的开发周期。 4). 缩小电路板面积,性价比高。 5). 设计可重用。 6). 自主知识产权。这一点对目前我国尤为 重要。,如何使用VHDL来设计电路?,VHDL设计电路的的5步曲 语言编码 逻辑综合 功能和时序仿真 器件适配 器件编程,使用MAX+PLUS II软件的设计过程,MAX+PLUS II设计过程说明,Compiler Netlist Extractor(编译器网表提取器): 通过该过程生成设计项目的网表文件, Database Builder(数据库构建器 ): 用于将所有的设计文件集成到项目数据库中 如果指定端口的实体已被抽取. 则从盘中读取. cnf文件信息就可以了, 因而节省了时间. Logic Synthesizer (逻辑综合器): 选择合适的逻辑化简算法, 去除冗余和无用逻辑, 有效使用器件的逻辑资源. Fitter(适配器) 将电路适配到某个PLD器件中。 Timing SNF Extractor(时序SNF文件提取器) 产生用于时序仿真的网表文件 Assembler(汇编器) 产生用于器件编程的目标代码,其他的HDL综合工具,Altera公司 MAX+PLUS II 10.2(已经停止发行,新器件不支持) QUARTUS II 5.0(推荐使用) Xilinx 公司 ISE 7.0:Xilinx公司集成开发的工具 Foundation: Xilinx公司早期开发工具,逐步被ISE取代 ISE Webpack: Webpack是xilinx提供的免费开发软件,功能比ISE少一些,可以从xilinx网站下载,有了HDL语言后?,硬件设计人员 的工作过程 已经 类似与 软件设计人员,那么 这种模式的好处是? 让我们先看看原来是如何做的,与传统电子设计方法的比较,传统的设计过程: 模块划分 画出逻辑的真值表 用卡诺图简化逻辑 写出布尔表达式 画出逻辑线路图,这 些 都 是 人 工 的,传统设计是一种“搭积木”设计,由标准器件(如74/54系列)构建电路板 由电路板搭成电子系统 主要的工作量在于 系统设计(板互连) PCB板设计,传统设计方法的问题,复杂电路的设计、调试很困难 修改不变 可移值性差 模块重用困难 设计文档很多,不易管理 只能在成品制造后测试 对设计者的经验要求很高,EDA设计是 一种基于“芯片”的设计,利用EDA工具,采用可编程逻辑器件 来设计电子系统 减小了PCB板设计和系统设计的工作量。 还有,EDA技术的优势,可随时验证设计 模块可重用 设计文档易于管理(VHDL代码文本) 具有知识产权 适合高速电路 具有高可靠性 对设计者的要求降低。,EDA的结局?,一切的开始 都已经有了结局 EDA的结局是?,EDA技术的发展趋势,SoC(System on Chip)片上系统 方兴未艾 FPGA/CPLD和ASIC二大阵营的技术和市场融合加强 FPGA/CPLD进入传统ASIC的应用场合,而ASIC期间预留FPGA空间,使得产品的修改和升级更加容易。 CPU,DSP开始集成到FPGA中。 更多,更多的EDA技术的发展趋势?,?请回去 自己 查阅资料,The end.,FPGA 与 CPLD,可编程逻辑器件(芯片)的发展阶段 PAL: Programmable Array Logic GAL: Generic Array Logic CPLD: Complex Programmable Logic Device FPGA: Field Programmable Gate Array 返回,如何提高,方法有2个 理论学习 基本数字单元电路的实现 PLD器件的工作原理的深入理解 比如 全局时钟,I/O接口 PLL 复杂时序电路的设计 状态机编程 VHDL代码和物理电路的对应 如何提高性能: 同步电路设计,高速电路设计,时间和面积优化 器件的选择 项目训练 完成一个实际的应用项目,本质?工具,EDA实际上是一种 计算机软件,如何掌握EDA技术?,甲:学习一种计算机软件的使用 已:学习某个专门领域的设计知识, 比如机械设计理论,电路基础,建筑设计理论,那一个正确?,电子工程领域的EDA,EDA:电子设计自动化 Electronic Design Automation EDA技术就是: 依赖 功能强大的计算机, 在 EDA工具软件 平台上, 用 硬件描述语言(HDL)作为 系统逻辑描述手段 来完成 电子线路设计文件 最终 实现 特定电子线路的硬件(芯片或者电路板),EDA技术的历史,70年代 计算机辅助设计(CAD)阶段,人们开始用计算机取代手工操作进行IC版图编辑、PCB布局布线 80年代 计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能分析和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计 90年代 电子系统设计自动化(EDA)阶段,同时又出现了计算机辅助工艺(CAPP)、计算机辅助制造(CAM)等,相关名词,器件: PAL,GAL,CPLD,FPGA GAL16V8, MAX7128,EP1C3, 硬件语言: VHDL,verilog HDL 公司: ALTERA, XILINX,LATTICE 设计软件平台: MAX+PLUS II,QUARTUS II; ISE, 详细含义后面具体介绍,让我们来增加一点感观认识,这是一片ALTERA公司的PLD芯片,共有400个引脚,BGA封装。,我们设计的一款产品,3D显示器的视频信号处理电路,PLD器件到底能干什么?,通信领域 视频信号处理 ASIC的替代 CPU设计的前期仿真,教材与参考书:基础篇,EDA技术实用教程(第二版)(教材) 潘松 黄继业 科学出版社 2005-2 VHDL硬件描述语言与数字逻设计 侯伯亨 西安电子科技大学出版社 2001-04 FPGA设计及应用 褚振勇 翁木云 西安电子科技大学出版社 2002-7,教材与参考书:提高和应用篇,FPGA数字电子系统设计与开发实例导航: 求是科技 人民邮电出版社 2005-6 基于CPLD/FPGA数字通信系统建模与设计 段吉海 黄智伟 电子工业出版社 2004-8 挑战SOC基于NIOS的SOPC设计与实践 彭澄廉 周博等 清华大学出版社 2004-7,EDA学习网站和论坛(一),EDA 门户网站 二巨头 www.PLD. 一个国内最好的EDA门户网站,包括ALTERA公司、XILINX公司等分类论坛,也有大量技术文章,人气极旺的论坛。 人气可和前者比肩,该网站还有一个“先锋工作室”,出版了很多EDA专业书籍,EDA学习网站和论坛(二),ALTERA和XILINX公司的官方网站 有关软件使用,芯片手册,应用笔记, 设计实例等应有尽有。,我如何教你?,假如学生要得到一瓢水 教师必须有一桶水 假如教师只有一桶水 我们要指引给学生了一条河,教会你游泳的技巧,而不是喝水的本领,CAD,CAD在早期是英文 Computer Aided Drafting (计算机辅助绘图) 的缩写,随着计算机软、硬件技术的发展, 演变为 Computer Aided Design (计算机辅助设计),CAPP,计算机辅助工艺设计(Computer Aided Process Planning)的简称 概念:利用计算机技术,辅助工艺人员设计零件 从毛坯到成品 的制造方法。 是将 企业产品设计数据 转换为 产品制造数据 的一种技术。 是计算机集成制造系统(CIMS)的重要组成部分。,SSI & MSI,SSI: small-scale integration MSI: medium-scale integration 返回,ABEL 、 CUPL 、 PALASM2 、FM,ABEL 一种硬件描述语言,Lattice 公司的软件isp Expert System 7.0支持该语言 CUPL PALASM2 FM,Ada语言,来源: Ada语言是 美国国防部指定的 唯一种可用于 军用系统开发的语言 特点: 一种面向对象的计算机语言。 取名: 英国著名诗人拜伦的女儿Ada Lovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员,故名Ada。 返回,Jean Ichbiah, Ada之父 , 1979 开发完成Ada计算机语言。,Compiler Netlist Extractor (编译器网表提取器),The Compiler module that converts each design file in a project (or each cell of an EDIF Input File) into a separate binary CNF. The filename(s) of the CNF(s) are based on the project name. Example The Compiler Netlist Extractor also creates a single HIF that documents the hierarchical connections between design files. This module contains a built-in EDIF Netlist Reader, Verilog Netlist Reader, VHDL Netlist Reader, and converters that translate ADFs and SMFs for use with MAX+PLUS II. During netlist extraction, this module checks each design file for problems such as duplicate node names, missing inputs and outputs, and outputs that are tied together. 返回,Database Builder(数据库构建器 ):,The Compiler module that builds a single, fully flattened project database that integrates all the design files in a project hierarchy. The Database Builder uses the HIF to link the CNFs that describe the project. Based on the HIF data, the Database Builder copies each CNF into the project database. Each CNF is inserted into the database as many times as it is used within the original hierarchical project. The database thus preserves the electrical connectivity of the project. The Compiler uses this database for the remainder of project processing. Each subsequent Compiler module updates the database until it contains the fully optimized project. In the beginning, the database contains only the original netlists; at the end, it contains a fully minimized, fitted project, which the Assembler uses to create one or more files for device programming. As it creates the database, the Database Builder examines the logical completeness and consistency of the project, and checks for boundary connectivity and syntactical errors (e.g., a node without a source or destination). Most errors are detected and can be easily corrected at this stage of project processing. 返回,Logic Synthesizer,The Compiler module that synthesizes the logic in a projects design files. Using the database created by the Database Builder, the Logic Synthesizer calculates Boolean equations for each input to a primitive and minimizes the logic according to your specifications. For projects that use JK or SR flipflops, the Logic Synthesizer checks each case to determine whether a D or T flipflop will implement the project more efficiently. D or T flipflops are substituted where appropriate, and the resulting equations are minimized accordingly. The Logic Synthesizer also synthesizes equations for flipflops to implement state registers of state machines. An equation for each state bit is optimally implemented with either a D or T flipflop. If no state bit assignments have been made, or if an incomplete set of state bit assignments has been created, the Logic Synthesizer automatically creates a set of state bits to encode the state machine. These encodings are chosen to minimize the resources used. 返回,Fitter(适配器),The Compiler module that fits the logic of a project into one or more devices. Using the database updated by the Partitioner, the Fitter matches the logic requirements of the project with the available resources of one or more devices. It assigns each logic function to the best logic cell location and selects appropriate interconnection paths and pin assignments. The Fitter attempts to match any resource assignments made for the project with the resources on the device. If it cannot find a fit, the Fitter allows you to override some or all of your assignments or terminate compilation. The Fitter module generates a Fit File that documents pin, buried logic cell, chip, clique, and device assignments made by the Fitter module in the last successful compilation. Each time the project compiles successfully, the Fit File is overwritten. You can back-annotate the assignments in the file to preserve them in future compilations. 返回,Timing SNF Extractor(时序SNF文件提取器),The Compiler module that creates a timing SNF containing the logic and timing information required for timing simulation, delay prediction, and timing analysis. The Timing SNF Extractor is turned on with the Timing SNF Extractor command (Processing menu). It is also turned on automatically when you turn on the EDIF Netlist Writer, Verilog Netlist Writer, or VHDL Netlist Writer command (Interfaces menu). The Timing SNF Extractor cannot be turned on at the same time as the Functional SNF Extractor or the Linked SNF Extractor. A timing SNF describes the fully optimized circuit after all logic synthesis and fitting have been completed. Regardless of whether a project is partitioned into multiple devices, the timing SNF describes a project as a whole. Therefore, timing simulation and timing analysis (including delay prediction) are available only for the project as a whole. Neither timing simulation nor functional testing is available for individual devices in a multi-device project. Functional testing is available only for a single-device project. 返回,Assembler(汇编器),The Compiler module that creates one or more programming files for programming or configuring the device(s) for a project. The Assembler module completes project processing by converting the Fitters device, logic cell, and pin assignments into a programming image for the device(s), in the form of one or more POFs, SOFs, Hex Files, TTFs, Jam Files, JBC Files, and/or JEDEC Files. POFs and JEDEC Files are always generated; SO

温馨提示

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

评论

0/150

提交评论