一種接口適配器及與Wishbone兼容的裁剪方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及系統(tǒng)芯片S0C設(shè)計(jì)以及IP (Intelligent Property,知識(shí)產(chǎn)權(quán)核)復(fù) 用設(shè)計(jì),特別涉及一種接口適配器及與Wishbone兼容的裁剪方法。
【背景技術(shù)】
[0002] 提高片上系統(tǒng)(System on a Chip, SoC)性能的同時(shí)降低功耗開(kāi)銷意味著必須提 高系統(tǒng)的實(shí)現(xiàn)效率,而實(shí)現(xiàn)效率與系統(tǒng)靈活性又存在矛盾。基于可重配置的硬件功能單元 的實(shí)現(xiàn)方式雖然比軟件方式具有更高的執(zhí)行效率,但是由于底層單元是一種多目標(biāo)設(shè)計(jì), 隨著系統(tǒng)功能的增多,特別是功能的異質(zhì)化,單一可配置功能單元更難同時(shí)滿足執(zhí)行效率 和功能的要求,而多個(gè)單元又帶來(lái)了面積、靜態(tài)功耗和系統(tǒng)管理上的開(kāi)銷。可裁剪片上系統(tǒng) 是指可以在設(shè)計(jì)完成之后根據(jù)應(yīng)用的需要有選擇地保留某些功能模塊,而刪減掉另一些功 能模塊,在需要的時(shí)候還可以重新添加刪掉的功能模塊。裁剪后得到的系統(tǒng)具有最精簡(jiǎn)的 結(jié)構(gòu)和資源,因而可以獲得最高的實(shí)現(xiàn)效率,同時(shí),可靈活改裝的特點(diǎn)又能適應(yīng)應(yīng)用多樣性 的需求。所以,可裁剪系統(tǒng)是解決硬件系統(tǒng)高性能低功耗問(wèn)題的理想解決方案。SoC裁剪的 一項(xiàng)重要內(nèi)容就是在芯片組加工完成之后,運(yùn)行過(guò)程中進(jìn)行的功能單元裁剪和添加。它主 要適用于芯片存在多種功能模式的情況,隨著應(yīng)用需求的變化,芯片中的工作模式可能切 換,而某些IP在某些工作模式下不需要工作,這時(shí)就可以將它裁剪掉,待需要啟用時(shí)再恢 復(fù)。裁剪的一項(xiàng)具體措施就是關(guān)閉閑置IP的電源。
[0003] 關(guān)于SoC的IP接口互連協(xié)議問(wèn)題已經(jīng)進(jìn)行了很長(zhǎng)時(shí)間的研究,取得了大量的成 果,存在各種通用的總線標(biāo)準(zhǔn)和IP接口標(biāo)準(zhǔn),如IBM公司的Core Connect、ARM公司的 AMBA、SilicoreCorp公司的Wishbone、虛擬兀件接口(Virtual Component Interface,VCI) 等。SoC的裁剪問(wèn)題實(shí)質(zhì)上就是功能模塊或IP的集成問(wèn)題,但是它是一種設(shè)計(jì)完成后的集 成問(wèn)題,這一點(diǎn)是它與現(xiàn)有IP集成標(biāo)準(zhǔn)接口的本質(zhì)區(qū)別,現(xiàn)有接口是出于IP可移植性的考 慮,只能解決設(shè)計(jì)階段的集成問(wèn)題,無(wú)法在設(shè)計(jì)之后進(jìn)行即插即用的二次組裝。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種接口適配器及與Wishbone兼容的裁剪 方法,以解決可裁剪S0C系統(tǒng)的IP接口互連問(wèn)題。
[0005] 為了解決上述技術(shù)問(wèn)題,本發(fā)明公開(kāi)了一種接口適配器,至少包括隔離單元和狀 態(tài)機(jī)單元,其中:
[0006] 所述狀態(tài)機(jī)單元,根據(jù)主控制器信號(hào)和本接口適配器內(nèi)其他各單元的信號(hào)執(zhí)行 整個(gè)裁剪過(guò)程中各個(gè)狀態(tài)之間的跳轉(zhuǎn)操作,并在裁剪的不同階段控制所述隔離單元將 wishbone接口的從設(shè)備的輸入輸出信號(hào)鉗位在固定值。
[0007] 可選地,上述接口適配器還包括:
[0008] 電源開(kāi)關(guān)單元,控制連接的wishbone接口的從設(shè)備的電源關(guān)斷和開(kāi)啟。
[0009] 可選地,上述接口適配器中,所述電源開(kāi)關(guān)單元在電源使能信號(hào)VDD_EN=1時(shí)經(jīng)過(guò) 一定的延時(shí)串行依次開(kāi)啟所述從設(shè)備內(nèi)各個(gè)模塊電源,在VDD_EN=0時(shí),依次關(guān)閉所述從設(shè) 備內(nèi)各個(gè)模塊電源,所述電源開(kāi)關(guān)單元在開(kāi)啟和關(guān)斷電源的操作完成后,通過(guò)電源控制應(yīng) 答信號(hào)VDD_ACK信號(hào)將操作完成狀態(tài)反饋給所述狀態(tài)機(jī)單元。
[0010] 可選地,上述接口適配器還包括:
[0011] 時(shí)鐘開(kāi)關(guān)單元,根據(jù)所述狀態(tài)機(jī)單元發(fā)出的時(shí)鐘使能信號(hào)確定是否給連接的 wishbone接口的從設(shè)備提供時(shí)鐘驅(qū)動(dòng)信號(hào)。
[0012] 可選地,上述接口適配器中,所述時(shí)鐘開(kāi)關(guān)單元,在時(shí)鐘使能信號(hào)CLK_EN置1時(shí), 為所述從設(shè)備提供時(shí)鐘信號(hào)。
[0013] 可選地,上述接口適配器還包括:
[0014] 備份寄存器及控制單元,根據(jù)所述狀態(tài)機(jī)單元的控制在裁剪過(guò)程中進(jìn)行狀態(tài)備份 和恢復(fù)。
[0015] 可選地,上述接口適配器中,狀態(tài)機(jī)單元,通過(guò)狀態(tài)備份使能信號(hào)RET_EN控制所 述備份寄存器和控制單元的啟動(dòng);
[0016] 通過(guò)狀態(tài)備份方向信號(hào)RET_DIR指明備份寄存器和控制單元工作在備份模式還 是恢復(fù)模式。
[0017] 可選地,上述接口適配器,在裁剪過(guò)程中,所述狀態(tài)機(jī)單元接收到主控制器發(fā)來(lái)的 接口適配器控制信號(hào)SCP=10時(shí),狀態(tài)跳轉(zhuǎn)到知識(shí)產(chǎn)權(quán)核(IP)隔離,等待主控制器完成裁剪 前的必要準(zhǔn)備工作,之后所述狀態(tài)機(jī)單元接收到主控制器發(fā)來(lái)的SCP=10時(shí),關(guān)閉時(shí)鐘開(kāi)關(guān) 單元;
[0018] 所述狀態(tài)機(jī)單元檢測(cè)到接口適配器上的wishbone總線的CYC信號(hào)SCYC=1或接口 適配器上的wishbone總線的STB信號(hào)SSTB=1時(shí)SCP=1X,則不響應(yīng),并產(chǎn)生接口適配器上的 wishbone總線的ERR信號(hào)SERR=1 ;所述狀態(tài)機(jī)單元關(guān)閉時(shí)鐘開(kāi)關(guān)單元,關(guān)斷時(shí)鐘開(kāi)關(guān)單元 后狀態(tài)跳轉(zhuǎn)到數(shù)據(jù)備份,狀態(tài)備份使能信號(hào)RET_EN=1并通過(guò)RET_DIR指定狀態(tài)備份方向?yàn)?從設(shè)備到備份寄存器,所述狀態(tài)機(jī)單元確定備份類型為軟件備份時(shí),狀態(tài)直接轉(zhuǎn)入端口隔 離,確定備份類型為寄存器備份時(shí),則在完成單周期寄存器讀取后狀態(tài)轉(zhuǎn)入端口隔離,確定 備份類型為掃描鏈備份時(shí),則在完成多個(gè)周期的掃描鏈讀取工作后狀態(tài)轉(zhuǎn)入端口隔離,同 時(shí)向主控制器發(fā)送應(yīng)答信號(hào)SCK=1,結(jié)束備份狀態(tài)后接收到SCP=11,狀態(tài)跳轉(zhuǎn)到數(shù)據(jù)恢復(fù) 狀態(tài)。
[0019] 可選地,上述接口適配器中,所述狀態(tài)機(jī)單元在端口隔離狀態(tài)下,將隔離使能信號(hào) IS0L_EN=1,控制隔離單元在從設(shè)備掉電之前將接口信號(hào)鉗位在固定值;完成端口隔離后, 狀態(tài)機(jī)單元向隔離單元發(fā)送從設(shè)備復(fù)位信號(hào)IS0L_RESET=1,將從設(shè)備復(fù)位;在復(fù)位后,通 過(guò)VDD_EN=0關(guān)斷電源。
[0020] 可選地,上述接口適配器中,在接入過(guò)程中,所述狀態(tài)機(jī)單元接收到SCP=11,通過(guò) VDD_EN=1開(kāi)啟電源,等待出現(xiàn)電源開(kāi)啟應(yīng)答信號(hào)VDD_ACK=1,接口適配器立刻向主控制器 發(fā)送應(yīng)答信號(hào)SCK=1以表示電源成功開(kāi)啟;電源開(kāi)啟后,狀態(tài)進(jìn)入復(fù)位,將IS0L_RESET=1, 狀態(tài)進(jìn)入端口隔離,通過(guò)IS0L_EN=1控制隔離單元將隔離端口打開(kāi);在進(jìn)入到數(shù)據(jù)恢復(fù)狀 態(tài)后,狀態(tài)使能備份信號(hào)RET_EN=1并通過(guò)RET_DIR指定狀態(tài)備份方向?yàn)樗鰝浞菁拇嫫飨?從設(shè)備寫入數(shù)據(jù),再根據(jù)從設(shè)備規(guī)定的方式進(jìn)行數(shù)據(jù)恢復(fù),數(shù)據(jù)恢復(fù)完成后接收到SCP=10, 狀態(tài)跳轉(zhuǎn)到備份狀態(tài),在掃描鏈方式數(shù)據(jù)恢復(fù)完成時(shí)SCK信號(hào)置1 ;在狀態(tài)恢復(fù)完成后且 SCP=11時(shí),狀態(tài)跳到時(shí)鐘關(guān)閉,再收到SCP=11時(shí),狀態(tài)跳轉(zhuǎn)到IP隔離,通過(guò)CLK_EN=1開(kāi)啟 時(shí)鐘開(kāi)關(guān)單元為從設(shè)備提供時(shí)鐘,接收主控制器由wishbone接口發(fā)來(lái)的請(qǐng)求,如果使用軟 件備份方式,進(jìn)行狀態(tài)恢復(fù);軟件備份和其它接入準(zhǔn)備完成,狀態(tài)跳轉(zhuǎn)到正常工作狀態(tài)。
[0021] 可選地,上述接口適配器中,所述狀態(tài)機(jī)單元接收SCP=00時(shí),保護(hù)當(dāng)前狀態(tài)不變。
[0022]可選地,上述接口適配器中,在裁剪過(guò)程中,所述狀態(tài)機(jī)單元接收SSTB=1,則通過(guò) 接口適配器上的wishbone總線的ERR信號(hào)SEER向主控制器反饋錯(cuò)誤。
[0023] 可選地,上述接口適配器中,在時(shí)鐘關(guān)閉、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、端口隔離、復(fù)位、電 源關(guān)閉狀態(tài)下,所述狀態(tài)機(jī)單元的狀態(tài)在數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)間反復(fù)切換超過(guò)設(shè)定次數(shù), 則通過(guò)接口適配器上的wishbone總線的RTY信號(hào)SRTY,提示主控制器發(fā)送連續(xù)的SCP=11 或10。
[0024] 本發(fā)明還公開(kāi)了一種與Wishbone兼容的裁剪方法,采用如上所述的接口適配器 實(shí)現(xiàn),該方法包括:
[0025] 所述接口適配器根據(jù)主控制器信號(hào)對(duì)wishbone接口的從設(shè)備執(zhí)行裁剪操作,并 在裁剪的不同階段將wishbone接口的從設(shè)備的輸入輸出信號(hào)鉗位在固定值。
[0026] 本申請(qǐng)技術(shù)方案適用于可裁剪、低功耗、高能效、即插即用的S0C系統(tǒng)設(shè)計(jì),可實(shí) 現(xiàn)滿足異質(zhì)多功能模塊S0C靈活配置。
【附圖說(shuō)明】
[0027] 圖1為本實(shí)施例中接口適配器與主控器以及Wishbone接口 IP之間的連接示意 圖;
[0028] 圖2為與本實(shí)施例中適配器結(jié)構(gòu)示意圖;
[0029] 圖3為圖2所示接口適配器內(nèi)狀態(tài)轉(zhuǎn)移示意圖;
[0030] 圖4為圖2所示接口適配器中電源開(kāi)關(guān)單元的電路示意圖;
[0031] 圖5為圖2所示接口適配器中隔離單元的電路示意圖。
【具體實(shí)施方式】
[0032] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文將結(jié)合附圖對(duì)本發(fā)明技 術(shù)方案作進(jìn)一步詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例中 的特征可以任意相互組合。
[0033] 實(shí)施例1
[0034] 本實(shí)施例提供一種接口適配器,其可實(shí)現(xiàn)與Wishbone兼容的裁剪操作。
[0035] 下面先結(jié)合圖1,說(shuō)明本實(shí)施例的接口適配器和Wishbone IP (也可稱為從設(shè)備)、 主控制器(也可稱為主設(shè)備)之間的連接。
[0036] 接口適配器與Wishbone接口 IP相連的一側(cè)(內(nèi)側(cè))接口包括wishbone標(biāo)準(zhǔn)規(guī)定 的所有信號(hào)、電源信號(hào)、地線、RET_DATA (可選)信號(hào)和SCAN_CLK (可選)信號(hào),與主控制器 相連的一側(cè)(外側(cè))接口信號(hào)包括SCP和SACK信號(hào)控制接口適配器的裁剪工作。主控制器 與接 口適配器間的 SWE,SRESET,SSTB,SCYC,SSEL,SL0CK,SACK,STGD_I,SDAT_I,SDAT_0, SADR,SERR,SRTY為wishbone總線標(biāo)準(zhǔn)接口,在未進(jìn)行裁剪過(guò)程中這些信號(hào)可以直接傳輸 到IP模塊內(nèi)部,此時(shí)的接口適配器對(duì)于wishbone總線信號(hào)來(lái)說(shuō)是透明的。在裁剪過(guò)程中, wishbone總線信號(hào)在裁剪的不同階段將鉗位在固定值,以免干擾總線正常運(yùn)行。
[0037] 此時(shí),內(nèi)側(cè)信號(hào)中:
[0038] 電源信號(hào)通過(guò)適配器提供,其和系統(tǒng)電源之間存在受適配器控制的開(kāi)關(guān);
[0039] CLK信號(hào)由適配器提供,在正常工作條件下與下述外側(cè)的SCLK信號(hào)相同,作為 wi shbone接口標(biāo)準(zhǔn)規(guī)定的CLK信號(hào);
[0040] RET_DATA_I和RET_DATA_0 :作為IP內(nèi)部寄存器和接口適配器內(nèi)部備份寄存器之 間傳遞數(shù)據(jù)的總線,寬度根據(jù)IP情況定義--在采用掃描鏈方式備份數(shù)據(jù)的情況下,它是 IP掃描鏈的數(shù)據(jù)輸入/輸出信號(hào),端口寬度等于掃描鏈條數(shù);在直接備份的情況下它直接 連接內(nèi)部寄存器和備份寄存器,寬度等于需要備份狀態(tài)的內(nèi)部寄存器的個(gè)數(shù);RET_DATA_I 為接口適配器輸入信號(hào),RET_DATA_0為