\quad
共享控制信号这一点充分体现了设计必须考虑到用于底层实现的芯片结构的重要性。在 Xilinx 的芯片上,时钟、置位/复位和时钟使能等信号通称为 Control Set,进入同一个 SLICE 的 Control Set 必须统一。换句话说,不同 Control Set 控制下的 FFs 不能被 Vivado 放进同一个 SLICE。
\quad
为了提升 SLICE 的利用率,获得更高效的布局方案,提升时序性能,我们必须控制一个设计中 Control Set 的总数,尽量共享控制信号。具体做法包括:
- 尽量整合频率相同的时钟和时钟使能信号;
- 在生成 IP 时选择“共享逻辑”功能,则可以在不同 IP 间尽可能的共享时钟资源;
- 遵循 Xilinx 建议的复位准则:
a) 尽量少使用复位
b) 必须复位时采用同步复位
c) 确保使用高电平有效的复位
d) 避免异步复位( RAMB 和 DSP48 模块中不支持异步复位)
\quad
Xilinx 的复位准则必须严格遵守,根据现场支持的经验来看,很多设计性能的瓶颈就在于设计源代码时没
有考虑底层实现器件的硬件结构特点,尤其以复位信号的实现问题最为突出。