编写ise程序遇到的一些问题

以下错误也可能是由于其他错误所引起,我写的只是我遇到的错误,所以如果按照下面的方法依旧无法解决,并不一定是我的方法有问题,这时建议寻找其他人的解决经验。

verilog语言里需要仔细检查自己写的变量名是否上下一致。

  1. 对于模块的输入变量,如果想要将其作为if或case的参数,那么需要将if或case放到always语句中
  2. 在编辑.cdc文件时,一部分例化模块没有出现。我在网上查到一个原因是

    图片来源:https://www.cnblogs.com/geekite/p/5241638.html
    但是我已经在总的模块中声明了,所以可能是信号被优化,这时可以对不想被优化的信号前面加入(* KEEP = “TRUE” *),就像这样:
    在这里插入图片描述
    如果仍然被优化,可以考虑将该信号绑定到板子的输出上

3.Syntax error near “£”.
加入了中文符号,比如中文逗号,中文冒号。

4.Size mismatch in connection of port . Formal port size is 16-bit while actual signal size is 8-bit.
一种情况:网上搜到的说是,n+1位的变量,你用的是第n位的变量
另一种情况:变量名定义时写的是123456,但是在后面误写为12356
另一种情况:总模块all,分模块a,b,c,d,e。
all的output是x1,y1,z1,a的output是x1,y1,z2,同时你在总模块all里用到了z2,这时它会默认z2为1位,从而产生这个警告。
解决方法:我采用的是将a的输出z2也作为all的输出,但是感觉这样在分模块的输出较多时比较累赘,暂时还没有想到别的方法。

5.经过一番修改,原本正确的仿真波形变成了XXXXX
原因一:缩短了某些变量的位数,导致判断错误
eg:修改之前使用的是32位变量lmd,if(lmd == 32’hffff ffff),之后将lmd修改为8位,但是判断条件没有修改,这时应该修改为 if(lmd == 8’hff)

6.连接开发板后显示Found 0 Core Units in the JTAG device Chain,或者显示如下图片,也就是红框部分是空白:在这里插入图片描述
将总模块中的output转化为wire

7.Bitstream:stanbsbitfile.c:3408:1.57 - Incorrect number of bits in
重新运行一次生成二进制文件
转自:http://blog.sina.com.cn/s/blog_66c807290102wta5.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值