复位操作消耗的资源远比你想象的要多
在FPGA设计中,我们往往习惯在HDL文件的端口声明中加入一个reset信号,却忽略了它所带来的资源消耗。仔细分析一下,竟会有如此之多的影响:
• 复位网络需要占用布线资源
♦ 导致其余信号的布线信号受到影响,降低了它们布线的自由度。
♦ 增加的布线网络往往需要使用更高速率的芯片。
♦ 复位网络占用大量布线资源,使得Place&Route的时间大大增加,如果电脑是老爷机则让人十分痛苦。
• 复位信号需要占用大量的逻辑资源
♦ 复位信号需要使用触发器的专用复位管脚。
♦ 可操作的复位信号往往导致D触发器的输入前增加额外的门操作或专用的复位信号输入。
♦ 增大整个设计 的尺寸。
♦ 额外的逻辑消耗降低了系统的性能。
• 阻止了使用高效特征,如Xilinx FPGA特有的SRL16E 移位寄存器。
♦ SRL16E可以在一个LUT中实现多达16个触发器。
♦ SRL16E 实现的虚拟触发器不支持复位操作,这使得HDL设计中带有复位操作时,综合工具无法有效利用SRL16E 资源。有可能增加多达16倍的资源消耗。 |