QU常见报错

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(导线),不能是寄存器型 解决方法:把输入信号定义成 线型 wire (原因2:输入端口 被错误的赋值了。     解决方法:去掉---

3.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) 

原因:赋值语句的等号两端数据的位宽不一致。例如:sec <= sec + 1;   sec定义是8位的寄存器型,
而表达式中的“1”,默认为32位的十进制数,等式右边是32位数据,等式左边是
8位变量,所以赋值时会有警告。  解决方法:把 "sec <= sec + 1; " 规范化,改写成" sec <= sec + 1'd 1 " 。 



  7.Warning: Found 8 output pins without output pin load capacitance assignment 
原因:负载电容警告。load capacitance和IO输出结构有关的设置,用来控制波形的上升下降沿的控制
,用于阻抗匹配防止产生过冲.低速电路一般不需要考虑。  解决方法:Assignments --> Assignment Editor 中的 Assignment Name 栏中
进行设置。一般可以忽略此警告...  



8.Error (10818): Can't 
infer register for "dis_data[0]" 
at key_down.v(56) because it does not hold its value outside the clock edge  原因:赋值语句的逻辑混乱,由于条件判断语句采用了非阻塞赋值,
容易产生逻辑混乱。  解决方法:将非阻塞赋值“<=”改成阻塞赋值“=”,并不是任何情况下都是用非阻塞赋值好,阻塞和非阻塞适用于不同环境,根据环境要求选择赋值方式 

9.Error (10200): Verilog HDL Conditional Statement error at  shumaguan.v(23): cannot match operand(s) in the condition to the corresponding edges in the enclosing 
event control of the always 
construct 原因:条件判断语句逻辑不匹配。always @ () 括号内的敏感信号,与
begin end 
块中的判断语句逻辑不匹配。 
例如 always @ 
(negedge xxx)       begin         if(xxx)            ....
      end         敏感信号列表中判断的是xxx的下降沿,但是if语句判断的xxx是否为“1”,这样if语句将永远不可能执行,不符逻辑 

解决方法:注意always @ 
括号内的敏感信号列表,到底是上升沿还是下降沿,还是两个都要,根据不同场合选择合适的敏感信号  10.不能生成 .sof 文件,pof文件,无法下载程序到开发板 原因:licence没破解完全   解决方法:重新破解quartus2 或者 采用其他方式获得完全版的 license
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值