verilog语言中的msb 和 lsb到底各表示什么意思?

vincentcsd 2011-05-11 04:49:25
reg [3:0]a a表示一个四位的寄存器变量
reg [1:5]b b表示一个五位的寄存器变量

定义的寄存器位数难道就是他们的差?为什么还有不同的起始点呢?这到底意味着什么呢?
...全文
3542 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjwxczj 2011-05-15
  • 打赏
  • 举报
回复 1
[Quote=引用 2 楼 ejack79 的回复:]

MSB和LSB是电子学的通用词汇了。
MSB = Most Significant Bit,通常称其为最高位
LSB = Least Significant Bit,通常称其为最低位
[/Quote]

正解。
chenm001 2011-05-14
  • 打赏
  • 举报
回复
你可以认为里面写的就是数组起始索引,所以差值就是位数了。
至于方向不同,主要是考虑人的习惯,有的人喜欢最左是小数字,有的人相反,不过最后产生的电路是一样的
Ejack79 2011-05-13
  • 打赏
  • 举报
回复
MSB和LSB是电子学的通用词汇了。
MSB = Most Significant Bit,通常称其为最高位
LSB = Least Significant Bit,通常称其为最低位
whu327 2011-05-12
  • 打赏
  • 举报
回复 3
位数的确是他们的差值,至于为什么还有不同的起始点,以前群里有个高手曾经解释过,大概是这样的:对于硬件电路而言并没有区分高位和地位的功能,只是在开辟寄存器时,用移位的方式开辟连续的寄存器,所以从左移位读入就是左边是高位,若是从右移位读入,右边就是高位了。高位与低位不是根据位号来决定的,而是你的读取方式,显然在a的3位和b的1位分别是最高位。

6,158

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧