verilog Signed与赋值形式
2024-09-08 01:07:24
`timescale 1ns/1ps
module test;
reg signed[3:0] uu;
reg signed[3:0] dd;
reg [2:0] extract;
reg [4:0] sum;
initial
begin
uu=-7;
dd=3;
extract=uu[2:0]
sum=uu+dd;
#10
uu=7;
dd=-3;
extract=uu[2:0]
sum=uu+dd;
#10
uu=-7;
dd=-3;
extract=uu[2:0]
sum=uu+dd;
end
endmodule
如上述代码,当声明的reg sign通过整数形式赋值,实际得到的是所看到的值的补码形式,如uu=-7,则uu的实际存储值为4‘b1001,即-7在4bit下的补码,即有符号数4’b1111的补码4‘b1001,然后使用补码进行运算。
`timescale 1ns/1ps
module test;
reg signed[3:0] uu;
reg signed[3:0] dd;
reg [2:0] extract;
reg [4:0] sum;
initial
begin
uu=4'b1111;
dd=4'b0011;
extract=uu[2:0]
sum=uu+dd;
#10
uu=4'b0111;
dd=4'b1011;
extract=uu[2:0]
sum=uu+dd;
#10
uu=4'b1111;
dd=4'b1011;
extract=uu[2:0]
sum=uu+dd;
end
endmodule
当reg signed通过上述方式进行赋值时,则默认直接使用编程用户已经进行了原码到补码的转换,此时所写即所存,仍然为补码的形式保存和进行后续计算,这一点区别于使用整数型的值进行赋值。
最新文章
- [No000053]我25岁了,是应该继续挣钱,还是选择自己的爱好?--正好庆祝自己25岁生日
- 建立mvc过程
- 攻城狮在路上(叁)Linux(十九)--- 磁盘分区
- jQuery对复选框(checkbox)的全选,全不选,反选等的操作
- [ZZ] HDR&;ToneMapping
- RPM vs SRPM
- <;摘录>;详谈高性能TCP服务器的开发
- 学生信息管理系统(c语言)
- 微软黑科技强力注入,.NET C#全面支持人工智能
- 潭州课堂25班:Ph201805201 django 项目 第四十课 后台 文章发布,更新实现,热门新闻管理,轮播图管理(课堂笔记)
- Golang 笔记 3 if、switch、for、select语句
- 266B
- MySQL数据的导出和导入
- kafka producer 发送消息简介
- word中的交叉引用
- 混合式应用真机调试(Android Studio + Chrome)
- CURL模拟表单post提交及相关常用参数的使用(包括提交表单同时上传文件)
- Java服务CPU飙到99%问题排查
- [javaSE] 集合框架(迭代器)
- Java基础之this关键字的作用