本发明涉及集成电路领域,具体涉及一种时钟网络电路。
背景技术:
soc(systemonchip),称为芯片级系统,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。在一个soc中同时有很多个时钟存在,这些时钟在不同模式下时钟来源不同、频率不同。这些多时钟多模式的设计给后端物理实现带来很大的挑战。即使是在eda工具功能越来越强大的情况下,这些时钟的偏差、时钟树延时、时钟网络功能依然很难满足。如图1所示的时钟结构中,有两个时钟scan_clk和function_clk,scan_clk为scan测试模式下的时钟,function_clk为正常功能模式下的进钟,两个时钟之间通过选择信号来切换。该时钟树结构需要建立两个场景来进行时钟树综合(cts,clocktreesynthesis)。在正常功能模式下,形成的时钟树如图2所示,function_clk信号经过一个数据选择器10和预设电路单元1后,再经过一个数据选择器10后输出。scan测试模式时钟如图3所示,椭圆形线框中的电路在此模式中并没有发挥作用,scan_clk信号直接通过后一个数据选择器10输出。如果此时,将场景切换到scan测试模式下进行时钟树综合,scan_clk会重新综合形成图4所示结构。这样,不仅增加了逻辑单元,增加了面积,而且由于时钟走的路径不同,引入了两种场景之间的冲突,造成在某一个场景下时钟树不能收敛。
技术实现要素:
本发明提供了一种时钟网络电路,可以简化测试时钟信号和功能时钟信号的电路结构,减小电路占用面积。本发明的具体技术方案如下:
一种时钟网络电路,包括:数据选择器,有且只有一个,其第一输入端用于接收测试时钟信号,第二输入端用于接收功能时钟信号,控制信号端用于接收选择信号,输出端则根据所述选择信号的选择结果相应输出测试时钟信号或者功能时钟信号至预设电路单元,其中,所述第一输入端、第二输入端和控制信号端都作为所述时钟网络电路的输入端。所述预设电路单元的输入端与所述数据选择器的输出端连接,所述预设电路单元的输出端则连接输出缓冲器,所述预设电路单元用于根据所述预设电路的预设功能对所述数据选择器输出的信号进行处理后,通过所述预设电路单元的输出端输出处理后的信号。所述输出缓冲器,其输入端连接至所述预设电路单元的输出端,其输出端则作为所述时钟网络电路的输出端,所述输出缓冲器用于对所述预设电路单元输出的信号进行延时输出。
进一步地,所述预设电路单元为缓冲单元,则:所述缓冲单元串连在所述数据选择器与所述输出缓冲器之间,其输入端连接所述数据选择器的输出端,其输出端则连接所述输出缓冲器的输入端,所述缓冲单元用于对所述数据选择器选择输出的信号进行延时输出。
进一步地,所述预设电路单元为一个反相单元,则,所述时钟网络电路还包括一反相器。其中:所述反相器设置在所述数据选择器的第一输入端,用于对所述测试时钟信号进行反相后输入所述数据选择器。所述反相单元串连在所述数据选择器与所述输出缓冲器之间,其输入端连接所述数据选择器的输出端,其输出端则连接所述输出缓冲器的输入端,所述反相单元用于对所述数据选择器选择输出的信号进行反相后输出。
进一步地,所述预设电路单元为时钟门控单元,则:所述时钟门控单元串连在所述数据选择器与所述输出缓冲器之间,其信号输入端连接至所述数据选择器的输出端,输出端则连接至所述输出缓冲器的输入端;所述时钟门控单元的测试使能端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号;所述时钟门控单元的功能使能端用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。
进一步地,所述预设电路单元为时钟门控单元和一或门,则:所述时钟门控单元串连在所述数据选择器与所述输出缓冲器之间,其信号输入端连接至所述数据选择器的输出端,输出端则连接至所述输出缓冲器的输入端;所述时钟门控单元的测试使能端悬空或者固定连接至低电平信号输出端;所述时钟门控单元的功能使能端连接至所述或门的输出端;所述或门的一个输入端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号;所述或门的另一个输入端则用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。
进一步地,所述预设电路单元为时钟门控单元和偶数个反相单元,则:偶数个所述反相单元串连连接,形成反相单元连接串;所述反相单元连接串的输入端连接至所述时钟门控单元的输出端,所述反相单元连接串的输出端则连接至所述输出缓冲器的输入端。所述时钟门控单元的信号输入端连接至所述数据选择器的输出端;所述时钟门控单元的测试使能端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号;所述时钟门控单元的功能使能端用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。
进一步地,所述预设电路单元为时钟门控单元和奇数个反相单元,则所述时钟网络电路还包括一反相器,其中:奇数个所述反相单元串连连接,形成反相单元连接串;所述反相单元连接串的输入端连接至所述时钟门控单元的输出端,所述反相单元连接串的输出端则连接至所述输出缓冲器的输入端。所述时钟门控单元的信号输入端连接至所述数据选择器的输出端;所述时钟门控单元的测试使能端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号;所述时钟门控单元的功能使能端用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。所述反相器设置在所述数据选择器的第一输入端,用于对所述测试时钟信号进行反相后输入所述数据选择器。
所述时钟网络电路,通过设置一个数据选择器,使得测试时钟信号和功能时钟信号在经过该数据选择器的选择之后,经过相同的由预设电路单元和输出缓冲器组成的路径进行最终输出,在测试时钟信号的时钟树综合中不需改动,电路更加简单合理且易于实现。此外,测试时钟信号的路径上减少了一个数据选择器和测试时钟综合带来的开销。
附图说明
图1为现有的scan_clk和function_clk两个时钟的时钟树结构示意图。
图2为现有的在正常功能模式下的时钟树结构示意图。
图3为现有的在scan测试模式下的时钟树结构示意图。
图4为现有的在scan测试模式下进行时钟树综合后的结构示意图。
图5为预设电路单元为缓冲器的时钟网络电路结构示意图。
图6为预设电路单元为反相器的时钟网络电路结构示意图。
图7为预设电路单元为时钟门控器的时钟网络电路结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
在下面的描述中,给出具体细节以提供对实施例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实施实施例。例如,电路可以在框图中显示,以便不在不必要的细节中使实施例模糊。在其他情况下,为了不混淆实施例,可以不详细显示公知的电路、结构和技术。
一种时钟网络电路,包括数据选择器、预设电路单元和输出缓冲器。其中,所述数据选择器有且只有一个,其第一输入端用于接收测试时钟信号,第二输入端用于接收功能时钟信号,控制信号端用于接收选择信号,输出端则根据所述选择信号的选择结果相应输出测试时钟信号或者功能时钟信号至预设电路单元。所述数据选择器的所述第一输入端、第二输入端和控制信号端都作为所述时钟网络电路的输入端。所述预设电路单元的输入端与所述数据选择器的输出端连接,所述预设电路单元的输出端则连接输出缓冲器。所述预设电路单元用于根据所述预设电路的预设功能对所述数据选择器输出的信号进行处理后,通过所述预设电路单元的输出端输出处理后的信号。所述预设电路单元的预设功能可以根据具体的设计需求进行相应设置,可以设置为缓冲功能或者时钟门控功能等。所述输出缓冲器的输入端连接至所述预设电路单元的输出端,其输出端则作为所述时钟网络电路的输出端。所述输出缓冲器用于对所述预设电路单元输出的信号进行延时输出。通过手动或tcl脚本等其它方式,将所述缓冲器设置成驱动能力、负载和延时等参数与数据选择器都差不多,以保证信号的稳定性。所述时钟网络电路,通过设置一个数据选择器,使得测试时钟信号和功能时钟信号在经过该数据选择器的选择之后,经过相同的由预设电路单元和输出缓冲器组成的路径进行最终输出,在测试时钟信号的时钟树综合中不需改动,电路更加简单合理且易于实现。此外,测试时钟信号的路径上减少了一个数据选择器和测试时钟综合带来的开销。
作为其中一种实施方式,如图5所示,所述预设电路单元为缓冲单元81,这是针对图1中所示的预设电路单元1为缓冲器的情况而设计的。所述缓冲单元10串连在所述数据选择器10与所述输出缓冲器20之间,其输入端连接所述数据选择器10的输出端,其输出端则连接所述输出缓冲器20的输入端。所述缓冲单元81用于对所述数据选择器选择输出的信号进行延时输出。所述缓冲单元81可以直接采用缓冲器。
作为其中一种实施方式,如图6所示,所述预设电路单元为一个反相单元82,这是针对图1中所示的预设电路单元1为反相器的情况而设计的。则,所述时钟网络电路还包括一反相器30。其中,所述反相器30设置在所述数据选择器10的第一输入端,用于对所述测试时钟信号scan_clk进行反相后输入所述数据选择器10。所述反相单元82串连在所述数据选择器10与所述输出缓冲器20之间,其输入端连接所述数据选择器10的输出端,其输出端则连接所述输出缓冲器20的输入端。所述反相单元82用于对所述数据选择器10选择输出的信号进行反相后输出。所述反相单元82直接采用反相器。
作为其中一种实施方式,如图7所示,所述预设电路单元为时钟门控单元40,这是针对图1中所示的预设电路单元1为时钟门控器的情况而设计的。则:所述时钟门控单元40串连在所述数据选择器10与所述输出缓冲器20之间,其信号输入端连接至所述数据选择器的输出端,输出端则连接至所述输出缓冲器的输入端。所述时钟门控单元40的测试使能端te用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号。所述时钟门控单元40的功能使能端enable用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。
作为其中一种实施方式,所述预设电路单元为时钟门控单元和一或门。则:所述时钟门控单元串连在所述数据选择器与所述输出缓冲器之间,其信号输入端连接至所述数据选择器的输出端,输出端则连接至所述输出缓冲器的输入端。所述时钟门控单元的测试使能端悬空或者固定连接至低电平信号输出端。所述时钟门控单元的功能使能端连接至所述或门的输出端。所述或门的一个输入端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号。所述或门的另一个输入端则用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。
作为其中一种实施方式,所述预设电路单元为时钟门控单元和偶数个反相单元。则:偶数个所述反相单元串连连接,形成反相单元连接串,即第一个反相单元的输出端连接第二个反相单元的输入端,第二个反相单元的输出端则连接第三个反相单元的输入端,以此类推,最终,所形成的反相单元连接串只有一个输入端和一个输出端,这一个输入端就是第一个反相单元的输入端,这个一个输出端就是最后一个反相单元的输出端。所述反相单元连接串的输入端连接至所述时钟门控单元的输出端,所述反相单元连接串的输出端则连接至所述输出缓冲器的输入端。所述时钟门控单元的信号输入端连接至所述数据选择器的输出端。所述时钟门控单元的测试使能端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号。所述时钟门控单元的功能使能端用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。
作为其中一种实施方式,所述预设电路单元为时钟门控单元和奇数个反相单元。则所述时钟网络电路还包括一反相器。其中,奇数个所述反相单元串连连接,形成反相单元连接串。所述反相单元连接串的输入端连接至所述时钟门控单元的输出端,所述反相单元连接串的输出端则连接至所述输出缓冲器的输入端。所述时钟门控单元的信号输入端连接至所述数据选择器的输出端;所述时钟门控单元的测试使能端用于连接至外部的测试模式信号输出端或者测试使能信号输出端,并接收外部产生的测试模式信号或者测试使能信号。所述时钟门控单元的功能使能端用于连接至外部的功能使能信号输出端,并接收外部产生的功能使能信号。所述反相器设置在所述数据选择器的第一输入端,用于对所述测试时钟信号进行反相后输入所述数据选择器。
最后应说明的是:本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可,各实施例之间的技术方案是可以相互结合的。以上各实施例仅用于说明本发明的技术方案,而非对其限制,尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。