当前位置:文档之家› 电子电路EDA技术自考笔记

电子电路EDA技术自考笔记

电子电路EDA技术自考笔记
电子电路EDA技术自考笔记

2020年《电子电路EDA》自考笔记

文档概述:此文当时本人自考过程中总结写下的笔记文档,所有文字都是手动一个一个码出来的,学习的课本为《电子电路EDA》,练习题为学校老师发的练习题说一下我的备考步骤:第一步:把书全部看一遍,大概了解书里面的内容,为做题做准备第二步:做题,总结,做笔记,这一部是比较关键的一部,通过这一步几乎可以了解到所有知识点和考点,把所有考点都记录到word文档。第三步:背。通过第二部的有了所有知识点的word文档,那么第三部就只管背就可以了,坐公交的时候背,没事的时候背,睡前背,那么考试就完全ok了(这一科有程序题,程序题就看以往的考试题,程序题基本上都一样,有规律可循的,按着模子套就可以了),我参加的是2020年8月份的考试,下面是我考试结果:

1.现代数字系统设计技术概述

1,利用EDA技术进行电子系统设计的特点:

1)软件硬化,硬件软化;

软件硬化是指所有的软件设计最后转化成硬件来实现,用软件方式设计的系统到硬件系统的转换是由EDA开发软件自动完成的;

硬件软化是指硬件的设计使用软件编程的方式进行,尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。

2)自顶向下( top-down)的设计方法;

特点:

(1)基于可编程逻辑器件PLD和EDA开发工具支撑

(2)采用系统级、电路级、门级的逐级仿真技术,以便及早发现问题,进而修改设计方案

(3)现代的电子应用系统正向模块化发展,或者说向软硬核组合的方向发展。对于以往成功的设计成果稍作修改、组合就能投入再利用,从而产生全新的或派生的设计模块

(4)由于采用的是结构化开发手段,可实现多人多任务的并行工作方式,使复杂系统的设计规模和效率大幅度提高(1分)

(5)在选择器件的类型、规模、硬件结构等方面具有更大的自由度(1分)

3)集设计、仿真和测试于一体;

4)在系统可现场编程,在线升级;

5)设计工作标准化,模块可移置共享。

2,数字系统中的ASIC可分为两大类

(1)全定制ASIC

这中设计方式可以最大限度的实现电路的性能优化,要求设计人员具有半导体材料和工艺技知识,还具有完整的系统和电路设计的工作经验。设计成本高,设计周期长和成本非常高,市场风险非常大,因此多用于大批量的ASIC产品

(2)半定制ASIC

用户仅考虑电路逻辑功能和各功能模块之间的合理连接即可

3,现代数字系统设计流程

(1)设计准备

在设计之前,首先要进行方案论证、系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,判明系统指标的可行性

(2)设计输入

设计输入是设计者将所设计的系统或电路以EDA开发软件要求的某种形式表示出来, 并送入计算机的过程

主要设计输入方式是:原理图设计、程序设计法、状态机设计、IP模块使用等方法(3)设计处理

设计处理是从设计输入文件到生成编程数据文件的编译过程,这是器件设计中的核心环节

设计处理的过程:

1)逻辑优化和综合

2)映射

3)布局和布线

4)生成编程数据文件

(4)设计校验,包括功能仿真、时序仿真和器件测试

(5)器件编程

编程是把系统设计的下载或配置文件,通过编程电缆按一定的格式装入一个或多个

PLD的编程存储单元,用于定义PLD内部模块的逻辑功能以及它们的相互连接关系,以便进行硬件调试和器件测试。

4,电子设计自动化技术的发展大致可分为CAD、CAE和EDA阶段

5,传统设计方法和EDA设计方法的区别

传统设计方法是:自底向上,EDA设计方法是自顶向下

自顶向下设计方式:

自顶向下首先从系统设计入手,在顶层进行功能划分和结构设计, 并在系统级采用仿真手段验证设计的正确性,然后再逐级设计低层的结构

不同之处

1.1. EDA软件简介

1,EDA软件工具大致可分为如下五个模块

模块一:设计输入编辑器。

模块二:HDL综合器。将硬件描述语言转化为硬件电路的重要工具

模块三:仿真器。

仿真器有基于元件的仿真器和HDL仿真器。基于元件的仿真器缺乏灵活性和通用性

系统仿真的重要性:

在EDA设计技术中,仿真的地位十分重要。行为模型的表达、电子系统的建模、逻辑电路的验证乃至门级系统的测试,每一步都离不开仿真器的模拟检测,各设计

环节的仿真仍然是整个EDA工程流程中最耗时间的一个步骤,因此HDL仿真器的

仿真速度、仿真的准确性和易用性称为衡量仿真器的重要指标。

模块四:适配器(或称布局、布线器)。

适配器利用综合器产生的网表文件、模块的综合模型以及用户设置的约束条件共同完成适配过程,最后输出的是符合各厂商定义的下载文件,用于下载到FPGA/CPLD器件中以最终实现设计

模块五:下载器(或称编程器)。

下载是在功能仿真与时序仿真正确的前提下,将综合后形成的下载文件下载到具体的FPGA芯片中,实现硬件设计,也叫芯片的编程/配置。下载软件一般由可编程逻辑器件厂提供,或嵌入到EDA开发软件中

2.基于原理图的设计

原理图输入设计方法进行数字电路系统设计,输入设计方法容易实现仿真,便于信号观察和电路调整

1,Xilinx软件

●ISE Foundation可编程逻辑设计软件。

● Platform Studio嵌入式开发工具套件。

● P lanAhead设计和分析工具。

●ChipScope Pro软逻辑分析仪调试工具,在线片逻辑器件

● System Generator数字信号处理系统设计工具。

● AccelDSP系统综合工具。

2.1. ISE Foundation

1,综合描述:

(1).综合就是将描述电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相

映射的网表文件

(2).综合可理解为,将软件描述与硬件结构用电路网表文件表示的映射过程,并且这

种映射关系不是唯一的

(3).为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束

2,XSTS是xilinx提供的综合工具,

(1)在综合前,可以打开综合属性设置对话框,设置与综合的全局目标和整体策略相关的参数

(2)该综合器在综合后,可以提供综合报告。综合产生的寄存器传输级模块符号和模块内部逻辑结构等信息

ISE Foundation 描述

(1)在应用ISE Foundation进行开发设计过程中,在进行仿真前,可以运用HDL语言编写

或者HDL Bencher规划和设计加到待测试模块的输人激励。P(42)

(2)在ISE Foundation中,可以用约束编辑器编辑约束文件,以达到系统设计所要求的速度、资源、引脚位置等要求

(3)ISE Foundation在综合工具上还可以内嵌Mentor Graphic公司、Synplicity公司的产品实现无缝链接。(第三方工具)

(4),ISE Foundation软件是ISE Design Suite10.1套件的核心

(5)ISE Design Suite10.1 整合了xinlinx的嵌入式、dsp和逻辑设计的谁工具

(5)ISE Foundation允许在一个工程项目中同时存在Verilog HDL、VHDL和原理图等

多种形式的设计源文件

(6)ISE Foundation是一套完整的FPGA设计工具,涵盖了输人、综合、实现、验证和

置五大功能

(7)测试激励生成器HDL BENCH

(8)Impact实现FPGA/CPLD的配置和通信

(9)ISE Foundation集成工具中的PACE可以编辑与O引脚和面积约束相关的用户约

束文件

2.1.1.物理实现

包括步骤

(1)转换工具

(2)映射工具

(3)布局布线工具

3.Verilog

3.1.Verilog基本结构

Verilog程序描述必须位于关键字module和endmodule之间,其基本结构是:模块名、端口说明、I/O端口声明、各类型变量声明和模块功能

(1)模块名,端口说明:

如:module 模块名(端口1,端口2,端口3,。。。。,端口N);

模块名是必须的,端口名是一个可选项:

1)当模块与外界没有信息交互、无端口连接时,就不需要端口名罗列

2)当模块与外界有信息交互式,端口名就必须罗列。

(2)I/O(输入/输出)端口说明

所有的端口都必须说明端口类型、位宽。

1)输入端口:格式为:input[width-1:0]

2)输出端口output [width-1:0端口名1,端口名2,…,端口名n

3)输入/输出端口:其声明格式为

nout [width-1:0]端口名1,端口名2,…,端口名n;

width是端口的位宽,如果无位宽说明,系统将默认位宽为1。例如,

inputI7:0] data in;∥一个名为dat a in,位宽为8位的输入数据

output S,CO;∥名为S和CO,位宽均为1位的两个输出数据

(3)数据类型说明(各类型变量声明)

Verilog 中变量的物理数据分为线型和寄存器型。这两种类型的变量在定义时要设置位宽,缺省为1位。变量的每一位可以是0,1,X,Z。其中x代表一个未被预置初始状态的变量或者是由于由两个或多个驱动装置试图将之设定为不同的值而引起的冲突型线型变量。z代表高阻状态或浮空量。

两者的区别是:即存器型数据保持最后一次的赋值,而线型数据需要持续的驱动

线型数据包括wire,wand,wor;

线型变量如果变量说明后为赋值缺省值是z

wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中

3.2. 基本概念

3.2.1.语法约定

数据类型:

(1)常量:

①数字

1)

2)<位宽>:用二进制表示的数字的位数,如果缺省,位宽由具体机器系统决定

(至少为

3)<进制>:可以用四种进制表示:二进制(b或B)、八进制(o或O)、十进制d

或D十六进制(h或H)。缺省时为十进制。

4)<数值>:可以是所选进制表述的任意有效数字,包括不定值x和高阻态。当<

数值>

位宽大于指定的大小时,截去高位

例如

8b11001100∥位宽为8的二进制数,b表示二进制

h1f23∥十六进制数,采用机器的默认位宽

2b110x∥表示2b0x,因为当数值大于指定的大小时,截去高位

16h120x∥位宽为16位的十六进制数,其值的二进制表示为16b0001zz00Oo0

可在数字之间使用下划线“”对数字进行分隔,下划线只增加数字的可读性,在编阶段将被忽略,如8"b11001100

②参数型( parameter):可以用parameter为关键词,指定一个标识符(即名字)

来代表个常数,参数的定义常用在信号位宽定义,延迟时间定义等位置,以增加程

序的可读性方便程序的修改,其格式为

3.3.1.门的类型

Verilog 定义了两类基本的逻辑门:与/或门、缓冲/非门类,称为预定义的逻辑门

3.4. 数据流量建模

3.4.1.表达式、运算符和操作数

运算符和操作数构成的表达式是数据流建模的基础

1.按位运算符

按位运算符有取反(~)、与(&)、或(|)、异或(^)和同或(~^,^~)

说明:

(1)取反运算是单目运算符,其余是双目运算符

(2)按位运算是对操作数中的每一位进行按位操作。若两个数的位宽不相同,系统先将

两个操作数右对齐,较短的操作数左端补0,使得两个操作数位宽相同,然后再按位运算。

(3)注意按位运算和逻辑运算的差别,逻辑运算结果是一个一位的逻辑值,按位运算产生一个与较长位宽操作数等宽的数值。

2.拼接运算符:

{}可以将两个或多个操作数的某些为拼接起来称为一个操作数;

如:

3.5.1.赋值语句

赋值分为连续赋值和过程赋值

Input 和output 默认是wire

wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中

连续赋值:

1)语法上,有关键词“assign”来标识;

2)连续赋值只能用=

2)左侧被赋值的数据类型必须是线网型数据(wire);

3)连续赋值语句不能出现在过程快中(initial/always);

4)连续赋值语句主要用来对组合逻辑进行建模以及线网数据间进行描述;

5)连续赋值语句产生作用后,赋值表达式中信号的任何变化都将立即被反映到赋值线网型数据的取值上;

过程赋值分为两种:阻塞赋值(=)和非阻塞赋值(<=)

1)语法上,没有关键词“assign”;

2)过程赋值使用阻塞赋值(=)和非阻塞赋值(<=)

2)左侧被赋值的数据类型必须是寄存器类型的变量(reg);

3)过程性连续赋值语句只能出现在过程块中;

4)过程性连续赋值语句主要用来对时序逻辑电路进行行为描述;

5)在过程赋值语句的情况下,只有在过程赋值语句被执行时才执行赋值操作,语句执行完后被赋值变量的取值不再受到赋值表达式的影响;

阻塞赋值和非阻塞赋值区别:

(1)阻塞赋值:表示符号“=”,必须是阻塞赋值完成后,才进

行下一条语句的执行;赋值一旦完成,等号左边的变量值立刻发生变化

(2)非阻塞赋值:表示符号“<=”,非阻塞赋值在赋值开始时

计算表达式右边的值,到了本次仿真周期结束时才更新被赋值变量(即

赋值不立刻生效);非阻塞赋值允许块中其他语句的同时执行(2分)。在

同一个顺序块中,非阻塞赋值表达式的书写顺序,不影响赋值的结果

3.5.2.结构结构化语句

一个模块中可以有多个ii和alwavs语句,每个ini块、always代表着一个独立的工作单元,无论这两种语句在模块中书写顺序的前后如何,它们在仿真一开始都同时执行Alwavs:

触发信号可以是多个也可以是单个其间用or连接

触发事件只要产生一次,always就会执行一次

不同的always模块不能执行相同的操作,否则会出现竞争

Posedge 时钟上升

3.6. VerilogHDL的综合设计

逻辑综合就是使用EDA综合工具,将用HDL语言描述的寄存器传输级电路转化

成门级网表。(2分)包含了三个过程:转化(1分)、优化(1分)映射(1分)

3.7. 有限状态机

1,有限状态机分类

(1) Mealy

Mealy状态机是状态机的输出是输入信号和当前状态的函数,

当前状态和输入状态共同决定后续状态

(2) Moore

Moore状态机是状态

机的输出只是当前状态的函数,由当前状态决定后续状态

4.基于ipcore的设计

Ip核概念:是知识产权核或知识产权模块

Ipcore优势:

利用IP Core可以使设计设计芯片所需要的所有技术,从而降低了芯片设计的技术难度,另外,调用IP Core能避免重复劳动,大大减轻了工程师的负担,且复制IP Core 是不需要花费任何代价的,因此使用IP Core成为目前现代数字系统设计的发展趋势

1,ipcore提供形式可分为硬核、固核、软核三种

硬核:经验证的具有特定电路功能的集成电路版图称为硬核。硬核已完成对性能、尺寸和功耗的优化,并对一个特定的工艺技术进行映射,具有可保证的性能,一

般不允许更改,硬核ip 难以转移到新工艺或集成到新结构中,它是不可重配置的固核:带有平面规划信息的网表称为固核,固核也是可重用的iP模块,这些模块已经在结构上和拓扑上对性能和面积通过平面布图和布局进行了优化。系统设计

者可以更具特殊需要对固核进行修改

软核:软核是以可综合的寄存器传输级(RTL)描述或通用库元件的网表形式提供的可重用ip模块。易于重订目标和配置,预测软ipcore的时序、面积与功率诸方面的性能较困难。

(1)硬ipcore和软ipcore优缺点

软ipcore的优点是:可以根据具体的需要对软ipcore核代码进行改动,或软ipcore本身提供可以设置的参数,在应用时比较方便。

软ipcore核的缺陷是需要重新对完成设计的芯片进行功能和时序仿真,设计工作量比较大,设计时间比较长。

硬IP核的优点是:其功能有非常可靠的保证,可以明显地节省时间

硬P核的缺陷是:设计严重依赖于设计时所参照的加工工艺,其适应性非常差

(2)在个完整的功能模块中,可能同时存在软IP Core部分和硬IP Core部分,软核部

分提供某种程度的可调整性和适应性,硬核部分节省了芯片设计时间2,Ipcore按功能划分可分为:嵌入式IPCORE与通用ip模块

(1)嵌入式:

提供嵌入式IPCORE的供应商有比较大的利润空间,而且生存环境较好。嵌入式IP Core除IP Core本身的设计外,还需要有良好的开发环境、软件支持及完善的服务体系,因此其技术门槛相对较高,竞争不是非常激烈,利润空间比较大

(2)通用ip模块

通用IP模块由于开发技术相对比较简单,面临的竞争也比较激烈。通用IP模块

的价值依赖于IP Core的技术含量、IP Core的品质和供应商的信誉,基于较新工艺

的通用IP Core或包含有专利内容的通用IP Core将有较好的发展前景。对技术要

求较高的IP Core,如高速接口、高速锁相环等模块,也将有较强的生命力3,ipcore复用(重用)

概念:“重用”指的是在设计新产品时采用已有的各种功能模块,即使进行修改也是非常有限的。

作用(价值):在集成电路设计中,设计师在设计电路时可以将IP核看做黑匣子,只需保证IP核模块与外部电路的接口,无需关心其内部操作,从而大幅度地降低电路设

计的工作量降低了芯片设计的技术难度,加快芯片的设计流程,减少了设计的人力和

风险,缩短设计周期,确保优良品质。

4,ipcore的选择

(1)根据使用的方式,从三方面考虑,可再用、可重订目标以及可配置。

①可再用IP Core是着眼于按各种再使用标准定义的格式和快速集成的

要求而建立的,使于移植,更重要的是有效集成:

②可重定目标IP Core是在充分高的抽象级上设计的,因而可以方便地

在各种工艺与结构之间转移;

③可配置P Core是参数化后的可重定目标IP Core,其优点是可以对功

能加以裁剪以符合特定的应用,这些参数包括总线宽度、存储器容量、使能

或禁止功能块。

5,core generator 是xinlinxFPGA的ipcore 开发工具

5.系统仿真

modelsim介绍:

Modelsim是Mentor Graphics公司的子公司Model Tech公司开发的工业上最通用的

独立仿真器之一

是唯一的单内核支持VHDL和Verilog混合仿真的仿真器,

它不仅能作仿真,还能够对程序进行调试,测试代码覆盖率,对波形进行比较

等,是作FPGA/ASIC设计的RTL级和门级电路仿真的首选

1,modelsim使用方式

基本方式的仿真步骤:首先建立仿真库,编译源代码,然后启动仿真器,执行仿真。

工程方式的仿真步骤:首先建立工程,添加源文件,然后编译并导入测试文件,执行

仿真。

2,为了在ISE集成开发环境中直接调用Modelsim,必须通过ISE中的仿真软件接口集成ModelSim,并装载、编译相应的仿真库

3.ise中调用modelsim步骤

(1)建立仿真环境:即:设置仿真接口,装载、编译相应的仿真库。

(2)建立时序仿真文件,即:设置综合工具,设置用户约束,进行逻辑综合。进行物理实

现。

(3)进行时序仿真。

4,功能仿真和时序仿真

功能仿真是在设计实现前对所创建的逻辑进行的验证其功能是否正确的过程。信号波形变化无时延,应用于对设计系统功能的验证,布局布线以前的仿真都称作功能仿真。

时序仿真使用布局布线后器件给出的模块和连线的延时信息,在最坏的情况下对电路的

行为作出实际的估计。在仿真结果波形图中,时序仿真后的信号加载了时延。是对芯片真实工作情况的一种仿真。进行时序仿真前需要产生时序仿真需要的文件,包括综合布局布线生成的网表文件、测试激励、元件库、综合布局布线生成的具有时延信息的反标文件

只做功能仿真,不做时序仿真将不能保证设计的正确性。

如果功能仿真波形出错,应该修改系统方案和以HDL原理图为代表的设计输入文件5,在Mdem中编译xinx器件的仿真库时,需要添加Simprims, Unisims, Xilinxcorelib三

个库

(1)Simprim用于布局布线后的仿真

(2)Unisim用于综合后的仿真

(3)Xilinxcorelib 支持IPCORD 仿真

6,在MODELsim中编译仿真库的步骤

修改modelsim. ini文件属性,去掉只读属性;(1分)启动Modelsim仿真工具,

建仿真库,编译仿真库

6.可编程逻辑器件原理

6.1. 可编程逻辑器件分类

分类:

1,按集成度分类,可分为低密度和密度可编程逻辑器件

(1)CPLD和FPGA属于高密度可编程逻辑器件

2,从互连结构上分,可分为确定型和统计型

(1)确定型PLD是指互连结构每次用相同的互连线实现布线,所以线路的时延是可以

预测的,除了FPGA器件外,基本上都属于这一类结构

(2)统计型PLD的典型代表是FpGA,它是指设计系统每次执行相同的功能都能给出不同

的布线模式,一般无法确切地预知线路的时延,所以设计系统必须允许设计者提出约束条件,如关键路径的时延。统计型结构的可编程逻辑器件主要通过改变内部连线的布线来编程。

3,编程元件上分类

(1)熔断或反熔丝开关,熔丝或反熔丝器件只能写一次

(2)浮栅编程技术,包括紫外线擦除,电编程的UVEPROM等,断电数据不会对视,CPLD

采用这种技术,紫外线擦拭一般在几十次数量

(3)SRAM配置存储器,被称为易失器件,断电后数据丢失,在每次加电时需要重新进

行配置,SRAM 配置结构被认为可实现无限次的编程

6.2. 现场可编程门阵列FPGA

1,FPGA资源构成及作用:FPGA由三种编程单元和一个存放编程数据的静态存储器组成,这三种可编程单元是由布线资源分的可编程乏辑模块CLB、周边可编程I/O单元IOB 和布线通道中的互连资源组成。CLB阵列实现用户指定的辑功能,它们以阵列的形式分布在FPGA中;可编程I/O单元IOB为内部还辑与器件封装引脚之间提供了可编程接口,它通常排列在芯片四周;可编程互连资源分布在CLB的空隙,它是在模块之间传递信号的网络,通过编程实现各个CLB之间,CLB与IOB之间以及全局信号与CLB和IOB 之间的连接;编程数据存储贮器SRAM存放的编程数据决定FPGA的功能配置2,Fpga停电以后存储器中的数据不能保存,每次通电必须重新给存储器装载编程数据。

通常数据配置存放在fpga外部的配置芯片EPROM、E2PROM或计算机中,在供电时

自动加载至SRAM中

3,Fpga和cpld对比

(1) FPGA信息存储在外部设备,需外加ROM,保密性较差,CPL不需要。

(2) FPGA可以实现动态重构,CPLD不行

(3) CPLD适合小规模范围,FPGA适合大规模

(4) 内部互连资源和连线结构:FPGA使用分段式连线结构,其优点是具有很好的灵活

性和很高的布线成功率,缺点,由于每个信号的传输途径和金属线长度各异,因此信号

延时不能确定,使用FPGA时,除了进行逻辑设计外,还要考虑延时;CPLD使用的

是集总总线,总线上任意一对输入输出之间的延时相等,因而具有较大的时间可预测性,产品可以给出引脚到引脚的最大延时。

(5) FPGA和CPLD属于高密度可编程逻辑原件。

(6) FPGA和CPLD的基本结构由可编程逻辑单元,可编程内连阵列(快速互联通道),

可编程I/O

(7) 可编程逻辑原件的选择

1)逻辑单元结构方面:

a. cpld的逻辑单元选用PAL结构,系统逻辑复杂,输入变量多,但对触发的需

求量较小,由于这样的单元功能强大,一般的逻辑在单元均可实现。故互连关系简单,还有很宽的输入结构,适合于实现高级的有限状态机。

b. fpga逻辑单元采用查找表,芯片面积小,速度高,每块芯片上能集成的单元

多,系统所需的触发器数量多,但逻辑相对简单,较适合数据系统

2)内部互连资源与连线结构:系统要求很好的互联灵活性和很高的布线成功率,但不要求布线前预测信号传输延迟的,可以选择FPGA,如果要求较大的时间可预测性,选用CPLD 3)配置技术如果系统要求实现动态重构,下载信息保密性要求不高,可选用FPGA否则,选用CPLD.

4)逻辑规模:中小规模系统可以选CPLD中大规模可选FPGA.(1分)

5)FPGA和CPLD封装形式的选择根据系统规模,保密性要求,生产成本等选择

6.3. FPGA配置

1,CPLD在系统的下载被称为编程,FPGA在系统的下载称为配置

2,配置方式:可编程逻辑器件的配置方式分为主动配置和从动配置

(1)主动配置由可编程器件引导配置过程,从动配置则由外部处理器控制配置过程

FPGA的配置按强主被动以及串并行可以使用的配置模式有:

(1)从动串行( Slave Serial)模式:通过异步串行微处理器实现配置。

(2)从动并行( Slave Parallel Synchronous模式:通过并行的微处理器实现配置。

(3)主动串行( Master Serial)模式:通过FPGA控制串行配置芯片实现自身配置

(4)主动并行( Master SelectMAP)模式:通过FPGA控制并行配置芯片实现自身

配置

(5)JTAG模式:通过E的标准1149.1(TAG)引脚实现配置。

3,过改变xilinx的FPGA芯片的M2,M1,M0管脚的连接,可以实现FPGA下载配置模式的切换。

FPG至少包含三种可编程结构,分别是可编程输入输出单元,可编程互联资源,

7.基于fpga的系统设计技术

FpgA设计流程:设计输入(1分)、综合(1分)适配(1分),功能仿

真及时序仿真(1分)编程下载及硬件测试

7.1. 嵌入式系统与sopc技术

嵌入式系统的架构可分为:处理器,存储器,输入\输出接口和软件四个部分

1,基于SOpc的嵌入式系统的开发流程

(1)需求分析:确定设计任务和目标,并制定说明规格文档,作为下一步设计的指导和验

收标准

(2)体系结构设计,是嵌入式系统的总体设计,从功能上对软硬件进行划分。

(3)硬件的设计、制作及测试、软件的设计、实现及测试

(4)系统集成

(5)系统性能测试及可靠性测试

7.2. MicroBlaze嵌入式处理技术

2,Xinlinx公司的三类sopc嵌入式内核分别是,PicoBlaze、MicroBlaze和powerPC(第三方的)

PicoBlaze 是采用vhdl语言开发的小型8位软处理器内核包

MicroBlaze 采用32位流水线RISC结构

POWERpc 32位powerPc 嵌入式环境架构

3,嵌入式系统的架构包括:处理器、输入/输出(I/O)接口、软件和存储器

4,FPGA嵌入式处理器可分为三种使用模式,状态机模式,单片机模式,定制嵌入模式在状态机模式下嵌入式处理器可以无外设、无总线结构和无实时操作系统,但是可

执行复杂的状态机和算术运算,达到可高或可低的性能,以及最低的成本,通常应用于VGA

和LCD控制等。当嵌入式处理器带有一定的外设,能执行单片机即微控制器的功能时,被称之为单片机模式,该模式可能会利用实时操作系统和总线结构,达到中等的性能和中等的成本,常应用于控制和仪表等。SOPC中的嵌入式处理器一般为定制嵌入模式,嵌入式处理器具有扩充的外设、实时操作系统和总线结构,达到高度的集成和高的性能,除应用于控制和仪表等外,还可以应用于网络和无限网络

7.3. 嵌入式开发套件Edk

EDK包含了所有用于设计嵌入式编程系统的集成开发解决方案

1,EDK硬件设计工作包括以下几个方面的内容:

(1)使用EDK工具进行硬、软核集成。

(2)将EDA生成的HDL代码用ISE进行综合、布局布线和前端仿真验证,也可用第三

方工具综合,仿真验证,将设计顶层模块在目标器件进行分配

(3)使用ISE编程器将生成的配置文件下载到FPGA,进行后端验证和测试。

2,EDK软件设计工作包括以下几个方面的内容

(1)在EDK构建硬件系统的同时,开始编写独立于器件的CC++应用程序,或编写自

行设计的IP Core驱动程序。

(2)根据EDK对系统的配置脚本生成相对应的HAL库,对程序进行软件级仿真和调试, 还可以进行操作系统配置。

(3)将编译、链接后生成的可执行程序下载到目标器件,进行硬件级的调试、测试和优化设计。

7.4. Dsp设计平台

7.4.1.Dsptools

dsptools可以提供MATLAB与System Generator或ISE之间的直接链接并自动产生可综合的RTL模型和测试床

1,Dsptools软件

DSP Tools软件包括System Generator和AcceIDSP I两个开发工具,两个工具既可以联合使用也可以单独运用,其中System Generator主要是基于模型设计,AccelDSP主要是用M语言进行算法设计

System Generator基于模型设计的大体流程,分为算法与系统模型开发、自动生成代码和Xilinx实现三个大的步骤

3,dsp进行数字信号处理,基于以下三给因素

(1)高度的并行性

(2)重构灵活性

(3)性价比高

8.在线逻辑分析技术

8.1. Jtag边界扫描测试

JTAG规范可以用于芯片的测试与配置

JTAG接口由4个必需的信号,以及1个可选信号构成

JTAG在芯片O端上增加移位寄存器,并将这些寄存器连接起来,配合时钟复位测试方式选择以及扫描输入和输出端口,形成边界扫描通道不需要物理探针

8.2. 在线逻辑分析仪ChipScope Pro

ChipScope Pro 是基于边界扫描测试方法的在线逻辑分析或测试工具,他能通过

JTAG将FpgA内部信号实时读出,传入计算机进行分析

9.其他设计工具简介

Synplicity 公司的synplitfy pro 逻辑综合工具

Adldec 公司的ActiveHdl 仿真工具

Mentor Grapchics 公司的FPGA Advantage FPGA全流程工具

10.名词解释

PLD:可编程逻辑器件。

PPGA:可编程门阵列。

CPLD:复杂、可编程逻辑部件。

Soc:片上系统

EDA:电子设计自动化

ICR:在系统下载EDO电子设计最优化SOPC片上可编程系统Ipcore 知识产权核心RTL 寄存器传输级Hdl 硬件描述语言ASIC 专用集成电路

相关主题
文本预览
相关文档 最新文档