《新手EDA讲义》PPT课件.ppt_第1页
《新手EDA讲义》PPT课件.ppt_第2页
《新手EDA讲义》PPT课件.ppt_第3页
《新手EDA讲义》PPT课件.ppt_第4页
《新手EDA讲义》PPT课件.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

EDA技术及应用教程讲义 王建波2002年9月 EDA讲义王建波 第一章EDA发展综述 1 1CAD与EDA计算机辅助设计技术 ComputerAidedDesign 电子设计自动化 ElectronicDesignAutomation 可以说EDA是CAD的高级阶段 EDA讲义王建波 EDA发展趋势 自顶向下设计CAECAD19751980198519901995 逻辑综合HDL参数分析自动测试设计 电路图输入逻辑模拟 PCB版LSI布线设计 EDA讲义王建波 1 2EDA技术与器件的发展 1 CAD阶段60 80年代以PCB制作为主2 CAE阶段80 90年代以电路仿真 分析为代表3 EDA阶段90年代以后以复杂电路设计 可编程器件设计为代表 可以应用IP核 制作ASIC器件 EDA讲义王建波 1 3EDA特征与工具 特征 自顶向下TOPDOWN工具 物理工具 PCB制作等 逻辑工具 PLD器件设计 特别是ISP InSystemProgrammability 和CPLD ComplexProgrammableLogicDevice 的使用 EDA讲义王建波 1 4可编程数字ASIC ASIC ApplicationSpecificIntegratedCircuit 定制淹膜门阵列标准单元PLDPLD PROM PAL GAL EPLD CPLD FPGA等等 EDA讲义王建波 发展特点 价格不断降低集成度不断提高向系统级发展全新的PLD平台绿色CPLD出现 EDA讲义王建波 1 5可编程模拟PLD Lattice公司于1992年提出ISP技术并于1999年11月推出模拟PLD 主要用于 1 信号调理2 信号处理3 信号转换 EDA讲义王建波 1 6结构化的硬件描述语言HDL HDL HardwareDescriptionLanguage ABELAHDLVerilogHDLVHDL EDA讲义王建波 第二章可编程逻辑器件发展趋势 2 1片上系统 System On a Chip 1 系统集成2 系统存储3 同步时序4 系统接口 EDA讲义王建波 2 2片上系统的设计问题 1 IP IntelligentProperty 核重用2 形式验证3 测试基准4 可再配置计算5 布局规划6 核心设计 EDA讲义王建波 2 3基于IP模块的片上系统设计技术 1 片上系统和IP模块2 片上系统设计方法的发展趋势3 硬件IP模块4 系统芯片展望 EDA讲义王建波 2 4可编程模拟器件 2 5混合可编程器件1 混合信号SOC2 实际存在的问题3 新创意 新思想 EDA讲义王建波 第三章可编程逻辑器件基本原理3 1概述 PLD ProgrammableLogicDevice 一 基本结构1 结构 由与 或阵列和I O结构等组成 见图P3 1 2 PLD单元电路表示 见图P3 2 二 PLD分类 EDA讲义王建波 1 按照与 或阵列可编程分类A 与门固定 或门可编程B 或门固定 与门可编程C 与门 或门均可编程2 按照集成度分类3 按照编程工艺分类A 熔丝和反熔丝工艺器件B 浮栅编程器件C SRAM编程器件 EDA讲义王建波 3 2PAL器件一 概述PAL ProgrammableArrayLogic 二 内部电路结构三 PAL器件的开发 EDA讲义王建波 3 3GAL器件一 GAL器件概述 GenericArrayLogic 1 器件特点可以反复编程使用2 分类与参数二 普通型GAL器件1 内部电路结构2 输出逻辑宏单元 OLMC OLMC OutputLogicMacroCell 可以实现软件进行的多种配置输出形式 EDA讲义王建波 三 OLMC的输出结构类型1 简单模式2 复合模式3 寄存器模式 时序电路基本结构 四 GAL器件的开发与编程1 硬件条件 编程器和计算机2 软件条件 可编程器件编译软件如 ABEL FUSEMAP等等 EDA讲义王建波 第四章 Lattice公司可编程器件介绍4 1ISP器件概述 4 2高密度ISP PLD器件一 ispLSI器件结构原理1 集总布线区GRP GlobalRoutingPool 完成信号互连2 万能逻辑块GLB GenericLogicBlock 可编程阵列3 输出布线区ORP OutputRoutingPool 输出配置区 EDA讲义王建波 4 输入输出单元IOC I OCell 5 巨型块 Megablock 包括8个GLB 1个ORP 16个IOC和两个专用I O6 时钟分配单元二 在系统编程1 各种状态2 实现方式3 编程组态与接口 EDA讲义王建波 4 3低密度ISP PLD原理4 4ISP GDS原理一 ispGDS GenericDigitalSwitch 器件介绍用于灵活配置连接状态的器件二 ispGDS器件编程与使用 语言描述 软件编译 编程 使用 EDA讲义王建波 4 5ispGDX在系统可编程开关阵列 用于复杂数字电路的快速连接4 6ispPAC可编程模拟器件一 基本组成和特点二 结构三 应用用于模拟信号调理 放大 选频 数学运算等等 EDA讲义王建波 4 7Lattice公司ISP PLD器件的性能 4 8Lattice Vantis公司CPLD简介 EDA讲义王建波 第8章硬件描述语言 8 1HDL概述一 HDL概述HDL HardwareDescriptionLanguage ABELAHDLVerilogHDLVHDL EDA讲义王建波 二 语言特点1 自顶向下TOPDOWN2 采用ASIC芯片3 预测仿真4 降低设计难度三 HDL语言优点8 2VHDL与VerilogHDL的比较 EDA讲义王建波 第9章VHDL 9 1VHDL语言基础一 基本语法1 源文件由各种语句构成2 关键字 标识符 常量之间至少要一个空格隔开3 常数要区分大小写4 每行换行有结束标志 5 注释文字以双划线 开始 直到行结尾 EDA讲义王建波 二 标识符 数据对象 数据类型和属性1 标识符 分短标识符和扩展标识符 语法规定 必须以英文字母开头英文字母 数字 0 9 和下划线都是有效字符标识符不区分大小写下划线 的前后都必须有英文或者数字合法标识符举例S ABCD sig17 abc efg非法标识符举例S ABCD 17sig abc now EDA讲义王建波 2 数据对象包括常量 CONSTANT 变量 VARIABLE 信号 SIGNAL 和文件 FILE 四种 1 常量 CONSTANT 在文件中对某常数赋予一个固定的值 通常在程序开始处赋值 数据类型在说明语句中说明 其格式为 CONSTANT常数名 数据类型 表达式 例如 CONSTANTVCC REAL 5 0 CONSTANTFbus BIT VECTOR 1011 CONSTANTDelay TIME 10ns 它的使用范围取决于它定义的位置 可以用于全局 局部结构体等等 EDA讲义王建波 2 变量 VARIABLE 程序中的立即赋值量 它只能在进程和子程序中使用 不能带出当前单元且赋值立即生效 其格式为 VARIABLE变量名 数据类型 约束条件 初始值 例如 VARIABLEn INTEGERRANGE0TO15 2 也可以在语句后面紧跟变量赋值语句 格式为 目标变量名 表达式 例如 VARIABLEa b REAL VARIABLEx y BIT VECTOR 0TO7 则可以有以下合法赋值语句 EDA讲义王建波 x y 运算表达式赋值b a 1 a 100 实数型赋值y 0101101 位矢量赋值x 2TO4 1 0 1 段赋值x 0TO2 y 5TO7 x 6 1 位赋值 3 信号 SIGNAL 信号是电路内部连接的抽象 作为实体信息交流的通道 定义格式为 SIGNAL信号名 数据类型 约束条件 表达式 例如 SIGEALgnd BIT 0 定义一个单值信号gnd 数据类型是位BIT 信号初始值为0 EDA讲义王建波 SIGNALdata STD LOGIC VECTOR 7DOWENTO0 该句定义一个位矢量信号 总线 data 数据类型是标准位矢量STD LOGIC VECTOR 共有8个元素 定义完信号类型和表达方式后 还可以对信号进行赋值 其格式为 目标信号名 表达式 例如 x y a 1 s1 s2AFTER10ns 关键字AFTER后面是延迟时间 4 信号和变量的区别信号赋值有延时 变量没有进程对变量敏感而对信号不敏感信号在硬件中有对应的关系 而变量没有 EDA讲义王建波 3 数据类型 1 基本数据类型 表9 1 A 整数型 INTEGER 代表正整数 负整数和零 与算术整数相似 可以进行 运算 不能用于逻辑运算 例如 10E4 10进制整数12456 10进制整数16 E8 16进制整数2 010110 2进制整数8 746 8进制整数 EDA讲义王建波 B 实数 REAL 类似于数学的实数 或称浮点数 书写要有小数点 2 0 10进制实数535 78 10进制实数8 65 6 e 4 8进制实数36 5e 4 10进制实数C 位 BIT 通常是表示信号 取值 1 或者 0 D 位矢量 BIT VECTOR 用双引号括起来的一组位数据 使用时必须注明位宽度例如 SIGNALa BIT VECTOR 7TO0 表明是一个8位宽度 高位在前的矢量 EDA讲义王建波 E 布尔量 BOOLEAN 表示真假的数据定义布尔量的格式为 TYPEBOOLEANIS FALSE TRUE F 字符 CHARACTER 用单引号 引起来的符号 如 K 9 等等G 字符串 STRING 用双引号 引起来的字符序列 如 ABCD H 时间 TIME 这是VHDL中唯一预先定义的物理量 比如 342ns 至少要隔开1个空格 I 错误等级 SEVERITYLEVEL 用于表征系统的状态 一共有四种可能 EDA讲义王建波 NOTE 注意 WARNING 警告 ERROR 错误 FAILUER 失败 2 用户自定义数据类型枚举类型 ENUMERATED 整数类型 INTEGER 数组类型 ARRAY 纪录类型 RECORD 存取类型 ACCESS 文件类型 FILE 时间类型 TIME 实数类型 REAL EDA讲义王建波 4 属性表示数值 信号 数据格式 数据范围及函数等属性的 三 运算符 操作符 见表9 2使用中注意数据类型要匹配 且注意优先级关系 EDA讲义王建波 9 2VHDL语句 包括顺序处理语句和并行处理语句并行语句作为一个整体运算 程序中被激活的语句都执行 顺序语句则按照程序书写顺序来执行 顺序语句只能用于进程或子程序中 用来定义进程或子程序的算法 顺序语句可以进行算术 逻辑运算 信号和变量的赋值 子程序的调用 可以进行条件控制和迭代 一 常用顺序处理语句1 变量赋值语句格式为 变量赋值目标 赋值表达式 EDA讲义王建波 例如 SIGNALs BIT 0 PROCESS S VARIABLEcount INTEGER 0 变量说明BEGINcount count 1 ENDPROCESS 2 信号带入语句作为全局信号带入的语句 其格式为 目标信号量 信号量表达式3 IF语句 流程控制语句 有3种表示结构 EDA讲义王建波 IF条件THEN顺序语句ENDIF如 IF SET 1 THENC BENDIF IF条件THEN顺序语句ELSE顺序语句ENDIF如 二选一电路 IF sel 1 THENc a ELSEc b ENDIF EDA讲义王建波 IF条件1THEN顺序语句1ELSIF条件2THEN顺序语句2 ELSIF条件nTHEN顺序语句nELSE顺序语句n 1ENDIF4 选择语句CASE格式 CASE表达式ISWHEN条件表达式 顺序语句 WHEN别的条件表达式 顺序语句ENDCASE EDA讲义王建波 5 LOOP语句两种格式 1 FOR循环变量 标号 FOR循环变量IN循环次数范围LOOP循环处理语句 2 WHILE条件 标号 WHILE条件LOOP顺序处理语句 ENDLOOP 标号 6 NEXT语句用于LOOP语句中用以跳出本次循环至标号所在位置 格式为 NEXT 标号 WHEN条件 7 EXIT语句 EDA讲义王建波 用于LOOP语句中用以跳出本次循环至标号所在位置 格式为 EXIT 标号 WHEN条件 8 NULL语句空语句 引入至下一个语句用格式 NULL 9 RETURN语句子程序结束返回主程序的语句 有两种格式 RETURN 第一种格式RETURN表达式 第二种格式10 REPORT语句11 ASSERT语句12 过程调用语句 EDA讲义王建波 13 WAIT语句也是条件控制语句 见P181包括四种情况 WAIT 无限等待WAITON 敏感信号量变化WAITUNTIL 条件满足WAITFOR 时间到二 子程序可以用于重复性的设计任务 子程序被调用时 首先要初始化 执行处理功能后 将处理结果传递个主程序 子程序内部值不能保持 子程序有两种类型 过程 PROCEDURE 和函数 FUNCTION EDA讲义王建波 1 过程 PROCEDURE 子程序A 过程的说明格式 仅限于这一局部有效 PROCEDURE过程名 接口表 例如 PROCEDUREconvt zin INSTD LOGIC VECTOR qout INOUTINTEGER B 过程体的编写格式 PROCEDURE过程名 接口名 IS 说明语句 BEGIN顺序处理语句 END过程名 EDA讲义王建波 2 函数 FUNCTION 子程序VHDL中有现成的函数库 也可以用户定义 定义后可以反复使用 A 函数说明格式 FUNCTION函数名 接口表 RETURN数据类型 例如 FUNCTIONmax a STD LOGIC VECTOR b STD LOGIC VECTOR B 函数体的格式FUNCTION函数名 接口表 RETURN数据类型IS 说明语句 BEGIN顺序处理语句 END函数名 EDA讲义王建波 四 VHDL并行语句并行语句在结构体执行是同时并发进行的 其书写次序与执行顺序没有关系 并行语句在结构体里面的位置是 ARCHITECTURE结构体名OF实体名IS说明语句BEGIN并行语句ENDARCHITECTURE结构体名 EDA讲义王建波 主要的并行语句有 PROCESS 进程语句CONCURRENTSIGNALASSIGNMENT 并行信号带入语句CONDITIONALSIGNALASSIGNMENT 条件信号带入语句SELECTIVESIGNALASSIGNMENT 选择信号带入语句CONCURRENTPROCEDURECALL 并发过程调用语句BLOCK 块语句ASSERT 并行断言语句GENERATE 生成语句COMPONENT INSTANT 元件例化语句1 并行信号带入语句语法格式 信号量 敏感信号量表达式 A 并发信号带入语句 EDA讲义王建波 例如 PROCESS a b BEGINOUT1 a b ENDPROCRSSB 条件信号带入语句格式 见书 当WHEN的条件为真时 将表达式赋给目标信号条件表达式结果应为布尔值如果有多个条件赋值语句 每一赋值条件按照书写的先后顺序逐项执行最后一项条件表达式可以不跟条件子句 即上面条件都不满足时 自动赋值给它 EDA讲义王建波 C 选择信号赋值语句格式 见书 注意 该语句不能在进程中使用 为并发执行语句不允许出现条件重叠的现象选择不允许出现条件涵盖不全的现象2 进程语句特点 多进程之间并行执行 并可以存取实体或者结构体中定义的信号各进程之间通过信号传递进行通信进程结构内部所有语句都是顺序执行的进程启动是由敏感信号表中信号的变化激活的 或者WAIT语句激活 EDA讲义王建波 结构格式 进程标号 PROCESS 敏感信号表 说明语句 BEGIN顺序语句 ENDPROCESS 进程标号 例如 P1 PROCESSBEGINWAITONa WAITONb WAITFOR10ns WAIT ENDARCHITECTURE EDA讲义王建波 在上面的例子中 当执行完毕后如果敏感信号发生变化或者WAIT的条件再次满足时 程序将重复执行 3 并行断言语句主要用于程序仿真 调试中的人机对话 书写格式为 ASSERT条件 REPORT报告信息 SEVERITY出错级别 条件为真 则执行下一语句 否则给出指定的提示信息 注意 报告信息必须用 括起来的字符串出错级别只能是四种 P180 REPORT的默认报告信息为ASSERTVIOLATIONSEVERITY的默认报告信息为ERROR并行语句可以放在实体 结构体和进程中 放在任何一个需要观察 调试的地方 EDA讲义王建波 4 生成语句 GENERATE 生成多个相同的结构 如块阵列 元件例化或进程两种书写格式 A 标号 FOR循环变量iIN取值范围GENERATE说明部分 BEGIN并行语句ENDGENERATE B 标号 IF条件GENERATE说明部分 并行语句ENDGENERATE 见P184例 EDA讲义王建波 5 块语句将许多并行语句包装在一起 成为一个块 格式为 P185 举例 P185 五 包集合的编写程序包是为了使已经定义的常数 数据类型 元件调用说明以及子程序能够被更多的VHDL访问实体方便的访问和共享 程序包由两部分构成 程序包首和程序包体 包首定义接口 声明包中的类型 元件 函数和子程序 包体定义程序包实际功能 六 元件及元件调用 EDA讲义王建波 9 3VHDL程序设计基础一 VHDL的基本结构包括实体 ENTITY 结构体 ARCHITECTURE 配置 CONFIGURATION 包集合 PACKAGE 库 LIBRARY EDA讲义王建波 一 库说明LIBRARY1 库的使用放在实体单元的前面 每一个实体对应一个库说明 通常库以程序包集合的方式存在 具体调用的是程序包的内容 库应用格式 一般和USE语句连用 LIBRARY库名 USE语句说明库中的程序包 这样所说明的实体就可以访问或者调用 USE语句的应用格式 USE库名 程序包名 项目名 USE库名 程序包名 ALL EDA讲义王建波 第一种语句格式作用是向本设计实体开放指定库中的特定程序包内的所选定项目 第二种语句格式的作用是向本设计实体开放指定库中的特定程序包内所有的内容 例如 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC 1164 STD ULOGIC 在第一个语句中表明打开IEEE库中的STD LOGIC 1164程序包 并向后面的实体全部开放 第二个语句开放了STD LOGIC 1164程序包里面的STD ULOGIC数据类型 EDA讲义王建波 当一个程序中有两个及以上的实体时 库说明语句应该重复书写 2 库的分类A IEEE库包括STD LOGIC 1164 NUMERIC BIT NUMERIC STD等程序包 另外STD LOGIC ARITH STD LOGIC SIGNED和STD LOGIC UNSIGNEDB STD库包括STANDARD和TEXTIO程序包对于STANDARD程序包VHDL中不用声明直接使用对于TEXTIO程序包必须先声明如下 EDA讲义王建波 LIBRARYSTD USESTD TEXTIO ALLC 面向ASIC的库 如VITAL库等等 D WORK库现行正在使用的库 不需声明 E 用户自行定义的库用户自行建立的公共包集合 使用时需要声明 二 实体说明ENTITY作用 描述设计实体与外部电路接口的表层单元 通常用于信号名 管脚的说明 EDA讲义王建波 实体结构 ENTITY实体名IS GENERIC 类属表 PORT 端口表 实体说明部分 ENDENTITY实体名 这是程序中不可缺少的部分1 类属说明 GENERIC 它为实体组织中的可选项 位于端口说明之前 格式为 GENERIC CONSTANT 名字表 IN 子类型标志 静态表达式 EDA讲义王建波 例如 GENERIC trise tfall TIME 1ns addrwidth INTEGER 16 PORT a0 a1 INSTD LOGIC 2 端口说明 PORT 通信接口描述 也可以被赋值 也可以当作变量用在逻辑表达式中 书写格式 PORT 端口名 端口模式数据类型 端口名 端口模式数据类型 EDA讲义王建波 数据类型有 布尔型 BOOLEAN 位型 BIT 位矢量 BIT VECTOR 和整数型 INTEGER 端口模式有 EDA讲义王建波 三 结构体ARCHITECTURE作用 又称构造体 具体指明基本设计单元的行为 元件及内部连接关系 结构体对其基本设计单元的输入和输出关系可以用三种方式进行描述 即行为描述BEHAVIORAL 基本设计单元的数学模型 寄存器传输描述DATAFLOW 数据流描述 结构描述STRUCTURE 逻辑元件连接描述 每个实体可以有多个结构体分别描述不同的内容 EDA讲义王建波 结构体语句格式 ARCHITECTURE结构体名OF实体名IS 定义语句 BEGIN 功能描述语句 END结构体名 1 结构体名通常用BEHAVIORAL 行为 DATAFLOW 数据流 STRUCTURE 结构 命名 这样

温馨提示

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

评论

0/150

提交评论