李世平 張洪昱 朱靜浩 劉靜 倪暹
(江蘇華創(chuàng)微系統(tǒng)有限公司,江蘇南京 211899)
集成電路是現(xiàn)代信息社會(huì)的基石,自誕生起,在摩爾定律的驅(qū)動(dòng)下飛速發(fā)展,從20世紀(jì)60年代的十幾個(gè)晶體管到如今成百上千個(gè)晶體管,進(jìn)入了片上系統(tǒng)(SoC)時(shí)代,高主頻、高集成是其發(fā)展趨勢(shì),芯片溫度也隨之越來(lái)越高,其對(duì)芯片功能、性能及可靠性的影響備受關(guān)注。在探索散熱方法的同時(shí),通過(guò)在大規(guī)模SoC芯片內(nèi)部集成溫度傳感器,準(zhǔn)確監(jiān)控芯片內(nèi)部溫度,及早發(fā)現(xiàn)過(guò)熱問(wèn)題,成為芯片設(shè)計(jì)行業(yè)的主流方向[1-3]。
本文面向高性能異構(gòu)多核SoC芯片的需求,單片集成了多個(gè)高精度、低功耗溫度傳感器,實(shí)現(xiàn)了對(duì)片內(nèi)不同核溫度狀態(tài)的動(dòng)態(tài)監(jiān)測(cè),結(jié)合系統(tǒng)級(jí)降頻和電源門(mén)控等方法支持過(guò)溫保護(hù),保障了運(yùn)行時(shí)芯片功能性能的長(zhǎng)期穩(wěn)定,有效提升了芯片可靠性。
溫度傳感器結(jié)構(gòu)框圖如圖1所示,主要包括溫傳控制器(Temperature Sensor Controller,TSC)和溫度傳感電路(Temperature Sensor Physical circuit,TSP)兩個(gè)模塊。TSC模塊主要負(fù)責(zé)與SoC芯片主控單元交互、啟動(dòng)和結(jié)束溫度監(jiān)測(cè)、讀取溫度編碼數(shù)據(jù)、上報(bào)中斷或門(mén)控信號(hào)等功能,交互接口為標(biāo)準(zhǔn)APB接口,內(nèi)部包括APB接口譯碼、溫傳寄存器、電路接口信號(hào)生成器、中斷產(chǎn)生器、門(mén)控產(chǎn)生器等多個(gè)子模塊;TSP模塊主要負(fù)責(zé)實(shí)時(shí)測(cè)量當(dāng)前電路的溫度并上報(bào)溫度編碼數(shù)據(jù)。整個(gè)溫度傳感器的工作電壓為模擬1.8 V、數(shù)字0.8 V,動(dòng)態(tài)電流僅在百μA量級(jí)。
圖1 溫度傳感器結(jié)構(gòu)框圖
溫度傳感器的具體工作流程如下:
(1)SoC芯片主控單元通過(guò)APB標(biāo)準(zhǔn)總線接口通知TSC模塊啟動(dòng)溫度監(jiān)測(cè);
(2)TSC模塊向TSP模塊發(fā)起溫度監(jiān)測(cè)啟動(dòng)命令;
(3)TSP模塊開(kāi)始持續(xù)的溫度測(cè)量,并將測(cè)量得到的溫度編碼數(shù)據(jù)送給TSC模塊;
(4)TSC模塊讀取溫度編碼數(shù)據(jù),支持單次讀取或多次讀取求平均兩種模式,當(dāng)讀取完畢后,TSC模塊向TSP模塊發(fā)起溫度監(jiān)測(cè)結(jié)束命令;
(5)TSC模塊通過(guò)APB標(biāo)準(zhǔn)接口將溫度編碼數(shù)據(jù)上報(bào)給SoC芯片主控單元;
(6)當(dāng)需要過(guò)溫保護(hù)時(shí),SoC芯片主控單元可通過(guò)APB標(biāo)準(zhǔn)總線配置TSC模塊內(nèi)部的溫度閾值寄存器,當(dāng)TSC模塊讀取到溫度編碼后,自動(dòng)與溫度閾值寄存器進(jìn)行比較,若超過(guò)閾值,則通過(guò)中斷信號(hào)上報(bào)SoC芯片主控單元,同時(shí)產(chǎn)生門(mén)控信號(hào)通知SoC實(shí)施降頻或電源關(guān)斷等操作,防止芯片繼續(xù)升溫,保障芯片可靠性。
片內(nèi)溫度傳感器通常需要校正才能獲得更高的精度[4],本文所述溫度傳感器包含了TRIMG、TRIMO兩個(gè)校正參數(shù),通過(guò)在芯片測(cè)試階段對(duì)其進(jìn)行校正則可以達(dá)到高精度目標(biāo),具體校正方式如下:
(1)首先設(shè)置TRIMG=15,TRIMO=0。
(2)在Temp1=125 ℃下測(cè)出溫度編碼數(shù)據(jù)為T(mén)D1,建議測(cè)試64次取平均值。
(3)在Temp2=25 ℃下測(cè)出溫度編碼數(shù)據(jù)為T(mén)D2,建議測(cè)試64次取平均值。
(4)代入公式(1)計(jì)算得到校正后的TRIMG參數(shù)值,其中P2、P1、P0為固定值。
(5)將計(jì)算出的TRIMG寫(xiě)入TSC模塊,在Temp2=25 ℃下再次測(cè)出溫度編碼數(shù)據(jù)為T(mén)D3,建議測(cè)試64次取平均值。
(6)代入公式(2)計(jì)算得到校正后的TRIMO[4:0]的參數(shù)值,其中TDref為25 ℃下的溫度編碼。當(dāng)TDref>TD3時(shí),TRIMO[5]為0,反之為1。
(7)經(jīng)過(guò)(1)~(6)后所得的TRIMG、TRIMO為校正后的參數(shù)值,將該數(shù)值存入EFuse內(nèi)固化即可。
TSC模塊和TSP模塊中間的接口時(shí)序如圖2所示,其中Control Signals為各類(lèi)控制參數(shù),包括前文所述的TRIMG、TRIMO等;ENA為使能信號(hào),高有效,有效時(shí)間內(nèi)進(jìn)行溫度測(cè)量;DATA_VALID為返回的溫度編碼數(shù)據(jù)有效信號(hào);DATA_OUT為返回的溫度編碼數(shù)據(jù)。
圖2 關(guān)鍵接口時(shí)序圖
當(dāng)各類(lèi)控制參數(shù)確定后,需要啟動(dòng)溫度監(jiān)測(cè)時(shí),TSC模塊將使能信號(hào)ENA置高,通知TSP模塊啟動(dòng)一輪溫度監(jiān)測(cè),ENA至少需要持續(xù)40 μs,經(jīng)過(guò)一段時(shí)間后,TSP模塊將通過(guò)DATA_VALID和DATA_OUT返回溫度編碼數(shù)據(jù),在溫度監(jiān)測(cè)過(guò)程中該數(shù)據(jù)將持續(xù)有效,TSC模塊可以多次讀取溫度編碼數(shù)據(jù)并求取平均以提高精度,最大可讀256次,直到TSC模塊讀取結(jié)束后將ENA置低,本輪溫度監(jiān)測(cè)過(guò)程結(jié)束。
本文所述溫度傳感器應(yīng)用于3080型SoC芯片,該芯片采用4個(gè)通用處理核和4個(gè)專(zhuān)用加速核的異構(gòu)多核架構(gòu),其中,通用處理核采用多發(fā)射超標(biāo)量結(jié)構(gòu),支持亂序執(zhí)行和分支預(yù)測(cè),核內(nèi)集成向量部件實(shí)現(xiàn)SIMD矢量計(jì)算,專(zhuān)用加速核則通過(guò)動(dòng)態(tài)可重構(gòu)的方式支持FFT、FIR、矩陣運(yùn)算等十余種典型信號(hào)處理算法的硬件加速,全芯片單精度浮點(diǎn)峰值計(jì)算能力超過(guò)了每秒5 000億次,支持DDR、PCIe等高速接口以及FLASH、UART、CAN、I2C、GPIO等低速接口,支持網(wǎng)絡(luò)和EJTAG調(diào)試,并構(gòu)建了包括編譯器、調(diào)試器、操作系統(tǒng)在內(nèi)的完整的軟件工具鏈,提供了豐富的通信中間件、計(jì)算中間件以及可視化集成開(kāi)發(fā)環(huán)境,支持應(yīng)用便捷開(kāi)發(fā)。
因芯片主頻和算力較高,運(yùn)行時(shí)功率密度較大,為了能夠監(jiān)測(cè)到各功耗密集區(qū)域的溫度,片內(nèi)共集成了8個(gè)溫度傳感器,物理設(shè)計(jì)過(guò)程中將溫度傳感器重點(diǎn)分布在處理核和專(zhuān)用加速核的周?chē)?。該芯片流片后的?shí)物圖如圖3所示。
圖3 芯片實(shí)物圖
溫度傳感器的功能和性能測(cè)試基于3080型SoC芯片測(cè)試板開(kāi)展,測(cè)試板為+12 V直流電源輸入,板載DDR內(nèi)存條、FPGA、FLASH、MCU等多種器件,配備芯片定制插座以及PCIe子卡等器材。測(cè)試時(shí)芯片放置在定制插座中,通過(guò)串口或網(wǎng)絡(luò)與上位機(jī)通信。芯片支持從多個(gè)設(shè)備空間啟動(dòng),測(cè)試時(shí)選擇外部SPI FLASH啟動(dòng)模式,啟動(dòng)后加載操作系統(tǒng),然后片內(nèi)多核同時(shí)循環(huán)運(yùn)行FFT程序。通過(guò)紅外測(cè)溫儀監(jiān)測(cè)芯片殼溫,同時(shí)讀取片內(nèi)8個(gè)溫度傳感器(記為p0~p7)的溫度,選取12個(gè)溫度測(cè)試點(diǎn),8個(gè)溫度傳感器讀出的溫度和殼溫的關(guān)系如圖4所示,可以看到,不同位置的溫度傳感器所測(cè)量的溫度具有較好的一致性。
圖4 8個(gè)溫度傳感器(p0~p7)的測(cè)試結(jié)果與殼溫的對(duì)比
不失一般性,選取p0號(hào)溫度傳感器的測(cè)試結(jié)果,將其與殼溫進(jìn)行線性擬合如圖5所示,可以看到,兩者具有很強(qiáng)的線性關(guān)系,線性相關(guān)系數(shù)達(dá)到0.995 9。
圖5 p0號(hào)溫度傳感器測(cè)試溫度與實(shí)際殼溫的線性擬合情況
本文面向高性能異構(gòu)多核SoC芯片的應(yīng)用需求,集成設(shè)計(jì)并實(shí)現(xiàn)了8個(gè)高精度、低功耗的溫度傳感器,能夠?qū)π酒瑑?nèi)部不同區(qū)域的溫度狀態(tài)進(jìn)行動(dòng)態(tài)監(jiān)測(cè)。芯片實(shí)測(cè)結(jié)果顯示,不同位置的溫度傳感器具有較好的一致性,且溫度傳感器測(cè)量溫度和芯片實(shí)際殼溫具有很強(qiáng)的線性度,線性相關(guān)系數(shù)高達(dá)0.995 9,這表明溫度傳感器能夠準(zhǔn)確反映芯片內(nèi)部溫度的實(shí)時(shí)變化,同時(shí),該溫度傳感器還支持過(guò)溫預(yù)警功能,當(dāng)溫度超過(guò)所設(shè)置的閾值時(shí),能夠及時(shí)上報(bào)中斷信號(hào)和門(mén)控信號(hào),支撐實(shí)現(xiàn)了系統(tǒng)級(jí)的降頻和電源關(guān)斷,在全芯片狀態(tài)監(jiān)控、過(guò)溫保護(hù)等方面都具有重要意義,有效提升了芯片運(yùn)行時(shí)的可靠性。