RAM中的addra的bit数目-创新互联

一个RAM例化形式如下

站在用户的角度思考问题,与客户深入沟通,找到兰西网站设计与兰西网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖兰西地区。

reg [7:0] addra_A;

reg [7:0] addrb_A;

A_RAM uut(                      //RAM 宽度:16 深度:480
  .clka(clk),
  .ena(ena_A),
  .wea(1'b1),
  .addra(addra_A),
  .dina(dina_mv),
  .douta(douta_A),
  .clkb(clk),
  .enb(enb_A),
  .web(1'b0),
  .addrb(addrb_A),
  .dinb(dinb_mv),
  .doutb(doutb_A)
 );
其中RAM中的addra为9bit 即 addra[8:0] ;

而连接RAM地址的addra_A和addrb_A为8bit

这样RAM会出现问题。

如上面的例子 若8bit的addra_A=8'b1010_1010,例化后,addra=9'bZ_1010_1010。前面一位变成Z。就无法识别addra的数值了。

但是addra_A位数可以大于addra的,赋值时,产生截断。其实就相当于addra_A把值按位赋值给addra。

总结:

1、addra和addra_A位数应该相同。同理,不仅仅是RAM例化时,两者位数要相同,普通模块也要相同。

2、在verilog代码里(不是模块例化)

reg [2:0] a;  reg [3:0] b;

b<=a;

在verilog模块的代码里可以这样写。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:RAM中的addra的bit数目-创新互联
分享URL:http://pwwzsj.com/article/gpgsj.html