找回密码
 注册
关于网站域名变更的通知
查看: 269|回复: 1
打印 上一主题 下一主题

各种警告处理汇总 (实用)

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-6-3 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    各种警告处理汇总 (实用)

    8 \) C# P& |0 @0 j( p/ b' O/ {) C7 M% W/ N4 E6 O
    第一种警告
    + X9 q0 N  |6 `7 [2 @* G7 a, ?Following 4 pins have nothing,GND,orVCC driving datain port --changes ( N$ i1 y% _2 @8 ?' P; T6 M# ?
    to this connectivity may change fitting results ; Q$ l0 G" K9 ]2 k. X
    8 [8 _5 M& I$ r- @+ c8 t
    原因:第4 脚,空或接地或接上了电源 / x' _  a/ d* g0 q
    措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。如果你的设计中这些端口就是这样用的,那便可以不理会这些warning
    * {$ o- U9 f3 w4 j! ^  \2 r* {" d第二种警告
    4 L/ Q: H: q+ a* C4 r
    , F5 `" X2 `: s1 Q+ f* cVerilog HDL assignment warning at <location>:truncated value with size <number> to match size of target (<number>
    1 \( B1 c3 e- e" Y/ h- N& S1 X- t2 z5 o$ V+ f: N" H9 c* J
    原因:  HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32 位。
    8 k5 ]9 r6 w* Y# u! e. }: Y4 y措施:  改变设定的位数,将位数裁定到合适的大小
    2 r+ K& _3 [4 L  g/ |第三种警告; M3 m/ f" [/ |- u+ |' s

    2 m; P* H/ K: q" r: I+ \Timing Analysis does not support the analysis of latches as synchronous elements for the currently selected device family ; U( o3 W5 x5 n6 F. _* D4 v8 W
    7 }3 i  s! S8 O! k6 }$ P8 E8 [
    原因:用analyze_latches_as_synchronous_elements setting 可以让Quaruts II来分析同步锁存,但目前的器件不支持这个特性
    1 `% H. X6 X9 P% W措施:无须理会。) e1 `5 w; W6 S  F  l3 Q  B/ i. @2 u
    1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"
    6 }; H; L0 |0 T- l5 b2 ]$ x2 V, V8 C8 h  原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。而时钟敏感信号是不能在时钟边沿变化的。其后果为导致结果不正确。/ N- Q/ Z: U& \3 ^6 R  W
      措施:编辑vector source file) l5 p- A  J% O' F! s
    All reachable assignments to data_out(10) assign '0', register removed by optimization
    , s; G5 W; f' C/ O( i& N. x$ i/ r9 g  原因:经过综合器优化后,输出端口已经不起作用了
    ; j! H0 E$ u& `# m5 ~+ \. v- x: S7 BFollowing 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results7 c$ m9 O' @# f# s3 \) O
      原因:第9脚,空或接地或接上了电源
    8 h4 M& F' W& a$ W1 I+ {/ G$ R  措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。如果你的设计中这些端口就是这样用的,那便可以不理会这些 warning, w2 h& {; s7 q
    Found pins functioning as undefined clocks and/or memory enables
      N. g. ^/ h" R3 L. M  原因:是你作为时钟的PIN没有约束信息。可以对相应的PIN做一下设定就行了。主要是指你的某些管脚在电路当中起到了时钟管脚的- E5 p# {* m/ Y7 z
    作用,比如flip-flop的clk管脚,而此管脚没有时钟约束,因此QuartusII把“clk”作为未定义的时钟。
    6 N) T2 A" ?) I, C  措施:如果clk不是时钟,可以加“not clock”的约束;如果是,可以在clock setting当中加入;在某些对时钟要求不很高的情况下,可以忽略此警告或在这里修改:Assignments>Timing analysis settings...>Individual clocks...>...
    ) n: k! \' f9 L* g  注意在Applies to node中只用选择时钟引脚一项即可,required fmax一般比所要求频率高5%即可,无须太紧或太松。
    ( `" l% f1 a) R/ K+ f* Q8 c- C1 }Timing characteristics of device EPM570T144C5 are preliminary4 x* ]% ^, c% I" z
      原因:因为MAXII 是比較新的元件在 QuartusII 中的時序並不是正式版的,要等 Service Pack$ @6 B4 @/ M0 X; m2 G
      措施:只影响 Quartus 的 Waveform.- E$ T$ [3 e* [+ X8 a
      7.Warning: Clock latency analysis for PLL offsets is supported for the current device family, but is not enabled
    / f' L6 B3 ]" I$ `  措施:将setting中的timing Requirements&Option-->More Timing Setting-->setting-->Enable Clock Latency中的on改成OFF; L$ M6 t4 b6 g/ ~. C3 J+ S8 k
      8.Found clock high time violation at 14.8 ns on register "|counter|lpm_counter:count1_rtl_0|dffs[11]": F9 `8 v) {0 G
      原因:违反了steup/hold时间,应该是后仿真,看看波形设置是否和时钟沿符合steup/hold时间
    & H" v1 g9 X9 x9 @2 a  措施:在中间加个寄存器可能可以解决问题+ g& t% p3 x, A- e% H9 M
      9.warning: circuit may not operate.detected 46 non-operational paths clocked by clock clk44 with clock skew larger than data delay, \: h  s1 q2 u; @9 P2 ]( ]
      原因:时钟抖动大于数据延时,当时钟很快,而if等类的层次过多就会出现这种问题,但这个问题多是在器件的最高频率中才会出现
    5 Z+ Z& ?+ P  ?# r0 s  措施:setting-->timing Requirements&Options-->Default required fmax 改小一些,如改到50MHZ
    , ~6 V: ?7 |# Z. a8 l: f  10.Design contains <number> input pin(s) that do not drive logic" I( g* e5 a; z( J' M6 {7 A
      原因:输入引脚没有驱动逻辑(驱动其他引脚),所有的输入引脚需要有输入逻辑
    , S) U& G& h- S& b) e  措施:如果这种情况是故意的,无须理会,如果非故意,输入逻辑驱动.- m3 w1 g0 k- `9 B# L
      11.Warning:Found clock high time violation at 8.9ns on node 'TEST3.CLK'
    # w1 B4 v0 Y# h$ f* {6 o  原因:FF中输入的PLS的保持时间过短* Y0 j4 z2 |- k9 J5 _
      措施:在FF中设置较高的时钟频率
    ; x5 i7 D( o+ [0 i  12.Warning: Found 10 node(s) in clock paths which may be acting as ripple and/or gated clocks -- node(s) analyzed as buffer(s) resulting in clock skew  K9 I+ l' G& L' F  _9 b6 C
      原因:如果你用的 cpld 只有一组全局时钟时,用全局时钟分频产生的另一个时钟在布线中当作信号处理,不能保证低的时钟歪斜(SKEW)。会造成在这个时钟上工作的时序电路不可靠,甚至每次布线产生的问题都不一样。- l' Q& |. e; t
      措施:如果用有两组以上全局时钟的 [url=][url=]FPGA[/url][/url] 芯片,可以把第二个全局时钟作为另一个时钟用,可以解决这个问题。) Z5 P- ]! f( O
      13.Critical Warning: Timing requirements were not met. See Report window for details.
    ( {& P0 W% G" S+ N/ G. N  原因:时序要求未满足,
    , ]. t) F  i# w& U+ w  措施:双击Compilation Report-->Time Analyzer-->红色部分(如clock setup:'clk'等)-->左键单击list path,查看fmax的SLACK REPORT再根据提示解决,有可能是程序的算法问题或fmax设置问题7 ]- X: f! q# B4 i: O! v
      14.Warning: Can't find signal in vector source file for input pin |whole|clk10m
    $ q( K+ M) X2 W1 @3 w& ^原因:这个时因为你的波形仿真文件( vector source file )中并没有把所有的输入信号(input pin)加进去, 对于每一个输入都需要有激励源的
    . S9 t+ u/ D. \2 R! \  15.Can't achieve minimum setup and hold requirement <text> along <number> path(s). See Report window for details.
      D9 F3 }* w' R" O* s6 x/ }! }7 P  原因:时序分析发现一定数量的路径违背了最小的建立和保持时间,与时钟歪斜有关,一般是由于多时钟引起的# K- J- @& M* o  m
      措施:利用Compilation Report-->Time Analyzer-->红色部分(如clock hold:'clk'等),在slack中观察是hold time为负值还是setup time 为负值,然后在:Assignment-->Assignment Editor-->To中增加时钟名(from node finder),Assignment Name中增加和多时钟有关的Multicycle 和Multicycle Hold选项,如hold time为负,可使Multicycle hold的值>multicycle,如设为2和1。
    ; o8 H) v0 \( G, c+ s7 Q  16: Can't analyze file -- file E://quartusii/*/*.v is missing
    " S- A& L5 n& C1 h2 G7 @: S: v' q  原因:试图编译一个不存在的文件,该文件可能被改名或者删除了
    2 n1 Z% V3 i8 ]+ }; A/ n& A& X  措施:不管他,没什么影响* E& Z% g4 O3 A7 ]" t" \5 [/ n0 S
      17.Warning: Can't find signal in vector source file for input pin |whole|clk10m
    " H1 s0 G! G; m8 h$ v- }: G: [  原因:因为你的波形仿真文件( vector source file )中并没有把所有的输入信号(input pin)加进去, 对于每一个输入都需要有激励源的
    6 ?5 t- H3 J- x: T3 G& Q' ]* v  18.Error: Can't name logic function scfifo0 of instance "inst" -- function has same name as current design file3 h/ K5 Y7 z8 X; s2 _& v5 g* f
      原因:模块的名字和project的名字重名了
    $ Y. `5 I3 ~6 p2 Y. B" }3 q  措施:把两个名字之一改一下,一般改模块的名字
    + o8 _) d) M  L- K, E  19.Warning: Using design file lpm_fifo0.v, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project Info: Found entity 1: lpm_fifo07 ?2 q2 u. y; q; H4 L  z
      原因:模块不是在本项目生成的,而是直接copy了别的项目的原理图和源程序而生成的,而不是用QUARTUS将文件添加进本项目
    4 _  q' s; P3 h% f  p  措施:无须理会,不影响使用
    / G% @/ i  W6 G6 |  20.Timing characteristics of device <name> are preliminary
    " c2 i- }$ [- l6 \2 O$ A4 L2 n  原因:目前版本的QuartusII只对该器件提供初步的时序特征分析5 _& H; O. p  N2 P
      措施:如果坚持用目前的器件,无须理会该警告。关于进一步的时序特征分析会在后续版本的Quartus得到完善。8 p- ]  f' ~% e
      21.Timing Analysis does not support the analysis of latches as synchronous elements for the currently selected device family
    8 w) }2 L, G, j7 O; c, k+ Y  原因:用analyze_latches_as_synchronous_elements setting可以让Quaruts II来分析同步锁存,但目前的器件不支持这个特性- G2 ~5 k2 V0 J( K4 H/ n  O% U  ^8 \
      措施:无须理会。时序分析可能将锁存器分析成回路。但并不一定分析正确。其后果可能会导致显示提醒用户:改变设计来消除锁存器,但实际其实无关紧要
    , O& z1 t9 i% k8 {! T- W! G  22.Warning:Found xx output pins without output pin load capacitance assignment
    ) t7 f" R1 M6 h. u  原因:没有给输出管教指定负载电容
    * g( _% x- ^. h- f3 U  解决方法:该功能用于估算TCO和功耗,可以不理会,也可以在Assignment Editor中为相应的输出管脚指定负载电容,以消除警告

    该用户从未签到

    2#
    发表于 2019-6-3 17:01 | 只看该作者
    这片文章 真的可以收藏了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-10 07:10 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表