资源占用方面的问题!!知道的大神请进来看看

2019-03-25 08:38发布

我最近写的程序里,做了一个计数寄存器,当定义该寄存器为13位时,占用的总的LE资源为28%,当定义为14位时,资源占用就达到了94%,我想请教您这是怎么回事?占用大资源差别会这么大?还有,资源占用率超过了90%会不会造成不稳定等的影响呢?有知道的童鞋么?指导一下,谢谢啦 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
织染
2019-03-25 21:54
原帖由 eeleader 于 2013-1-22 20:53 发表
具体问题还许要你的程序贴出来让大家评论一下。

好的。
第一个16位的计数器如下,将其注销与否对程序资源占用率没有太大影响
always @(posedge SYSCLK or negedge RST_B)
if (!RST_B) Half_period_CNT<=`UD 16'h0;
else  Half_period_CNT<=`UD Half_period_CNT_N;

always @(*)
begin
if (TX_finish_sin)
Half_period_CNT_N=Half_period_CNT+1'h1;
else if(TX_finish_sin==0)
Half_period_CNT_N=16'h0;
else  Half_period_CNT_N=Half_period_CNT;
end

我上面问题中的计数器,就是从13位到14位资源占用率变化很大的那个计数器如下:
always @(posedge SYSCLK or negedge RST_B)
if (!RST_B) Data_pack_cnt<=`UD 13'h1fff;  
  else Data_pack_cnt<=`UD Data_pack_cnt_N;

always @(*)
if(TR_CONTROL_CS==RX_FINISH)        
  Data_pack_cnt_N= 13'h1fff;
else if(TR_CONTROL_CS==RX_HEAD)
  Data_pack_cnt_N= 13'h0;
else if(HEAD_ERR_internal)      
Data_pack_cnt_N=Data_pack_cnt+1'h1;   
else  Data_pack_cnt_N=Data_pack_cnt;

谢谢各位了!!

一周热门 更多>