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