《FPGA设计指南》word版.doc_第1页
《FPGA设计指南》word版.doc_第2页
《FPGA设计指南》word版.doc_第3页
《FPGA设计指南》word版.doc_第4页
《FPGA设计指南》word版.doc_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 设计指南设计指南 FPGA 设计指南设计指南1 前言前言1 一、一、设计步骤设计步骤1 二、二、设计流程图设计流程图7 三、三、FPGA 设计规范设计规范8 四、四、FPGA 设计技巧设计技巧11 五、五、ALTERA 芯片嵌入式资源介绍芯片嵌入式资源介绍13 高速高速 PCB 设计检查表设计检查表16 高速高速 PCB 设计指南设计指南21 PCB 布线设计检查表布线设计检查表.29 PCB 布线设计指南布线设计指南.34 PCB 电路设计流程检查表电路设计流程检查表.38 PCB 电路设计流程指南电路设计流程指南.39 功率器件设计检查表功率器件设计检查表40 功率器件设计指南功率器件设计指南41 接收系统模数混合电路设计检查表接收系统模数混合电路设计检查表45 接收系统模数混合电路设计指南接收系统模数混合电路设计指南46 接收系统射频、频率源模块设计检查表接收系统射频、频率源模块设计检查表67 接收系统射频、频率源模块设计指南接收系统射频、频率源模块设计指南68 接收系统微波电路设计检查表接收系统微波电路设计检查表82 接收系统微波电路设计指南接收系统微波电路设计指南83 前前言言 本指南的内容包括 FPGA 的设计步骤、设计方法、设计以及一些特殊电路的设计方法。编写的目的为 了减少设计缺陷,实现开发的合理性、一致性、高效性,帮助新同事尽快熟悉整个设计流程。 2 一一、设设计计步步骤骤 1.需求分析 1.1.任务 全面、准确地理解并描述用户需求,规定了项目做什么,需要达到什么样的指标,为产品设计、构 造和测试提供足够的基础。 1.2.需求分析准备 在需求分析前,必须与任务提出人进行充分沟通,了解系统的功能、特性,理解每一项需求的作用 和目的,区分需求的性质。正确描述合理的需求;对不合理的要求进行解释、说明。约定含糊的需求和暂 时不确定的需求的处理方法,并在设计中留有余量;剔出不必要的需求;并在项目组内部进行充分沟通, 对软件需求达成一致理解;同时与相关项目组进行沟通和交流,避免工作冲突和不一致。 系统设计(评审) (系统方案、模块划分、测试方案) 详细设计(评审) (模块功能定义、接口设计) 设计实现 (逻辑图输入、硬件描述语言程序输入、模块验证) 文件归档 (设计方案、设计文件、验证文件) 设计集成 (系统构建、系统验证) 需求分析(评审) (功能定义、指标确定) 3 应该了解产品的进度要求,合理安排工作,保证有充足的时间。 1.3.需求分析内容 功能需求:设计必须完成哪些功能,实现这些功能的方法、数学模型和算法,每种功能在多模式下的差异。 性能需求:设计必须达到的速度要求、精度要求、同步性要求、可靠性要求。 标准需求:设计必须遵从的标准、规范和统一性设计文件。 接口:输入、输出信号的分类、数量、作用、传输方式、接口标准;内部数据接口关系。 验证:每项功能和指标的测试或验证方法、时机、条件。 工作环境:估算所占用的硬件资源,计算机软件、硬件配置状况。 特殊需求:保密性、安全性、适应性等要求。 1.4.设计要求 所有的任务都有需求分析 每一项需求都具有任务来源、明确的目的 能够清晰、准确地描述所要实现的功能 具有技术可行性 能够被测试或验证 1.5.评审内容 评审需求分析的完整性、正确性、可行性和可测性。 1.6.输入文件 设计任务书 1.7.输出文件 需求规格说明 2.系统设计 任务 将已确认的各项需求转换功能模块,构造系统处理结构,设计系统处理框图。 设计的内容 功能模块的划分:确定每个模块任务,以模块设计、验证方便,复杂度适中,模块间接口简单为最佳。功 能独立、较复杂的需求可以单独构成模块;相互间关联密切、复杂度较低的需求合并在一起构成模块。 系统的处理结构:根据数据处理顺序、模块间的控制关系决定模块之间的互连结构;根据各个模块的处理 特性和要求,权衡速度与资源之间的关系,合理的分配硬件资源,确定最佳处理结构。结构设计时应考虑 系统的扩展性。 系统的控制关系:列出所有可能出现的工作状态,合理地设计出控制信号,保证模块的工作状态受控。控 制信号最好单独构成一个模块,这样能够清晰的体现整个系统的控制关系,使所有模块工作状态转换同步, 便于修改。 4 与外部的接口关系:输入、输出信号与内部模块的连接关系。 模块之间的接口关系:根据传递数据的性质决定模块间的数据接口关系,约定模块 间的数据接口关系。 验证方案:确定每一项需求的验证方法与时机,测试数据的注入口及输出口。验证 方法有仿真和测试两种。仿真在计算机平台上进行,能够验证逻辑功能与算法一致性、时序设计是 否满足指标要求;信号测试需要在硬件平台上进行,验证与外部数据接口、控制关系正确性,功能、性能 与设计要求的一致性。 设计要求 所有的需求都有对应的设计。 系统结构简洁。 模块规模适中,模块之间接口简单。 输入、输出接口符合标准或约定。 控制信号能够正确控制工作状态转换。 能够完成对所有功能验证,验证方法正确。 评审内容 处理结构、模块划分、模块连接关系的合理性,控制关系、输入/输出关系的正确性,测试的覆盖率。 输出文件 设计说明、接口设计说明 3.详细设计 任务 每个模块功能具体的描述,构造合适的模块处理器架构,设计每种功能详细逻辑框图。 3.8.设计内容 任务分解:在了解 FPGA 芯片底层硬件资源及外围芯片配置的基础上,细化每个模块的任务。根据任务的 内容和可用资源、处理速度、处理能力等要求,确定处理构架。分析能否能够利用 IP 核或借用已有的设 计,对需要全新设计的部分,先将任务分类,一般按时序、控制、运算来分。项目组内部要约定统一设计 风格、命名方式。 时序:系统时序可以单独设立一个模块,统一管理各个模块工作的同步关系;各个模块内部工作时序一般 在各自内部产生,模块之间的时序一般不共用。 控制:控制关系简单,使用方便,注意控制信号的相互影响和制约关系,工作状态变换与控制信号之间的 关系是唯一对应的。工作状态变化时,所影响到的各个模块任务必须随之变换。 运算:较为复杂的运算可以层设计,将可重用的部分设计成元件、函数、子程序,在设计中重复调用。设 计要考虑处理能力的可扩展性以及设计的可重用性。 5 资源:根据模块运算速度、运算量、存储量估算,结合芯片资源特性,估算每个模块设计资源占用情况。 如果设计用在新开发的插件上,需要选择合适的 FPGA 芯片和外围器件,估算器件的功耗。设计资源上必 须留有一定余量。 接口:分析每个模块与其他模块、外围电路接口关系及标准,设计模块的输入、输出信号位宽,速率,极 性。如果新设计插件,需要对 I/O 管脚分配,分配时除了考虑 FPGA 时序约束、接口芯片电平要求外,必 须满足 PCB 系统时序约束、信号完整性、可布线性要求。 测试:根据模块的功能设计测试数据,确定时序信号的延迟关系,工作状态转换与各个控制信号状态关系, 运算电路的测试输入数据和预期的输出结果。确定每项测试的前提条件和约束。 3.9.设计要求 尽量借用已有设计,避免不必要的重复设计工作。 新设计要具有可复用性,可扩展性,可移植性,可延续性。 硬件资源合理利用。 I/O 分配必须考虑 PCB 设计要求。 测试数据能够覆盖所有可能出现的各种状况。 3.10. 评审内容 设计构架、时序关系、控制关系、测试方法的数据的正确性,设计的通用性,资源分配的合理性。 3.11. 输出文件 设计说明,逻辑框图。 4.设计实现 任务 用适当的方式,将模块的功能转换成逻辑电路,并验证模块的工作的正确性。 4.12. 设计内容 逻辑设计:了解 FPGA 芯片内部的各种底层硬件资源和可用的设计资源,用逻辑图或硬件描述语言输入方 式,调用合适的元件或者用合适的硬件描述语句,实现模块的硬件电路。一般顶层设计用逻辑图方式,便 于直观的体现模块之间的互连关系。在设计时必须加注释,说明每一个小的逻辑功能块、进程的作用,选 择信号的控制的工作状态。 时钟信号:输入时钟的整形,产生运算电路同步信号、模块同步信号、数据接口同步信号、外围电路工作 时钟信号。 接口设计:数据输入、输出、主时钟、同步时钟端口命名定义;选择信号端口变化范围,只要能够满足系 统需要就好,过大会占用过多器件资源。适当引出中间结果、关键信号作为测试口。每个端口命名要符合 统一性文件或约定,加注释说明其作用。端口按约定排列,方便设计集成时互连。 设计约束:逻辑综合时需要加对时钟信号加周期、建立、保持时间等约束,使设计的工作频率、接口同步 6 满足要求,获得正确的静态时序分析报告。 设计优化:处理性能、资源占用等不满足要求时,分析问题所在,修改模块的设计结构,充分发挥 FPGA 内部各种资源处理数据的优势,给出每个模块设计资源占用情况。 设计验证:每个模块的功能必须经过仿真,验证时序产生电路的时序关系的正确性,状态变换时控制信号 的正确性,运算电路运行的正确性等、计算的准确率,输入、输出接口传送数据能够满足设计要求。记录 验证中发现的错误,分析问题,修改相应的设计。 4.13. 设计要求 尽量采用参数化设计; 必须用同步设计; 程序及逻辑图,排列有序,易读; 每个进程及子模块内部任务单一,设计简洁; 端口设置合理,易用; 用常规方法,不要用小技巧; 满足规范要求; 便于测试; 处理性能满足要求、资源占用合适; 验证数据能够模拟真实工作情况; 模块能够独立验证功能全部被验证。 4.14. 输出文件 逻辑图、硬件描述语言源程序,约束文件,仿真、测试文件及结果。 5.设计集成 任务 系统处理器的搭建,验证系统功能是否能够按设想的方式正确地工作。 内容 内部接口:模块间互连,注意不同时钟域信号接口同步处理、并行处理模块间的延迟关系。 外部接口:器件内部关键信号引出到器件 I/O 上,方便调试时观察。了解器件 I/O 管脚的特性,定义输入、 输出端口与 I/O 管脚的对应关系,设置 I/O 管脚的接口标准、接口电平、匹配电阻。给出 I/O 管脚分配文 件。 资源:调整模块间资源利用冲突,保证器件资源合理利用。给出准确的器件资源占用值。 功耗:根据资源占用及工作频率,估算出器件的功耗。 验证:与外部接口的正确性;系统结构的正确性,即模块间控制、接口关系、延迟关系正确性。记录验证 中发现的错误,分析问题,修改相应的设计。记录调试、仿真条件。 7 要求 模块端口名称在整个设计各个层次中应该保持不变。 顶层设计约束必须包含底层的各种约束。 验证尽可能覆盖工作时的各种状况。 输出文件 器件逻辑图、硬件描述语言源程序,器件仿真、测试数据文件及结果,器件约束文件,器件配置文 件。 6.设计文件归档 需求规格说明内容:硬件设计的基本功能,性能指标,运行环境,约束条件、开发进度等要求。 设计说明书内容:系统处理结构说明,系统处理框图;模块功能描述及设计说明,模块逻辑框图; 验证方案,资源、功耗估算等。 接口说明书内容:外部接口关系、接口标准描述,时序关系,控制关系,内部模块间互连关系及接 口标准约定。 以上文件经过评审后归档,评审参与人员为任务提出人员、项目组成员、部技术委员会成员、有相 关设计经验人员。项目设计进行中,这些文件若发生变更,需要提请申请批准后,将修改以后的文件归档。 测试报告内容:测试方法,测试框图,测试条件,测试数据及源程序,调试中出现的问题及解 决方法,模块设计、系统设计修改之处及修改原因。 电路设计源程序、测试数据及源程序,器件约束文件、器件配置文件 这些文件在设计验收后,列出文件清单归档。 二二、设设计计流流程程图图 设计输入功能仿真综合优化布局布线时序仿真系统调试逻辑仿真器逻辑综合器FPGA 厂家工具逻辑仿真器 8 设计输入 采用硬件描述语言和逻辑图的方式,顶层文件一般采用图形方式,方便表达功能模块间的互连关系; 功能模块内部尽量设计采用硬件语言编程,方便不同公司芯片、不同设计工具间兼容。 逻辑图输入只能采用芯片公司自带的设计软件如 Altera 公司的 Quartus 软件,Xilin 公司的 Ise 软件。 硬件描述语言输入可以用芯片公司自带软件,也可以用第三方软件仿真工具所带文本编辑器,如 ActiveHDL、Modelsim、Synplify 软件。 功能仿真 功能仿真验证设计输入的逻辑功能正确性,不包括门延迟和走线延迟。仿真除了用厂家自带软件, 也可以用第三方专业仿真软件 ActiveHDL、Modelsim。专业软件仿真速度快,功能强。 综合优化 逻辑综合将设计输入转换成对应的基本逻辑单元,优化是在必要的设计约束条件下的转换,一般是 指速度和面积要求,通过优化,可以提高工作速度、减少资源资源利用率。综合优化可以用厂家自带软件, 也可以用第三方专业综合软件如 LeonardoSpectrum、FPGA Express/FPGA Compiler、Synplify 软件。一般芯 片公司自带软件针对性较强,但不同公司之间的兼容性不够好,同一个设计文件用不同的软件综合后,结 果可能不同。 布局布线 布局布线将综合优化后的结果转换成特定芯片的适配文件,必须用厂家自带软件。 时序仿真 时序仿真前,应该先使芯片的静态时序分析报告满足设计要求。 验证布局布线后结果,设计的时序要求是否能够满足,包括门延迟和布线延迟。验证工具可以是厂 家自带软件,有些厂家自带软件能够输出与第三方接口的网表文件,也可以使用第三方仿真软件。时序仿 真较功能仿真费时,但是它能够反映芯片的真实的工作情况。 系统调试 将生成的配置文件写入芯片,利用示波器或逻辑分析仪,通过测试口观察芯片工作情况。 有些厂家芯片支持嵌入式在线逻辑分析仪,通过 JTAG 口可以在线、实时读出 FPGA 内部信号。但这需要 占用 FPGA 的内部 RAM 资源,采样深度和信号的位数受到限制,采样触发条件也没有逻辑分析仪灵活。 9 三三、F FP PG GA A 设设计计规规范范 命名规则 设计文件、模块、管脚命名必须按下列规则: 命名一律用小写,避免使用不易理解的数字、单个字母做标识;命名要清晰、明了,有明确含义,使用完 整的单词或大家基本可以理解的缩写;只能用英文字母、数字和“_” ,但名字的最前面应该是英文字母, 在名字的最后也不能使用“_” ,不能连续使用“_”符;名称长度不得超过 16 个字符;在一个设计中要自 始至终保持一致,禁止同一种信号在不同层次中使用不同的信号名称。 IP 核: 调用 IP 核时,必须另起与模块或设计名称相关的名字,不能使用软件默认的名字如 lpm_dff0,否 则设计集成时会冲突。 功能模块:同一种类功能模式不同实现方式模块命名时,将功能名放在前,方法名放在后。如开环 NCFAR、闭环 NCFAR 分别用 ncfar_openloop、ncfar_closedloop 表示。 时钟信号命名:使用“clk”命名时钟线,或用它作为所有时钟信号的前缀。例如,clk_en、clk_a。 复位、清零信号:应该遵守高/低电平有效习惯,同一个模块中统一为高有效或低有效。可以用“_h”表 示高电平有效信号,用“_l”表示低电平有效信号。 多位变量:顺序应该从高到低(d70),防止模块集成时命名顺序不统一出现错误。如果用 0 作为最低端 的位,那么所有多位变量应该在(n-1)0 范围内。 硬件描述语言:块语句(BLOCK) 、进程语句(PROCESS) 、过程调用语句、元件例化语句、生成语句 (GENERATE)前必须加一个有意义的标志名,标志名不能太长,也不能重复命名。如: count_clk::PROCESS(clk、fr) 。 。 。 END PROCESS count_clk; 设计文件端口信号按信号的类别排列整齐,如时钟信号、控制信号、数据信号;多个模块之间的接口,按 模块关系排列,输出去模块 1 的同步信号、数据信号;模块的 2 同步信号、数据信号。 编程规则 设计文件中必须加中文注释,标明该程序的功能、用途、处理延迟、编程环境、适用范围、应用项目、编 程日期、编程人名等,图形文件的注释放在上部醒目地方;硬件描述语言文件注释放在程序之前。 对于所有的输入、输出、信号,变量、常量,必须加注释说明其功能、取值范围、及注意事项等。 注释的内容要清楚、明了,含义准确,修改程序同时修改相应的注释,以保证注释与程序的一致性。注释 应放在被注释语句或器件的相邻位置,无用的注释要删除。 硬件描述语言源文件中各个进程,及关键语句要加注释,说明进程功能、作用、去向等,编程进程间联系 可能简化,一个进程对应处理一种事务。 硬件描述语言源文件中,注意不同类型数据之间的转换,去掉不必要的数据类型转换语句;元件调用时必 10 须使用名称映射方式,禁止使用位置映射方式。 设计文件端口排列顺序要求: 输入:复位信号、清零信号、同步信号、主时钟、选择信号、数据输入; 输出:同步信号、数据输出、输入/输出、观测信号。 顶层电路设计时,功能模块排列按数据处理顺序,由左到右放置,输入信号管脚放在图形的最左侧;输出 信号放在图形的最右侧;双端口信号可以放在左、右两侧。 时序设计 时序电路与运算单元分开设计,这种设计结构功能分明,便于调试、修改。 一个模块尽量只用一个时钟信号,其他信号做时钟使能。 禁止用直接用在组合逻辑电路、计数器分频后的信号做其它模块的时钟,必须在逻辑之后加入寄存器过虑 毛刺。 逻辑综合时加上一定的约束条件,保证时钟性能满足要求。 主时钟在 FPGA 内部,用专用 PLL(Altera)或 DLL(Xilin)进行整形、分频/倍频、移项调整与运算后,再 由内部全局时钟布线资源驱动,到达芯片内所有寄存器和其他模块的输入端。 高扇出的信号如时钟使能信号、复位信号、清零信号尽量使用全局时钟或局域时钟,可以减少大扇出造成 的时钟偏斜,提高设计性能。 禁止用手工加 Buffer 或逻辑门的方法调整时钟延迟,每一次布局布线后,延迟时间有可能不同。 用分频、倍频时钟、同步计数器完成所需的同步信号电路延迟,比较特殊的定时延迟,一般用高速时钟产 生计数器,根据计数器的计数控制延迟,比较小的延迟可以用触发器实现。 逻辑综合时需要加对时钟信号加周期、建立、保持时间等约束,使设计的工作频率、接口同步满足要求, 获得正确的静态时序分析报告,对不满足要求的路径,通过修改逻辑设计、约束走路径方法来提高工作频 率。 尽量不用时钟正负沿来调整数据延迟,如果出现这种需求,可以用倍频后的时钟来处理。 运算电路设计 器件的输入、输出信号及模块之间的数据接口必须经过寄存器寄存。 复杂的设计分成若干个层次来设计,各个子模块单独设计、仿真或调试后再合成。模块层次不能过多,最 多 34 层。 电路设计必须使用同步方式处理。 FPGA 内部模块间接口不能使用双向端口,内部禁止赋值高阻状态 Z 禁止使用组合逻辑反馈环,禁止使用锁存器(Latch) 。 三态输出的使能和输入不能用同一个信号,防止由于走线延迟引起使能开放错误。 11 设计电路参数取值范围要尽可能合适,不能过大,避免过多占用资源。 用硬件描述语言设计电路时,要用 RTL 级代码,否则不能综合。 锁相环输入、输出频率必须在器件给定的范围,因为锁相环的 VCO 工作频率有最高频率限制,外围电路 工作频率范围也有限制。 引脚分配 FPGA 管脚分配时,应该按照器件 I/O 管脚特性来分。如 Altera 公司 Stratix 系列芯片左右两边支持高速 LVDS 信号,上下支持 PCI 总线标准,因此数据通道的接口尽量分布在器件的左右两边,控制通道逻辑和外 部高速存储器接口功能分布于上下两边。 尽量把具有兼容性的 I/O 标准的信号分配在一个 Bank 里,当待分配的管脚超过一个 Bank 中可分配的管脚 数时,用边界锁定分配可以使得总线集中在芯片的一边。 时钟翻转频繁的信号尽量均匀的分布在芯片周围,尽量靠近芯片的 GND 引脚布置。 应用厂方软件自带的 I/O 验证工具,验证管脚分配和相关逻辑的合法性以及是否违背板级设计规则,主要 是参考电压的正确性、有效管脚位置分配和正确性。 高速收发模块 PLL 时钟要单独由外部专用时钟接入,不要和主时钟合引脚,减少相互之间的干扰。 管脚接口标准必须满足将要传送数据速率、传输距离的要求。 当需要加外围电路如存储器时,需要考虑接口电平兼容性,必要时加电平转换器件。 多余的用户 I /O 设置成输出接地,可以增加器件地的连接点,减少地弹干扰。 FPGA 内部已集成了 I/O 管脚必要的匹配电阻,在管脚约束时按需要设置,以减少 PCB 设计时外部器件的数 量,同时减少外围器件对高速信号的干扰。 I/O 管脚分配必须考虑 PCB 版图设计要求。 接口设计 外部进入 FPGA 的时钟信号必须先用锁相环整形,其他信号必须经过寄存器寄存,消除干扰和毛刺。 除 FPGA 与外部接口,内部不能使用双向端口,内部禁止赋值高阻状态 Z。 系统由多片 FPGA 构成时,要保证数据分配合理,传送简单。 模块间只有数据、同步信号、控制信号互连,时序不共用。 模块之间数据传递,若主时钟、处理速率一致时,在模块输入、输出加寄存器后直接传送;若不相同时一 般采用 FIOF、RAM 转接。 同步信号的极性、宽度、位置,控制信号电平与状态的对应关系,需要在详细设计中约定。 四四、F FP PG GA A 设设计计技技巧巧 提高处理速率方法 影响 FPGA 芯片片工作频率因素包括处理延迟、走线时延迟。处理速度与资源占用是一对矛盾。 12 FPGA 芯片给出的处理速度是在一定条件下的,当芯片内资源占用很满时,处理速度达不到给定的值。设 计中要考虑速度和资源两者之间的关系,在资源占用最合理的情况下,处理速度满足设计要求。处理速度 要留有一定余量,否则调试造成困难,处理速度提高,芯片功耗也随之加大。 在结构设计阶段,分析芯片处理能力是否能满足要求,如果不能在电路结构设计时可以用多路并行 的方式提高处理速度,如用多个乘法器并行完成高速数据的乘法运算。 在逻辑设计阶段,尽量采用同步设计,减少组合逻辑使用,用加流水的方式把大的组合逻辑拆分成 多个小的组合逻辑,如做 8 路 16bit 数据加法,可以拆分成两个 4 路 16bit 加法,加一级寄存后,再做 2 路加法。 逻辑综合阶段,根据仔细分析静态时序结果,找出关键路径、影响速度的原因,通过给综合器加适 当的约束,使逻辑走线延迟尽可能小,提高处理速度。这种方法根据综合工具可能会有不同的结果。时钟、 使能等大扇出的信号线走全局时钟,减少时钟走线延迟。用逻辑锁定的方式,使关键路径的逻辑在芯片内 部排列紧凑一些。 设计验证 验证的目的是发现设计缺陷,证明设计的正确性,分为模块级及系统级验证。模块级主要验证模块 运算是否正确、功能是否正常,处理速度能否满足要求;系统级主要验证接口的正确性,系统功能正确性。 设计缺陷发现的越早,付出的代价越少,因此尽可能多做模块验证,再验证整个芯片或系统,这样能够节 省时间。测试信号和数据设计时,应该能够覆盖各种状况。测试平台搭建时,尽量考虑通用性以适用于不 同的设计。 运算功能的验证数据一般由 Matlab 生成.mif 文件或.txt 文件。文件加入逻辑设计的方法有两种,一 种是把数据和时序产生电路当作设计的一部分,设计相应的时序电路和 ROM 电路,加入模块设计并且与 模块逻辑一起编译,这种方法会有附加逻辑,当数据文件比较大的时候编译时间长。另一种是编制 testbench 方法,大型设计中最常用的方法, testbench 可以看作接口,将数据与逻辑结合在一起,这种方 法好处,外加激励不占用芯片资源,仿真结果更能反映真实情况,便于复杂仿真结果的比较。但 Testbench 不支持逻辑图输入文件,需要用厂方自带软件将逻辑图转换相应的格式,再仿真。 验证可以是仿真验证或调试验证,模块功能验证一般先仿真验证,再调试验证。仿真验证结果和 Matlab 仿真结果一致,调试结果应该和仿真结果完全一致。 厂方自带软件的仿真器,支持波形输入和 testbench 两种输入方式。专用仿真软件对 testbench 支持 的好一些。时序电路用波形输入较方便,复杂的运算数据用 testbench 比较方便。注意仿真输入信号的设 置,与工作状态的对应关系。 FPGA 芯片内嵌入式逻辑分析仪,能够适时观察内部逻辑工作情况,但嵌入式逻辑分析仪占用内部存 储器资源,采样深度和数据位数越大,占用资源越多,触发条件设置相对简单。 调试过程中记录遇到的问题及解决方法,在每一次设计更改前仔细分析出现的问题,找出解决方法, 对将要更改之处作详细记录。在做修改前,必须将设计文件备份,以免设计更改无效或更改出错无法恢复 原设计。 13 验证完毕后应该总结包括逻辑电路、结构方案、总体方案、原理图、PCB 图更改原因及更改之处。 功率估算 FPGA 器件的总功耗静态功耗动态功耗I/O 功耗 静态功耗是指逻辑门没有开关活动时的功率消耗,主要取决于所选的 FPGA 产品。 动态功耗是指逻辑门开关活动时的功率消耗,可以通过改进设计,减少逻辑翻转的方法降低动态功 耗。方法之一是关闭无用操作,如当 RAM 无读操作时,利用片选信号关闭输出;在某些输出数据暂时无 用时,控制相关输入信号在固定状态。方法之二是减少时钟翻转,分析设计要求,减少高速时钟的应用, 不同的模块采用合适的工作频率。方法之三是尽量多采用嵌入式 RAM、DSP 资源等,这些资源的性能高, 密度低,相对于逻辑单元功耗较低。 I/ O 功耗是 I/O 翻转时对外部负载电容冲放电消耗的功耗,与接口标准有关,低压和无端接标准通 常有利于降低功耗,当 I/O 缓冲器驱动一个高电平信号时,该 I/O 为外部端接电阻提供电压源;而当其驱 动低电平信号时,芯片所消耗的功率则来自外部电压。差分 I/O 标准(如典型值为 350 mV 的低开关电压 LVDS)可提供更低的功耗、更佳的噪声边缘、更小的电磁干扰以及更佳的整体性能。 功耗估算决定 FPGA 能否得到正确电源支持。一般 FPGA 厂家会给出功耗估算工具,又分为设计前的 估算工具和设计后的估算工具。设计前的估算工具根据逻辑利用率、工作频率、信号翻转率等大概估计出 功耗,这种方法比较粗略。设计后的估算工具分析实际器件利用率以及时序仿真后的结果,较为精确。 工作频率、翻转率、工作温度对在资源估算值影响较大,因此功率估值时,必须选择合适的参数。 串行收发器工作速度高,功耗大,功耗应该单独估算,并加入芯片总功耗估算中。 FPGA 芯片内部逻辑和互连资源在上电时处于不定状态,因此有时上电瞬间电流大于工作电流。功耗 估算后,必须查阅器件手册中上电电流值,取工作电流估算值与 FPGA 芯片上电瞬间电流值之中大的。 五五、A Al lt te er ra a 芯芯片片嵌嵌入入式式资资源源介介绍绍 RAM/ROM 资源 Altera 较新的系列芯片如 Stratix 系列芯片嵌入式存储器资源有 M512(512bit) 、M4K(4kbit) 、 M_RAM(512kbit)三种,每个芯片内所包含的数量不等,通过 Quartus 软件 Help 可以查询每种芯片内具 体数目。 三种 RAM 支持工作模式略有不同,M512 不支持真正双端口 RAM 模式;M_RAM不支持初始化 RAM 和 ROM 模式,也不支持移位寄存器模式。通过 Quartus 软件 Help 可以查询每种 RAM 块支持的工作模式。 移位寄存器模式可以将嵌入式 RAM 块中的寄存器构成 w(移位数据位宽)m(每个 Tap 的比特深度) n(Tap 数)移位寄存器,当 wmn 要大于 RAM 的比特数时,可以把 RAM 级联使用。这样可以在 RAM 资源使用比较少而综合逻辑资源占用过多时,替代寄存器使用。 RAM 资源可以若干个小模块合成一个大的模块工作,但一个大模块不能分成几个小模块使用。如 1024bit 数据需要用 2 块 M512,或 1 块 M4K,但 M4K 中剩下的部分不能再用。估算 RAM 资源时要特别注 14 意。 设计中可以指定用哪种 RAM 单元实现逻辑设计。 DSP 资源 DSP 模块包括乘法器、加/减/累加、求和运算器,DSP 内部专用的高速互连网络使得 DSP 能够实现高 速并行数据处理。DSP 内乘法器单元只能工作在 99、1818、3636 模式,加/减/累加单元可以支持 全精度加法,最大可支持 52bit 的累加结果。 尽管 DSP 运算速度非常高,但数据、时序、控制信号由芯片其他资源产生或由外部提供,因此整个 芯片处理速率低于 DSP 速度,实际速度与资源占用情况有很大关系。 当内部 DSP 资源不够用时,综合软件自动调用组合逻辑单元构成的 DSP,但处理速度比内嵌专用资 源处理速度要低的多。 PLL PLL 是一种锁相环,主要用在时钟管理,Altera 公司的 PLL 用模拟器件构成,分 EPLL 和 FPLL 两 种。锁相环输入、输出、VCO 都有一定的频率范围限制,在设计中应该注意不要超出给定范围,否 则不能正常工作。 片外时钟信号必须由芯片专用时钟输入信号管脚,有的型号的芯片(Stratix 系列)EPLL 有两个 时钟输入端可以根据需要,自动或手动相互切换,在多时钟工作模式或需要时钟备份的场合非常方 便。 PLL 复位信号(areset)可以使失锁的锁相环重新锁定,建议接入外部复位信号。 EPLL 主要产生内部和外部使用的时钟信号,它的输出直接驱动全局时钟、局域时钟和专用时钟 输出管脚 pll_out,pll_out 管脚由单独电源供电。EPLL 分布在芯片的上下两端。 FPLL 主要产生内部时钟,不能驱动专用时钟信号管脚,但它的重要的用途是用在高速源同步接 口上,输出的 diffoclk 和 loadena 信号可以接入差分接口 SERDES 电路,输出的 8 个相位抽头的时钟 可以送到动态相位调整(DPA)电路中。FPLL 分布在芯片的左右两侧。 高速收发模块(SERDES) SERDES 是 SERializer 和 DESerializer 的英文缩写,即串行收发器,发端用高速时钟调制编码数据流; 收端解调数据,同时从数据流中恢复时钟信号。预加重及均衡处理能够提高 SERDES 的传输能力。预加重 是在发射端预先放大高频部分,均衡是在收端提供数字处理校正传输过程中的失真,使收端频谱能量均衡, 减小信号失真。预加重及均衡的等级必须根据信号频率和传输距离合理选择,二者一般配合使用。 SERDES 收、发端 PLL 的参考时钟必须单独由专用时钟管脚接入,不能和其他信号合用,以减少干扰。 SERDES 收端数据进入 FPGA 内部逻辑前,必须用 FIFO 进行数据接口同步,SERDES 内部自带 4 个字节 深 FIFO,也可以调用 FPGA 内部的 FIFO。 15 SERDES 的功耗非常大,传输速率越高功耗越大,FPGA 功耗估算时应该注意。 SERDES 输入、输出管脚必须用高速差分 I/O。 16 高速高速 PCB 设计检查表设计检查表 适用阶段: PCB 设计阶段 分类序号设计指南回答理由 1 设计需要任务书或其他设计输入文件。 2 拟制设计方案。 方 案 设 计 3 设计方案必须经过审查或评审。 1 逻辑图中,器件编号按处理流程或其他原 则自左到右、自上而下,由小到大编排。 2 排列在一起的小元件(电阻、电容、电感、 二极管等) ,其编号尽可能连续。 3 输入端在逻辑图左方或上方,输出在右方 或下方。 4 模拟输入信号必须有匹配和隔离放大器, 必要时加限带滤波器。 5 外时钟输入到 PCB 板时,必须在插件上加 整形电路, 。 6 输入信号按设计要求加匹配和滤波。 7 输出驱动长线时,必须加长线驱动器,并 加必要的匹配电阻。 8 数据线传输速率与传输线长度必须匹配。 9 外输入信号、高频信号、时钟信号只能带 1 个负载。 10 添加必要的测试和监视口 11 印制背板禁止安装有源器件。 12 连接器上统一性规定的电源、地引腿,禁 止当作信号引脚使用。 13 插件输入、输出端适当加备份线,内部器 件之间也尽量多留备份线。 逻 辑 图 设 计 14 器件空置的 I/O 管脚按要求接地或电源。 1 模拟与数字电源、地必须分开。 电 源 2 确认每种电源功耗估值、供电方式、电源 特性,每种电源功率至少留有 1/3 余量。 17 适用阶段: PCB 设计阶段 分类序号设计指南回答理由 3 电流较大的用开关电源供电,对纹波要求 严格的用线性电源供电。 4 器件所有的电源、地引脚必须接上。 5 器件供电顺序是否满足要求。 6 电压n(10) 式中n是环路的自然谐振频率。 对于小的偏离载波频率,或者说在锁相环路带宽之内,有 () Si()n(12) 从上面两式可以看出,锁相环路对于晶体振荡器和鉴相器相当于“低通”滤波器,对于 VCO 相当于 “高通”滤波器,所以晶体振荡器的近端噪声和 VCO 的远端噪声是影响环路输出噪声的主要因素,设计时 要特别注意。 (2)常用的数字锁相频率合成器 图 3 为一种常规数字锁相频率合成器的方框图。 在数字锁相频率合成器中,如果采用前置分频式数字锁相,则环路的分频比比较大。在反馈支路进行 频率下移即移频反馈,可有效减小环路分频比,有利于改善系统的相位噪声,所以它是目前常用的一种雷 达锁相频率合成器。 环路锁定时 P f N mff iio 所以fo=fi(13) P N m 频率间隔为 f = fi。 P 1 Pfo PD Kd LPF KFF(S) VCO Kv fi N m 图 3 一种常规数字锁相频率合成器方框图 在考虑参考晶振源,鉴相器(PD)和压控振荡器(VCO)引入的相位抖动时,该常规数字锁相环的相 位噪声模型如图 4 所示。 74 i P N m KH /N F(S)/S VCO o Npd 图 4 常规数字锁相环相位噪声模型 o=H(S)+VCO1H(S) (15) PDi N P N m 式中,H(S)=KH=KdKFKV NSFKS NSFK / )( / )( H H H(S)为环路闭环传递函数。 输出相位噪声谱密度可表示为 So=|H(j)|2+|1H(j)|2SVCO(16) PDi SNS P N m 2 2 在实际工程应用中,由于晶振参考源的相位噪声基底很低,所以参考源经 P 分频后,由于分频器噪声 基底的影响,噪声基底可能近似不变,所以式(16)此时就演变为 So=|H(j)|2(m+N)2S i+N2S PD+|1H(j)|2SVCO(17) 根据锁相环路传递函数的低通特性,可以得出如下两个近似式 |H(j) 1 n n为环路自然谐振频率。 此时,(16)式等效为 S o=S i+N2S PDn(19) 75 在工程上,为了降低合成器输出相位噪声,参考源一般采用较高振荡频率的晶体振荡器,由上面的 公式可以看出,对于常规移频式数字锁相频率合成器,由于大部分点 N 较大,其相位噪声在近区 (1 / fi,多数情况下取i10。 图中,去耦电容 CD1 和 CD2 是隔直流电容器,保证正常的自偏置电压。当然在可能的情况下,这些电容可 作为输入/输出匹配网络的一部分。滤波网路用于选频,根据要求,它可以是简单的低耗 LC 窄带滤波器, 也可以是具有良好矩形系数的宽带滤波器。 83 接收系统微波电路设计检查表接收系统微波电路设计检查表 适用阶段:T/R 组件,接收通道,上变频激励通道,微波低噪声场放、小功率放大器,幅相控制器件以及他们之 间组合的功能模块设计设计阶段 序号检查表项目回答理由 1 设计目标是否明确,最终要达到什么设计结果? 2 设计依据是什么,设计给出参数是否满足要求? 3 设计应用在什么环境条件,选取元器件是否满足环境条件要求? 4 系统级连后各项指标是否保留足够的设计裕量? 5 增益、本振电平是否留有调节环节? 6 是否对静电放电敏感(ESD)器件在图纸资料中加以说明? 10 对 GaAs 双电源器件是否考虑到加电顺序? 11 功率器件结温是否降额使用? 12 小信号器件的供电是否有必要的滤波去耦措施? 13 是否考虑器件使用的电磁环境对其影响? 14 所内现有工艺能否保证所选器件焊接、互连可靠性 15 微带板选取是否满足优选要求? 16 多层微带板/LTCC 基板布线是否满足工艺规范(线宽,线间距,孔间距,最 小孔径等) 17 微波腔体谐振频率是否远离微波电路信号频段?采用那种规避措施? 18 电路或模块采用那种微波接插件,是否优选?能够满足使用频率,功率容 量及使用环境的要求吗? 19 低频控制和供电接插件是否满足电流/电压限制,是否优选?制造性设计如 何?(焊接,走线操作性如何) 20 控制时序采用那种方式?(串/并联)是否需要有必要的缓存和打入时钟? 21 模块/电路在分机中采用何种安装方式?是否能满足系统使用平台的要求? 22 器件封装与实物是否一致 23 所选器件是否满足温度条件(工作温度、存储温度)? 24 所选器件是否满足海拔高度要求? 25 所选器件是否满足振动、冲击要求? 26 所选器件是否满足潮湿、盐雾等要求? 27 设计完成后,是否重新核实检查设计输入 设计: 审批: 84 接收系统微波电路设计指南接收系统微波电路设计指南 概述: 微波电路设计是内容十分广泛的范畴。本设计指南主旨在于提醒设计师在进行具体设计前,必须考 虑的一些通用性范围:如设计方案确定,核心元器件选取,微带基板,屏蔽盒等方面的考虑因素。当上述 自检问题能够充分考虑并得到满意的答案后,可以保证设计基本上满足任务的要求,但是具体设计结果还 取决于对器件的熟悉程度,参数的理解程度,设计方法的正确运用等方面的基本技术素养。所以,设计师 平时的技术积累十分重要。下面,简单列举了一些基本的考虑因数与方法,希望能达到举一反三,抛砖引 玉的目的。同时,希望在经过一段时间的试用后,能去伪存真,扩充更多更丰富的内容。 3 微波电路设计屏蔽腔体尺寸确定基本步骤微波电路设计屏蔽腔体尺寸确定基本步骤 答:微波电路屏蔽腔体尺寸的确认步骤为: 2) 根据腔体的宽度可计算出腔体所对应的波导截止频率w c f 式中为光速,等于 3108m/s,是指屏蔽腔体的宽度尺寸。cw 而截止频率应是工作频率的 34 倍,有利于减小辐射信号对微波元器件的影响。 c ff 2)根据公式可计算出辐射信号在屏蔽腔体中的传输衰减常数,式中衰减常 22 2 c f w 数的单位:奈培/米,3.14159,为腔体宽度尺寸(单位:米) ,为信号频率(单位:Hz) ,wf 为光速。c 联系屏蔽腔体的长度尺寸 ,代入如下公式可计算出辐射信号在腔体中的衰减量 Att,l Att dBl*explog*20 则辐射信号与正常工作信号的比率,计算公式为(dB) ,其中 G 为通道增益。rGAttr 通过空间传递的辐射信号与正常流程的信号叠加,将引起幅相误差,根据公式可得出由于辐射信号引 起的最大幅度误差和最大相位误差为: 幅度误差/起伏(最差情况) 20 101log*20 r 相位误差/起伏(最差情况) 20 10arctan r 观察其是否符合电路幅度起伏和相位起伏要求。 此外,如果是从输出端向输入端辐射信号在输入端叠加,在满足相位关系的前提下,将会形成正反馈, 2 c c f w 85 产生振荡。此时应当采取措施破坏振荡条件,避免振荡产生。 3) 屏蔽腔体的高度应是微带板厚度的 10 倍以上,同时小于其宽度。w 现代微波腔体设计中,可以将腔体和器件建模,代入 HFSS 软件中进行场分析仿真,观察腔体内电磁场 分布情况,判断腔体谐振频率是否远离使用频率。若落入使用频率内,可以考虑采用分隔成几个小腔,或 在腔体的某个敏感位置置入隔离接地金属柱,贴涂吸波材料等方法改变谐振频率。这一点对于振荡的防止 与消除是十分有意义的。 4 微波复合介质基板的基本参数及电路设计中选取基板注意事项微波复合介质基板的基本参数及电路设计中选取基板注意事项 答:所谓微波复合介质板就是指用有机材料和一些搀杂物质如玻璃,布,陶瓷,纤维等原料按一定比例 调配, 通过一定的工艺手段制作而成的具有相应特性的介质基片。主要可分为纯塑料系,填充塑料系, 以及纤维强化塑料系三大类。其中,比较常用的是聚四氟乙烯系列的基片。 微波复合介质基片主要参数如下: 介质损耗:高频吸收能量 P=2fV2rtg;通常用介质损耗角 tg 可来衡量介质基片在单位长度内 吸收能量的大小。选取微带基片时要求损耗角越小越好。 介电常数:是反映微带特性阻抗的一个指标。在给定特性阻抗的前提下,介电常数决定了微带电路的 物理尺寸(宽高比) 。 比重和密度:反映基片介电常数均匀性的一个指标。 热导系数:在温度升到规定值并在规定的时间内介质基片传导的热量,是反映介质基片散热能力的一 个参数。 线膨胀系数:是指从规定的某个温度上升到另一个规定的温度时,基片在 X,Y,Z 三个方向上的膨胀 情况。反映了介质基片的耐热性能。 吸水率:一般是指在一定温度下规定的时间内浸在蒸馏水中的吸水的能力。反映的是耐湿性能的一个 指标。 微波电路设计,确定电路中使用的微带基板是基础。设计师在选取微带基板时,应当根据实际设计中 使用的元器件种类、焊接工艺、安装方式、成品使用环境等多方面因数综合考虑。如,应该根据所应用的 频段和所需要的厚度以及大致的电路尺寸,确定基板的介电常数范围,以及介质板高度;根据功率器件的 发热量及热阻,选取合适热导系数的微带板;根据通过信号功率电平大小,确定微带板上金属厚度;参考 基片上焊接其他元器件材料的热膨胀系数与使用环境温度变化范围,选择合适线膨胀系数的介质基片,否 则会因两种材料线膨胀系数不匹配,导致使用时发生故障;根据安装器件的重量与焊接工艺,考虑微带板 的剥离强度;根据成品的工作环境及密封情况,确定吸水率高低;等等。 此外,为了减少微带板种类,提高可生产性,在选择微带基板时,尽量参考我所发行的微带板优选 手册 ,从中选取合适自己实际设计的微带板。 5 微波单片放大器选取指南微波单片放大器选取指南 答:目前微波市场上单片放大器品种繁多,各种材料如 GaAs,CMOS,SiC,各种封装,各种用途,各 86 种电压等等,五花八门,形式多样。微波电路设计师在完成自己的设计选取单片放大器时,必须注意以下 几点: (1)明确设计目标;即通过使用单片放大器应达到的电讯指标。如增益,动态,使用频段,噪声系数; (2) 清楚自己设计所能提供的使用条件;如供电电压,版图尺寸,温度范围,电流容量,密封要求等等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论