wjx197733的个人空间 http://blog.eetop.cn/5103 [收藏] [复制] [分享] [RSS]

日志

对FALSE PATH的理解

已有 1740 次阅读2009-8-3 17:20

FALSE PATH的理解

最近做了一点FPGA方面的工作,在用QuartusII对代码进行综合时四处查找资料,总算是对FALSE PATH有了一点点的理解,总得来说,FALSE PATH就是我们在进行综合分析时,不希望综合工具进行分析的那些路径。写出来和大家一起讨论。

QuartusII的一个培训文档里面解释了什么时候要用到FALSE PATH

1.           从逻辑上考虑,与电路正常工作不相关的那些路径,比如测试逻辑,静态或准静态逻辑。

2.          从时序上考虑,我们在综合时不需要分析的那些路径,比如跨越异步时钟域的路径。

下面举例说明:

先看图1MUX_1MUX_2是两个多路选择器,MUX_1的使能端C接到时钟clkMUX_2的使能端C接到clk的反。于是可以发现MUX_1S1端口是不可能经过MUX_2S1端口到达MUX_2D端口的,同理MUX_1S2端口是不可能经过MUX_2S2端口到达MUX_2D端口。于是我们就不希望综合工具对这两条路径进行分析,就是说这两条路径就是我们所说的FALSE PATH

set_false_paths –through Mux_1/S1 –through Mux_2/S1

set_false_paths –through Mux_2/S2 –through Mux_2/S2

1

再看图2,模块test_logic表示一个测试逻辑,它并不真正实现我们电路的功能,只是为了测试电路功能。所以我们就不希望综合工具对这这些路径进行分析,就是说这些路径就是我们所说的FALSE PATH

2

set_false_path –fall_from clk1to [get_pins test_logic|*|datAIn]

set_false_path –from [get_pins test_logic|*|clk] \

-to [get_pins test_logic|*|datain]

set_false_path –from [get_pins test_logic|*|clk] -to [get_ports test_out]

然后看图3reg1的输出和reg2的输入跨越了不同的时钟域clk1clk2,我们不希望综合工具对这这些路径进行分析,就是说这些路径就是我们所说的FALSE PATH

set_false_path –from [get_pins reg1|clk]to [get_pins reg2|datain]

3

最后我们看图4clk_100clk_66仍然是两个不同的时钟域,这也是FALSE PATH

set_false_paths –from [get_clocks clk_100] –to [get_clocks clk_66]

set_false_paths –from [get_clocks clk_66] –to [get_clocks clk_100]

实际上,这两条FALSE PATH可以用一条命令来代替:

set_clock_groups –exclusive –group {clk_100} \

group {clk_66} –group {clk_200}

这就涉及到set_clock_groups 命令了,我们以后再说。

4

接触数字电路的时间不长,当然对数字电路的理解就不深刻。这次就把我对FALSE PATH的理解写出来,希望得到大家的指点。

不胜感激,多谢!!

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

关闭

站长推荐上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询 |  EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2020-2-23 00:08 , Processed in 0.029395 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部