美文网首页
verilog 位宽拼接

verilog 位宽拼接

作者: Michael_Johnson | 来源:发表于2017-08-28 11:48 被阅读110次

    你的置位运算符用的不太对,a+b它也是当成两位数来进行计算的,所以,等式的左边是5位,右边是4位表达式,左边的最高位自动设置为0

    hui3462(2009-4-15 17:34:49)

    楼上说的MS是对的

    gatezte2008(2009-4-15 20:57:16)

    可是我也试过这种情况没有问题: reg [3:0] sum; reg cout; input [3:0] a,b; input cin; {cout,sum}=a+b+cin; /* 这种它能正确把进位位赋给cout,a,b都是4位呀,可是等式左边也是5位,为什么就没有问题呢? */

    larkin920(2009-4-15 23:52:11)

    最好是先对a和b进行符号位扩展后再实现加法运算!

    fucloudsea(2009-4-24 14:04:18)

    {cout,sum}=a+b+cin; 这种情况下,a+b+cin软件自动把结果扩展成5位,所以这个没有问题的,但是在位操作符里,没有做这样的自动扩展

    相关文章

      网友评论

          本文标题:verilog 位宽拼接

          本文链接:https://www.haomeiwen.com/subject/qngwdxtx.html