求高手,帮忙分析一下下面的FPGA程序,为什么out 加至1000 后直接变成了0001,而不是1001,高位为什么会变
答案:1 悬赏:50 手机版
解决时间 2021-03-22 23:48
- 提问者网友:骑士
- 2021-03-22 11:32
求高手,帮忙分析一下下面的FPGA程序,为什么out 加至1000 后直接变成了0001,而不是1001,高位为什么会变
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-03-22 11:38
1 那个if(1) 完全没必要
2 out <= out[2:0]+4'b0001; //这一句是用一个三位数与四位数相加,这时候应该会导致out溢出
3 第二个always 里面的内容 next_bit =out[3]; 可以跟第一个写到一起,那么前面的 out <= out[2:0]+4'b0001 也可以改成out[3:0] ,这里我假定你在第二个always里要做的是把运算后的out值最高位赋值给next_bit
4 请养成习惯 使用 begin end ,就像C语言的'{' 与' }'一样
2 out <= out[2:0]+4'b0001; //这一句是用一个三位数与四位数相加,这时候应该会导致out溢出
3 第二个always 里面的内容 next_bit =out[3]; 可以跟第一个写到一起,那么前面的 out <= out[2:0]+4'b0001 也可以改成out[3:0] ,这里我假定你在第二个always里要做的是把运算后的out值最高位赋值给next_bit
4 请养成习惯 使用 begin end ,就像C语言的'{' 与' }'一样
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯