FPGA知识汇集-时钟系统的移植

文章探讨了ASIC和FPGA在时钟结构上的差异,指出ASIC的时钟设计灵活性与FPGA的内置时钟资源之间的矛盾。FPGA的时钟资源限制和低延迟网络要求对门控时钟技术进行转换,以避免性能下降。Synopsys的工具可以自动进行部分转换,但复杂设计可能需要手动调整。时钟管理单元和使能电路在FPGA中可以直接映射或适应。
摘要由CSDN通过智能技术生成

       ASIC 和FPGA芯片的内核之间最大的不同莫过于时钟结构。ASIC设计需要采用诸如时钟树综合、时钟延迟匹配等方式对整个时钟结构进行处理,但是 FPGA设计则完全不必。因为后者有内建的时钟资源:锁相环、频率综合器、移相器,以及具有低延迟特性的专用时钟布线网络。ASIC芯片的时钟设计具有更大的灵活性,但FPGA芯片内建的时钟资源则能简化设计。正是因为两者的不同,带来了移植上的诸多麻烦。

       ASIC设计中的时钟树结构,需要映射到FPGA芯片的专用时钟资源中,以及原型验证平台的不同FPGA芯片中。

       一颗FPGA芯片的专用时钟资源是有限的,以Virtex-6LX760芯片也只有18个 MMCM时钟资源模块。这对于大部分FPGA设计来讲已经足够了,但是对于具有大量时钟树资源的ASIC设计来讲,往往还是不够使用。FPGA芯片的另外一个限制是同一个时钟域所能容纳的全局时钟资源有限。

  • 门控时钟

        在ASIC设计中,常常采用门控时钟技术来降低整个芯片的低耗。图1显示了使用门控时钟技术的电路:时钟clk通过信号en1和en2进入组合逻辑后,驱动后续的两个寄存器。

        从上述电路可以看出,当信号en1和en2的某种组合关系使得clk信号无法向后传递时,两个寄存器将停止工作,因此也不会消费功耗。

       但是如果将ASIC设计中的门控时钟电路直接映射到FPGA芯片中,则会带来整体的性能甚至稳定性的下降。其根本原因在于FPGA芯片采用的是专用的低延迟时钟网络,只有整个时钟系统运行在该网络时,才能达到最高的性能。而通过组合逻辑的门控时钟信号运行在普通的布线资源上,这将大大的降低其性能,甚至带来建立保持时间的问题。因此必须将门控时钟通过某种方式映射到FPGA芯片的专用时钟资源上,而不是简单得代码移植。

  • 门控时钟的转换

        对门控时钟进行转换,就是要把时钟网络上的组合逻辑“删掉”,将所有时序逻辑的时钟驱动端口直接链接在FPGA芯片的专用时钟资源上。

       其中一个方法就是将组合逻辑从时钟通路‘搬移’到数据通路上,这种方式可以通过图2中的多路选择器来实现。

设计工具对门控时钟的转换

       Synopsys公司的Synplify Pro/Premier是高性能FPGA逻辑综合工具,可以自动地进行门控时钟转换。当然转换是有一定条件的:必须是带有组合逻辑的门控时钟结构;时钟必须要有确定的约束条件;门控时钟所驱动的时序逻辑电路不能是黑盒子。

       前面提到的门控时钟转换电路都比较简单,在实际的设计中,门控时钟的组合逻辑也许会很复杂,所驱动的后续电路不仅仅有寄存器,还有 BRAM和DSP模块等时序逻辑。因此即便是Synplify pro/Premier这样的高性能综合器也可能有无法自动处理的电路结构,仍然需要手动修改。

时刻使能

       对于ASIC设计中的时钟使能电路,没有必要做任何的转换工作。因此FPGA芯片内部的各种时序逻辑电路(包括寄存器、BRAM和DSP48模块)本身就带有时钟使能输入端口,因此综合工具可以做到完美的自动映射。

时钟管理单元的映射

       ASIC设计中的大部分时钟管理模块(如PLL),仅仅需要对端口的细微修改就可以直接映射到FPGA对应的资源上。Xilinx的FPGA芯片提供了丰富的可配置时钟资源:DCM,PLL,MMCM,BUFG/BUFR,BUFGMUX,等等。关于Xilinx FPGA芯片时钟资源的详细讨论,感兴趣的可持续关注公众号!!

更多有趣的话题请看链接:

FPGA知识汇集-FPGA项目开发包含那些任务?

FPGA知识汇集--FPGA结构(1)

FPGA的应用

FPGA知识汇集-在命令行模式下使用Xilinx工具

FPGA知识汇集-ISE的这些有用的工具您知道吗?

FPGA知识汇集-FPGA设计开发需要熟悉哪些EDA工具呢?

FPGA知识汇集-值得收藏的FPGA代码命名规范?

FPGA 知识汇集--Linux下ISE的环境变量设置

FPGA知识汇集-值得收藏的Verilog代码风格1

FPGA知识汇集-值得收藏的Verilog代码风格2

FPGA知识汇集-编写可综合代码(RTL)需要注意的规则总结

FPGA知识汇集-Verilog和VHDL的混合使用

FPGA知识汇集-关于Xilinx 工具报告

FPGA知识汇集-例化与推译

硬件仿真加速器与原型验证平台

  FPGA知识汇集-ASIC向FPGA的移植

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值