Re: 综合工具是否会做datapath的优化?
时间:12-12
整理:3721RD
点击:
会,但是取决于你的写法
比如assign tmp1=a*b;
assign s=tmp1+c;
和assign s=a*b+c;两种写法综合出来结果就会不一样,把所有运算写在一起更利于dc的
优化
另外如果要插pipeline的话还是得自己手动实现CSA tree, 除非你真的打算完全信任dc去
做optimize_register.
比如assign tmp1=a*b;
assign s=tmp1+c;
和assign s=a*b+c;两种写法综合出来结果就会不一样,把所有运算写在一起更利于dc的
优化
另外如果要插pipeline的话还是得自己手动实现CSA tree, 除非你真的打算完全信任dc去
做optimize_register.
timing约束加到最紧,如果你不给timing 约束,dc会用简单的CPA
另外dc有命令可以指定他用哪种结构的乘法器
话说CSA理论上速度提高很多,但有一次我面试的时候突然发现其实CPA搭出来乘法器延时
和CSA理论上是一样的
比如你这个in0,in1,in2假设都是8bit, 用CPA的话in0+in1理论上是8个FA的延时(不考虑
进位溢出了),但是实际上延时是不均匀的,结果的bit0只有1个FA延时,最高一个bit才
有8个FA延时,在这个结果上再加in2的话,按传统理论算应该有16个FA延时,实际上你仔
细画画,延时没有16,而是9,CSA的延时也是9