一種片上系統soc芯片的時鐘網絡系統的制作方法
【技術領域】
[0001]本發明涉及多接口、多應用的S0C(System On Chip)芯片測試技術,尤其涉及一種片上系統SOC芯片的時鐘網絡系統。
【背景技術】
[0002]隨著集成電路領域芯片規模的增大及工藝的提升,在芯片制造過程中可能產生的物理缺陷越來越需要關注。為了縮短芯片的測試時間及測試成本,可測性設計(Design ForTest, DFT)應運而生。可測性設計是對一個給定的電路設計進行修改,提高電路的可控制性和可觀測性,即通過外部端口向電路中輸入設定值,即可在電路的每個節點建立一個可預知的信號值。
[0003]傳統的DFT測試,可以有效的測試整個SOC芯片的數字電路部分,但是每次只能針對全芯片進行測試。對于多接口、多應用的SOC芯片,每次對全部芯片進行測試,包括不需要的功能模式,增加了測試時間及測試成本。
【發明內容】
[0004]為了解決上述問題,本發明提出了一種片上系統SOC芯片的時鐘網絡系統,能夠使得同一款SOC芯片在不同的應用領域下,進行針對性的部分測試,有效的縮短了測試時間及測試成本。
[0005]為了達到上述目的,本發明提出了一種片上系統SOC芯片的時鐘網絡系統,所述系統包括:外部時鐘輸入模塊、系統時鐘源、多路測試時鐘和時鐘選擇器。
[0006]外部時鐘輸入模塊,用于通過時鐘選擇器為SOC芯片上的一個或多個功能模塊提供外部時鐘。
[0007]系統時鐘源,用于發出原始時鐘,將該原始時鐘發送至倍頻器生成高頻時鐘,并將該原始時鐘和高頻時鐘發送至時鐘選擇器。
[0008]多路測試時鐘,用于分別通過時鐘選擇器與一個或多個功能模塊相連,并在測試使能信號有效時,根據捕獲使能信號控制各個功能模塊的測試時鐘數據的輸入或測試結果的輸出。
[0009]時鐘選擇器,用于在測試使能信號無效時,根據系統寄存器的配置信息,選擇原始時鐘或者高頻時鐘為一個或多個功能模塊提供各模塊的工作時鐘;或者,在測試使能信號無效時,采用外部時鐘為一個或多個功能模塊提供各模塊的工作時鐘;并且在測試使能信號有效時,為一個或多個功能模塊提供多路測試時鐘輸出的各模塊的測試時鐘數據。
[0010]優選地,
[0011]多路測試時鐘包括第一測試時鐘、第二測試時鐘、第三測試時鐘和第四測試時鐘。
[0012]多個功能模塊包括系統控制模塊、安全模塊、內置集成電路I2C模塊、串行外圍設備接口 SPI模塊、通用串行總線USB模塊、通用非同步接收/傳送器UART模塊和7816模塊。
[0013]時鐘選擇器包括25個時鐘選擇器,該25個時鐘選擇器為從第I時鐘選擇器開始編號的第I時鐘選擇器至第25時鐘選擇器。
[0014]其中,第I時鐘選擇器至第8時鐘選擇器,用于接收系統寄存器的配置信息;第9時鐘選擇器至第25時鐘選擇器,用于接收測試使能信號和/或捕獲使能信號。
[0015]第I時鐘選擇器、第2時鐘選擇器、第3時鐘選擇器、第5時鐘選擇器、第7時鐘選擇器和第8時鐘選擇器分別與倍頻器和系統時鐘源直接連接。
[0016]系統還包括:系統分頻器、安全模塊分頻器、I2C模塊分頻器、SPI模塊分頻器、USB模塊分頻器、UART模塊分頻器和7816模塊分頻器。
[0017]優選地,
[0018]第一測試時鐘,用于為系統控制模塊和安全模塊提供測試時鐘。
[0019]其中,第一測試時鐘依次通過第9時鐘選擇器、系統分頻器和第10時鐘選擇器與系統控制模塊相連;或者,第一測試時鐘直接通過第10時鐘選擇器與系統控制模塊相連;在第9時鐘選擇器和/或第10時鐘選擇器的測試使能有效且捕獲使能無效時,為系統控制模塊內的所有寄存器輸入測試數據,在第9時鐘選擇器和/或第10時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出系統控制模塊測試結果。
[0020]第一測試時鐘依次通過第11時鐘選擇器、安全模塊分頻器和第12時鐘選擇器與安全模塊相連;或者,第一測試時鐘直接通過第12時鐘選擇器與安全模塊相連;在第11時鐘選擇器和/或第12時鐘選擇器的測試使能有效且捕獲使能無效時,為安全模塊內的所有寄存器輸入測試數據,在第11時鐘選擇器和/或第12時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出安全模塊測試結果。
[0021]優選地,
[0022]第二測試時鐘,用于為I2C模塊提供測試時鐘。
[0023]其中,第二測試時鐘通過以下任意一種方式為I2C模塊進行測試:
[0024]第二測試時鐘依次通過第13時鐘選擇器、I2C模塊分頻器和第14時鐘選擇器后,再依次經過第4時鐘選擇器和第15時鐘選擇器與I2C模塊相連;在第13時鐘選擇器和第15時鐘選擇器的測試使能有效且捕獲使能無效時,為I2C模塊內的所有寄存器輸入測試時鐘數據,在第13時鐘選擇器和第15時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出I2C模塊測試結果。
[0025]第二測試時鐘直接經過第14時鐘選擇器后,再依次經過第4時鐘選擇器和第15時鐘選擇器與I2C模塊相連;在第14時鐘選擇器和第15時鐘選擇器的測試使能有效且捕獲使能無效時,為I2C模塊內的所有寄存器輸入測試時鐘數據,在第14時鐘選擇器和第15時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出I2C模塊測試結果。
[0026]第二測試時鐘直接經過第15時鐘選擇器與I2C模塊相連,在第15時鐘選擇器的測試使能有效且捕獲使能無效時,為I2C模塊內的所有寄存器輸入測試時鐘數據,在第15時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出I2C模塊測試結果。
[0027]優選地,
[0028]第三測試時鐘,用于為SPI模塊提供測試時鐘。
[0029]其中,第三測試時鐘通過以下任意一種方式為SPI模塊進行測試:
[0030]第三測試時鐘依次通過第16時鐘選擇器、SPI模塊分頻器和第17時鐘選擇器后,再依次經過第6時鐘選擇器和第18時鐘選擇器與SPI模塊相連;在第16時鐘選擇器、第17時鐘選擇器和第18時鐘選擇器的測試使能有效且捕獲使能無效時,為SPI模塊內的所有寄存器輸入測試時鐘數據,在第16時鐘選擇器、第17時鐘選擇器和第18時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出SPI模塊測試結果。
[0031]第三測試時鐘直接經過第17時鐘選擇器后,再依次經過第6時鐘選擇器和第18時鐘選擇器與SPI模塊相連;在第17時鐘選擇器和第18時鐘選擇器的測試使能有效且捕獲使能無效時,為SPI模塊內的所有寄存器輸入測試時鐘數據,在第17時鐘選擇器和第18時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出測試時鐘數據。
[0032]第三測試時鐘直接經過第18時鐘選擇器與SPI模塊相連;在第18時鐘選擇器的測試使能有效且捕獲使能無效時,為SPI模塊內的所有寄存器輸入測試時鐘數據,在第18時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出測試時鐘數據。
[0033]優選地,
[0034]第四測試時鐘,用于為USB模塊、UART模塊和7816模塊提供測試時鐘。
[0035]其中,第四測試時鐘通過第19時鐘選擇器直接與USB模塊相連,在第19時鐘選擇器的測試使能有效時,為USB模塊提供USB模塊第一路高頻測試時鐘數據,并控制高頻時鐘控制結尾寄存器,輸出USB模塊第一路測試結果;或者,第四測試時鐘通過第20時鐘選擇器直接與USB模塊相連,在第20時鐘選擇器的測試使能有效時,為USB模塊提供USB模塊第二路高頻測試時鐘數據,并控制高頻時鐘控制結尾寄存器,輸出USB模塊第二路測試結果。
[0036]第四測試時鐘依次通過第21時鐘選擇器、UART模塊分頻器和第22時鐘選擇器與UART模塊相連;在第21時鐘選擇器和第22時鐘選擇器的測試使能有效且捕獲使能無效時,為UART模塊內的所有寄存器輸入測試時鐘數據,在第21時鐘選擇器和第22時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出UART模塊測試結果;或者,第四測試時鐘直接經過第22時鐘選擇器與UART模塊相連;在第22時鐘選擇器的測試使能有效且捕獲使能無效時,為UART模塊內的所有寄存器輸入測試時鐘數據,在第22時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出UART模塊測試結果。
[0037]第四測試時鐘依次通過第23時鐘選擇器、7816模塊分頻器和第24時鐘選擇器與7816模塊相連;在第23時鐘選擇器和第24時鐘選擇器的測試使能有效且捕獲使能無效時,為7816模塊內的所有寄存器輸入7816模塊第一路高頻時鐘測試數據,在第23時鐘選擇器和第24時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出7816模塊第一路測試結果;或者,第四測試時鐘直接經過第24時鐘選擇器與7816模塊相連;在第24時鐘選擇器的測試使能有效且捕獲使能無效時,為7816模塊內的所有寄存器輸入7816模塊第一路高頻時鐘測試數據,在第24時鐘選擇器的測試使能與捕獲使能均有效時,控制高頻時鐘控制結尾寄存器,輸出7816模塊第一路測試結果。
[0038]第四測試時鐘通過第25時鐘選擇器直接與7816模塊相連,在第25時鐘選擇器的測試使能有效時,為7816模塊提供7816模塊第二路高頻時鐘測試數據,并控制高頻時鐘控制結尾寄存器,輸出7816模塊第二路測試結果。
[0039]優選地,外部時鐘輸入模塊包括:USB外部時鐘輸入模塊和7816外部時鐘輸入模塊。
[0040]USB外部時鐘輸入模塊,依次通過USB模塊分頻器和第19時鐘選擇器與USB模塊相連,在第19時鐘選擇器的測試使能信號無效時,為USB模塊提供USB模塊第一工作時鐘;或者,USB外部時鐘輸入模塊直接通過第20時鐘選擇器與USB模塊相連,在第20時鐘選擇器的測試使能信號無效時,為USB模塊提供USB模塊第二工作時鐘。
[0041 ] 7816外部時鐘輸入,通過時鐘濾波器與第25時鐘選擇器相連,在第25時鐘選擇器的測試使能信號無效時,為7816模塊提供7816模塊第二工作時鐘。
[0042]優選地,外部時鐘輸入模塊還包括:SPI外部時鐘輸入模塊。
[0043]SPI外部時鐘輸入模塊與第三測試時鐘復用。
[0044]SPI外部時鐘輸入模塊通過以下任意一種方式為SPI模塊提供SPI模塊第一工作時鐘:
[0045]SPI外部時鐘輸入模塊依次通過第16時鐘選擇器、SPI模塊分頻器和第17時鐘選擇器后,再依次經過第6時鐘選擇器和第18時鐘選擇器與SPI模塊相連;在第16時鐘選擇器、第17時鐘選擇器和第18時鐘選擇器的測試使能信號無效時,為SPI模塊提供SPI模塊第一工作時鐘。
[0046]SPI外部時鐘輸入模塊直接經過第17時鐘選擇器后,再依次經過第6時鐘選擇器和第18時鐘選擇器與SPI模塊相連;在第17時鐘選擇器和第18時鐘選擇器的測試使能信號無效時,為SPI模塊提供SPI模塊第一工作時鐘。
[0047]SPI外部時鐘輸入模塊直接經過第18時鐘選擇器與SPI模塊相連;在第18時鐘選擇器的測試使能信號無效時,為SPI模塊提供SPI模塊第一工作時鐘。
[0048]SPI外部時鐘輸入模塊直接與SPI模塊相連,為SPI模塊提供SPI模塊第二工作時鐘。
[0049]優選地,
[0050]系統時鐘源還用于,通過以下任意一種方式將原始時鐘或者高頻時鐘通過時鐘選擇器和/或系統分頻器發送給系統模塊,作為系統工作時鐘:
[0051]在第9時鐘選擇器和第10時鐘選擇器的測試使能信號無效時,將原始時鐘和高