为什么我不能在MAP之后将具有相同时钟/ /时钟使能/复位信号的两个寄存器打包到一个片中?-Lattice-莱迪斯论坛-FPGA CPLD-ChipDebug

为什么我不能在MAP之后将具有相同时钟/ /时钟使能/复位信号的两个寄存器打包到一个片中?

基于莱迪思FPGA架构,片中的两个触发器共享相同的时钟/时钟使能/复位信号。因此,如果两个寄存器的控制信号相同,则可以将它们打包到一个片中。。但有时如果复位和/或时钟使能信号负载很大,合成工具会复制它们以减少它们的扇出。。在这种情况下,某些寄存器将具有不同的重复复位和/​​或时钟使能信号。。这意味着它们中的任何两个都不能放入一个切片中。。为了防止控制信号的重复,可以在代码中添加Synplify属性\“syn_maxfan \”。。其值可以设置得足够大并且高于该控制信号的负载数,例如, 。10000如下:在Verilog中:reg reset \ / * synthesis syn_maxfan = 10000 * \ /;在VHDL中:属性syn_maxfan:整数;属性syn_maxfan of reset:signal是10000;使用此属性,所有寄存器将具有相同的控制信号。。。并且对于时序和资源利用目的而言,它们中的任何两个都不适合放入一个片中。。此外,复位信号通常由于其较大的负载而被复制。。如果它可以用作全局复位,则可以避免信号复制问题。

请登录后发表评论

    没有回复内容