EDN China > 技术文章 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 从FPGA转换到门阵列

来源:电子产品世界/Flextronics半导体公司副总载 王海博士?? 2006年04月12日 ?? 收藏0

????? ? 总之,要尽量减少或者不使用逻辑门控制时钟信号,因为它会在时钟和数据之间产生较多的扭曲。??? 如果时钟信号上由逻辑等式产生,那么这种方法就会有一些自身的问题。如果全局时钟信号线不用于路由派生时钟,那么时钟的同步上会有一些重要的差别。如果出于不同的用途分别产生时钟,情况甚至会变得更糟。???

????? 全局时钟信号的使用

????? 在长串寄存器链中,这个问题会在多处出现。此电路的一个替代方法如图3所示。使用CLK信号,用第二个与门消除了多路时钟。这样只产生一个时钟信号到触发器串。图3中触发器串的时钟信号是系统时钟通过门延迟得到的,当到达触发器串的数据与触发器串的时钟不同步时,将在两个路径间产生竞争。一路是触发器串的数据输入路径,另一路是系统时钟到达触发器串的时钟输入端路径。解决方案是用系统时钟的下降沿触发的单独触发器串记录数据。???

此电路的一个替代方法

????

??? 状态检测:

????? 如果不考虑电路钟的延迟,状态机的状态检测可能会出错。如果用组合逻辑来产生复位信号,那么即使是同步电路也会产生问题。???

????? 尽量保持状态控制逻辑(如计数器、分频器等)少于10位。如果超过10位,长计数器应该有用于监视内部状态的抽头,或者至少有一预置的功能。这些监视用抽头应能够很容易地将数据传送到输出引脚,以便监测。???

????? 复位问题:???

??????如同时钟一样,如果使用组合逻辑或者不详细考虑时序,复位信号也能产生一系列问题。???

????? 图4示出了一种产生短脉冲的方法:当触发器D输入是高电位时,每个时钟周期后Q端产生一个短脉冲。复位信号是低电位有效,Q(输出高电位时不引起复位。当时钟的上升沿到来时,如果D端是高电位,Q(输出变低,导致触发器复位。然后Q(又被拉回到高电位,从而结束复位。为避免组合复位信号的问题,可以使用图5所示得另一触发器的输出来驱动复位信号。???

产生短脉冲的方法

另一触发器的输出

????? 执行问题:???

????? 当逻辑等式用于描述一种功能,而编辑器用于产生逻辑关系时,情况变得更有趣。考虑最近发现的一个例子:???

????? if T,OUT=/A????
????? else,OUT=B???

???????如图6,尽管电路在逻辑上是正确的,但当T变化时会产生毛刺信号。A=0,B=1时出现问题。图7为简化电路。信号T仅仅用作模式切换。当系统在工作台上测试时,毛刺信号绝不会是问题。当随后使用自动系统测试时,要考虑很多效应以找到系统错误的根源。图7所示的逻辑在门阵列实现时,将可能在不需要的时候产生脉冲。事实上,这个问题是转换到门阵列实现时发现的,正可以解释自动的系统测试期间所出现的反常现象。???

产生毛刺信号

产生脉冲

????? 分割与试验的方法:

????? 如果FPGA的功能在很大程度上依赖于路径延迟,那么设计阶段重新选择路径将引起一部分电路工作不正常。即使以前电路工作正常并且似乎已经最后完成了,情况仍然会如此。不同制造批号的电路模块可能具有不同的工作特性。工作电压和工作温度的变化可能引起时序上的变化。如果设计中每一步的工作时序只有很少的裕量,甚至没有,那么上述的效应将引起不同的逻辑行为。???


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

FPGA? 门阵列? 转换?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈