




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计指南FPGA设计指南1前言1一、设计步骤1二、设计流程图7三、FPGA设计规范8四、FPGA设计技巧11五、ALTERA芯片嵌入式资源介绍13高速PCB设计检查表16高速PCB设计指南21PCB布线设计检查表29PCB布线设计指南34PCB电路设计流程检查表38PCB电路设计流程指南39功率器件设计检查表40功率器件设计指南41接收系统模数混合电路设计检查表45接收系统模数混合电路设计指南46接收系统射频、频率源模块设计检查表67接收系统射频、频率源模块设计指南68接收系统微波电路设计检查表82接收系统微波电路设计指南83前言本指南的内容包括FPGA的设计步骤、设计方法、设计以及一些特殊电
2、路的设计方法。编写的目的为了减少设计缺陷,实现开发的合理性、一致性、高效性,帮助新同事尽快熟悉整个设计流程。一、 设计步骤系统设计(评审)(系统方案、模块划分、测试方案)详细设计(评审)(模块功能定义、接口设计)设计实现(逻辑图输入、硬件描述语言程序输入、模块验证)文件归档(设计方案、设计文件、验证文件)设计集成(系统构建、系统验证)需求分析(评审)(功能定义、指标确定)1. 需求分析1.1. 任务全面、准确地理解并描述用户需求,规定了项目做什么,需要达到什么样的指标,为产品设计、构造和测试提供足够的基础。1.2. 需求分析准备在需求分析前,必须与任务提出人进行充分沟通,了解系统的功能、特性,
3、理解每一项需求的作用和目的,区分需求的性质。正确描述合理的需求;对不合理的要求进行解释、说明。约定含糊的需求和暂时不确定的需求的处理方法,并在设计中留有余量;剔出不必要的需求;并在项目组内部进行充分沟通,对软件需求达成一致理解;同时与相关项目组进行沟通和交流,避免工作冲突和不一致。应该了解产品的进度要求,合理安排工作,保证有充足的时间。1.3. 需求分析内容功能需求:设计必须完成哪些功能,实现这些功能的方法、数学模型和算法,每种功能在多模式下的差异。性能需求:设计必须达到的速度要求、精度要求、同步性要求、可靠性要求。标准需求:设计必须遵从的标准、规范和统一性设计文件。接口:输入、输出信号的分类
4、、数量、作用、传输方式、接口标准;内部数据接口关系。 验证:每项功能和指标的测试或验证方法、时机、条件。工作环境:估算所占用的硬件资源,计算机软件、硬件配置状况。特殊需求:保密性、安全性、适应性等要求。1.4. 设计要求所有的任务都有需求分析每一项需求都具有任务来源、明确的目的能够清晰、准确地描述所要实现的功能具有技术可行性能够被测试或验证1.5. 评审内容评审需求分析的完整性、正确性、可行性和可测性。1.6. 输入文件设计任务书1.7. 输出文件需求规格说明 2. 系统设计任务将已确认的各项需求转换功能模块,构造系统处理结构,设计系统处理框图。设计的内容功能模块的划分:确定每个模块任务,以模
5、块设计、验证方便,复杂度适中,模块间接口简单为最佳。功能独立、较复杂的需求可以单独构成模块;相互间关联密切、复杂度较低的需求合并在一起构成模块。系统的处理结构:根据数据处理顺序、模块间的控制关系决定模块之间的互连结构;根据各个模块的处理特性和要求,权衡速度与资源之间的关系,合理的分配硬件资源,确定最佳处理结构。结构设计时应考虑系统的扩展性。系统的控制关系:列出所有可能出现的工作状态,合理地设计出控制信号,保证模块的工作状态受控。控制信号最好单独构成一个模块,这样能够清晰的体现整个系统的控制关系,使所有模块工作状态转换同步,便于修改。与外部的接口关系:输入、输出信号与内部模块的连接关系。模块之间
6、的接口关系:根据传递数据的性质决定模块间的数据接口关系,约定模块间的数据接口关系。验证方案:确定每一项需求的验证方法与时机,测试数据的注入口及输出口。验证方法有仿真和测试两种。仿真在计算机平台上进行,能够验证逻辑功能与算法一致性、时序设计是否满足指标要求;信号测试需要在硬件平台上进行,验证与外部数据接口、控制关系正确性,功能、性能与设计要求的一致性。设计要求所有的需求都有对应的设计。系统结构简洁。模块规模适中,模块之间接口简单。输入、输出接口符合标准或约定。控制信号能够正确控制工作状态转换。能够完成对所有功能验证,验证方法正确。评审内容处理结构、模块划分、模块连接关系的合理性,控制关系、输入/
7、输出关系的正确性,测试的覆盖率。输出文件设计说明、接口设计说明3. 详细设计任务每个模块功能具体的描述,构造合适的模块处理器架构,设计每种功能详细逻辑框图。3.8. 设计内容任务分解:在了解FPGA芯片底层硬件资源及外围芯片配置的基础上,细化每个模块的任务。根据任务的内容和可用资源、处理速度、处理能力等要求,确定处理构架。分析能否能够利用IP核或借用已有的设计,对需要全新设计的部分,先将任务分类,一般按时序、控制、运算来分。项目组内部要约定统一设计风格、命名方式。时序:系统时序可以单独设立一个模块,统一管理各个模块工作的同步关系;各个模块内部工作时序一般在各自内部产生,模块之间的时序一般不共用
8、。控制:控制关系简单,使用方便,注意控制信号的相互影响和制约关系,工作状态变换与控制信号之间的关系是唯一对应的。工作状态变化时,所影响到的各个模块任务必须随之变换。运算:较为复杂的运算可以层设计,将可重用的部分设计成元件、函数、子程序,在设计中重复调用。设计要考虑处理能力的可扩展性以及设计的可重用性。资源:根据模块运算速度、运算量、存储量估算,结合芯片资源特性,估算每个模块设计资源占用情况。如果设计用在新开发的插件上,需要选择合适的FPGA芯片和外围器件,估算器件的功耗。设计资源上必须留有一定余量。接口:分析每个模块与其他模块、外围电路接口关系及标准,设计模块的输入、输出信号位宽,速率,极性。
9、如果新设计插件,需要对I/O管脚分配,分配时除了考虑FPGA时序约束、接口芯片电平要求外,必须满足PCB系统时序约束、信号完整性、可布线性要求。测试:根据模块的功能设计测试数据,确定时序信号的延迟关系,工作状态转换与各个控制信号状态关系,运算电路的测试输入数据和预期的输出结果。确定每项测试的前提条件和约束。3.9. 设计要求尽量借用已有设计,避免不必要的重复设计工作。新设计要具有可复用性,可扩展性,可移植性,可延续性。硬件资源合理利用。I/O分配必须考虑PCB设计要求。测试数据能够覆盖所有可能出现的各种状况。3.10. 评审内容设计构架、时序关系、控制关系、测试方法的数据的正确性,设计的通用性
10、,资源分配的合理性。3.11. 输出文件设计说明,逻辑框图。4. 设计实现任务用适当的方式,将模块的功能转换成逻辑电路,并验证模块的工作的正确性。4.12. 设计内容逻辑设计:了解FPGA芯片内部的各种底层硬件资源和可用的设计资源,用逻辑图或硬件描述语言输入方式,调用合适的元件或者用合适的硬件描述语句,实现模块的硬件电路。一般顶层设计用逻辑图方式,便于直观的体现模块之间的互连关系。在设计时必须加注释,说明每一个小的逻辑功能块、进程的作用,选择信号的控制的工作状态。时钟信号:输入时钟的整形,产生运算电路同步信号、模块同步信号、数据接口同步信号、外围电路工作时钟信号。接口设计:数据输入、输出、主时
11、钟、同步时钟端口命名定义;选择信号端口变化范围,只要能够满足系统需要就好,过大会占用过多器件资源。适当引出中间结果、关键信号作为测试口。每个端口命名要符合统一性文件或约定,加注释说明其作用。端口按约定排列,方便设计集成时互连。设计约束:逻辑综合时需要加对时钟信号加周期、建立、保持时间等约束,使设计的工作频率、接口同步满足要求,获得正确的静态时序分析报告。设计优化:处理性能、资源占用等不满足要求时,分析问题所在,修改模块的设计结构,充分发挥FPGA内部各种资源处理数据的优势,给出每个模块设计资源占用情况。设计验证:每个模块的功能必须经过仿真,验证时序产生电路的时序关系的正确性,状态变换时控制信号
12、的正确性,运算电路运行的正确性等、计算的准确率,输入、输出接口传送数据能够满足设计要求。记录验证中发现的错误,分析问题,修改相应的设计。4.13. 设计要求尽量采用参数化设计;必须用同步设计;程序及逻辑图,排列有序,易读;每个进程及子模块内部任务单一,设计简洁;端口设置合理,易用;用常规方法,不要用小技巧;满足规范要求;便于测试;处理性能满足要求、资源占用合适;验证数据能够模拟真实工作情况;模块能够独立验证功能全部被验证。4.14. 输出文件逻辑图、硬件描述语言源程序,约束文件,仿真、测试文件及结果。5. 设计集成任务系统处理器的搭建,验证系统功能是否能够按设想的方式正确地工作。内容内部接口:
13、模块间互连,注意不同时钟域信号接口同步处理、并行处理模块间的延迟关系。外部接口:器件内部关键信号引出到器件I/O上,方便调试时观察。了解器件I/O管脚的特性,定义输入、输出端口与I/O 管脚的对应关系,设置I/O管脚的接口标准、接口电平、匹配电阻。给出I/O管脚分配文件。资源:调整模块间资源利用冲突,保证器件资源合理利用。给出准确的器件资源占用值。功耗:根据资源占用及工作频率,估算出器件的功耗。验证:与外部接口的正确性;系统结构的正确性,即模块间控制、接口关系、延迟关系正确性。记录验证中发现的错误,分析问题,修改相应的设计。记录调试、仿真条件。要求模块端口名称在整个设计各个层次中应该保持不变。
14、顶层设计约束必须包含底层的各种约束。 验证尽可能覆盖工作时的各种状况。输出文件器件逻辑图、硬件描述语言源程序,器件仿真、测试数据文件及结果,器件约束文件,器件配置文件。6. 设计文件归档需求规格说明内容:硬件设计的基本功能,性能指标,运行环境,约束条件、开发进度等要求。设计说明书内容:系统处理结构说明,系统处理框图;模块功能描述及设计说明,模块逻辑框图;验证方案,资源、功耗估算等。接口说明书内容:外部接口关系、接口标准描述,时序关系,控制关系,内部模块间互连关系及接口标准约定。以上文件经过评审后归档,评审参与人员为任务提出人员、项目组成员、部技术委员会成员、有相关设计经验人员。项目设计进行中,
15、这些文件若发生变更,需要提请申请批准后,将修改以后的文件归档。测试报告内容:测试方法,测试框图,测试条件,测试数据及源程序,调试中出现的问题及解决方法,模块设计、系统设计修改之处及修改原因。 电路设计源程序、测试数据及源程序,器件约束文件、器件配置文件这些文件在设计验收后,列出文件清单归档。设计输入功能仿真综合优化布局布线时序仿真系统调试逻辑仿真器逻辑综合器FPGA厂家工具逻辑仿真器二、 设计流程图设计输入采用硬件描述语言和逻辑图的方式,顶层文件一般采用图形方式,方便表达功能模块间的互连关系;功能模块内部尽量设计采用硬件语言编程,方便不同公司芯片、不同设计工具间兼容。逻辑图输入只能采用芯片公司
16、自带的设计软件如Altera公司的Quartus软件,Xilin公司的Ise软件。硬件描述语言输入可以用芯片公司自带软件,也可以用第三方软件仿真工具所带文本编辑器,如ActiveHDL、Modelsim、Synplify软件。功能仿真功能仿真验证设计输入的逻辑功能正确性,不包括门延迟和走线延迟。仿真除了用厂家自带软件,也可以用第三方专业仿真软件ActiveHDL、Modelsim。专业软件仿真速度快,功能强。 综合优化逻辑综合将设计输入转换成对应的基本逻辑单元,优化是在必要的设计约束条件下的转换,一般是指速度和面积要求,通过优化,可以提高工作速度、减少资源资源利用率。综合优化可以用厂家自带软件
17、,也可以用第三方专业综合软件如LeonardoSpectrum、FPGA Express/FPGA Compiler、Synplify软件。一般芯片公司自带软件针对性较强,但不同公司之间的兼容性不够好,同一个设计文件用不同的软件综合后,结果可能不同。布局布线布局布线将综合优化后的结果转换成特定芯片的适配文件,必须用厂家自带软件。时序仿真时序仿真前,应该先使芯片的静态时序分析报告满足设计要求。验证布局布线后结果,设计的时序要求是否能够满足,包括门延迟和布线延迟。验证工具可以是厂家自带软件,有些厂家自带软件能够输出与第三方接口的网表文件,也可以使用第三方仿真软件。时序仿真较功能仿真费时,但是它能够
18、反映芯片的真实的工作情况。系统调试将生成的配置文件写入芯片,利用示波器或逻辑分析仪,通过测试口观察芯片工作情况。有些厂家芯片支持嵌入式在线逻辑分析仪,通过JTAG口可以在线、实时读出FPGA内部信号。但这需要占用FPGA的内部RAM资源,采样深度和信号的位数受到限制,采样触发条件也没有逻辑分析仪灵活。三、 FPGA设计规范命名规则 设计文件、模块、管脚命名必须按下列规则:命名一律用小写,避免使用不易理解的数字、单个字母做标识;命名要清晰、明了,有明确含义,使用完整的单词或大家基本可以理解的缩写;只能用英文字母、数字和“_”,但名字的最前面应该是英文字母,在名字的最后也不能使用“_”,不能连续使
19、用“_”符;名称长度不得超过16个字符;在一个设计中要自始至终保持一致,禁止同一种信号在不同层次中使用不同的信号名称。IP核: 调用IP核时,必须另起与模块或设计名称相关的名字,不能使用软件默认的名字如lpm_dff0,否则设计集成时会冲突。功能模块:同一种类功能模式不同实现方式模块命名时,将功能名放在前,方法名放在后。如开环NCFAR、闭环NCFAR分别用ncfar_openloop、ncfar_closedloop表示。时钟信号命名:使用“clk”命名时钟线,或用它作为所有时钟信号的前缀。例如,clk_en、clk_a。复位、清零信号:应该遵守高/低电平有效习惯,同一个模块中统一为高有效或
20、低有效。可以用“_h”表示高电平有效信号,用“_l”表示低电平有效信号。多位变量:顺序应该从高到低(d7.0),防止模块集成时命名顺序不统一出现错误。如果用0作为最低端的位,那么所有多位变量应该在(n-1)0范围内。硬件描述语言:块语句(BLOCK)、进程语句(PROCESS)、过程调用语句、元件例化语句、生成语句(GENERATE)前必须加一个有意义的标志名,标志名不能太长,也不能重复命名。如:count_clk::PROCESS(clk、fr)。END PROCESS count_clk;设计文件端口信号按信号的类别排列整齐,如时钟信号、控制信号、数据信号;多个模块之间的接口,按模块关系排
21、列,输出去模块1的同步信号、数据信号;模块的2同步信号、数据信号。编程规则设计文件中必须加中文注释,标明该程序的功能、用途、处理延迟、编程环境、适用范围、应用项目、编程日期、编程人名等,图形文件的注释放在上部醒目地方;硬件描述语言文件注释放在程序之前。对于所有的输入、输出、信号,变量、常量,必须加注释说明其功能、取值范围、及注意事项等。注释的内容要清楚、明了,含义准确,修改程序同时修改相应的注释,以保证注释与程序的一致性。注释应放在被注释语句或器件的相邻位置,无用的注释要删除。硬件描述语言源文件中各个进程,及关键语句要加注释,说明进程功能、作用、去向等,编程进程间联系可能简化,一个进程对应处理
22、一种事务。硬件描述语言源文件中,注意不同类型数据之间的转换,去掉不必要的数据类型转换语句;元件调用时必须使用名称映射方式,禁止使用位置映射方式。设计文件端口排列顺序要求:输入:复位信号、清零信号、同步信号、主时钟、选择信号、数据输入;输出:同步信号、数据输出、输入/输出、观测信号。顶层电路设计时,功能模块排列按数据处理顺序,由左到右放置,输入信号管脚放在图形的最左侧;输出信号放在图形的最右侧;双端口信号可以放在左、右两侧。时序设计时序电路与运算单元分开设计,这种设计结构功能分明,便于调试、修改。一个模块尽量只用一个时钟信号,其他信号做时钟使能。禁止用直接用在组合逻辑电路、计数器分频后的信号做其
23、它模块的时钟,必须在逻辑之后加入寄存器过虑毛刺。逻辑综合时加上一定的约束条件,保证时钟性能满足要求。主时钟在FPGA内部,用专用PLL(Altera)或DLL(Xilin)进行整形、分频/倍频、移项调整与运算后,再由内部全局时钟布线资源驱动,到达芯片内所有寄存器和其他模块的输入端。高扇出的信号如时钟使能信号、复位信号、清零信号尽量使用全局时钟或局域时钟,可以减少大扇出造成的时钟偏斜,提高设计性能。禁止用手工加Buffer或逻辑门的方法调整时钟延迟,每一次布局布线后,延迟时间有可能不同。用分频、倍频时钟、同步计数器完成所需的同步信号电路延迟,比较特殊的定时延迟,一般用高速时钟产生计数器,根据计数
24、器的计数控制延迟,比较小的延迟可以用触发器实现。逻辑综合时需要加对时钟信号加周期、建立、保持时间等约束,使设计的工作频率、接口同步满足要求,获得正确的静态时序分析报告,对不满足要求的路径,通过修改逻辑设计、约束走路径方法来提高工作频率。尽量不用时钟正负沿来调整数据延迟,如果出现这种需求,可以用倍频后的时钟来处理。运算电路设计器件的输入、输出信号及模块之间的数据接口必须经过寄存器寄存。复杂的设计分成若干个层次来设计,各个子模块单独设计、仿真或调试后再合成。模块层次不能过多,最多34层。电路设计必须使用同步方式处理。FPGA内部模块间接口不能使用双向端口,内部禁止赋值高阻状态Z禁止使用组合逻辑反馈
25、环,禁止使用锁存器(Latch)。三态输出的使能和输入不能用同一个信号,防止由于走线延迟引起使能开放错误。设计电路参数取值范围要尽可能合适,不能过大,避免过多占用资源。用硬件描述语言设计电路时,要用RTL级代码,否则不能综合。锁相环输入、输出频率必须在器件给定的范围,因为锁相环的VCO工作频率有最高频率限制,外围电路工作频率范围也有限制。引脚分配FPGA管脚分配时,应该按照器件I/O管脚特性来分。如Altera公司Stratix系列芯片左右两边支持高速LVDS信号,上下支持PCI总线标准,因此数据通道的接口尽量分布在器件的左右两边,控制通道逻辑和外部高速存储器接口功能分布于上下两边。尽量把具有
26、兼容性的I/O标准的信号分配在一个Bank里,当待分配的管脚超过一个Bank中可分配的管脚数时,用边界锁定分配可以使得总线集中在芯片的一边。时钟翻转频繁的信号尽量均匀的分布在芯片周围,尽量靠近芯片的GND引脚布置。应用厂方软件自带的I/O验证工具,验证管脚分配和相关逻辑的合法性以及是否违背板级设计规则,主要是参考电压的正确性、有效管脚位置分配和正确性。高速收发模块PLL时钟要单独由外部专用时钟接入,不要和主时钟合引脚,减少相互之间的干扰。管脚接口标准必须满足将要传送数据速率、传输距离的要求。当需要加外围电路如存储器时,需要考虑接口电平兼容性,必要时加电平转换器件。多余的用户I /O设置成输出接
27、地,可以增加器件地的连接点,减少地弹干扰。FPGA内部已集成了I/O管脚必要的匹配电阻,在管脚约束时按需要设置,以减少PCB设计时外部器件的数量,同时减少外围器件对高速信号的干扰。I/O管脚分配必须考虑PCB版图设计要求。接口设计外部进入FPGA的时钟信号必须先用锁相环整形,其他信号必须经过寄存器寄存,消除干扰和毛刺。除FPGA与外部接口,内部不能使用双向端口,内部禁止赋值高阻状态Z。系统由多片FPGA构成时,要保证数据分配合理,传送简单。模块间只有数据、同步信号、控制信号互连,时序不共用。模块之间数据传递,若主时钟、处理速率一致时,在模块输入、输出加寄存器后直接传送;若不相同时一般采用FIO
28、F、RAM转接。同步信号的极性、宽度、位置,控制信号电平与状态的对应关系,需要在详细设计中约定。四、 FPGA设计技巧提高处理速率方法影响FPGA芯片片工作频率因素包括处理延迟、走线时延迟。处理速度与资源占用是一对矛盾。FPGA芯片给出的处理速度是在一定条件下的,当芯片内资源占用很满时,处理速度达不到给定的值。设计中要考虑速度和资源两者之间的关系,在资源占用最合理的情况下,处理速度满足设计要求。处理速度要留有一定余量,否则调试造成困难,处理速度提高,芯片功耗也随之加大。在结构设计阶段,分析芯片处理能力是否能满足要求,如果不能在电路结构设计时可以用多路并行的方式提高处理速度,如用多个乘法器并行完
29、成高速数据的乘法运算。在逻辑设计阶段,尽量采用同步设计,减少组合逻辑使用,用加流水的方式把大的组合逻辑拆分成多个小的组合逻辑,如做8路16bit数据加法,可以拆分成两个4路16bit加法,加一级寄存后,再做2路加法。逻辑综合阶段,根据仔细分析静态时序结果,找出关键路径、影响速度的原因,通过给综合器加适当的约束,使逻辑走线延迟尽可能小,提高处理速度。这种方法根据综合工具可能会有不同的结果。时钟、使能等大扇出的信号线走全局时钟,减少时钟走线延迟。用逻辑锁定的方式,使关键路径的逻辑在芯片内部排列紧凑一些。设计验证验证的目的是发现设计缺陷,证明设计的正确性,分为模块级及系统级验证。模块级主要验证模块运
30、算是否正确、功能是否正常,处理速度能否满足要求;系统级主要验证接口的正确性,系统功能正确性。设计缺陷发现的越早,付出的代价越少,因此尽可能多做模块验证,再验证整个芯片或系统,这样能够节省时间。测试信号和数据设计时,应该能够覆盖各种状况。测试平台搭建时,尽量考虑通用性以适用于不同的设计。运算功能的验证数据一般由Matlab生成.mif文件或.txt文件。文件加入逻辑设计的方法有两种,一种是把数据和时序产生电路当作设计的一部分,设计相应的时序电路和ROM电路,加入模块设计并且与模块逻辑一起编译,这种方法会有附加逻辑,当数据文件比较大的时候编译时间长。另一种是编制testbench方法,大型设计中最
31、常用的方法, testbench可以看作接口,将数据与逻辑结合在一起,这种方法好处,外加激励不占用芯片资源,仿真结果更能反映真实情况,便于复杂仿真结果的比较。但Testbench不支持逻辑图输入文件,需要用厂方自带软件将逻辑图转换相应的格式,再仿真。验证可以是仿真验证或调试验证,模块功能验证一般先仿真验证,再调试验证。仿真验证结果和Matlab仿真结果一致,调试结果应该和仿真结果完全一致。厂方自带软件的仿真器,支持波形输入和testbench两种输入方式。专用仿真软件对testbench支持的好一些。时序电路用波形输入较方便,复杂的运算数据用 testbench比较方便。注意仿真输入信号的设置
32、,与工作状态的对应关系。FPGA芯片内嵌入式逻辑分析仪,能够适时观察内部逻辑工作情况,但嵌入式逻辑分析仪占用内部存储器资源,采样深度和数据位数越大,占用资源越多,触发条件设置相对简单。调试过程中记录遇到的问题及解决方法,在每一次设计更改前仔细分析出现的问题,找出解决方法,对将要更改之处作详细记录。在做修改前,必须将设计文件备份,以免设计更改无效或更改出错无法恢复原设计。验证完毕后应该总结包括逻辑电路、结构方案、总体方案、原理图、PCB图更改原因及更改之处。功率估算 FPGA器件的总功耗静态功耗动态功耗I/O功耗静态功耗是指逻辑门没有开关活动时的功率消耗,主要
33、取决于所选的FPGA产品。动态功耗是指逻辑门开关活动时的功率消耗,可以通过改进设计,减少逻辑翻转的方法降低动态功耗。方法之一是关闭无用操作,如当RAM无读操作时,利用片选信号关闭输出;在某些输出数据暂时无用时,控制相关输入信号在固定状态。方法之二是减少时钟翻转,分析设计要求,减少高速时钟的应用,不同的模块采用合适的工作频率。方法之三是尽量多采用嵌入式RAM、DSP资源等,这些资源的性能高,密度低,相对于逻辑单元功耗较低。 I/ O功耗是I/O翻转时对外部负载电容冲放电消耗的功耗,与接口标准有关,低压和无端接标准通常有利于降低功耗,当I/O缓冲器驱动
34、一个高电平信号时,该I/O为外部端接电阻提供电压源;而当其驱动低电平信号时,芯片所消耗的功率则来自外部电压。差分I/O标准(如典型值为350 mV的低开关电压LVDS)可提供更低的功耗、更佳的噪声边缘、更小的电磁干扰以及更佳的整体性能。功耗估算决定FPGA能否得到正确电源支持。一般FPGA厂家会给出功耗估算工具,又分为设计前的估算工具和设计后的估算工具。设计前的估算工具根据逻辑利用率、工作频率、信号翻转率等大概估计出功耗,这种方法比较粗略。设计后的估算工具分析实际器件利用率以及时序仿真后的结果,较为精确。工作频率、翻转率、工作温度对在资源估算值影响较大,因此功率估值时,必须选择合适的参数。串行
35、收发器工作速度高,功耗大,功耗应该单独估算,并加入芯片总功耗估算中。FPGA芯片内部逻辑和互连资源在上电时处于不定状态,因此有时上电瞬间电流大于工作电流。功耗估算后,必须查阅器件手册中上电电流值,取工作电流估算值与FPGA芯片上电瞬间电流值之中大的。五、 Altera芯片嵌入式资源介绍RAM/ROM资源Altera较新的系列芯片如Stratix系列芯片嵌入式存储器资源有M512(512bit)、M4K(4kbit)、M_RAM(512kbit)三种,每个芯片内所包含的数量不等,通过Quartus软件Help可以查询每种芯片内具体数目。三种RAM支持工作模式略有不同,M512不支持真正双端口RA
36、M模式;M_RAM不支持初始化RAM和ROM模式,也不支持移位寄存器模式。通过Quartus软件Help可以查询每种RAM块支持的工作模式。移位寄存器模式可以将嵌入式RAM块中的寄存器构成w(移位数据位宽)×m(每个Tap的比特深度)×n(Tap数)移位寄存器,当w×m×n要大于RAM的比特数时,可以把RAM级联使用。这样可以在RAM资源使用比较少而综合逻辑资源占用过多时,替代寄存器使用。RAM资源可以若干个小模块合成一个大的模块工作,但一个大模块不能分成几个小模块使用。如1024bit数据需要用2块M512,或1块M4K,但M4K中剩下的部分不能再用。
37、估算RAM资源时要特别注意。设计中可以指定用哪种RAM单元实现逻辑设计。DSP资源DSP模块包括乘法器、加/减/累加、求和运算器,DSP内部专用的高速互连网络使得DSP能够实现高速并行数据处理。DSP内乘法器单元只能工作在9×9、18×18、36×36模式,加/减/累加单元可以支持全精度加法,最大可支持52bit的累加结果。尽管DSP运算速度非常高,但数据、时序、控制信号由芯片其他资源产生或由外部提供,因此整个芯片处理速率低于DSP速度,实际速度与资源占用情况有很大关系。当内部DSP资源不够用时,综合软件自动调用组合逻辑单元构成的DSP,但处理速度比内嵌专用资源处
38、理速度要低的多。PLLPLL是一种锁相环,主要用在时钟管理,Altera公司的PLL用模拟器件构成,分EPLL和FPLL两种。锁相环输入、输出、VCO都有一定的频率范围限制,在设计中应该注意不要超出给定范围,否则不能正常工作。片外时钟信号必须由芯片专用时钟输入信号管脚,有的型号的芯片(Stratix 系列)EPLL有两个时钟输入端可以根据需要,自动或手动相互切换,在多时钟工作模式或需要时钟备份的场合非常方便。PLL复位信号(areset)可以使失锁的锁相环重新锁定,建议接入外部复位信号。EPLL主要产生内部和外部使用的时钟信号,它的输出直接驱动全局时钟、局域时钟和专用时钟输出管脚pll_out
39、,pll_out管脚由单独电源供电。EPLL分布在芯片的上下两端。FPLL主要产生内部时钟,不能驱动专用时钟信号管脚,但它的重要的用途是用在高速源同步接口上,输出的diffoclk和loadena信号可以接入差分接口SERDES电路,输出的8个相位抽头的时钟可以送到动态相位调整(DPA)电路中。FPLL分布在芯片的左右两侧。高速收发模块(SERDES)SERDES是SERializer和DESerializer的英文缩写,即串行收发器,发端用高速时钟调制编码数据流;收端解调数据,同时从数据流中恢复时钟信号。预加重及均衡处理能够提高SERDES的传输能力。预加重是在发射端预先放大高频部分,均衡是
40、在收端提供数字处理校正传输过程中的失真,使收端频谱能量均衡,减小信号失真。预加重及均衡的等级必须根据信号频率和传输距离合理选择,二者一般配合使用。SERDES收、发端PLL的参考时钟必须单独由专用时钟管脚接入,不能和其他信号合用,以减少干扰。SERDES收端数据进入FPGA内部逻辑前,必须用FIFO进行数据接口同步,SERDES内部自带4个字节深FIFO,也可以调用FPGA内部的FIFO。SERDES的功耗非常大,传输速率越高功耗越大,FPGA功耗估算时应该注意。SERDES输入、输出管脚必须用高速差分I/O。高速PCB设计检查表适用阶段: PCB设计阶段分类序号设计指南回答理由方案设计1设计
41、需要任务书或其他设计输入文件。2拟制设计方案。3设计方案必须经过审查或评审。逻辑图设计1逻辑图中,器件编号按处理流程或其他原则自左到右、自上而下,由小到大编排。2排列在一起的小元件(电阻、电容、电感、二极管等),其编号尽可能连续。3输入端在逻辑图左方或上方,输出在右方或下方。4模拟输入信号必须有匹配和隔离放大器,必要时加限带滤波器。5外时钟输入到PCB板时,必须在插件上加整形电路,。6输入信号按设计要求加匹配和滤波。7输出驱动长线时,必须加长线驱动器,并加必要的匹配电阻。8数据线传输速率与传输线长度必须匹配。9外输入信号、高频信号、时钟信号只能带1个负载。10添加必要的测试和监视口11印制背板
42、禁止安装有源器件。12连接器上统一性规定的电源、地引腿,禁止当作信号引脚使用。13插件输入、输出端适当加备份线,内部器件之间也尽量多留备份线。14器件空置的I/O管脚按要求接地或电源。电源、地1模拟与数字电源、地必须分开。2确认每种电源功耗估值、供电方式、电源特性,每种电源功率至少留有1/3余量。3电流较大的用开关电源供电,对纹波要求严格的用线性电源供电。4器件所有的电源、地引脚必须接上。5器件供电顺序是否满足要求。6电压<3.3V的电源建议由PCB板上电源模块提供。7器件工作电压是否与接口标准一致。8有特殊要求的电源、地是否已在PCB布线文件中提出。滤波电容1器件、电源、稳压器必须加高
43、频、低频滤波电容,添加规则按设计规范。2滤波电容位置要求必须在PCB布线设计文件中提出。匹配电阻1时钟、高速数据总线、长线必须加匹配电阻,添加规则按设计规范。2确认器件上拉、下拉电阻是否集成在芯片内部,否则必须在PCB板上相应的位置加匹配电阻。3匹配电阻、上拉电阻、下拉电阻位置要求必须在PCB布线设计文件中提出。布局1了解通用元器件的放置规则、特殊元器件的布局要求。2器件的布局根据布线和数据流的走向,以走线最短为原则,兼顾排列整齐,相同的器件排列方向尽量一致。3输入、输出器件尽量靠近连接器。4布局应考虑维修性,注意器件之间的间距,特别是表贴器件、连接器与周围器件的间距。5跳线器和连接器要考虑其
44、易操作。6背板设计时应注意留出安装位置(背板框、接插件)。7要考虑散热,主发热元件靠近出风口,大体积元件的放置避开风路。8电源稳压器在PCB上留出散热区。9终端匹配电容、电阻布局布线规则参照公司提供的标准电路设计。10晶振布局应远离高速信号线、大功耗器件。11热敏器件远离功耗较大的器件。12布局方面要求必须在PCB布线设计文件中提出。通用布线要求1了解一般布线的规则、特殊布线的说明及规则。2源同步接口器件数据线和时钟线在PCB上走线应严格等长。3高频数字线应该远离输入、输出口,时钟芯片、晶振,否则采用地线或电源线屏蔽。4高频时钟(20MHZ以上或上升沿少于5ns的时钟),必须有地线护送。 5多
45、层板在布板时要注意把主要的时序线放在最外层,方便调试。6高速、特殊I/O走线要求是否已在PCB布线设计文件中提出。FPGA配置芯片布线要求1FPGA芯片是否支持所用配置方式。2配置芯片容量是否满足被配置FPGA的要求。3确认FPGA芯片配置管脚、配置芯片管脚、JTAG插座的连接方式正确。4确认配置所需的上拉、下拉电阻已按要求在PCB上或FPGA内部接好,并且阻值正确。5DCLK 、JTAG链的TCK信号线布线时应当按高速时钟信号处理。6DCLK、DATA信号线每4个就必须重新驱动一次,在JATG链中,需要保证每个芯片都将TCK、TDI、TMS重新驱动。7PCB布板时保证nCS和CONF_DON
46、E之间走线尽可能短。8TDO输出的电平与其所在的Bank的VCCIO值有关,多片级联时要确保前级芯片输出的TDO电平能够与下级芯片的TDI要求匹配。FPGA布线要求1锁相环、高速收发器电源必须由线性电源供。2各个模块的I/O电压是否与接口标准相同。3模拟锁相环电路供电电源必须与数字电源隔离,并且经过滤波和去耦处理。4即使设计中不用锁相环电路,电源、地也必须按要求连接。5所有特殊器件管脚分配是否与所用芯片相符。6STRATIX GX器件每个区的RREF以高精度电阻(2K-1%2K+1%)接地。7STRATIX GX器件各个区的VCCR_B和VCCT_B用磁珠隔开,以阻止一个区的噪声泄漏到另一个区
47、。各个区的VCCP_B和VCCG_B可以共享。CPCI布线要求1CPCI连接器中,除pci_clk,req,gnt之外,其他信号线都需要接一个10匹配电阻,电阻放在信号的连接器引脚的15.2mm内。2连接器、匹配电阻、CPCI接口芯片之间连线的长度,必须38.1mm。3由连接器到FPGA的时钟线(pci_clk)长度必须为63.5mm±2.54mm4一个CPCI连接器只能带一个负载。5有CPCI接口的FPGA芯片,布局时尽量靠近CPCI连接器。6CPCI信号走线的阻抗应该在6510。LVDS布线要求1LVDS接口器件尽量靠近LVDS连接器。2LVDS接口器件尽量靠近目的器件。3每组L
48、VDS信号线尽量等长。4当一组数据通过多片接口器件传送到FPGA时,接口器件与FPGA间必须引进多个时钟线。5LVDS时钟线按高速时钟线要求走屏蔽线。6LVDS差分线之间必须在靠近接收器的地方并接100匹配电阻。7接口器件(DS90CR286MTD)的下一层必须布一层模拟地。8尽量把LVDS差分线放置在最顶层和最底层,并且在LVDS信号下布电源或者地层。9必须在LVDS和其他信号线之间加入地线。TS201布线要求1当有多片TS201芯片时,主时钟必须经过时钟驱动芯片再分别接入每片TS201,禁止时钟信号带多个负载。2主时钟线要求等长、屏蔽,到各个器件的长度尽可能的短,其周围没有其他走线,阻抗满
49、足50W75W之间。3主时钟信号线必须靠近发端接串接匹配电阻,阻值根据信号完整性分析结果定,否则接0电阻。4TS201器件电源上电顺序是否正确。5尽量加宽电源、地线宽度,地线宽电源线宽信号线宽。布线之后检查1PCB设计是否通过信号完整性分析。2PCB设计是否通过电源完整性分析。3PBC设计工具进行自动DRC(设计规程检查)检查是否完全符合要求。4已在PCB布线设计文件中提出的布局要求是否满足。5已在PCB布线设计文件中提出的走线要求是否满足。6连接器的插头、插座的对应关系是否正确。7器件视图方向(正视、反视)是否正确。8器件封装形式、封装尺寸是否正确。9器件管脚定义、间距、排列顺序是否正确。1
50、0焊盘尺寸、过孔尺寸是否正确。11器件所有的电源和地引脚是否全部接上。12信号线的滤波电容、匹配电阻值是否正确、放置是否合理。13电源低频、高频滤波电容数量和放置是否合理,14模拟/数字电源、地处理是否合适。15丝印层器件标号正确、标注方向是否正确。设计:审批:高速PCB设计指南电路设计前期规划6.15. 确认详细功能需求及接口定义在电路设计前应首先确定电路详细功能需求及电路上下接口定义,功能需求及接口应经过设计评审。杜绝因需求变更或者接口改变,导致设计进行大的更改。6.16. 电路实现方式选择信号处理算法实现在38所有2种方式,第1是采用FPGA芯片硬件实现,第2是采用ADI公司通用DSP芯
51、片(TS101、TS201)软件实现,或者是二者结合。设计师根据设计指标要求进行合理选择。采用FPGA芯片硬件实现优势在于实时处理能力强,运算处理快,但可修改性差。在选择FPGA芯片实现,要关注所选择芯片的设计资源,包括乘法器、I/O脚数目、片内RAM大小,高速串行I/O、速度等级及封装形式等。采用通用DSP芯片软件实现方便修改,不牵涉到硬件时序更改,但处理速度相比FPGA硬件实现慢。在采用软件实现时要考虑数据输入、输出速度和DSP处理速度能否满足要求。6.17. 电路采用的总线方式38所目前主要使用有2种总线,第1是采用210芯的38所专用总线标准,210芯连接器,第2是采用CPCI标准总线
52、。采用210芯总线时,要严格按照标准定义总线。采用CPCI总线应注意支持CPCI哪一个标准,目前CPCI总线已有多个标准,从2.0,2.16,2.19,2.6,2.7等,必须与所选用的 CPCI机箱标准相一致。定义信号时,应严格遵循CPCI标准。6.18. 电路器件选择器件选择应首先按照产品使用环境确定是普通级、工业级、军品级,其次根据所里优选手册提供的目录选择优选器件。新器件选用则根据标准化中心规定的流程进行。商业级工业级军用级温度0704085551257. 逻辑图的具体设计时钟信号、同步信号及复位信号设计信号处理系统与接收系统相连的部分电路,要使用与接收系统同源的同步时钟。输入时钟要加时
53、钟放大匹配网络。如果一个时钟驱动多个负载,并且要求输出时钟间相位关系在几百ps时,可以采用IDT74FCT3807、CY3808或CY3805等专用时钟驱动芯片。如果时钟频率较低时可以采用244缓冲器驱动。如果系统有同步信号,应将同步信号接入各个FPGA芯片及各个电路板中,以使各系统同步工作。如果系统中需要复位信号,应考虑是硬复位还是软复位,复位信号是否与同步信号一样接入各个FPGA芯片及各个电路板中。输入、输出信号设计输入输出信号要加缓冲器或者驱动器(244,245),如果驱动很长的信号线,则要选用专用的长线驱动器。在设计电路时应仔细分析信号在各器件及各板之间的传输速率,注意信号阻抗匹配等。
54、存储器设计目前所内使用的存储器主要有异步的双口RAM存储器,FIFO存储器、同步存储器、FLASH存储器、EPROM等,设计师根据应用需求,合理选择存储器的种类及容量大小。通过FPGA芯片控制板内存储器操作时,最好将存储器时钟、片选、读写使能、输出使能等信号接入FPGA芯片,以方便控制。电源设计选择器件时应注意其工作电压,尽量减少电路板中的电源种类现在FPGA芯片、DSP芯片常常要求提供低电压大电流的电源,并且有时要求采用线性低压电源,以减小电源纹波。因此在设计电路时,应预估出各种电源所需电流大小,合理选择电源芯片。所里常用的电源芯片种类有TI公司TPS54612、TPS54010、TPS54315,MICREL公司的MIC37301、MIC39500、MIC49500等。对于FPGA中的模拟PLL电源、高速收发模块电源、DSP芯片中的电源网络设计应按照器件手册所提供的参考电路进行设计。测试在设计电路时应考虑如何对电路中各主要器件、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 3 Amazing animals 第七课时(教学设计)-2024-2025学年人教PEP版(2024)英语三年级上册
- 九年级化学下册 第6章 溶解现象 基础实验5 配制一定溶质质量分数的氯化钠溶液教学设计 (新版)沪教版
- Module 3 Unit 1 Where's the orange cat(教学设计)-2023-2024学年外研版(一起)英语一年级下册
- 2023三年级英语上册 Unit 4 We love animals The sixth period教学设计 人教PEP
- 2024-2025学年高中生物 第一章 人体的内环境与稳态 专题1.1 细胞生活的环境教学设计(基础版)新人教版必修3
- 七年级语文上册 第五单元 18《悬崖边的树》教学设计2 冀教版
- 28《有的人-纪念鲁迅有感》(教学设计)2024-2025学年六年级语文上册统编版
- 2024学年八年级英语上册 Module 8 Accidents Unit 1 While the car were changing to reda car suddenly appeared教学设计 (新版)外研版
- Unit 1 What's he like?Part B(教学设计)-2024-2025学年人教PEP版英语五年级上册
- 《较大数的估计》(教案)-2024-2025学年二年级下册数学西师大版
- 车间粉尘清扫记录表
- 教师办公室6S管理要求
- 旅行管家实务全套ppt课件最全电子教案完整版教学教程整套全书课件ppt
- 三年级下册数学课件-4.1 整体与部分 ▏沪教版 13张
- 变更税务登记表doc-变更税务登记表
- 隧道保通安全专项方案
- 校园车辆出入证办理
- 糖尿病护理新进展
- 5-4地铁盾构施工技术试题
- 统编版《道德与法治》四年级下册第5课《合理消费》精品课件
- 钢板桩项目可行性分析报告范文参考
评论
0/150
提交评论