Quartus错误大全 (1)
- 格式:pdf
- 大小:135.27 KB
- 文档页数:17
FPGA常见的错误Quartus II常见错误1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋…0‟,便会被接地,赋…1‟接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins ing as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋…0‟,便会被接地,赋…1‟接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins ing as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
Quartus II常见编译错误锦集在QuartusII下进行编译和仿真的时候,会出现一堆warning,有的可以忽略,有的却需要注意,虽然按F1可以了解关于该警告的帮助,但有时候帮助解释的仍然不清楚,大家群策群力,把自己知道和了解的一些关于警告的问题都说出来讨论一下,免得后来的人走弯路.下面是我收集整理的一些,有些是自己的经验,有些是网友的,希望能给大家一点帮助。
1.Found clock-sensitive change during active clock edge at time on register""原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at:truncated value with size to match size of target(原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0]a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10)assign'0',register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following9pins have nothing,GND,or VCC driving datain port--changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
QuartusiiErrorWarningQuartusII问题总结使用Quattus会遇到许多Warning,硬件描述语言和C不同,有些Warning是不允许存在的,有些可以忽略。
做一下对QuartusII Warnning的总结。
带编号的QuartusII Warnning:1、Warning (10227): Verilog HDL Port Declaration warning at v_led.v(4): data type declaration for "out" declares packed dimensions but the port declaration declaration does not 原因:输入输出没有定义位宽。
解决方法:对输出定义位宽。
有的教材书给的定义是output ...; reg[7:0] ...;这种定义会引起这种警告。
所以定义采用output reg[7:0] ...;就不会有这中警告。
2、Warning (10230): Verilog HDL assignment warning at v_led.v(13): truncated value with size 32 to match size of target (8)原因:Verilog默认的位宽是32位,你在编程是使用的类似counter=counter+1;后边的1没有给出数据宽度就会产生这种错误。
解决方法:对数据进行位宽的定义,例如counter=counter+8'd1;这种警告也可以忽略不管。
3、W arning (10240):Verilog HDL Always Construct warning at I2C_V_Config.v(153): inferring latch(es) for variable "LUT_DATA", which holds its previous value in oneor more paths through the always construct原因:信号被综合成了latch,锁存器的EN和数据输入端口存在一个竞争的问题解决方法:将计数器从里面抽出来4、Warning (10030): Net "rom.data_a" at control_store_dp.v(34) has no driver or initial value, using adefault initial value '0'原因:在同一时间对数据进行了赋值。
FPGA常犯错误集锦1) QuartusII对代码进行时序仿真时出现Error: Can't continue timing simulation because delay annotation information for design is missing.原因:如果只需要进行功能仿真,不全编译也是可以进行下去的,但时序仿真就必须进行全编译(即工具栏上的紫色实心三角符号那项)。
全仿真包括四个模块:综合器(Synthesis)、电路装配器(Fitter)、组装器(Assember)和时序分析器(Timing Analyzer),任务窗格中会有成功标志(对号)。
2) 在下载运行的时候,出现下面的错误:Warning: The JTAG cable you are using is not supported for Nios II systems. You may experience intermittent JTAG communicationfailures with this cable. Please use a USB Blaster revision B.在运行之前已经将.sof文件下载到开发板上面了,但是依然出现上面的问题。
解决:在配置的时候,在run之后,进行配置,选择target connection,在最后一项:NIOS II Terminal Communication Device中,要选择none(不要是Jtag_uart)如果采用USB Blaster,可以选择Jtag_uart。
之后再run就ok了!3)Error: Can't compile duplicate declarations of entity "count3" into library "work"此错误一般是原理图文件的名字和图中一个器件的名字重复所致,所以更改原理图文件的名字保存即可。
QuartusII常见问题1) QuartusII对代码进行时序仿真时出现Error: Can't continue timing simulation because delay annotation information for design is missing.原因:如果只需要进行功能仿真,不全编译也是可以进行下去的,但时序仿真就必须进行全编译(即工具栏上的紫色实心三角符号那项)。
全仿真包括四个模块:综合器(Synthesis)、电路装配器(Fitter)、组装器(Assember)和时序分析器(Timing Analyzer),任务窗格中会有成功标志(对号)。
2) 在下载运行的时候,出现下面的错误:Warning: The JTAG cable you are using is not supported for Nios II systems.You may experience intermittent JTAG communicationfailures with this cable. Please use a USB Blaster revision B.在运行之前已经将.sof文件下载到开发板上面了,但是依然出现上面的问题。
解决:在配置的时候,在run之后,进行配置,选择target connection,在最后一项:NIOS II Terminal Communication Device中,要选择none (不要是Jtag_uart)如果采用USB Blaster,可以选择Jtag_uart。
之后再run就ok了!3)Error: Can't compile duplicate declarations of entity "count3" into library "work"此错误一般是原理图文件的名字和图中一个器件的名字重复所致,所以更改原理图文件的名字保存即可。
FPGA最常犯的27个错误1) QuartusII对代码进行时序仿真时出现Error: Can't continue timing simulation because delay annotation information for design is missing.原因:如果只需要进行功能仿真,不全编译也是可以进行下去的,但时序仿真就必须进行全编译(即工具栏上的紫色实心三角符号那项)。
全仿真包括四个模块:综合器(Synthesis)、电路装配器(Fitter)、组装器(Assember)和时序分析器(Timing Analyzer),任务窗格中会有成功标志(对号)。
2) 在下载运行的时候,出现下面的错误:Warning: The JTAG cable you are using is not supported for Nios II systems. You may experience intermittent JTAG communicationfailures with this cable. Please use a USB Blaster revision B.在运行之前已经将.sof文件下载到开发板上面了,但是依然出现上面的问题。
解决:在配置的时候,在run之后,进行配置,选择target connection,在最后一项:NIOS II Terminal Communication Device中,要选择none(不要是Jtag_uart)如果采用USB Blaster,可以选择Jtag_uart。
之后再run就ok了!3)Error: Can't compile duplicate declarations of entity "count3" into library "work"此错误一般是原理图文件的名字和图中一个器件的名字重复所致,所以更改原理图文件的名字保存即可。
FPGA常见的错误Quartus II常见错误1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋…0‟,便会被接地,赋…1‟接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins ing as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
1、Warning (10227): Verilog HDL Port Declaration warning at PRESS_MODELE.v(29): data type declaration for "iR" de clares packed dimensions but the port declaration declarati on does not.解释:2、Warning: PLL "DE2_TV:inst1|Sdram_Control_4Port:u6|Sd ram_PLL:sdram_pll1|altpll:altpll_component|pll" output por t clk[0] feeds output pin "DRAM1_CLK" via non-dedicated routing -- jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance解释:PLL的输出用在了非专属的PLL_OUT措施:设计电路板的时候最好将PLL_OUT用在相关的时钟信号上,如果没有使用,则这个警告不理会也可。
3、Warning: Using design file cpu.v, which is not specified as a design file for the current project, but contains defini tions for 25 design units and 25 entities in project解释:模块不是在本项目生成的,而是直接copy了别的项目的原理图和源程序生成的,不是用QUARTUS将文件添加进本项目措施:无须理会,不影响使用4、Warning (10240): Verilog HDL Always Construct warning at I2C_V_Config.v(153): inferring latch(es) for variable "L UT_DATA", which holds its previous value in one or more paths through the always construct解释:信号被综合成了latch,锁存器的EN和数据输入端口存在一个竞争的问题措施:将计数器从里面抽出来5、Warning: 12 hierarchies have connectivity warnings - see the Connectivity Checks report folder解释:实例化的时候,有一些端口没用,让没用的端口的位置空着,措施:不用理会6、Warning: Synthesized away the following node(s)解释:以下节点被综合优化掉措施:不用理会7、Warning:Found xx output pins without output pin load c apacitance assignment解释:没有给输出管教指定负载电容措施:该功能用于估算TCO和功耗,可以不理会,也可以在Assignment Edi tor中为相应的输出管脚指定负载电容,以消除警告8、Warning: The following nodes have both tri-state and no n-tri-state drivers解释:该用三态逻辑驱动的信号,被用非三态逻辑驱动了措施:在子信息中定位到警告所在,改用三态逻辑驱动9、Warning: Latch DE2_TV:inst1|I2C_V_Config:I2C_AV_Conf ig|LUT_DATA[8] has unsafe behaviorWarning: Ports D and ENA on the latch are fed by the sam e signal DE2_TV:inst1|I2C_V_Config:I2C_AV_Config|LUT_I NDEX[4]解释:产生了latch措施:用时序代替组合电路,或者是用完备的if/else,和case语句10、Warning: TRI or OPNDRN buffers permanently enabled 解释:输出要加三态控制11、Warning: Output pins are stuck at VCC or GND解释:这几个输出管脚直接接地了措施:如果这符合你的设计要求这种警告可以不管12、Warning (15400): WYSIWYG primitive "DE2_TV:inst1|S dram_Control_4Port:u6|Sdram_WR_FIFO:write_fifo2|dcfifo: dcfifo_component|dcfifo_21m1:auto_generated|altsyncram_ 1l81:fifo_ram|altsyncram_drg1:altsyncram5|ram_block6a15 " has a port clk1 that is stuck at GND解释:这里是采用的SDRAM的读写方式为1入2出的模式,将fifo2的输入信号给接GND了措施:不用理会。
一个高人写的Quartus警告分析大全Q u a r t u s警告分析! 1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncatedwith size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', registerremoved by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port --changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋…0‟,便会被接地,赋…1‟接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins ing as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
(转)QuartusII中常见Warning原因及解决方法2010年01月09日星期六14:551.Foundclock-sensitivechangeduringactiveclockedgeattimeonregister""原因:vectorsourcefile中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。而时钟敏感信号是不能在时钟边沿变化的。其后果为导致结果不正确。措施:编辑vectorsourcefile
2.VerilogHDLassignmentwarningat:truncatedvaluewithsizetomatchsizeoftarget(
原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0]a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数
3.Allreachableassignmentstodata_out(10)assign'0',registerremovedbyoptimization原因:经过综合器优化后,输出端口已经不起作用了
4.Following9pinshavenothing,GND,orVCCdrivingdatainport--changestothisconnectivitymaychangefittingresults原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。如果你的设计中这些端口就是这样用的,那便可以不理会这些warning
5.Foundpinsfunctioningasundefinedclocksand/ormemoryenables原因:是你作为时钟的PIN没有约束信息。可以对相应的PIN做一下设定就行了。主要是指你的某些管脚在电路当中起到了时钟管脚的作用,比如flip-flop的clk管脚,而此管脚没有时钟约束,因此QuartusII把“clk”作为未定义的时钟。措施:如果clk不是时钟,可以加“notclock”的约束;如果是,可以在clocksetting当中加入;在某些对时钟要求不很高的情况下,可以忽略此警告或在这里修改:Assignments>Timinganalysissettings...>Individualclocks...>...
6.TimingcharacteristicsofdeviceEPM570T144C5arepreliminary原因:因为MAXII是比較新的元件在QuartusII中的時序并不是正式版的,要等ServicePack措施:只影响Quartus的Waveform
7.Warning:ClocklatencyanalysisforPLLoffsetsissupportedforthecurrentdevicefamily,butisnotenabled措施:将setting中的timingRequirements&Option-->MoreTimingSetting-->setting-->EnableClockLatency中的on改成OFF8.Foundclockhightimeviolationat14.8nsonregister"|counter|lpm_counter:count1_rtl_0|dffs[11]"原因:违反了steup/hold时间,应该是后仿真,看看波形设置是否和时钟沿符合steup/hold时间措施:在中间加个寄存器可能可以解决问题
9.warning:circuitmaynotoperate.detected46non-operationalpathsclockedbyclockclk44withclockskewlargerthandatadelay原因:时钟抖动大于数据延时,当时钟很快,而if等类的层次过多就会出现这种问题,但这个问题多是在器件的最高频率中才会出现措施:setting-->timingRequirements&Options-->Defaultrequiredfmax改小一些,如改到50MHZ
10.Designcontainsinputpin(s)thatdonotdrivelogic原因:输入引脚没有驱动逻辑(驱动其他引脚),所有的输入引脚需要有输入逻辑措施:如果这种情况是故意的,无须理会,如果非故意,输入逻辑驱动.
11.Warning:Foundclockhightimeviolationat8.9nsonnode'TEST3.CLK'原因:FF中输入的PLS的保持时间过短措施:在FF中设置较高的时钟频率
12.Warning:Found10node(s)inclockpathswhichmaybeactingasrippleand/orgatedclocks--node(s)analyzedasbuffer(s)resultinginclockskew原因:如果你用的CPLD只有一组全局时钟时,用全局时钟分频产生的另一个时钟在布线中当作信号处理,不能保证低的时钟歪斜(SKEW)。会造成在这个时钟上工作的时序电路不可靠,甚至每次布线产生的问题都不一样。措施:如果用有两组以上全局时钟的FPGA芯片,可以把第二个全局时钟作为另一个时钟用,可以解决这个问题。
13.CriticalWarning:Timingrequirementswerenotmet.SeeReportwindowfordetails.原因:时序要求未满足,措施:双击CompilationReport-->TimeAnalyzer-->红色部分(如clocksetup:'clk'等)-->左键单击listpath,查看fmax的SLACKREPORT再根据提示解决,有可能是程序的算法问题
14.Can'tachieveminimumsetupandholdrequirementalongpath(s).SeeReportwindowfordetails.原因:时序分析发现一定数量的路径违背了最小的建立和保持时间,与时钟歪斜有关,一般是由于多时钟引起的措施:利用CompilationReport-->TimeAnalyzer-->红色部分(如clockhold:'clk'等),在slack中观察是holdtime为负值还是setuptime为负值,然后在:Assignment-->AssignmentEditor-->To中增加时钟名(fromnodefinder),AssignmentName中增加和多时钟有关的Multicycle和MulticycleHold选项,如holdtime为负,可使Multicyclehold的值>multicycle,如设为2和1。
15:Can'tanalyzefile--fileE://quartusii/*/*.vismissing原因:试图编译一个不存在的文件,该文件可能被改名或者删除了措施:不管他,没什么影响
16.Warning:Can'tfindsignalinvectorsourcefileforinputpin|whole|clk10m原因:因为你的波形仿真文件(vectorsourcefile)中并没有把所有的输入信号(inputpin)加进去,对于每一个输入都需要有激励源的
17.Error:Can'tnamelogicfunctionscfifo0ofinstance"inst"--functionhassamenameascurrentdesignfile原因:模块的名字和project的名字重名了措施:把两个名字之一改一下,一般改模块的名字
18.Warning:Usingdesignfilelpm_fifo0.v,whichisnotspecifiedasadesignfileforthecurrentproject,butcontainsdefinitionsfor1designunitsand1entitiesinprojectInfo:Foundentity1:lpm_fifo0原因:模块不是在本项目生成的,而是直接copy了别的项目的原理图和源程序而生成的,而不是用QUARTUS将文件添加进本项目措施:无须理会,不影响使用
19.Timingcharacteristicsofdevicearepreliminary原因:目前版本的QuartusII只对该器件提供初步的时序特征分析措施:如果坚持用目前的器件,无须理会该警告。关于进一步的时序特征分析会在后续版本的Quartus得到完善。
20.TimingAnalysisdoesnotsupporttheanalysisoflatchesassynchronouselementsforthecurrentlyselecteddevicefamily原因:用analyze_latches_as_synchronous_elementssetting可以让QuarutsII来分析同步锁存,但目前的器件不支持这个特性措施:无须理会。时序分析可能将锁存器分析成回路。但并不一定分析正确。其后果可能会导致显示提醒用户:改变设计来消除锁存器
21.Warning:Foundxxoutputpinswithoutoutputpinloadcapacitanceassignment(网友:gucheng82提供)原因:没有给输出管教指定负载电容措施:该功能用于估算TCO和功耗,可以不理会,也可以在AssignmentEditor