电子设计自动化.ppt
《电子设计自动化.ppt》由会员分享,可在线阅读,更多相关《电子设计自动化.ppt(299页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子设计自动化电子设计自动化授课教师:何 旭第一章 电子设计自动化简介一、历史与现状二、EDA技术的基本特征三、EDA工具简介四、ASIC设计EDA的重要应用五、课程主要内容 一 历史与现状 传统的设计方法:上 上 设计分解 构造系统 下 下 设计分解:1 确定设计目标 2 功能分解 3 进一步细分,直至可用市面上买到 的元器件构建此模块为止构造系统:1 用市面上可买到的元器件构建 最底层模块 2 用较低一层模块构造较高一层模块 3 构造顶层模块传统设计方法的每一个设计步骤都要借助于经验和手工来完成,一个较为复杂的电子系统需要经过多次设计 测试 修改 再设计的反复迭代过程,才能完成。弊端:效率
2、低下、消耗量大弊端:效率低下、消耗量大电子设计自动化技术(Electronics Design Automation 简称EDA)是一种以计算机为基本工作平台,应用计算机图形学、拓扑逻辑学、计算数学、以及人工智能等多种计算机应用科学的最新成果开发出来的一整套软件工具,帮助电子设计工程师从事电子元件、产品和系统设计的综合技术。EDA的发展第一代:70年代 手工绘制PCB和IC版图 在计算机上完成第二代:80年代 仿真和自动布局布线第三代:90年代 高级语言描述、系统级仿真和综合,开始实 现“概念驱动工程”(Concept Driver Engineering,CED)的梦想。二、EDA技术的基本
3、特征第三代EDA技术的基本特征有三个方面:1.高级语言描述 2.自顶而下的分层设计 3.并行设计环境1.高级语言描述迫于Time-to-Market 的压力和设计大规模集成电路的需要,产生了硬件描述语言。HDL特点:(1)是一种计算机语言。(2)可以对电子系统进行分层设计 与描述。(3)描述即可抽象(高层的行为描述),也可具体(底层的结构描述)。(4)支持延迟仿真,可模拟硬件行为。(5)数据类型丰富,可自定义类型。2.自上而下的分层设计传统设计方法是自下而上缺点:即使每一个子系统分别满足设计要求 但整个系统的要求不一定得到满足现代设计方法是自上而下设计:特点:逐层描述、逐层模拟 保证满足系统指
4、标3.并行设计环境 将众多的软件工具集成在一起,对电子系统设计进行项目管理、流程控制、数据管理等工作,使原来各个独立的软件工具成为一个统一的设计软件包,便于使用和管理。新趋势:抛弃各公司专有设计环境,开发符合工业标准的公共设计平台和接口标准。三、EDA工具简介 1.设计输入工具 2.仿真工具 3.综合工具 4.PCB设计工具 5.IC/ASIC设计工具 6.库与库开发工具 7.机电一体化设计 8.软件设计工具四、ASIC设计EDA的重要应用 ASIC-Application Specific Integrated Circuit是根据某种整机或电子系统的要求而专门设计的IC。优点:集成度高、速
5、度快、可靠性好、保密性好、体积小、重量轻。1、ASIC分类 IC 通用IC 专用IC-ASIC 专用定制ASCP 面向多用户、特定领域ASSP 全定制ASIC 半定制ASIC常用的半定制ASIC:门阵列 (Gate Array)标准单元 (Standard Cell)可编程器件 (PLD)现场可编程门阵列 (FPGA)2.ASIC的设计方法(1)分离元器件(中小规模IC)的电路集成需要解决:电路结构调整,以适应实现电路优化测试码生成可借助工具实现(2)由功能到电路的设计实现根据系统或整机要求提指标,然后设计 较优化.的设计步骤()概念形成阶段()系统描述或电路设计阶段()功能仿真阶段()时序验
6、证仿真阶段()测试码生成,测试码仿真阶段()得到如下文件:全部电路图、自制库、时序仿真波形与输入激励、测试码仿真波形与相应的测试码,外引脚清单、交、直流特性。()布局布线()后仿真阶段()工艺测试码生成阶段()样片初测()样片终测 五、课程内容 HDL语言是当今EDA技术发展的突出代表 HDL分为 VHDL (侧重高层设计)Verilog (侧重结构设计)VHDL更适合一般电子设计工程师的需要,本课程主 要介绍VHDL语言。推荐参考书VHDL硬件描述语言与数字逻辑电路设计西安电子科技大学出版社 第二章 VHDL语言入门第一节 VHDL概念第二节 VHDL语言优缺点第三节 VHDL建模方法 第一
7、节 VHDL概念VHSIC-Very High Speed Integrated CircuitVHDL-VHSIC Hardware Description Language 传统设计方法:传统设计方法:原理图、真值表、原理图、真值表、卡诺图、状态方程卡诺图、状态方程 缺点:(1)费时费力,易于出错。(2)自己设计控制逻辑。(3)难于理解和维护。(4)需建立相应文档以说明功能。(5)原理图输入工具专用,难于移植。(6)不适合于系统仿真。在实行VHSIC计划(美国国防部于70年代末至80年代初实行的研制高速、大规模集成电路的开发计划)中,发现传统的设计方法无法满足开发这类非常复杂集成电路的要求
8、。81年 提出标准 87年 成为IEEE1076标准 93年 更新为IEEE1164标准 96年 IEEE1076.3成为综合标准VHDL是用于描述硬件系统、电路板和元件结构与功能的设计与建模语言。第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换强大而灵活l语言结构丰富l多层次描述l支持库和设计复用
9、l支持模块化设计l既可设计也可仿真第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换工艺独立lVHDL描述与器件和工艺无关l支持多种描述风格 支持多种描述风格网表:U1:xor2 port map a(0),b(0),x(0);U2:xor2 port map a(1),b(1),x(1);U3:nor2 port map x(0),x(1),aeqb;布尔方程:aeqb=(a(0)XOR b(0)NOR (a(1)XOR b(1);并行描述:aeqb =1 When a=b else 0;串行描述:IF a=b THEN ae
10、qb=1 ELSE aeqb =0 END IF;第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换第二节 VHDL语言优缺点一、优点:1.快速 2.强大而灵活 3.工艺独立 4.可移植性 5.测试能力 6.工艺转换二、缺点:(1)放弃对电路级实现的控制,代之抽象、高层描述。(2)综合器综合出的电路效率不高。(3)综合的效果随工具的不同而不同。第三节 VHDL建模方法 易于理解 VHDL应具备 易于修改VHDL构造
11、复杂设计的方法 (1)自顶向下设计 (2)模块化 (3)抽象 (4)信息隐藏 (5)一致性 第三章 VHDL基础 本章介绍基本的VHDL概念及与语言相关的术语 第一节 VHDL构件 第二节 基本语言结构 第三节 设计描述层次 第一节 VHDL构件VHDL由语言构件组成:75 个保留字200个描述字或字的组合保留字是对VHDL编译器有特殊意义的字。要求:严格按照VHDL定义使用。描述字组合并不出现在实际的VHDL程序中,仅在VHDL语法定义中使用,提供在构造VHDL描述时的构件名。例:port_clause 构件图 port_clause port (port_list );保留字 可表示为:p
12、ort_clause.port(port_list);第二节 基础语言结构 VHDL硬件模型的主要构成是 设计实体(Design Entity)。它可以表示一个电路单元(cell)、芯片(chip)电路板(board)或电子系统(subsystem)。设计实体由两部分构成:设计实体由两部分构成:实体声明(实体声明(Entity Declaration)Entity Declaration)结构体结构体 (Architecture Body)Architecture Body)Design Entity Entity Declaration Architecture Body库单元:可独立存在于
13、一个设计文件中,并被编译的硬件描述(模型)的部分。四种库单元:实体声明 结构体 封装声明(Package Declaration)封装体 (Package Body)允许声明(Declaration)和体(Body)的部分分别被编译。实体声明定义了设计实体与外部的接口 结构:ENTITY identifier IS entity_header -(generic and/or port clauses)entity_declarative_part -(declarations for subprograms,-types,signals,)BEGIN entity_statement_par
14、t END identifier;generic语句和port语句格式:generic_clause.generic(generic_list);port_clause .port (port_list);实体声明最简单的例子:ENTITY and2 IS a q PORT (a,b :IN bit;b q:OUT bit);END and2;结构体描述设计实体的输入与输出的关系 (设计实体的行为与结构)结构:ARCHITECTURE identifier OF entity_name IS architecture_declarative_part BEGIN architecture_st
15、atement_part END identifier;例如:ARCHITECTURE example OF and2 IS -declaration here BEGIN -statements here END example;每一个设计实体只能有一个实体声明,可有一个或多个结构体。(不同的抽象级别或算法)例:Entity Declaration Architecture Body behave trfc_lc rtl structure硬件描述似金字塔形,最顶层为实体声明(最基本单元)Entity Generic Port In Port OutArchitecture Architec
16、ture Architecture CS Block CS CS CS CS Block CS Block Process CS CP SS CS SS Block Process Process CS SS SS CS SS SS 第三节 设计描述层次 VHDL硬件描述的抽象层次为:行为级描述 (Behavioral Level Description)寄存器传输级描述 (Register Transfer Level(RTL)Description)结构级描述 (Structural Level Description)一、结构级描述 结构级描述用相互连接的元件来表达一个设计。这种方法比较
17、类似原理图。例:两输入多路器原理图表示,上层:下层:DoD1 QselD0Sel U3 aa U4 Q u1D1 U4 abnselVHDL描述:ENTITY mux IS -实体声明 PORT(d0,d1,sel:IN bit;q:OUT bit);-端口语句 END mux;-结构体 ARCHITECTURE struct OF mux IS COMPONENT and2 -结构声明部分 PORT(a,b:IN bit;c:OUT bit);END COMPONENT;COMPONENT or2 PORT(a,b:IN bit;c:OUT bit);END COMPONENT;COMPON
18、ENT inv PORT (a:IN bit c:OUT bit);END COMPONENT;SIGNAL aa,ab,nsel:bit -信号声明 FOR U1 :inv USE ENTITY WORK.Invrt(behav);-配置说明 FOR U2,U3:and2 USE ENTITY WORK.And_gt(dflw);-FOR U4 :or 2 USE ENTITY WORK.Or_gt(arch1);-BEGIN u1:inv PORT MAP(sel,nsel);-结构体描述部分 u2:and2 PORT MAP(nsel,d1,ab);u3:and2 PORT MAP(d0
19、,sel,aa);u4:or2 PORT MAP(aa,ab,q);END struct;二、行为级描述 行为级描述是用电路和信号对于各种激励的响应的方式来表达一个设计的功能。行为级描述着重用于描述硬件的算法,而不涉及其结构如何实现。它可用于快速建立与仿真整个电路功能,以及作为其它模块激励。例:多路器:ENTITY mux IS PORT(d0,d1,sel:IN bit;q:OUT bit);END mux;ARCHITECTURE behav OF mux IS BEGIN f1:PROCESS(d0,d1,sel)BEGIN IF (sel=0)THEN q=d1;ELSE q=d0;E
20、ND IF;END PROCESS f1;END behav;与结构级描述的主要区别是process 语句。Process语句格式为:process statement label:PROCESS (sensitivity_list)process_declarative_part BEGIN process_statement_part END PROCESS label;Process语句的核心内容是 IF语句,其格式为:if statement IF condition THEN sequence_of_statements ELSIF condition THEN sequence_o
21、f_statements ELSE sequence_of_statements END IF;if 语句用法与C、BASIC语言中用法相近。信号赋值语句:信号赋值语句:target=TRANSPORT waveform;上式中,上式中,=为组合分隔符,表示其右边的值为组合分隔符,表示其右边的值赋给左边的赋给左边的target。在在VHDL语言中,语言中,shifted :=shftin;WHEN “01”=shifted :=shftin(1 TO 3)&0;WHEN“10”=shifted :=0&shftin(0 TO 2);WHEN“11”=shifted :=shftin(0)&sh
22、ftin(0 TO 2);END CASE;shftout -case stmnt alternative sequence_of_statements END CASE;结构级描述与行为级描述的差异:结构级描述与行为级描述的差异:结构级描述确定了各种元件的连接,结构级描述确定了各种元件的连接,行为级描述确定了电路和信号对各种激励的算法。行为级描述确定了电路和信号对各种激励的算法。有信号赋值语句有信号赋值语句 -非结构级描述非结构级描述 有元件实例化语句有元件实例化语句-非行为级描述非行为级描述 三、三、RTL描述描述 RTL描述用从一个输入或寄存器到另一个寄存器或描述用从一个输入或寄存器到另
23、一个寄存器或 输出的信息流来确定一个设计的功能。输出的信息流来确定一个设计的功能。RTL描述和行为级描述都用描述和行为级描述都用process 来描述电路的功能。来描述电路的功能。行为级描述用少量行为级描述用少量process,每个每个process完成许多串行信号完成许多串行信号赋值。赋值。RTL描述用大量的并行信号赋值语句描述用大量的并行信号赋值语句。RTL描述使用下列并行语句(描述使用下列并行语句(concurrent):Block语句语句 并行程序调用(并行程序调用(procedure)并行断言语句(并行断言语句(assertion)并行信号赋值语句并行信号赋值语句以多路器(以多路器(
24、MUX)为例:为例:ENTITY mux IS -实体声明实体声明 PORT(d0,d1,sel:IN bit;q:OUT bit);-端口端口语句语句 END mux;-结构体结构体 ARCHITEDTURE rtl OF mux IS BEGIN csl:-并行信号并行信号赋值描述赋值描述 q =d1 WHEN sel=0 ELSE -条件条件信号描述信号描述 d0;END rtl;并行信号赋值语句的格式为:并行信号赋值语句的格式为:concurrent signal assignment statement label:conditional_signal_assignment .Or
25、label:selected_signal_assignmentconditional signal assignment target shifted:=shftin;WHEN“01”=shifted:=shftin(1 TO 3)&0;WHEN“10”=shifted:=0&shftin(0 TO 2);WHEN“11”=shifted:=shftin(0)&shftin(0 TO 2);END CASE;shftout=shifted AFTER 10 ns;END PROCESS f2;END behav;RTL级描述:ENTITY shifter IS PORT (shftin :I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子设计 自动化
限制150内