从FPGA转换到门阵列
发布时间:2008/5/27 0:00:00 访问次数:466
概述
从fpga或pld转换到门阵是经济高效的,有时甚至只需几百个单元就能实现。这已经引起越来越多设计者提出同样的问题:这种转换设计需要什么后续技术?事实上转换到门阵面临着许多电路的时序问题,这在fpga设计中是不被注意的。
本文论述了转换时遇到的几种由于设计不当所造成的时序问题,提出了避免这些问题的方案。同时对时序变化的部分原因及充分利用门阵列技术亦在文中进行了讨论。
时序上的差异
如果知道原始设计电路工作中每一步时序上的裕量,orbit保证无论fpga是否模拟过,都可以成功完成转换,而使用其atpg和结合缺省模拟分级确保了这一点。在转换完成前,由用户模拟或由obrit atpg产生的测试向量,用ic测试仪对fpga进行测试。如果是用户提供的测试装置或测试向量,此时需分析时序情况,验证系统功能。注意:只有管腿到管腿的测试向量才有助于确认转换的正确性,设置内部节点的模拟向量在芯片级的验证模拟时是无用的。
毛刺信号的产生
许多逻辑电路能产生小的,寄生的信号,称作为毛刺信号。无法预见毛刺信号可通过设计来传播并产生不需要的时钟脉冲。任何组合电路都可能是潜在的毛刺信号的发生器,当毛刺信号影响后续电路时,就成为一个较大问题。
图1用于说明与门的输出变化与否依赖于线路的延时。假定图中信号ao总比bo提前5ns到达。
情况1:信号a1的延时为10ns,b1为20ns,那么与门的输出一直为低电平。
情况2:信号a1的延时为20ns,b1为10ns,那么与门的输出为5ns的高电平,其余为低电平。
情况3:两路信号延时都很小(如同在门阵列中一样),那么与门的输出一直为低电平。
上述差异的重要性完全依赖于信号的用途。如果电路输出后续由触发器锁定,情况2中非期望的毛刺信号可能被忽略;而如果毛刺信号在后续电路中被看作是有意义的信号,那么情况1和情况3中由于没有产生毛刺信号,就会致使电路工作不正常。
开启时钟
许多设计中出现的问题都与如何使用时钟有关。
图2用于解释由逻辑门控制时钟所诱发的问题。逻辑门的介入使得时钟到第二个触发器出现了特殊路经。要考虑两条线路的长度:一是clk_in到ff2的d输入端,另一是从clk_in到ff2_c端。
要验证两种情况:1、数据的变化在时钟信号的上升沿之后到达ff2;2、数据的变化在时钟信号的上升沿之前到达ff2。
情况1中,要改变ff2_q,需要两个clk_in上升沿,而情况2中只需一个clk_in的上升沿。当路径2的延迟太长时,ff2_q变化将早到一个时钟周期。这种设计逻辑特性很大程度上依赖于延迟路径。
替代的方案是用逻辑门来控制数据,而不是用时钟。由于全局时钟信号用于两个触发器,它们几乎在同一时间记录数据。实际上,fpga中新的路径1几乎一定长于新路径2,这将确保电路的行为同情况1。当电路转换到门阵列时,必须仍保持这种相同。
总之,要尽量减少或者不使用逻辑门控制时钟信号,因为它会在时钟和数据之间产生较多的扭曲。
全局时钟信号的使用
如果时钟信号上由逻辑等式产生,那么这种方法就会有一些自身的问题。如果全局时钟信号线不用于路由派生时钟,那么时钟的同步上会有一些重要的差别。如果出于不同的用途分别产生时钟,情况甚至会变得更糟。
在长串寄存器链中,这个问题会在多处出现。此电路的一个替代方法如图3所示。使用clk信号,用第二个与门消除了多路时钟。这样只产生一个时钟信号到触发器串。图3中触发器串的时钟信号是系统时钟通过门延迟得到的,当到达触发器串的数据与触发器串的时钟不同步时,将在两个路径间产生竞争。一路是触发器串的数据输入路径,另一路是系统时钟到达触发器串的时钟输入端路径。解决方案是用系统时钟的下降沿触发的单独触发
概述
从fpga或pld转换到门阵是经济高效的,有时甚至只需几百个单元就能实现。这已经引起越来越多设计者提出同样的问题:这种转换设计需要什么后续技术?事实上转换到门阵面临着许多电路的时序问题,这在fpga设计中是不被注意的。
本文论述了转换时遇到的几种由于设计不当所造成的时序问题,提出了避免这些问题的方案。同时对时序变化的部分原因及充分利用门阵列技术亦在文中进行了讨论。
时序上的差异
如果知道原始设计电路工作中每一步时序上的裕量,orbit保证无论fpga是否模拟过,都可以成功完成转换,而使用其atpg和结合缺省模拟分级确保了这一点。在转换完成前,由用户模拟或由obrit atpg产生的测试向量,用ic测试仪对fpga进行测试。如果是用户提供的测试装置或测试向量,此时需分析时序情况,验证系统功能。注意:只有管腿到管腿的测试向量才有助于确认转换的正确性,设置内部节点的模拟向量在芯片级的验证模拟时是无用的。
毛刺信号的产生
许多逻辑电路能产生小的,寄生的信号,称作为毛刺信号。无法预见毛刺信号可通过设计来传播并产生不需要的时钟脉冲。任何组合电路都可能是潜在的毛刺信号的发生器,当毛刺信号影响后续电路时,就成为一个较大问题。
图1用于说明与门的输出变化与否依赖于线路的延时。假定图中信号ao总比bo提前5ns到达。
情况1:信号a1的延时为10ns,b1为20ns,那么与门的输出一直为低电平。
情况2:信号a1的延时为20ns,b1为10ns,那么与门的输出为5ns的高电平,其余为低电平。
情况3:两路信号延时都很小(如同在门阵列中一样),那么与门的输出一直为低电平。
上述差异的重要性完全依赖于信号的用途。如果电路输出后续由触发器锁定,情况2中非期望的毛刺信号可能被忽略;而如果毛刺信号在后续电路中被看作是有意义的信号,那么情况1和情况3中由于没有产生毛刺信号,就会致使电路工作不正常。
开启时钟
许多设计中出现的问题都与如何使用时钟有关。
图2用于解释由逻辑门控制时钟所诱发的问题。逻辑门的介入使得时钟到第二个触发器出现了特殊路经。要考虑两条线路的长度:一是clk_in到ff2的d输入端,另一是从clk_in到ff2_c端。
要验证两种情况:1、数据的变化在时钟信号的上升沿之后到达ff2;2、数据的变化在时钟信号的上升沿之前到达ff2。
情况1中,要改变ff2_q,需要两个clk_in上升沿,而情况2中只需一个clk_in的上升沿。当路径2的延迟太长时,ff2_q变化将早到一个时钟周期。这种设计逻辑特性很大程度上依赖于延迟路径。
替代的方案是用逻辑门来控制数据,而不是用时钟。由于全局时钟信号用于两个触发器,它们几乎在同一时间记录数据。实际上,fpga中新的路径1几乎一定长于新路径2,这将确保电路的行为同情况1。当电路转换到门阵列时,必须仍保持这种相同。
总之,要尽量减少或者不使用逻辑门控制时钟信号,因为它会在时钟和数据之间产生较多的扭曲。
全局时钟信号的使用
如果时钟信号上由逻辑等式产生,那么这种方法就会有一些自身的问题。如果全局时钟信号线不用于路由派生时钟,那么时钟的同步上会有一些重要的差别。如果出于不同的用途分别产生时钟,情况甚至会变得更糟。
在长串寄存器链中,这个问题会在多处出现。此电路的一个替代方法如图3所示。使用clk信号,用第二个与门消除了多路时钟。这样只产生一个时钟信号到触发器串。图3中触发器串的时钟信号是系统时钟通过门延迟得到的,当到达触发器串的数据与触发器串的时钟不同步时,将在两个路径间产生竞争。一路是触发器串的数据输入路径,另一路是系统时钟到达触发器串的时钟输入端路径。解决方案是用系统时钟的下降沿触发的单独触发
上一篇:EDA技术在现代数字系统中的应用
热门点击
- OrCAD/PSpice9直流扫描分析的应用
- OrCAD/PSpice9直流扫描分析的应用
- protel99se和DXP的使用感想
- CCS噪声模型:用于串扰噪声分析的高精确度建
- Xtreme PCB软件允许多位工程师同时布
- ORCAD/PSPICE
- 硬件描述语言HDL的现状与发展
- 利用Liberty CCS建模技术实现更高精
- OPC工具挺进DFM
- SystemWeaver 实现复杂SOC的片
推荐技术资料
- 泰克新发布的DSA830
- 泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]