Quartus使用问题及解决方法总结
quartus ii 常见的19个错误、28个警告
(一) Q uartus警告解析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> tomatch size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed byoptimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -changes to thisconnectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins functioning as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
Quartus_II常见问题集锦
Quartus II常见问题集锦1、【问题】Pin Planner 的使用问题:在QuartusII 7.2 ,时序仿真都通过,但是,一旦使用Pin Planner设定引脚后,时序仿真就发生变化,与功能仿真结果不一致,不是理想的结果。
使用Pin Planner时要注意些什么问题呢?【解答】如果在没有设定引脚时就进行时序仿真,那么在后仿真就会不准确。
因为当设定引脚以后,需要重新进行布局布线,这和没有设定引脚是不同的,因此,布线的改变自然会影响到时序的改变。
通常的做法是:先做好所有的设定,生成网表文件和延时文件,再加上激励文件进行仿真,这个时候的仿真结果是最接近实际情况的。
通常的pin设定没有特定要求,差分信号是成对的。
所以请不要搞错。
时钟信号尽量使用专用的时钟引脚;普通I/O没有什么限制,做好时序约束就可以了。
2、【问题】怎样配置cyclone FPGA的管脚功能?【解答】FPGA芯片的引脚分为好多类,有通用IO,有时钟网络,有复位网络,这些引脚的具体功能是在布线时由用户选择的。
你可以自由的配置这些引脚的功能,但最好根据芯片的数据手册进行选择,如将时钟配置到专用时钟引脚上,将复位配置到专用复位引脚上,否则会影响最终的布线结果。
3、【问题】分配fpga管脚时该怎么选择,引脚有什么属性需要考虑,quartus2中引脚有几个属性:Reserved,Group,I/O Bank,Vref Group,I/O standard( 3.3-V LVTTL(default) )分别是什么意思,要怎么设置?【解答】首先说IO standard:这个是用于支持对应不同的电平标准。
FPGA IO 口的电压由IO bank上的VCC引入。
一个bank上引入3.3V TTL电平,那么此时整个bank上输出3.3V的TTL电平。
设置这个第一是为了和current strength 一起计算功率。
第二个是用于在IO口上加载正确的上拉/下拉电阻。
quartus ii 常见的19个错误28个警告
(一) Q uartus警告解析(二)(三) 1.Found clock-sensitive change during active clock edge at time<time> on register"<name>"(四) 原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
(五) 措施:编辑vector source file(六)(七) 2.Verilog HDL assignment warning at <location>: truncated with size <number> tomatch 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’接电源。
QuartusiiErrorWarning
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'原因:在同一时间对数据进行了赋值。
QUARTUSII常见错误解决方法
QUARTUSII常见错误解决方法QUARTUS II版本:9.0FPGA型号:EP2C8Q208配置芯片:EPCS4SDRAM型号: HY57V28820HCT-HFLASH型号 :TE28F320J3之前已经接触QUARTUS II比较长的时间了,也遇到过不少问题,有些比较简单解决后就忘了,现在把能记得起来列在前面几个。
后面的是自己后续遇到的问题的集锦...1.多模块或多进程驱动同一信号Error (10028): Can't resolve multiple constant drivers for net "FLASH_A[7]" at led.v(32)用Verilog描述电路时,一个信号只能在一个进程中驱动,如果在多个进程中对其驱动的话将产生如上错误。
解决方法为可以另加一个信号,通过在另一个进程中监视这个信号做出相应的动作。
2.多功能管脚的设置在用FLASH分配完管脚后编译出现如下错误:Error: Can't place multiple pins assigned to pin location Pin_108 (IOC_X34_Y2_N0)Info: Fitter preparation operations ending: elapsed time is 00:00:00Error: Can't fit design in deviceError: Quartus II Fitter was unsuccessful. 2 errors, 0 warnings Error: Quartus II Full Compilation was unsuccessful. 4 errors, 56 warnings原因是不能分配给多功能管脚PIN_108。
这是由于PIN_108是一个多功能管脚,还有一个功能是nCEO,也是默认的功能。
如果要用它当普通IO,需要提前设置一下:assignments>device>device and pin options>dual-purpose pins 里面把nCEO设置成use as regular i/o就可以了。
QuartusII常见问题
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"此错误一般是原理图文件的名字和图中一个器件的名字重复所致,所以更改原理图文件的名字保存即可。
QUARTUS 7常见错误剖析
QUARTUS II常见错误剖析made by lingfeng1,Error (10053): Verilog HDL error at ADDBCD.v(13): can't index object "out" with zero packed or unpacked array dimensions这个错误是由于OUT是个寄存器变量,在程序的开始忘记定义reg out 或者out寄存器变量的宽度定义错误。
2,编写好程序并进行编译后,把文件作为顶层文件然后进行波形仿真,出现对应引脚与程序中的引脚不符。
这个错误是因为把文件作为顶层文件后还要再编译一次,顶层文件才能够进行波形仿真。
否则仿真对应的文件永远是上一个顶层文件。
3,在给寄存器赋初值时,应该通过在进程中设置一个复位的单元来给寄存器变量赋初值。
4,项目导航窗口被关闭了,怎样重新打开?点击主菜单的VIEW->utility windows->project navigator(工程文件) and status(编译状态)5,Error: Can't elaborate top-level user hierarchy解决办法:看看Always中的敏感表达式是否与之后的程序相矛盾。
6,Error: Can't compile duplicate declarations of entity "class_design" into library "work"解决办法:把文件名修改成和别的文件不重复的名字。
7,Error (10219): Verilog HDL Continuous Assignment error at adder.v(9): object "cout" on left-hand side of assignment must have a net type错误原因:变量的定义类型错误。
Quartus中仿真出现错误解决方案汇总(可编辑)
一Quartus 中仿真时出现no simulation input file assignment specify 解决方法翻译成中文就是仿真文件没有被指定要仿真的话先要建一个仿真文件file - new - 选择 Other file 选项卡 - Vector Waveform File然后把输入输出端口加进去再设置输入的信号保存就可以仿真了如果你之前已经建立过了就打开assignments- settings- simulatorsettings 看里面的有个文本框 simulation input 里面是否为空为空的话就要找到你所建立的 Vector Waveform File 文件是以VWF 结尾的如果没找到你又以为你建立了 Vector Waveform File 很可能粗心的你还没保存VectorWaveform File 保存了才会在 project 里面找到找到之后进行仿真如果是functional simulation要做processing generate functional simulationnetlist不然会出现Error Run Generate Functional Simulation Netlist quartus_map bmg_control--generate_functional_sim_netlist to generatefunctional simulation netlist for top level entity bmg_control beforerunning the Simulator quartus_sim 之类的错误最后在进行仿真就可以看到波形图了二Error 10137 Verilog HDL Procedural Assignment error at SHIFTv 16object "Data" on left-hand side of assignment must have a variable data type错误对 Data 未定义其变量类型比如 reg [30] Data三Quartus II 常见错误1Found clock-sensitive change during active clock edge at time on register " "原因vector source file 中时钟敏感信号如数据允许端清零同步加载等在时钟的边缘同时变化而时钟敏感信号是不能在时钟边沿变化的其后果为导致结果不正确措施编辑 vector source file2Verilog HDL assignment warning at truncated with sizeto match size of target原因在 HDL 设计中对目标的位数进行了设定如reg[40] a而默认为32位将位数裁定到合适的大小措施如果结果正确无须加以修正如果不想看到这个警告可以改变设定的位数3All reachable assignments to data_out 10 assign 0 register removed by optimization原因经过综合器优化后输出端口已经不起作用了4Following 9 pins have nothing GND or VCC driving datain port --changes to this connectivity may change fitting results原因第 9 脚空或接地或接上了电源措施有时候定义了输出端口但输出端直接赋 0便会被接地赋 1 接电源如果你的设计中这些端口就是这样用的那便可以不理会这些warning5Found pins ing as undefined clocks andor memory enables 原因是你作为时钟的 PIN 没有约束信息可以对相应的 PIN 做一下设定就行了主要是指你的某些管脚在电路当中起到了时钟管脚的作用比如flip-flop 的 clk 管脚而此管脚没有时钟约束因此 QuartusII 把 clk 作为未定义的时钟措施如果 clk 不是时钟可以加 not clock的约束如果是可以在clock setting 当中加入在某些对时钟要求不很高的情况下可以忽略此警告或在这里修改Assignments Timing analysis settings Individualclocks6Timing characteristics of device EPM570T144C5 are preliminary 原因因为II 是比较新的元件在 QuartusII 中的时序并不是正式版的要等 Service Pack措施只影响 Quartus 的 Waveform7Warning Clock latency analysis for PLL offsets is supported for the current device family but is not enabled措施将 setting 中的timing RequirementsOption-- More Timing Setting-- setting-- Enable Clock Latency 中的on 改成OFF8Found clock high time violation at 148 ns on register"counterlpm_countercount1_rtl_0dffs[11]"原因违反了 steuphold 时间应该是后仿真看看波形设置是否和时钟沿符合 steuphold 时间措施在中间加个寄存器可能可以解决问题9warning circuit may not operatedetected 46 non-operational pathsclocked by clock clk44 with clock skew larger than data delay 原因时钟抖动大于数据延时当时钟很快而 if 等类的层次过多就会这种问题但这个问题多是在器件的最高频率中才会出现措施setting-- timing RequirementsOptions-- Default required f改小一些如改到 50MHZ10Design contains input pin s that do not drive logic 原因输入引脚没有驱动逻辑驱动其他引脚所有的输入引脚需要有输入逻辑措施如果这种情况是故意的无须理会如果非故意输入逻辑驱动 11WarningFound clock high time violation at 89ns on node TEST3CLK原因FF 中输入的PLS 的保持时间过短措施在 FF 中设置较高的时钟频率12Warning Found 10 node s in clock paths which may be acting asripple andor gated clocks -- node s analyzed as buffer s resulting inclock skew原因如果你用的 CPLD 只有一组全局时钟时用全局时钟分频产生的另一个时钟在布线中当作信号处理不能保证低的时钟歪斜 SKEW 会造成在这钟上工作的时序电路不可靠甚至每次布线产生的问题都不一样措施如果用有两组以上全局时钟的 FPGA 芯片可以把第二个全局时钟作为另一个时钟用可以解决这个问题13Critical Warning Timing requirements were not met See Report window for details原因时序要求未满足措施双击Compilation Report-- Time Analyzer-- 红色部分如clocksetupclk等-- 左键单击 list path查看 f 的 SLACK REPORT 再根据提示解决有可能是程序的算法问题14Cant achieve minimum setup。
QuartusII有关错误和警告的编译信息总结
在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 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
QuartusII常见错误
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常见警告和错误集锦
我们一起爱~主页博客相册个人档案好友查看文章FPGA错误集锦2009-05-07 10:151) 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"此错误一般是原理图文件的名字和图中一个器件的名字重复所致,所以更改原理图文件的名字保存即可。
4_Quartus II应用向导_问题总结与解答
为什么要经常进行全程编译? 为什么要经常进行全程编译?
全程编译是一个软件自动查错,生成对应硬件结构方案, 全程编译是一个软件自动查错,生成对应硬件结构方案, 调用硬件资源并优化的过程。 调用硬件资源并优化的过程。 全程编译后,对应的硬件资源才能被确定, 全程编译后,对应的硬件资源才能被确定,需要的端口和 实现行为描述的RTL描述才能被确定。因此全程编译是形 描述才能被确定。 实现行为描述的 描述才能被确定 的基础。 成body的基础。 的基础 功能仿真、时序仿真、下载等都需要 功能仿真、时序仿真、下载等都需要body,有了 ,有了body才能 才能 进行内外部的对应。因此需要进行多次的全程编译。 进行内外部的对应。因此需要进行多次的全程编译。
设计输入 VHDL输入和原理图输入 输入和原理图输入 综合(全程编译)(语法) 综合(全程编译)(语法) )(语法 生成RTL级描述 级描述 生成 功能仿真和时序仿真(理论) 功能仿真和时序仿真(理论) 适配和下载(硬件实现) 适配和下载(硬件实现) 硬件功能调试 硬件bug的发现和修补 的发现和修补 硬件 SIGNALTAP 的使用 硬件功能的发展和升级
实验箱右方红色的拨键1、 、 拨上 其余拨下,数码管显示C1 拨上, 实验箱右方红色的拨键 、2、8拨上,其余拨下,数码管显示 拨码输入 SW1A: PIN_R22 SW2A: PIN_T22 SW3A: PIN_U21 SW4A: PIN_U22 按键输入 F1: PIN_U18 F2: PIN_AB17 F3: PIN_R18 F4: PIN_N21 LED输出 输出 LED0: PIN_W16 LED1: PIN_V14 LED2: PIN_Y13 LED3: PIN_AA16 LED4: PIN_U14 时钟: 时钟:PIN_L1 LED5: PIN_AA17 LED6: PIN_W15 LED7: PIN_AA18
Quartus常见错误说明
Quartus常见错误说明quartus的功能仿真出错怎么办Error: Run Generate Functional Simulation Netlist (quartus_mapand_gate --generate_functional_sim_netlist) to generate functional simulation netlist for top level entity "and_gate" before running the Simulator (quartus_sim)一般如果出现这些错误信息,可以作如下处理功能仿真出错你要运行下processing->Generate Functional Simulation Netlist 下再功能仿真就没有问题一、Quartus中仿真时出现no simulation input file assignment specify 解决方法翻译成中文就是仿真文件没有被指定,要仿真的话先要建一个仿真文件: file -> new ->选择Other file 选项卡-> Vector Waveform File 然后把输入输出端口加进去,再设置输入的信号,保存,就可以仿真了。
如果你之前已经建立过了,就打开assignments->settings->simulator settings 看里面的有个文本框simulation input 里面是否为空,为空的话就要找到你所建立的Vector Waveform File 文件,是以*.VWF 结尾的,如果没找到,你又以为你建立了Vector Waveform File ,很可能粗心的你还没保存Vector Waveform File ,保存了才会在project 里面找到。
找到之后进行仿真,如果是functional simulation,要做processing>generate functional simulation netlist..不然会出现:Error: Run Generate Functional Simulation Netlist (quartus_mapbmg_control --generate_functional_sim_netlist) to generate functional simulation netlist for top level entity bmg_control before running the Simulator (quartus_sim)之类的错误。
Quartus的问题
Quartus的问题/blog/html/75/770475-20607.htmlQuartus II 中常见Warning 原因及解决⽅法(转载)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’接电源。
如果你的设计中这些端⼝就是这样⽤的,那便可以不理会这些warning5.Found pins functioning as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
Quartus II使用常见问题
在Quartus II下进行编译和仿真的时候,会出现一堆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 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
quartuserror (199014)
Quartus是一种用于FPGA设计的集成开发环境(IDE),由英特尔公司开发。
在使用Quartus进行FPGA设计的过程中,用户可能会遇到各种错误代码,其中最常见的就是xxx错误代码。
本文将对这一错误代码进行详细介绍,并提供解决办法。
1. 错误代码xxx的意义错误代码xxx通常表示在编译或者仿真过程中出现了一些问题。
这个问题可能涉及到用户的设计文件,也可能是与Quartus本身相关的。
2. 可能引发错误代码xxx的原因2.1 设计文件错误:设计文件中可能存在语法错误、逻辑错误或者其他与设计规范不符的情况,导致无法顺利编译或者仿真。
2.2 Quartus本身的问题:Quartus软件本身可能存在一些Bug或者不稳定的情况,导致出现xxx错误代码。
2.3 其他未知因素:在某些情况下,错误代码xxx的具体原因可能比较复杂,需要进一步的排查和分析。
3. 解决办法3.1 检查设计文件:用户需要仔细检查设计文件,确保其中没有语法错误、逻辑错误等问题。
可以尝试对设计文件进行逐步的简化,以确定具体是哪一部分代码引发了错误代码xxx。
3.2 更新Quartus版本:如果怀疑是Quartus本身的问题,用户可以尝试更新到最新版本的Quartus软件,看是否可以解决这个问题。
3.3 交流技术支持:如果以上方法都无法解决问题,用户可以选择向Quartus冠方或者相关的技术支持渠道寻求帮助。
他们可能会提供一些针对性的解决方案或者建议。
4. 避免错误代码xxx的方法4.1 编写规范的设计代码:在进行FPGA设计的过程中,用户可以遵循一些编码规范,编写清晰、规范的设计代码,以减少出现错误代码xxx 的可能性。
4.2 注意Quartus的稳定性:在使用Quartus软件的过程中,用户可以注意软件的稳定性表现,及时反馈一些异常情况给Quartus冠方,以帮助他们改进软件的质量。
总结:错误代码xxx是Quartus软件中常见的一个错误代码,通常表示在编译或者仿真过程中出现了一些问题。
Quartus常见问题
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常见问题解决
USB-Blaster问题:————————————————————————————————-USB-Blaster Driver 驱动Vista x64环境下无法安装直接原因:兼容性问题可能根本原因:quartus II 8.0的驱动不含签名,而Vista x64只认带签名的驱动。
解决方案:请使用XP x32环境。
更换quartus版本无法安装USB-Blaster Driver驱动,提示“名称已用作服务名或服务显示名”直接原因:7.2版本与8.0版本的驱动不通用根本原因:windows驱动卸载卸不干净解决方案:注册表删除**同时装有7.2与8.0时,只能使用7.2的驱动————————————————————————————————-Quartus II 8.0 问题:————————————————————————————————-Internal Error: Sub-system: HDB, File: /quartus/db/hdb/hdb_inst_name.cpp, Line: 11432 Error accessing data member. Not data member ownerStack Trace:0x2853D : HDB_SYN_INSTANCE_NAME::set_m_children + 0x1D (DB_HDB)End-traceQuartus II Version 8.0 Build 215 05/29/2008 SJ Full Version解决方案:删除db下所有文件,重建工程。
quartus 引脚相关引脚手工批量导入的方法(可避免自动导入全部引脚造成的大量警告)直接修改.qsf文件,在尾部添加引脚定义,形如:set_location_assignment PIN_AD15 -to iCLK_50set_location_assignment PIN_T29 -to iKEY[0]set_location_assignment PIN_W27 -to oLEDG[0]set_location_assignment PIN_W25 -to oLEDG[1]set_location_assignment PIN_W23 -to oLEDG[2]set_location_assignment PIN_Y27 -to oLEDG[3]set_location_assignment PIN_Y24 -to oLEDG[4]set_location_assignment PIN_Y23 -to oLEDG[5]set_location_assignment PIN_AA27 -to oLEDG[6]set_location_assignment PIN_AA24 -to oLEDG[7]**使用自动导入引脚时必须注意:Assignments->Device..->Device and Pin Options…->Unused Pins: As output driving ground 改为As input tri-stated解决Nios II无响应Assignments->Device..->Device and Pin Options…->Dual-Purpose->nCEO: Use as programming pin 改为Use as regular I/O解决AD25引脚无法分配**仿真前务必先产生网表————————————————————————————————-DE2-70开发板SOPC Builder的配置:————————————————————————————————-on-chip memory 大小1.1Mb 测试100kB,实际使用57KB正常SSRAM 选CY7C1380C SSRAM 大小2MB 默认即可FLASH 选Flash Memory(CFI) 大小8M 自定义:地址宽度22 数据宽度16 wait 100SDRAM 选SDRAM Controler 大小64MB 自定义:数据宽32 chip 1 bank 4 row 13 col 9Issue one refresh command every: 7.8125 usDelay after powerup, before initialization : 200 usPIOLEDG 数据宽度9 output port onlyLEDR 数据宽度18 output port onlyKEY 数据宽度4 input port onlySW 数据宽度18 input port only ————————————————————————————————-NIOS II8.0 问题:————————————————————————————————-Error parsing project STF fileThe software settings (STF) file associated with this project is damaged. This may be fixed by copying your source files into a new C/C++ application project. For more details see the error log.直接原因:nios工程路径中含有空格!根本原因:JDK6的bug 参见/bugdatabase/view_bug.do?bug_id=6506304解决方案:由于NIOS II使用含有该bug的JDK6的进行开发,固仅更换JRE无效……请避免工程路径中的空格,这意味着不能使用”我的文档”等地存放工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Quartus使用问题及解决方法总结(转载)在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 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins functioning as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
可以对相应的PIN做一下设定就行了。
主要是指你的某些管脚在电路当中起到了时钟管脚的作用,比如flip-flop的clk管脚,而此管脚没有时钟约束,因此QuartusII把“clk”作为未定义的时钟。
措施:如果clk不是时钟,可以加“not clock”的约束;如果是,可以在clock setting当中加入;在某些对时钟要求不很高的情况下,可以忽略此警告或在这里修改:Assignments>Timing analysis settings...>Individual clocks...>...注意在Applies to node中只用选择时钟引脚一项即可,required fmax一般比所要求频率高5%即可,无须太紧或太松。
6.Timing characteristics of device EPM570T144C5 are preliminary原因:因为MAXII 是比較新的元件在 QuartusII 中的時序?K不是正式版的,要等 Service Pack措施:只影响 Quartus 的 Waveform7.Warning: Clock latency analysis for PLL offsets is supported for the current device family, but isnot enabled措施:将setting中的timing Requirements&Option-->More Timing Setting-->setting-->Enable Clock Latency中的on改成OFF8.Found clock high time violation at 14.8 ns on register "|counter|lpm_counter:count1_rtl_0|dffs[11]"原因:违反了steup/hold时间,应该是后仿真,看看波形设置是否和时钟沿符合steup/hold时间措施:在中间加个寄存器可能可以解决问题9.warning: circuit may not operate.detected 46 non-operational paths clocked by clock clk44 with clock skew larger than data delay原因:时钟抖动大于数据延时,当时钟很快,而if等类的层次过多就会出现这种问题,但这个问题多是在器件的最高频率中才会出现措施:setting-->timing Requirements&Options-->Default required fmax 改小一些,如改到50MHZ10.Design contains <number> input pin(s) that do not drive logic原因:输入引脚没有驱动逻辑(驱动其他引脚),所有的输入引脚需要有输入逻辑措施:如果这种情况是故意的,无须理会,如果非故意,输入逻辑驱动.11.Warning:Found clock high time violation at 8.9ns on node 'TEST3.CLK'原因:FF中输入的PLS的保持时间过短措施:在FF中设置较高的时钟频率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原因:如果你用的 CPLD 只有一组全局时钟时,用全局时钟分频产生的另一个时钟在布线中当作信号处理,不能保证低的时钟歪斜(SKEW)。
会造成在这个时钟上工作的时序电路不可靠,甚至每次布线产生的问题都不一样。
措施:如果用有两组以上全局时钟的 FPGA 芯片,可以把第二个全局时钟作为另一个时钟用,可以解决这个问题。
13.Critical Warning: Timing requirements were not met. See Report window for details.原因:时序要求未满足,措施:双击Compilation Report-->Time Analyzer-->红色部分(如clock setup:'clk'等)-->左键单击list path,查看fmax的SLACK REPORT再根据提示解决,有可能是程序的算法问题或fmax设置问题14.Warning: Can't find signal in vector source file for input pin |whole|clk10m原因:这个时因为你的波形仿真文件(vector source file )中并没有把所有的输入信号(input pin)加进去,对于每一个输入都需要有激励源的15.Can't achieve minimum setup and hold requirement <text> along <number> path(s). See Report window for details.原因:时序分析发现一定数量的路径违背了最小的建立和保持时间,与时钟歪斜有关,一般是由于多时钟引起的措施:利用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。
16: Can't analyze file -- file E://quartusii/*/*.v is missing原因:试图编译一个不存在的文件,该文件可能被改名或者删除了措施:不管他,没什么影响17.Warning: Can't find signal in vector source file for input pin |whole|clk10m原因:因为你的波形仿真文件(vector source file )中并没有把所有的输入信号(input pin)加进去,对于每一个输入都需要有激励源的18.Error: Can't name logic function scfifo0 of instance "inst" -- function has same name as current design file原因:模块的名字和project的名字重名了措施:把两个名字之一改一下,一般改模块的名字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_fifo0原因:模块不是在本项目生成的,而是直接copy了别的项目的原理图和源程序而生成的,而不是用QUARTUS将文件添加进本项目措施:无须理会,不影响使用20.Timing characteristics of device <name> are preliminary原因:目前版本的QuartusII只对该器件提供初步的时序特征分析措施:如果坚持用目前的器件,无须理会该警告。