Verilog中 高位与低位
创始人
2024-04-18 01:35:04

Verilog中信号定义位宽的一些问题
总是被Verilog中信号定义位宽的问题所困扰:

wire[7:0] data1 和 wire[0:7] data1有什么不一样
wire[7:0] data2[3:0]、wire[7:0] data2[0:3]、wire[0:7] data2[3:0]、wire[0:7] data2[0:3]又分别有什么不一样?
今天下定决心要把这个问题弄清楚
写了一段代码放到modelsim里跑:
module test;wire[7:0] data1;wire[0:7] data2;reg[7:0] byte1[3:0];reg[7:0] byte2[0:3];reg[7:0] byte3[3:0];reg[7:0] byte4[0:3];integer i;assign data1 = 8'b1001_1100;assign data2 = 8'b1001_1100;initial beginfor (i = 0; i<=3; i=i+1) beginbyte1[i] <= i+1;byte2[i] <= i+1;byte3[i] <= i+1;byte4[i] <= i+1; end  end
endmodule

可以看到data1和data2最后的赋值结果都是一样的,但是注意到最高位和最低位的顺序不一样 data1 最高位是7,最低位是0 ,data2最高位是0 最低位是7 data1[7:0] data2[0:7]

一般的数 二进制下 最左边为最高位,最右边为最低位,如:1001十进制为 9,所以声明信号赋值时习惯写成 wire[3:0] data; assign data = 3’b1001;这样最高位到最低位就对应起来了
在这里插入图片描述

相关内容

热门资讯

应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...