EDA书上和PPT整理的讲解.docx

上传人:b****6 文档编号:13583589 上传时间:2023-06-15 格式:DOCX 页数:27 大小:48.83KB
下载 相关 举报
EDA书上和PPT整理的讲解.docx_第1页
第1页 / 共27页
EDA书上和PPT整理的讲解.docx_第2页
第2页 / 共27页
EDA书上和PPT整理的讲解.docx_第3页
第3页 / 共27页
EDA书上和PPT整理的讲解.docx_第4页
第4页 / 共27页
EDA书上和PPT整理的讲解.docx_第5页
第5页 / 共27页
EDA书上和PPT整理的讲解.docx_第6页
第6页 / 共27页
EDA书上和PPT整理的讲解.docx_第7页
第7页 / 共27页
EDA书上和PPT整理的讲解.docx_第8页
第8页 / 共27页
EDA书上和PPT整理的讲解.docx_第9页
第9页 / 共27页
EDA书上和PPT整理的讲解.docx_第10页
第10页 / 共27页
EDA书上和PPT整理的讲解.docx_第11页
第11页 / 共27页
EDA书上和PPT整理的讲解.docx_第12页
第12页 / 共27页
EDA书上和PPT整理的讲解.docx_第13页
第13页 / 共27页
EDA书上和PPT整理的讲解.docx_第14页
第14页 / 共27页
EDA书上和PPT整理的讲解.docx_第15页
第15页 / 共27页
EDA书上和PPT整理的讲解.docx_第16页
第16页 / 共27页
EDA书上和PPT整理的讲解.docx_第17页
第17页 / 共27页
EDA书上和PPT整理的讲解.docx_第18页
第18页 / 共27页
EDA书上和PPT整理的讲解.docx_第19页
第19页 / 共27页
EDA书上和PPT整理的讲解.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA书上和PPT整理的讲解.docx

《EDA书上和PPT整理的讲解.docx》由会员分享,可在线阅读,更多相关《EDA书上和PPT整理的讲解.docx(27页珍藏版)》请在冰点文库上搜索。

EDA书上和PPT整理的讲解.docx

EDA书上和PPT整理的讲解

1、EDA的定义:

EDA全称为ElectronicDesignAutomation,是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及试验开发系统为设计工具,通过有关开发软件,自动完成从软件方式设计电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。

2、EDA进行电子设计特点:

1 软件方式的硬件设计

2 软件到硬件的转换由开发软件自动完成

3 设计过程中可用软件仿真

4 在线可编程isp

5 单芯片集成系统,高集成可靠性、低功耗

3、EDA三个发展阶段(并介绍时代特点):

计算机辅助设计ComputerAidedDesign

计算机辅助工程设计ComputerAidedEngineeringDesign

电子设计自动化ElectronicDesignAutomation

1)计算机辅助设计阶段(20世纪70年代):

选用中小规模集成电路

把设计繁杂劳动如布线布图用2D图形编辑与分析的CAD工具替代

系统调试在组装好的PCB上进行

2)计算机辅助工程设计阶段(20世纪80年代):

EDA工具以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心

重点解决设计完成之前的功能检测等问题

具有自动综合能力的EDA工具

大部分原理图出发的工具不适应复杂系统设计

3)电子设计自动化阶段(20世纪90年代):

设计芯片,使用硬件转向设计硬件,片上系统集成,单片系统SOC

工具的抽象设计能力,框图、状态图与流程图编辑,具有硬件描述语言(VHDL,ABEL,AHDL),标准元件库

超越电子设计范畴进入其他领域,基于EDA的单片系统SOC,软硬核功能库,基于VHDL自顶向下的设计理念

4、EDA的软件系统构成(书P6)

完整的EDA软件系统应包括:

设计输入、设计数据库、分析验证、综合仿真、布局布线等模块

设计输入:

接受设计输入,语义分析及检查

设计数据库:

存放系统库单元、用户设计描述及中间设计结果

分析验证:

各层次模拟验证、设计规则检查、故障检查等

综合仿真:

各层次综合工具,理想状况为高层次到低层次综合仿真全部由EDA工具自动实现。

布局布线:

逻辑设计到物理实现的映射,器件不同布线工具不同

5、EDA工程设计流程图分析介绍(书P9):

源程序编辑编译:

文本/图形编辑器输入设计、排错编译,生成VHDL文件格式,准备逻辑综合。

三种编辑方式:

原理图、状态图与文本方式

逻辑综合与优化:

根据设计输入,针对指定硬件编译优化转换综合,获得门级电路甚至更底层的电路描述文件

器件布线/适配:

针对具体器件进行逻辑映射,包括底层器件配置、逻辑分割与优化、布线,利用适配仿真文件可做精确时序仿真。

编程/下载:

上述过程无问题,可将产生的配置下载文件经编程器或下载电缆载入目标FPGA或CPLD中

硬件仿真/硬件测试:

这里的硬件仿真是针对ASIC而言。

ASIC设计中,常用FPGA对系统设计进行功能检测,通过后将VHDL设计以ASIC实现,硬件测试则是FPGA或CPLD直接应用于系统进行检测

6、数字系统设计模型(书P15)

(1)根据图示模型,一个数字系统可由数据处理子系统与控制子系统构成。

其中数据处理子系统完成数据的采集、存储、运算与传输

控制子系统接受外部控制信号与数据处理送出的条件信号,在时钟信号控制下进行状态转换,产生与状态和条件信号对应的输出控制信号,控制数据处理子系统的具体操作。

(2)数字系统的设计方法:

模块设计法、自顶向下设计法、自底向上设计法

自顶向下的设计方法:

按逐步细化、渐次求精的方法,将数字系统按功能或群组等方法层层分解为关系合理、便于逻辑设计实现的子系统与模块

特点:

模块化、并行化

原则:

逐层分解功能、分层次设计,考虑设计层次的方针验证

(3)数字系统的设计准则:

分割准则:

底层逻辑适于表述;相似功能组成功能模块;接口信号尽量少;同层次模块IO与资源平衡;通用性,可移植性

可观测:

关键点,代表性节点及线路,工作状态

同步与异步:

尽可能采用同步电路

最优设计:

资源利用率、工作速度、布线

设计艺术:

流畅、IO及资源分配、设计及性能瓶颈、可观测性、柔性、器件特点

(4)数字系统的设计步骤:

任务分析:

流程、时序、自然语言汇混合方式提出要求

算法确定:

系统逻辑实现方法,选优

系统建模:

框图设计,模块功能清楚、规模合适

逻辑描述:

流程、框图、描述语言描述功能

电路设计与仿真:

选择器件及连接关系实现系统逻辑,系统仿真,电路图与硬件描述语言方式

物理实现:

实际器件实现系统,仪表测量,PCB测试

7、

(1)ASIC与半定制ASIC

●ApplicationSpecificIntegratedCircuits-专用集成电路。

使电子设计由集成电路芯片使用转向SOC

●集成度、功耗、可靠性、保密性、isp、开发周期

●全定制与半定制ASIC,半定制集成电路--SIC,Semi-CustomIntegratedCircuits种类:

门阵列(GateArray)、标准单元(StandardCell)、简单可编程逻辑器件(SPLD)、复杂可编程逻辑器件(CPLD)、现场可编程逻辑器件(FPGA)与在系统可编程(isp)逻辑器件

●可编程ASIC:

半定制ASIC的后四种,即SPLD、CPLD、FPGA与ISP器件统称可编程ASIC

(2)可编程逻辑器件的发展(书P20)

70年代初:

可编程只读存储器(PROM)与可编程逻辑阵列(PLA),统称现场可编程逻辑阵列(FPLA)

70年代末:

可编程阵列逻辑(PAL)

80年代初:

通用阵列逻辑(GAL)器件,可擦除、重复编程、加密等特点

80年代中期:

Xilinx的现场可编程门阵列(FPGA)

90年代初:

Lattice的在系统可编程大规模集成电路ispLSI

90年代末:

Lattice的模拟可编程逻辑器件ispPAC(In-SystemProgrammingAbilityAnalogCircuits),可实现信号调理、信号处理与信号转换

(3)可编程逻辑器件的基本结构及分类

基本结构:

与阵列、或阵列、输入/输出缓冲电路

可编程逻辑器件的分类:

SPLD、CPLD、FPGA、ISP

SPLD:

包括PROMPALPLAGAL等器件

PROM-固定与阵列和可编程或阵列各一,一般作存储

PAL-可编程与阵列+固定或阵列,与阵列可编程使输入项增多,二代的GAL可电擦写、重复编程加密

PLA-与阵列或阵列均可编程,缺陷慢速特性与价格

CPLD:

逻辑板块编程而非逻辑门编程,逻辑宏单元为基础,加上内部与或阵列和外部的输入/输出模块,简单/时序逻辑控制,扩大应用范围、扩展性

FPGA:

逻辑单元阵列结构,静态随机存取存储工艺,设计灵活、集成度高、重复编程、现场模拟调试验证

Isp器件:

E2CMOS工艺,易用、高性能、具FPGA的灵活性、高密度等特点,在系统可编程

器件的互连结构、编程特性

互连结构:

确定型-每次布线互连线相同,统计型-同功能不同布线如FPGA

编程特性:

一次可编程与重复可编程

8、PLD的分类方法(书P22),PLD的全称英文(书P20)

9、FPGA和CPLD定义和特点(书P3、4)

·FPGA的特点

类似掩膜可编辑门阵列结构

高密度,可达30,000门/片以上

可编程、高可靠

·基本结构-三类可编程资源

可编程逻辑块CLB(ConfigurableLogicBlocks)

可编程I/O块IOB(Input/OutputBlocks)-连接芯片与外部封装

可编程内部连接PI(ProgrammableInterconnect)-连接内部各CLB与IOB,实现逻辑功能

10、GLB通用逻辑块(书P31)、宏单元(书P33)

11、LIBRARY库(书P118)、ENTITY实体(书P121)、ARCHITECTUE结构体(书P123)

12、十进制加法计数器之一、之二(书P168、169)

13、三态缓冲器电路(书P170)

14、8线-3线优先编码器(书P174)

15、8位三态锁存器(书P180)

16、带异步复位功能的8位二进制加法计数器的行为描述(书P190)

17、一位全加器的数据流描述/结构体描述(书P191、192)

18、3线-8线译码器(高电平有效)SLL、PROCESS、WHEN-ELSE、CASE-WHEN(书P194)

19、8线-3线优先编码器(条件赋值语句、LOOP循环、IF条件语句)(书P196)

20、比较器(书P197)

21、4选1信号选择器、4选1数据选择器(书P198)

22、三态门电路(书P199)

23、D触发器(书P201)

24、非同步复位/置位的D触发器(书P201)

25、同步复位的D触发器、JK触发器(书P202)

26、8位数据寄存(锁存)器(书P203)

27、具有左移或右移一位\并行输入和同步复位功能的8位移位寄存器(书P204)

28、带时钟使能的十进制同步计数器、具有异步复位\同步置数功能的8421BCD码60进制同步计数器(书P205)

29、8个D触发器构成的异步计数器(书P206)

30、分频电路(书P209)

31、“01111110”序列信号发生器(书P210)

32、20位的M序列发生器(书P211)

33、“01111110”序列信号检测器(书P212)

34、四位二进制并行加法器(书P351)

35、8位二进制加法器(书P352)

36、16位锁存器、8位右移寄存器(书P356)

37、8位乘法器9(书P358)

38、8位可自加载的加法计数器(书P364)

39、PWM信号发生器(书P365)

40、有时钟使能的十进制计数器(书P367)

41、32位锁存器(书P368)

42、六进制计数器(书P372)

43、显示控制模块(书P384)

 

●8253可编程定时计数器

●8252可编程并行接口

●8259可编程中断控制器

●PLD硬件实现实时性与并行性

●DSP可以进行浮点数运算,但是以72K/S的运行速度

●可执行程序的实质是指指令程序

●电源和地、专用管脚不是信号

●PIA:

可编程连线阵列

●宏单元触发器可以单独编程为D、JK、T或RS触发器(书P65)

●ORP为输出布线区

●差分信号用于串行口

●系统实体不唯一,结构体可以不唯一(结构体:

功能,行为,数据,流程与结构)

●端口共有九种状态(未定义、若0、若1、高、低、高组态等)(书P133)

●8位:

-128~127;32位:

-231~231-1

●常量在运行中不变

●变量不可送入信号

●:

=只用于变量赋初值,不产生延迟

●<=端口赋初值,是变量间的信号传递,允许延时

●=是逻辑运算,表示“相等”

●变量相当于寄存器,信号相当于导线

●信号不可以两次赋值

●事件驱动,状态转换

●位数据类型取值是0或1

●上升沿一般高于下降沿(书P161)

●PROCESS执行复杂程序,PROCESS之内无顺序,PROCESS之间有顺序(书P167)

●判断正确与否:

调用程序库中的程序包(分析错误原因)

●条件信号赋值语句中表达式结果可以是数也可以是逻辑表达式

●选择信号赋值语句中选择表达式可以是信号、逻辑表达式、数

●PROCESS里是顺行语句

●奇偶校验位(看为“1”的个数,为“0”的个数)

●多个VHDL出现在PROJECT中需选出一个顶层实体(通过元件调用)

●PROCEDURE不带返回值;FUNCTION带返回值

●结构体中只能使用信号,变量不能再结构体中直接使用

●信号只能赋值一次

●PROCESS(CLK):

执行两次

●74LS373的功能:

地址锁存器(三态缓冲)

●程序包位于程序库中(书P187)

●STD_LOGIC:

标准逻辑量

 

4.1.1短标识符

●规则

●英文字母打头

●字符含数字、大小写字母与下划线

●下划线前后必有字母或数字

●综合仿真,不区分大小写

4.1.2扩展标识符

●反斜杠定界-\parameter_setting\

●可含图形、空格-\100$\、\poweron\

●反斜杠间可用保留字-\end\

●界定符间可数字打头-\2MCU\

●允许多个下划线-\Chip_Select_of_8255\

●区分大小写-\EDA\不同于\Eda\

●不同于短标识符-\EDA\与Eda或eda不同

4.2.1常量-constant

说明格式:

CONSTANT常量名:

数据类型:

=表达式

CONSTANTwidth:

integer:

=8;

CONSTANTVcc:

real:

=5.0;

CONSTANTDelay:

time:

=100ns;

CONSTANTPBUS:

BIT_VECTOR:

=“10110011”;

●常量值运行中不变(改变实体常量说明重新编译才能改变常量)

●程序包、实体、结构体或进程说明域中须对常量标识符、类型及常量值进行指定

●定义在程序包中的常量可由所在任何实体与结构体调用

●定义在实体内常量仅在实体内使用,定义在进程内常量仅在进程内使用

4.2.2变量-Variables

格式:

VARIABLES变量名:

数据类型约束条件:

=表达式

VARIABLESresult:

std_logic:

=’0’;

VARIABLESx,y,z:

integer;

VARIABLEScount:

integerrange0to255:

=10;

使用规则

●变量赋值是直接非预设的。

某一时刻仅包含一个值

●赋值符号用‘:

=’表示,赋值无延时

●变量不用于硬件连线与存储元件

●仿真模型中,变量用于高层次建模

●系统综合时,变量用于计算,作为索引载体与数据暂存

●进程中,变量仅适用于进程内。

变量用于进程外时需将变量赋给一个信号,即进程数据传递通过信号实现

4.2.3信号-Signal

硬件实体连接的抽象表示

格式:

SIGNAL信号名:

数据类型约束条件:

=表达式

SIGNALsys_clk:

BIT:

=’0’;-系统时钟变量

SIGNALsys_busy:

BIT:

=’0’;-系统总线状态变量

SIGNALcount:

BIT_VECTOR(7DOWNTO0);-计数器宽度

使用规则

●直接赋值符号‘:

=’,信号初始值,不产生延时

●代如赋值符号‘<=’,变量间的信号传递,允许延时,例:

T1<=T2after20ns

4.3.1标准定义的数据类型

●布尔量-BOOLEAN:

(1)二值枚举量-“真”与“假”

(2)无数量概念,只能逻辑运算不能算术运算(3)常表达信号的状态、总线控制权、仲裁情况、忙闲状态等(4)仿真时仿真工具自动对布尔量赋值情况进行检查(5)初始值一般为FAILURE

●字符-CHARACTER:

(1)编程时用单引号括起来,‘a’,‘A’不同

(2)VHDL对字母大小写不敏感,但区分字符量中的大小写,‘1’为字符(3)字符包括字母、数字及特殊字符

●字符串-STRING:

(1)双引号括起来的字符系列,如“VHDL”

(2)又称字符矢量或字符串数组(3)一般用于程序提示、结果说明等场合

●整数-INTEGER:

(1)范围-(231-1)到231-1

(2)可用进制表示(3)不能看作矢量,不能单独对某位操作(4)不用于逻辑运算,只用于算术运算(5)范围应有约束,如VARIABLEA:

INTEGERRANGE–128to128(6)可用来抽象地表达总线状态

4.3.1标准定义的数据类型

●实数-REAL:

(1)范围-1.0E+38到+1.0E+38

(2)有些数可实数表示也可整数表示如:

99与99.0,类型不同值相同(3)也称浮点型(FLOATINGTYPE),多数EDA工具不支持浮点运算

●位-BIT:

(1)通常表示信号值

(2)通常用单引号括其值,如:

TYPEBITIS(‘0’,‘1’)(3)其值‘0’,‘1’分别表示‘假’与‘真’

●时间-TIME:

(1)又称物理类型(PHYSICALTYPES)

(2)范围-(231-1)到231-1(3)内容包括整数与单位(4)一般用于仿真而不用于综合(5)单位Fs,Ps,Ns,Us,Ms,Sec,Min,Hr

●错误等级-SEVRITYLEVEL:

(1)表示电子系统工作状态

(2)错误等级:

NOTE,WARNING,ERROR,FAILURE四级(3)常用来在仿真时给开发者提供电子系统工作情况

●自然数-NATURAL与正整数-POSITIVE:

(1)自然数与正整数为整数的子集

(2)自然数是0和0以上的整数

4.3.2用户定义的数据类型

1.枚举类型-ENUMERATEDTYPE,把类型各元素枚举出来书写格式为:

TYPE数据类型名IS(元素,元素,……);

eg1:

TYPEPCI_BUSstateIS

(Idle,busbusy,write,read,Backoff);-PCI总线状态机变量

eg2:

TYPEstd_UlogicIS

(‘U’,‘X’,‘1’,‘0’,‘Z’,‘W’,‘L’,‘H’,‘-’);

未定义,强迫未知,强迫为1,强迫为0,高阻,弱未知,弱0,弱1,可忽略值

2.整数类型与实数类型-INTEGERTYPES,REALTYPES

VHDL语言标准中已定义,自定义用于特殊用途,一般格式:

TYPE数据类型名IS数据类型定义约束范围;

eg1:

TYPEdigitISINTEGERrange0TO255

3.数组(ARRAY)类型

*程序设计中,相同类型数据集合形成的数据类型,可二维和多维

*格式-TYPE数据类型名ISARRAY(1NTEGER0TO9)OFSTD_LOGIC

*数组类型在总线定义及ROM,RAM等电子系统设计的建模中应用。

*多维数组不能生成逻辑电路,EDA工具不能用多维数组进行设计综合

设计仿真,及系统建模

*多维数组要用多个范围来描述

4.记录类型-RECODETYPES,不同类型数据组织在一起形成的数据类型

格式:

TYPE数据类型ISRECORD

元素名:

数据类型名;

元素名:

数据类型名;

ENDRECORD;

●记录用于描述总线,通讯协议很方便。

●记录适用于仿真。

●从记录中提取元素的数据类型应用“.”。

5.文件类型-FILESTYPES,在系统环境中定义为代表文件的一类客体,可以赋值。

其值是系统文件中值的序列。

格式:

TYPE文件类型名ISFILE限制:

例:

TYPEtextISFILEOFstring;

TYPEinput-typeISFILEOFcharater

VHDL中,程序TEXTIO中有两个预定义标准文本文件

FILEinput:

textOPENread_modeIS"TSDINPUT";

FILEinput:

textOPENwritemodeIS"TSDINPUT";

6.存取类型-ACCESSTYPE,用于客体间建立联系,或对象分配或释放存储空间。

VHDL标准IEEEstd_1076的程序包TEXTIO中,定义了一个存取类型:

TYPElineISACCESSstring

表示LINE类型变量,值为指向字符串的指针。

仅有变量可以定义为存取类型:

VARIABLElinebuffer:

line;

VHDL中,变量、信号、常量、文件赋值时,类型要一致。

不同类型数据变换方法:

类型标记法、函数转换法和常数转换法

4.4.5IEEE标准数据类型“std_logic”和“std_logic_vector'

-VHDL‘93的STD_LOGIC中不定状态方便系统仿真,高阻方便双向总线的描述

-‘U’‘X’‘O’‘1’‘Z’‘W’‘L’‘H’‘-’

表示初始值,不定/未知,0,1高阻弱信号不定/未知,弱信号0,弱信号1与不可能情况

-STD_LOGIC与STD_LOGIC_VECTOR为IEEE标准化数据类型,使用时在程序中必须写出库说明语句和使用程序包集合说明语句

4.5.1注释

-目的:

保证VHDL程序可读性,位置:

程序行的末尾,连字符后

-注释非设计描述有效部分,编译后存入数据库中的部分不含注释部分

-例:

Trant<=Frame&idle&irdy&devseI-PCI总线数据传输译码逻辑之一

4.5.2数字

-两类数字表示法分为:

十进制表示法和基表示法

-十进制数表示法-格式:

十进制文字:

:

=整数[整数][指数]

其中,整数:

:

=数字或下划线连接的数字,指数:

:

=E[+]整数或E[-]整数

整数举例:

089,0,456-78,2e8,5e3。

实数举例:

12.0,0.0,3.14159,1.2E一3,2.4e+5

-二、八、十六进制数的基表示法

格式:

以基表示的数:

:

=基#基于基的整数[基于基的整数]#指数

其中,基:

:

=整数,基于基的整数:

:

=扩展数字{[下划线]扩展数字)

扩展数字:

:

=数字/字母

十六进制数中,数字用0-F共16个符号表示数字称为扩展数字。

整数举例:

十进制值数255,用基表示法为:

2#11111111#-二进制表示,8#377#-八进制表示,16#FF#        -十六进制表示

浮点数举例:

16#0F#E+0,16#FFFF#E+l

5.1.1进程语句(Process)

VHDL程序中描述硬件并行工作行为最常用最基本的语句

特点:

1)进程内语句顺序执行

2)进程之间并行,可访问构造体或实体中定义的信号

3)进程启动由信号敏感表触发或WAIT语句等待触发条件成立

4)进程通信由信号来传递。

程序注释:

●提高程序可读性

●注释从"-"符号开始,到行尾结束

●注释文字不作EDA工具进行逻辑综合的依据

 

采用布尔方程,也可用数据流描述--用布尔方程的数据流描述法设计的8位比较器

Libraryieee:

useieee.std_logic_1164.all:

ENTITYcomparatorIS

Port(a,b:

INstd_logic_vector(7downto0);

g:

OUTstd_logic);

ENDcomparator;

ARCHITECTUREboolOFcomparatorIS

BEGIN

g<=not(a(0)xorb(0))andnot(a

(1)xorb(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2