微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教ASIC做查找表,一般用寄存器吗?有没有好的办法呢?

请教ASIC做查找表,一般用寄存器吗?有没有好的办法呢?

时间:10-02 整理:3721RD 点击:
我想在系统启动的时候,配置rst_info_mem变量,16个周期配置一次,有没有什么好的办法呢?
reg [31:0]  cnt;
always @ (posedge i_clk)
if (~i_rst_n)
    cnt <= #UDLY 32'h0;
else if ( cnt != 32'ha0)
    cnt <= #UDLY cnt + 'b1;
reg  rst_info_mem [76:0];

always @ (posedge i_clk)
case(cnt)
    32'h10://B1
    rst_info_mem      <=  77'h1209090c580000026204;
    32'h20://B2
    rst_info_mem     <=  77'h1408051000000000ffff;
    32'h30://B3
    rst_info_mem     <=  77'h1408051400000000ffff;
    32'h40://B4
    rst_info_mem     <=  77'h1209090c580000026204;
    32'h50://B6
    rst_info_mem     <=  77'h160805200000050001e0;
    32'h60://B7
    rst_info_mem     <=  77'h1289052834000780080e;
    32'h70://B8
    rst_info_mem     <=  77'h1289052c3000000c0013;
    32'h80://B9
    rst_info_mem     <=  77'h12080538000000000002;
    32'h90://BA
    rst_info_mem     <=  77'h1289093c400000010001;
default:
    rst_info_mem     <=  77'h16080640000000100000;
endcase

我想知道,是用单个寄存器还是寄存器组,上面的例子是单个寄存器,每隔16个周期赋值一次,
或者我们可以定义一个寄存器组 reg [76:0]  rst_info_mem [8:0];然后定义一个buffer,reg [76:0]  rst_info_mem_buffer,然后每16个周期,rst_info_mem_buffer= rst_info_mem [N],
或者还有别的方法,比如,生成ROM,RAM什么的,但是我设计的是ASIC,请大家指教

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

网站地图

Top