TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
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中为相应的输出管脚指定负载电容,以消除警告 |
|