当前位置:文档之家› EDA总结知识点

EDA总结知识点

EDA总结知识点EDA总结知识点:第一章的定义: 是电子设计自动化的概念发展起来的。

狭义EDA和广义EDA,本书我们主要研究的是狭义的EDA。

狭义EDA:以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真等等一系列的工作,最终形成集成电子系统或专用集成芯片的新技术。

也称为:IES/ASIC自动设计技术。

广义的EDA:包括狭义的EDA,还包括计算机辅助分析CAA技术用软件的方式设计硬件用软件方式设计的系统到硬件系统的转换是有关的开发软件完成设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高; EDA 技术进入21世纪后得到了更大的发展,主要表现在:1)使得电子设计成果以自主知识产权的方式得以明确表达和确认成为可能; 2)在仿真和设计两个方面支持标准语言的功能强大的EDA软件不断推出;3)电子技术领域全方位融入EDA领域,例如:软件无线电的迅速崛起,模拟电路系统硬件描述语言的表达和设计的标准化,系统可编程模拟器件的出现等4)电子领域各学科的界限更加模糊,互为包容:模拟与数字,软件与硬件、系统与器件、ASIC与FPGA、行为与结构等。

5)更大规模的FPGA/CPLD器件的不断推出;6)用于ASIC设计的标准单元的推出,该标准单元已涵盖大规模电子系统以及复杂IP模块。

7)软硬件IP核在电子行业的产业领域得到进一步的确认。

8)soc高效低成本设计技术的成熟; 9)系统级行为验证硬件描述语言的出现,使得复杂电子系统的设计和验证变简单。

10)在FPGA上实现DSP的应用; 11)嵌入式处理器软核的成熟;1、3 硬件描述语言:主要包括:VHDL Verilog HDL System Verilog System CVHDl语言具有很强的电路描述和建模能力VHDl语言具有与具体硬件电路无关和与设计平台无关的优点主要的描述设计方法:1)自顶向下 2)自底向上 3)混合方法。

综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库的信息,以及获得优化综合的约束条件。

主要的约束条件有:设计规则时间约束面积约束通常我们要求时间约束的优先级高于面积约束。

本图可能出简答题:传统的电子设计方法主要采用手工设计,主要缺点: 1)复杂电路的设计调试困难 2)查找和修改错误不便3)不易管理设计过程中的大量文档4)设计实现过程与具体的生产工艺直接相关,可移植性差; 5)只有设计出样机和‘生产出芯片才可以实测 EDA技术的优点:1)采用硬件描述语言作为设计输入,具有保证设计过程中的正确性,可以降低设计成本,缩短设计周期。

2)库的引入3)设计文档的管理4)强大的系统建模、电路仿真功能。

5)具有自主知识产权 6)开发技术的标准化6)开发技术的标准化,规范化和IP核的可重用性。

设计语言的标准化,不会于设计对象的不同而改变;EDA软件平台支持任何标准化的设计语言;设计成果的通用性,良好的可移植性和可测性。

7)适用于高效率大规模系统设计的自顶向下设计方案 8)全方位利用计算机自动设计仿真和测试 9)对于设计者的硬件知识和硬件经验要求较低10)与以CPU为主的电路系统相比较,EDA技术具有更好的高速性能。

11)纯硬件系统的高可靠性EDA设计流程图形输入通常包括原理图输入、状态图输入和波形图输入三种常用方法。

适配所选定的目标器件必须属于原综合器指定的目标器件系列。

通常,EDA软件中的综合器可专业的第三方EDA公司提供,而适配器则需PPGA/CPLD供应商提供。

因为适配器的适配对象直接与器件的结构细节相对应。

时序仿真的仿真文件必须来自针对具体器件的综合器与适配器。

功能仿真过程不涉及任何具体器件的硬件特性FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。

通常的分类方法是:以乘积项结构方式构成逻辑行为的器件称为CPLD,如LATTICE ISPLSI的系列、XILINX的XC9500系列、ALTERA 的MAX7000S系列和LATTICE的MACH系列等。

以查表法结构方式构成逻辑行为器件称为FPGA,XILINX的SPARTAN、ALTERA的FLEX10K、ACEXIK或CYCLONE系列等。

EDA工具大致可以分为如下五个模块:设计输入编辑器。

HDL综合器。

仿真器。

适配器。

下载器。

IP:知识产权核或者知识产权模块。

IP分为软IP,固IP和硬IP软IP--用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。

固IP--完成了综合的功能块。

硬IP--供设计的最终阶段产品--掩膜第二章可编程逻辑器件,有6个系列:ispLSI1000、2000、3000、5000、6000和8000系列Xilinx:SRAM工艺叫FPGA; FLASH工艺叫CPLD;ALTERA:MAX,即现场可编程门阵列它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

以下是了解内容:①CPLD更适合完成各种算法和组合逻辑,FPGA 更适合于完成时序逻辑。

换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③在编程上FPGA比CPLD具有更大的灵活性。

CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤CPLD比FPGA使用起来更方便。

CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。

而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

选择的条件值不能完全覆盖case语句中的表达式的值,最后最末一个条件语句用关键词others来表示,otehrs只能出现一次,必须在最后;使用others避免综合器插入不必要的锁存器;并置操作符&主要是将操作数或者是数组组合起来形成新的数组。

例如”AB”&”CD”就表示“ABCD”;‘0’&’1’&’1’的结果是“011”因此我们可以利用&来组成新的数组,可以将一个单元素并置于一个数的左端或者右端形成更长的数组;或者将两个数组并置成一个新的数组;完整的条件语句只能构成组合逻辑电路;利用不完整的条件语句的描述引进寄存器元件,从而构成时序电路的方式是vhdl描述时序电路最重要的途径。

4位二进制加法计数器设计异步复位同步加载及时钟使能十进制加法计数器:第五章 VHDL设计进阶变量的赋值符号是:=注意在进程和子程序的顺序语句中不允许定义信号。

进程中可以将信号列入敏感信号表,而不能将变量列入敏感信号表;信号的赋值语句:目标信号名 ? 信号与变量的区别主要表现在接受与保持信号的方式和信息保持与传递的区域大小1)信号可以设置传输延时量,而变量不可以2)变量作为局部信息载体,只能在所定义进程中有效;信号可作为模块间信息载体3)变量的设置有时候只是过渡,最后的信息传输和通信还是依靠信号; ? 含同步并行预置功能的8位移位寄存器设计位矢中‘1’码个数统计电路设计三态门的设计Z在综合时属于一个不确定的值,不同的综合器可能会给出不同的结果;Z必须大写,这是因为在IEEE库中对数据类型STD_LOGIC 的预定义已经将高阻态确定为大写‘Z’。

3-8线译码器(要求会写)【例5-20】LIBRARY IEEE;USE _LOGIC_; ENTITY coder ISPORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2) ); END coder;ARCHITECTURE behav OF coder ISSIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGINPROCESS (din) BEGINIF (din(7)=‘0’) THEN output END PROCESS ;END behav;分频器只看偶分频。

第九章VHDL结构与要素端口名是设计者为实体的每一个对外通道所取的名字,端口模式是指这些通道上的数据流动方式。

数据类型是指端口上流动的数据的表达格式或取值类型,VHDL要求只有相同数据类型的端口信号和操作数才能相互作用。

函数的语言表达格式如下:FUNCTION 函数名(参数表) RETURN 数据类型;--函数首FUNCTION 函数名(参数表) RETURN 数据类型IS --函数体开始 ? [说明部分;] ? BEGIN ? 顺序语句; ? END FUNCTION 函数名;--函数体结束调用程序包:USE 库名.程序包名.项目名; ? USE 库名.程序包名.ALL; ? 第一语句格式的作用是,向本设计实体开放指定库中的特定程序包内所选定的项目。

第二语句格式的作用是,向本设计实体开放指定库中的特定程序包内所有的内容。

定义程序包的一般语句结构如下:--程序包首 ? PACKAGE 程序包名IS --程序包首开始 ? 程序包首说明部分; ? END [PACKAGE][程序包名]; --程序包首结束--程序包体PACKAGE BODY 程序包名IS --程序包体开始 ? 程序包体说明部分以及包体内容; ? END [PACKAGE BODY][程序包名]; --程序包体结束常用的四种库:1、IEEE库2、STD库3、WORK库4、VITAL库数码管的写法:常用的预定义程序包:1) STD_LOGIC_1164程序包2) STD_LOGIC_ARITH程序包3) STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包4) STANDARD和TEXTIO程序包文字规则:字符是用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母,如:‘R’,‘A’,‘*’,‘Z’。

而字符串则是一维的字符数组,须放在双引号中。

VHDL中有两种类型的字符串:文字字符串和数位字符串。

相关主题