当前位置:首页 > 工业控制 > 电子设计自动化

这是一个在设计中常犯的错误列表,这些错误常使得你的设计不可靠或速度较慢,为了提高你的设计性能和提高速度的可靠性,你必须确定你的设计通过所有的这些检查 。

可靠性

**为时钟信号选用全局时钟缓冲器BUFG
• 不选用全局时钟缓冲器的时钟将会引入偏差 。

**只用一个时钟沿来寄存数据
• 使用时钟的两个沿是不可靠的因为时钟的某沿或者两个沿会漂移; 如果时钟有漂移而且你只使用了时钟的一个沿你就降低了时钟边沿漂移的风险。
• 这个问题可以这样来解决就是允许CLKDLL自动纠正时钟的占空比以达百分之五十的占空比否则强烈建议你只使用一个时钟沿

**除了用CLKDLL或DCM产生的时钟外不要在内部产生时钟.
• 这包括产生门控时钟和分频时钟
• 作为替代可以建立时钟使能或使用CLKDLL或DCM来产生不同的时钟信号。
• 对于一个纯同步设计建议你在任何可能的情况下只使用一个时钟

**不要在内部产生异步的控制信号 例如复位信号或者置位信号
• 内部产生的异步控制信号会产生毛刺
• 作为替代可以产生一个同步的复位/置位信号这个信号的译码要比需要作用的时刻提前一个时钟周期

**不要使用没有相位关系的多个时钟
• 你也许并不总能避免这个条件在这些情况下确定你已使用了适当的同步电路来跨越时钟域

**不要使用没有相位关系的多个时钟
• 再次你也许并不总能避免这个条件,相反许多设计都需要这样,在这些情况下确定你已适当地约束了跨越时钟域的路径

**不要使用内部锁存器
• 内部锁存器会混淆时序而且常常会引入另外的时钟信号
• 内部锁存器在透明门打开时可以被看成是组合逻辑但在门被锁存时 可以被看成是同步元件这将会混淆时序分析
• 内部锁存器常常会引入门控时钟门控时钟会产生毛刺使得设计变得不可靠

性能

**逻辑级的时延不要超过时序预算的百分之五十
• 每个路径逻辑级时延可以在逻辑级时序报告或布局后时序报告中找到详细分析了每个路径之后时序分析器将生成每个路径时延的统计量检查一下总共的逻辑级时延超过了你的时序预算的百分之五十吗?

**IOB 寄存器
• IOB寄存器提供了最快的时钟到输出和输入到时钟的时延
• 首先有一些限制对于输入寄存器在从管脚到寄存器间不能有组合逻 辑存在对于输出寄存器在寄存器和管脚之间也不能有组合逻辑存在对于三态输出在IOB中的所有的寄存器必须使用同一个时钟信号和复位信号而且IOB三态寄存器必须低电平有效才能放到IOB中三态缓冲器低电平有效所以在寄存器和三态缓冲器之间不需要一个反相器
• 你必须使软件能够选用IOB寄存器你可以设置全局实现选项为输入 输出或输入输出选择IOB寄存器缺省值为关(off)。
• 你也可在综合工具或在用户约束文件UCF中设定使得能够使用IOB寄存器句法为: INST IOB = TRUE;

**对于关键的输出选择快速转换速率
• 可以为LVCMOS和LVTTL电平选择转换速率快速的转换速率会降低输 出时延但会增加地弹所以你必须在仔细考虑的基础之上选择快速转换速率

**流水逻辑
• 如果你的设计允许增加延迟对组合逻辑采用流水操作可以提高性能
• 在Xilinx的FPGA中有大量的寄存器对每一个四输入函数发生器有一个对应的寄存器在牺牲延迟的情况下利用这些寄存器来增加数据吞吐量

**为四输入的查找表结构进行代码优化
• 记住每一个查找表可以建立一个四输入的组合逻辑函数如果你需要更大的功能记住实现该功能所需的查找表的数目

**使用Case语句而不是if-then-else语句
• 复杂的if-then-else语句通常会生成优先级译码逻辑这将会增加这些路径上的组合时延
• 用来产生复杂逻辑的Case语句通常会生成不会有太多时延的并行逻辑 对于Verilog用户可以使用编译向导synopsys parallel_case

**使用一个或多个核生成器块
• 核生成器块针对 Xilinx的结构进行了优化许多块都可以允许用户配置包括大小宽度和流水延迟
• 查看你设计中的关键路径你是否可以在核生成器中产生一个核来提高键路径性能

**使有限状态机FSM保持在层次中的自己所在的那一级
• 为了允许综合工具完全优化你的FSM它必须在它自己的块中优化如果不是这样的话这将使得综合工具将FSM逻辑和它周围的逻辑一起优化
• FSM不能包括任何的算术逻辑数据通路逻辑或者其它与状态机不相关的组合逻辑

**使用两个进程或always块的有限状态机
• 下一个状态和输出译码逻辑必须放在独立的进程或always块中这将不允许综合工具在输出和下一个状态译码逻辑之间共享资源

**使用一位有效编码有限状态机FSM
• 一位有效编码通常会在富含寄存器的FPGA中提供最高性能的状态机

**为每一个叶级leaf-level块提供寄存输出
• 叶级块是可以推论逻辑的块而结构级(structural-level)的块仅例化较 底层的块这样就建立了层次
• 如果叶级块被锁存输出则可使综合工具保留层次这可使分析这些代码 的静态时序变得比较容易
• 对边界进行寄存可以使得各个块之间有确定的时序关系

**利用有适当管脚定位约束的数据流
• Xilinx器件中的数据流是在水平方向上的这里部分的原因是进位链是在垂直方向上的另外还有其它的原因三态缓冲线在水平方向上排列块之间也有水平方向上的直接连接
• 为了利用数据流地址和数据管脚必须放在芯片的左侧或右侧同时注意因为进位链是自下而上的所以将最低位放在最下面控制信号放在芯片的上部和下部

**不同的计数器风格
• 二进制计数器是非常慢的如果你的二进制计数器是关键路径可以考虑使用不同的风格的计数器LFSRPre-scalar或Johnson

**设计是层次化的被分成不同的功能块和技术块
• 设计必须被划分成不同的功能块首先是较顶层的功能块然后是较底层的块你也应该包括特定技术的块
• 设计层次化必须使得设计更可读更易调试更易复用

**复制的高扇出网络
• 这可以通过你的综合工具来进行控制然而为了更紧地控制复制你可以选择复制寄存器

**利用四种全局约束来对设计进行全局的约束周期对每个时钟偏置输入偏置输出管脚-到-管脚
• 你也许会有针对多周期路径失败路径和关键路径的其它约束但是你必须总要从指定四个全局约束开始

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

在异构计算系统中,ARM与FPGA的协同工作已成为高性能计算的关键架构。本文基于FSPI(Fast Serial Peripheral Interface)四线模式,在150MHz时钟频率下实现10.5MB/s的可靠数据...

关键字: ARM FPGA FSPI

在全球FPGA市场被Xilinx(AMD)与Intel垄断的格局下,国产FPGA厂商高云半导体通过构建自主IP核生态与智能时序约束引擎,走出差异化高端化路径。本文深入解析高云半导体FPGA工具链的两大核心技术——全栈IP...

关键字: FPGA 高云半导体

2025年6月12日,由安路科技主办的2025 FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案...

关键字: FPGA 核心板 开发板

高 I/O、低功耗及先进的安全功能,适用于成本敏感型边缘应用

关键字: FPGA I/O 机器视觉

本文讨论如何为特定应用选择合适的温度传感器。我们将介绍不同类型的温度传感器及其优缺点。最后,我们将探讨远程和本地检测技术的最新进展如何推动科技进步,从而创造出更多更先进的温度传感器。

关键字: 温度传感器 CPU FPGA
关闭