为什么调节扇出,可以减少路径延迟?
时间:10-02
整理:3721RD
点击:
在FPGA设计中,我们可以通过在开发工具如vivado的综合设置中设置最大扇出,就能使时序变好,提高工作频率,各位大神知道这其中的原理吗?
这个未必吧,这个是控制,你能承担多少定量的负载。完全由器件,经验,工具等决定。
是的,但是可以通过vivado软件可以设置最大扇出的大小,扇出越小,时序越好,但是不知道其中的原理?
是这样,影响频率的主要是寄生电容,实际上fanout越大即驱动的门越多,寄生电容也就越大即输出端口上并联的电容越大,自然输出的频率也就上不去了。
驱动能力有限,如果驱动的多,频率就慢
rtl里面一个信号的扇出是固定的,他能改变的是综合后的器件的扇出,比如本来一个信号通过一个原件扇出9个信号,然后现在你可以插入3个器件,使每个器件扇出为3.这样扇出降低了,不过代价是你插入了3个额外的器件。面积换timing。
大概的原理是,一个fpga的cell其扇出能力在一个频率要求下,其最大值是确定的,比如1000扇出能达到50M,500的话就能到100M。电流,有时候跟自来水是一样的,电路,就好比自来水管,一根水管,能接1000条输出,还能保持水压,是50,那你接2000条输出,肯定不能保持水压了,那么这时候就需要把这个水管1分2,分别接一个加压器,这样,每个加压器输出1000条,就能保持50的水压了。
对于ASIC来说,加压器就是BUFFER,对于FPGA来说,可以是buffer,可以是LUT什么的。能增加驱动电流的器件,又不改变原始逻辑功能的,都行。