微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 综合后,比较器的面积开销问题

综合后,比较器的面积开销问题

时间:10-02 整理:3721RD 点击:
最近在思考一个问题

比如
if ( cnt == 9 ) next_state = `DESTINATION;
else cnt++ ;
or
if ( cnt <10 ) cnt++ ;
else next_state = `DESTINATION ;

这两种代码,综合出来的比较器,谁的面积开销大一些?



   个人感觉==占用的面积比较少,全凭目测。

实践综合一下,估计一样,综合器会优化的。

求实践后的结论

不会一样,肯定第一种面积小

从代码健壮性的角度,建议第一种写法写成f ( cnt >= 9 ) ,因为要是某种情况下突然变为10了呢?那不就跑死了? 如果改成这样,那就更加完全等价了。

我也觉得第一种。=要比<的逻辑重复少吧

module pinout(input [2:0]a,
input [2:0]b,output c);
assign c=(a<b);//or assign c=(a==b);
endmodule在quartus ii中试了一下

是a<b的,

是a==b的。

我倾向于认为a==b的时候少,毕竟现在STDcell里面单独的异或门!

同觉得第一个简洁,latch前的comb感觉第一个要简单一点

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

网站地图

Top