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没有约束信息。
Quartus常见警告分析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没有约束信息。
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 中常见warning 及解决方法(转载)(Quartus II中常见警告及解决方法(转载))Support original! I reprinted, you can download free1.Found clock-sensitive, change, during, active, clock, edge, at, time, <time>, on, register, <name>"Reason: vector, source, file, clock sensitive signals (such as data, allowing, clearing, synchronization, loading, etc.) change simultaneously on the edge of the clock. A clock sensitive signal cannot change at the edge of the clock. The consequence is that the result is incorrect.Measures: edit vector source file2.Verilog, HDL, assignment, warning, at, <location>: truncated, value, with, size, <number>, to, match,, size, of, target (<number>Reason: in HDL design, the number of targets is set, such as: reg[4:0] a, and default to 32 bits, the number of digits to the right sizeMeasure: if the result is correct, it needs no correction. If you don't want to see this warning, you can change the number of settings3.All, reachable, assignments, to, data_out (10), assign,'0', register, removed, by, optimizationReason: after the optimizer has been optimized, the output port is no longer functional4.Following 9, pins, have, nothing, GND, or, VCC, driving, datain, port - changes, to, this,, connectivity, may, change, results, fittingReason: ninth feet, empty or grounded or connected to the power supplyMeasures: sometimes the output port is defined, but the output is directly assigned to '0', which will be grounded and assigned '1' to the power supply. If these ports are used in your design, you can ignore these warning5.Found, pins, functioning, as, undefined, clocks, and/or, memory, enablesReason: you have no constraint information as the PIN of the clock. You can set the settings for the corresponding PIN. Mainly refers to some of your pin in the circuit played a role in the clock tube, such as the flip-flop CLK pin, and this pin has no clock constraint, so QuartusII CLK as undefined clock.Measures: if CLK is not a clock, can add "not clock" constraint; if it is, can be added in clock setting; in some of the clock requirements are not very high, you can ignore this warning or modified here: Assignments>Timing analysis settings... Individual clocks > >.....6.Timing, characteristics, of, device, EPM570T144C5, are,preliminaryReason: because MAXII is a relatively new component, the timing in QuartusII is not a formal version. Wait for Service PackMeasure: only affects Quartus's Waveform7.Warning:, Clock, latency, analysis, for, offsets, is, supported, for, the, current, device, family, but, is, PLL, not, enabledMeasure: change the on in setting, Requirements&Option-->More, Timing, Setting-->setting-->Enable, Clock, Latency, timing to OFF8.Found, clock, high, time, violation, at,, NS, on, register, |counter|lpm_counter:count1_rtl_0|dffs[11]"Reason: violated the steup/hold time, should be after the simulation, to see whether the waveform settings and the clock edge in line with steup/hold timeMeasure: adding a register in the middle can solve the problem9.warning:, circuit, may, not, operate.detected,non-operational,, paths, clocked, by, clock, clk44, with, clock,, skew, larger, delay, than, dataReason: clock jitter is greater than data delay, when the clock is very fast, and if and other classes of excessive levels of this problem will occur, but this problem is mostly in thedevice's highest frequency will appear措施:设置-->选项-->需要定时要求和改小一些违约,如改到50mhz10。
quartus仿真出现的问题在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.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results 原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1编译常见错误和警告~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2在QuartusII 下进行编译和仿真的时候,会出现一堆warning ,有的可以忽略,有的却需要注意。
虽然按F1可以了解关于该警告的帮助,但有时候帮助解释的仍然不清楚,大家群策群力,把自己知道和了解的一些关于警告的问题都说出来讨论一下,免得后来的人走弯路。
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 value 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 9pins have nothing,GND,or VCC driving datain port --changes to thisconnectivity may change fitting results results..原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
Quartus常见问题Quartus常见错误1.Error (10028): Can't resolve multiple constant drivers for net ……解析:不能在两个以上always内对同一变量赋值,这个细节一般看书看资料会看到,但是编程时,就是没想到。
2.Error (10158): Verilog HDL Module Declaration error at clkseg.v(1): port\解析:大意了,端口类型还没定义啊!3.Error (10110): variable \Assignments -- must be all blocking or all nonblocking assignments解析:en在程序中有时用非阻塞赋值,有时用阻塞赋值,这是禁止的。
在初学的时候,可能分得不是很清楚,所以在检查时,一定要一步步观察慢慢来。
4.Error (10161): Verilog HDL error at clkseg.v(36): object \is notdeclared解析:这个错误应该很明显啦,只要能读得懂。
5.Error (10170): Verilog HDL syntax error at clkseg.v(37) near text \expecting \解析:意思应该也很简单,就是检查的时候要细心点。
6.Error (10171): Verilog HDL syntax error at ir_ctrl.v(149) near end offile ;expecting an identifier, or \解析:最后上了endmodule。
一般编程的程序长了,到最后也就容易忘记。
7.Error (10278): Verilog HDL Port Declaration error at ir_ctrl.v(11):input port\解析:在Altra官网中就有该解释/support/kdb/solutions/rd03102021_162.html 官网上有很多东西值得我们发现学习。
Quartus 2 使用错误集锦4月24日更新....1.Error: Top-level design entity "test" is undefined原因:顶层模块的module名没有和工程名同名解决方法:把顶层模块的module名改成和工程名同名2.Error (10278): Verilog HDL Port Declaration error at test.v(4): input port "clk_in" cannot be declared with type "reg"原因:输入变量不能定义成reg型,必须是wire型,我们做的一个芯片的输入引脚需要是实时采集输入数据的,所以必须是wire(导线),不能是寄存器型解决方法:把输入信号定义成线型wire3.Error (10137): Verilog HDL Procedural Assignment error at test.v(12): object "led" on left-hand side of assignment must have a variable data type原因:数据类型定义错误或者赋值类型错误解决方法:在always 过程块中被赋值的变量必须是reg (寄存器型),用assign 连续赋值的对象必须定义成wire(线型)4.Error: Can't place multiple pins assigned to pin location Pin_108 (IOC_X34_Y2_N0)原因:PIN_108是一个多功能管脚,还有一个功能是nCEO,也是默认的功能。
如果要用它当普通IO,需要提前设置一下解决方法:assignments>device>device and pin options>dual-purpose pins里面把nCEO 设置成use as regular i/o就可以了5.Error (10028): Can't resolve multiple constant drivers for net "key_flag" at clock.v(33)原因:一个变量不能同时被在两个always 过程块中被赋值解决方法:在两个always过程块中用两个不同的变量名,可以在module最后用assign 把变量的值作最后的统一,但是注意wire型和reg型的变量类型定义6.Warning (10230): Verilog HDL assignment warning at SMG_1S.v(21): truncated value with size 32 to match size of target (8)原因:赋值语句的等号两端数据的位宽不一致。
(转)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