Verilog小知识点

Verilog小知识点

1. integer可以截位

​ 整数类型用关键字integer来声明,声明时不用指明位宽,位宽和编译器有关,一般为32bit。reg型变量为无符号数,而integer型变量为有符号数,也就是说integer可以声明为负数,就像integer=-10。所以本质上integer是可以截位的,以下代码证明了这一点。

`timescale 1ns / 1ps

module test_integer;
	reg [3:0] a;
	integer i = 8'b11010100;
	
	initial
	begin
		a = i[5:2];
	end
endmodule

上面的文件直接保存为仿真文件,可以在vivado中直接仿真,其仿真波形图如下所示。

在这里插入图片描述

由上图可知,该程序成功对整数类型i进行了截取。

​ 同理,以上程序也可以放在vcs平台进行仿真,其仿真程序如下所示。

`timescale 1ns / 1ns

module test_integer;
	reg [3:0] a;
	integer i = 8'b11010100;
	
	initial
	begin
		a = i[5:2];
	end

initial begin
    #100 $finish;
end
endmodule

编译指令为:

vcs test_integer.v -debug_all 

打开图形界面指令为:

./simv -gui

仿真波形如下图所示:

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值