工作
羞涩的大提琴
faith will move moutains.
展开
-
asic设计:位宽不匹配
1. 对于长位宽赋值给短位宽的情况,无论左操作数、右操作数是有符号数还是无符号数,都是直接截断高位,而左操作数二进制所表示的实际十进制数据要看左操作数是无符号数还是有符号数,如果左操作数是无符号数,直接转换成十进制即可,如果是有符号数,则看成2的补码解释成十进制数,这也是实际计算机系统中有符号数的表示方法2. 对于短位宽赋值给长位宽的情况,需要对高位进行位扩展,具体是扩展1还是扩展0,记住:完全依据右操作数!,具体如下:1)右操作数是无符号数,则无论左操作数是什么类型,高位都扩展成0;2)右操作数是原创 2022-05-20 11:01:02 · 1751 阅读 · 0 评论 -
assign 组合逻辑和always@(*)组合逻辑的区别
verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有:1. 被assign赋值的信号定义为wire型,被always@(*)结构块下的信号定义为reg型,值得注意的是,这里的reg并不是一个真正的触发器,只有敏感列表为上升沿触发的写法才会综合为触发器,在仿真时才具有触发器的特性。2. 另外一个区别则是更细微的差别:举个例子,wire a;reg b;assign a = 1'b0;...原创 2022-05-11 09:44:25 · 2695 阅读 · 0 评论