vhdl设计中的常见错误

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一Vhdl语言中

1 提示:VHDL syntax error:expected choice in case statement

Case语句中没覆盖到所有的情况,要加whe n others=> null;

二.在verge hdl语句中

在QuartusII下进行编译和仿真的时候,会出现一堆warning,有的可以忽略,有的却需要注意,虽然按F1可以了解关于该警告的帮助,但有时候帮助解释的仍然不清楚,大家群策群力,把自己知道和了解的一些关于警告的问题都说出来讨论一下,免得后来的人走弯路•

下面是我收集整理的一些,有些是自己的经验,有些是网友的,希望能给大家一点帮助,如有不对的地方,请指正,如果觉得好,请版主给点威望吧,谢谢

1. Found clock-sensitive change during active clock edge at time

原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟

的边缘同时变化。而时钟敏感信号是

不能在时钟边沿变化的。其后果为导致结果不正确。

措施:编辑vector source file

2. Verilog HDL assignment warning at : truncated value with size to match size of target (

原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适

的大小

措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数

3. AII reachable assignments to data_out(10) assign 'O', register removed by optimization

原因:经过综合器优化后,输出端口已经不起作用了

4. Follow ing 9 pi ns have nothing, GND, or VCC drivi ng datai n port -- cha nges to this conn ectivity may cha nge fitt ing results

原因:第9脚,空或接地或接上了电源

措施:有时候定义了输出端口,但输出端直接赋’0'便会被接地,赋’1'接电源。如果你

的设计中这些端口就是这样用的,那便可以不理会这些warni ng

5. F ound pins functioning as un defi ned clocks an d/or memory en ables

原因:是你作为时钟的PIN没有约束信息。可以对相应的PIN做一下设定就行了。主要是指

你的某些管脚在电路当中起到了时钟管脚的

作用,比如flip-flop的clk管脚,而此管脚没有时钟约束,因此QuartusII把"elk”作为未定

义的时钟。

措施:如果clk不是时钟,可以加"not clock”的约束;如果是,可以在clock setting当中加入;在某些对时钟要求不很高的情况下,可以忽略此警告或在这里修改:Assig nme nts>Timi ng

an alysis sett in gs... >ln dividual clocks...>...

注意在Applies to node中只用选择时钟引脚一项即可,required fmax 一般比所要求频率高5% 即

可,无须太紧或太松。

6. Ti ming characteristics of device EPM570T144C5 are prelim inary

原因:因为MAXII是比較新的元件在Quartusll中的時序並不是正式版的,要等Service Pack

措施:只影响Quartus的Waveform

7. Warning: Clock latency analysis for PLL offsets is supported for the current device family, but is not en abled

扌昔施:将sett ing 中的tim ing Requireme nts&Opti on-->More Timing Sett in g-->sett in g-->E nable Clock Latency 中的on 改成OFF

8. F ound clock high time violatio n at 14.8 ns on register

"|cou nter|lpm_cou nter:cou nt1_rtl_O|dffs[11]"

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

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

9. war ning: circuit may not operate.detected 46 non-operati onal paths clocked by clock clk44 with clock skew larger tha n data delay

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

措施:sett in g-->ti ming Requireme nts&Opti on s-->Default required fmax 改小一些,如改至U

50MHZ

10. Desig n contains in put 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. War ning: Found 10 no de(s) in clock paths which may be acting as ripple an d/or gated clocks -no de(s) an alyzed as buffer(s) result ing in clock skew

原因:如果你用的CPLD只有一组全局时钟时,用全局时钟分频产生的另一个时钟在布线中当作信号处理,不能保证低的时钟歪斜(SKEW>会造成在这个时钟上工作的时序电路不可靠,甚至每次布线产生的问题都不一样。

措施:如果用有两组以上全局时钟的芯片,可以把第二个全局时钟作为另一个时钟用,可以

解决这个问题。FPGA

13. Critical Warning: Timing requirements were not met. See Report window for details.

相关文档
最新文档