vhdl设计中的常见错误Word文档下载推荐.docx

上传人:b****5 文档编号:18763844 上传时间:2023-01-01 格式:DOCX 页数:11 大小:24.52KB
下载 相关 举报
vhdl设计中的常见错误Word文档下载推荐.docx_第1页
第1页 / 共11页
vhdl设计中的常见错误Word文档下载推荐.docx_第2页
第2页 / 共11页
vhdl设计中的常见错误Word文档下载推荐.docx_第3页
第3页 / 共11页
vhdl设计中的常见错误Word文档下载推荐.docx_第4页
第4页 / 共11页
vhdl设计中的常见错误Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

vhdl设计中的常见错误Word文档下载推荐.docx

《vhdl设计中的常见错误Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vhdl设计中的常见错误Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

vhdl设计中的常见错误Word文档下载推荐.docx

原因:

在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...>

...

注意在Appliestonode中只用选择时钟引脚一项即可,requiredfmax一般比所要求频率高5%即可,无须太紧或太松。

6.TimingcharacteristicsofdeviceEPM570T144C5arepreliminary

因为MAXII是比較新的元件在QuartusII中的時序並不是正式版的,要等ServicePack

只影响Quartus的Waveform

7.Warning:

ClocklatencyanalysisforPLLoffsetsissupportedforthecurrentdevicefamily,butisnotenabled

将setting中的timingRequirements&

Option-->

MoreTimingSetting-->

setting-->

EnableClockLatency中的on改成OFF

8.Foundclockhightimeviolationat14.8nsonregister"

|counter|lpm_counter:

count1_rtl_0|dffs[11]"

违反了steup/hold时间,应该是后仿真,看看波形设置是否和时钟沿符合steup/hold时间

在中间加个寄存器可能可以解决问题

9.warning:

circuitmaynotoperate.detected46non-operationalpathsclockedbyclockclk44withclockskewlargerthandatadelay

时钟抖动大于数据延时,当时钟很快,而if等类的层次过多就会出现这种问题,但这个问题多是在器件的最高频率中才会出现

timingRequirements&

Options-->

Defaultrequiredfmax改小一些,如改到50MHZ

10.Designcontains<

inputpin(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再根据提示解决,有可能是程序的算法问题或fmax设置问题

14.Warning:

Can'

tfindsignalinvectorsourcefileforinputpin|whole|clk10m

这个时因为你的波形仿真文件(vectorsourcefile)中并没有把所有的输入信号(inputpin)加进去,对于每一个输入都需要有激励源的

15.Can'

tachieveminimumsetupandholdrequirement<

text>

along<

path(s).SeeReportwindowfordetails.

时序分析发现一定数量的路径违背了最小的建立和保持时间,与时钟歪斜有关,一般是由于多时钟引起的

利用CompilationReport-->

红色部分(如clockhold:

等),在slack中观察是holdtime为负值还是setuptime为负值,然后在:

Assignment-->

AssignmentEditor-->

To中增加时钟名(fromnodefinder),AssignmentName中增加和多时钟有关的Multicycle和MulticycleHold选项,如holdtime为负,可使Multicyclehold的值>

multicycle,如设为2和1。

16:

tanalyzefile--fileE:

//quartusii/*/*.vismissing

试图编译一个不存在的文件,该文件可能被改名或者删除了

不管他,没什么影响

17.Warning:

因为你的波形仿真文件(vectorsourcefile)中并没有把所有的输入信号(inputpin)加进去,对于每一个输入都需要有激励源的

18.Error:

tnamelogicfunctionscfifo0ofinstance"

inst"

--functionhassamenameascurrentdesignfile

模块的名字和project的名字重名了

把两个名字之一改一下,一般改模块的名字

19.Warning:

Usingdesignfilelpm_fifo0.v,whichisnotspecifiedasadesignfileforthecurrentproject,butcontainsdefinitionsfor1designunitsand1entitiesinprojectInfo:

Foundentity1:

lpm_fifo0

模块不是在本项目生成的,而是直接copy了别的项目的原理图和源程序而生成的,而不是用QUARTUS将文件添加进本项目

无须理会,不影响使用

20.Timingcharacteristicsofdevice<

arepreliminary

目前版本的QuartusII只对该器件提供初步的时序特征分析

如果坚持用目前的器件,无须理会该警告。

关于进一步的时序特征分析会在后续版本的Quartus得到完善。

21.TimingAnalysisdoesnotsupporttheanalysisoflatchesassynchronouselementsforthecurrentlyselecteddevicefamily

用analyze_latches_as_synchronous_elementssetting可以让QuarutsII来分析同步锁存,但目前的器件不支持这个特性

无须理会。

时序分析可能将锁存器分析成回路。

但并不一定分析正确。

其后果可能会导致显示提醒用户:

改变设计来消除锁存器,但实际其实无关紧要

22.Warning:

Foundxxoutputpinswithoutoutputpinloadcapacitanceassignment

没有给输出管教指定负载电容

解决方法:

该功能用于估算TCO和功耗,可以不理会,也可以在AssignmentEditor中为相应的输出管脚指定负载电容,以消除警告

1Warning:

VHDLProcessStatementwarningatrandom.vhd(18):

signalresetisinstatement,butisnotinsensitivitylist

----没把singal放到process()中

2Warning:

Foundpinsingasundefinedclocksand/ormemoryenables

Info:

AssumingnodeCLKisanundefinedclock

-=-----可能是说设计中产生的触发器没有使能端

3Error:

VHDLInterfaceDeclarationerrorinclk_gen.vhd(29):

interfaceobject"

clk_scan"

ofmodeoutcannotberead.Changeobjectmodetobufferorinout.

------信号类型设置不对,out当作buffer来定义

4Error:

Nodeinstance"

clk_gen1"

instantiatesundefinedentity"

clk_gen"

-------引用的例化元件未定义实体--entity"

5Warning:

Found2node(s)inclockpathswhichmaybeactingasrippleand/orgatedclocks--node(s)analyzedasbuffer(s)resultinginclockskew

Detectedrippleclock"

clk_gen:

clk_gen1|clk_incr"

asbuffer

clk_gen1|clk_scan"

6Warning:

VHDLProcessStatementwarningatledmux.vhd(15):

signalorvariable"

dataout"

maynotbeassignedanewineverypossiblepaththroughtheProcessStatement.Signalorvariable"

holdsitspreviousineverypathwithnonewassignment,whichmaycreateacombinationalloopinthecurrentdesign.

7Warning:

VHDLProcessStatementwarningatdivider_10.vhd(17):

signal"

cnt"

isreadinsidetheProcessStatementbutisn'

tintheProcessStatement'

ssensivititylist

-----缺少敏感信号

8Warning:

Noclocktransitionon"

counter_bcd7:

counter_counter_clk|q_sig[3]"

register

9Warning:

Reducedregister"

withstuckclockporttostuckGND

10Warning:

Circuitmaynotoperate.Detected1non-operationalpath(s)clockedbyclock"

class[1]"

withclockskewlargerthandatadelay.SeeCompilationReportfordetails.

11Warning:

sign"

12Error:

VHDLerroratcounter_clk.vhd(90):

actualport"

class"

ofmode"

in"

cannotbeassociatedwithformalport"

out"

------两者不能连接起来

13Warning:

Ignorednodeinvectorsourcefile.Can'

tfindcorrespondingnodename"

class_sig[2]"

indesign.

------没有编写testbench文件,或者没有编辑输入变量的值testbench里是元件申明和映射

14Error:

VHDLBindingIndicationerroratfreqdetect_top.vhd(19):

port"

indesignentitydoesnothavestd_logic_vectortypethatisspecifiedforthesamegenericintheassociatedcomponent

---在相关的元件里没有当前文件所定义的类型

15Error:

VHDLerrorattongbu.vhd(16):

can'

tinferregisterforsignal"

gate"

becausesignaldoesnotholditsoutsideclockedge

16Warning:

Foundclockhightimeviolationat1000.0nsonregister"

|fcounter|lpm_counter:

temp_rtl_0|dffs[4]"

17Warning:

Compilerpacked,optimizedorsynthesizedawaynode"

temp[19]"

.Ignoredvectorsourcefilenode.

---"

被优化掉了

18Warning:

gate~reg0"

withstuckdata_inporttostuckGND

19Warning:

Designcontains2inputpin(s)thatdonotdrivelogic

Warning:

Nooutputdependentoninputpin"

clk"

------输出信号与输入信号无关,

20Warning:

Foundclockhightimeviolationat16625.0nsonregister"

|impulcomp|gate1"

21Error:

VHDLerroratimpulcomp.vhd(19):

timplementclockenableconditionspecifiedusingbinaryoperator"

or"

22Error:

VHDLAssociationListerroratperiod_counter.vhd(38):

actualparameterassignedtoformalparameter"

alarm"

butformalparameterisnotdeclared

-------连接表错误,形参"

赋值给实参,形参没定义,可能是形参与实参的位置颠倒了,规定形参在实参之前。

23Error:

Ignoredconstructbehavieratperiod_counter.vhd(15)becauseofpreviouserrors

--------因为前一个错误而导致的错误

24Error:

VHDLerroratperiod_counter.vhd(38):

typeofidentifier"

doesnotagreewithitsusageasstd_logictype

--------"

的定义类型与使用的类型不一致

25Error:

VHDLerroratshift_reg.vhd(24):

tsynthesizelogicforstatementwithconditionsthattestfortheedgesofmultipleclocks

-------同一进程中含有两个或多个if(edge)条件,(一个进程中之能有一个时钟沿)

26Error:

tresolvemultipleconstantdriversfornet"

datain_reg[22]"

atshift_reg.vhd(19)

27can'

num[0]"

28Error:

telaboratetop-leveluserhierarchy

29Error:

cs_in"

atled_key.vhd(32)----------有两个以上赋值语句,不能确定“cs_in”的值,

30Warning:

over"

---------------在源文件中找不到对应的节点“over”。

31Error:

taccessJTAGchain

无法找到下载链

32Info:

Assumingnode"

isanundefinedclock

1.Foundclock-sensitivechangeduringactiveclockedgeattime

数据,允许端,清零,同步加

载等)在时钟的边缘同时变化。

而时钟敏感信号是不能在时钟边沿变化的。

其后

果为导致结果不正确。

truncated

withsi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1