Verilog负数赋值与加法运算

本文探讨了Verilog中如何处理负数,包括如何给变量赋负值和进行负数加减运算。在Verilog中,使用signed关键字来表示负数,不加signed则视为无符号数。在运算时,Verilog会自动根据变量类型进行补位,如果全部为signed,则按符号位补全,否则补0。通过实例展示了不同情况下的运算结果和位宽扩展规则。
摘要由CSDN通过智能技术生成

目录

一、Verilog中如何给一个变量赋值为一个负数

二、Verilog中如何进行负数的加减运算


一、Verilog中如何给一个变量赋值为一个负数

       Verilog中默认reg和wire中存放的是>=0的数,如果要存放一个负数需要加关键字signed,下面通过一个自加器的Modelsim仿真来了解一下如果不加signed直接赋值会发生什么。

        add1和add2是两个简单的自加器。初始值(-20),步长为2,flag信号用来判断是否是负数。关于flag_add1和flag_add2的产生逻辑如下列代码所示:

reg   signed    [7:0]  add1;

reg             [7:0]  add2;

reg                    flag_add1;

reg                    flag_add2;

initial begin

clk= 0;

add1=-20;

add2=-20;

forever clk=#5 ~clk ;

end

always@(posedge clk)

                        if(add1>0)

                           flag_add1<=1;

                        else

                           flag_add1<=0;

always@(posedge cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值