首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在verilog中reg [0:3] mem和reg [3:0] mem有什么区别?

在verilog中reg [0:3] mem和reg [3:0] mem有什么区别?
EN

Stack Overflow用户
提问于 2022-05-16 14:55:21
回答 1查看 100关注 0票数 0

在verilog中,reg 0:3 mem和reg 3:0 mem的区别是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-05-16 15:49:04

在verilog中reg 0:3 mem reg 3:0 mem有什么区别?

在Verilog中,向量被指定为msb:lsb,其中,

  • msb表示最重要位数的个数
  • lsb表示最小有效位数

向量可以使用

  • Little-endian约定(lsb是最小位number)
  • Big-endian约定(lsb是最大位数)

下面是一个示例,其中相同的值存储在post中定义的两个向量中。

对lsb进行了检验,以说明两者之间的区别。

代码语言:javascript
复制
module tb ();
  
  reg [3:0] lsb_is_right;
  reg [0:3] lsb_is_left;
  
  reg lsb_is_right_lsb;
  reg lsb_is_left_lsb;
  
  initial
  begin
  lsb_is_right = 4'b1110;
  lsb_is_left = 4'b1110;
  //
  lsb_is_right_lsb = lsb_is_right[0];
  lsb_is_left_lsb = lsb_is_left[0];
  #1
  $display("lsb_is_right_lsb = %b",lsb_is_right_lsb);
  $display("lsb_is_left_lsb = %b",lsb_is_left_lsb);
  #1;
  $finish;
  end
  
endmodule

生产:

代码语言:javascript
复制
xcelium> run
lsb_is_right_lsb = 0
lsb_is_left_lsb = 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72261240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档