微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 我写了一个多端口ram的模块,但是综合不出频率

我写了一个多端口ram的模块,但是综合不出频率

时间:10-02 整理:3721RD 点击:
我写了一个多端口ram的模块,但是综合不出频率,去除这个模块,整体的频率就能综合出来,请高手指正
module regfile(
               clk,
               // for decoder1            
               we3,
               ra1,
               ra2,
               wa3,
               wd3,
               rd1,
               rd2,
               
               // decoder2
               we6,
               ra4,
               ra5,
               wa6,
               wd6,
               rd4,
               rd5
               );
               
//macro defines
parameter WIDTH_REG_ADDR = 3'd5;
parameter WIDTH_REG_DATA = 6'd32;
              
//input signals
input          clk;
input          we3;
input          we6;
input[WIDTH_REG_ADDR-1:0]     ra1;
input[WIDTH_REG_ADDR-1:0]     ra2;
input[WIDTH_REG_ADDR-1:0]     wa3;
input[WIDTH_REG_ADDR-1:0]     ra4;
input[WIDTH_REG_ADDR-1:0]     ra5;
input[WIDTH_REG_ADDR-1:0]     wa6;
input[WIDTH_REG_DATA-1:0]     wd6;
input[WIDTH_REG_DATA-1:0]     wd3;
//output signals
output[WIDTH_REG_DATA-1:0]    rd1;
output[WIDTH_REG_DATA-1:0]    rd2;
output[WIDTH_REG_DATA-1:0]    rd4;
output[WIDTH_REG_DATA-1:0]    rd5;
//logic

reg [31:0] rf[31:0];
always @ (posedge clk)
begin
    if (we3) rf[wa3]<=wd3;
else
   if (we6) rf[wa6]<=wd6;
end
assign rd1 = (ra1 != 0)?rf[ra1]:0;
assign rd2 = (ra2 != 0)?rf[ra2]:0;

     
assign rd4 = (ra4 != 0)?rf[ra4]:0;
assign rd5 = (ra5 != 0)?rf[ra5]:0;   
        
     
endmodule

库里面没有对应这样功能的memory模块,自然是综合不出memory了

只有一个ram,你想要哪里到哪里的时间参数?

没有时间参数啊

Thanks!

这个好奇怪啊,难道没有time report 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top