一種限定有效期的ip核的保護方法
【專利摘要】本發明公開了一種限定有效期的IP核的保護方法,通過在IP核多個狀態機的冗余狀態中植入計數器,利用IP核電路中低翻轉概率節點作為冗余狀態的觸發條件。多個計數器采用分級設計,前一級計數器計滿溢出時為后一級計數器提供進位,最后一級計數器計滿時為IP核電路發送控制信號,使IP核無法繼續使用。在實際使用中,通過改變植入狀態機中計數器的位數并合理選擇狀態機的數量,能夠使IP核電路在預設時間范圍內發生功能故障,達到限制IP核使用的目的,可以有效保護IP核。本發明能在節約IP核電路面積的基礎上利用原始IP核電路中的結構有效延長IP核電路的使用時間,不僅具有很好的隱蔽性,同時具有很強的靈活性。
【專利說明】一種限定有效期的IP核的保護方法
【技術領域】
[0001] 本發明設計一種IP核的保護方法,尤其涉及一種限定有效期的IP核的保護方法。
【背景技術】
[0002] 隨著集成電路的規模越來越大,芯片的集成度越來越高,SOC(系統級芯片)的應 用也越來越廣泛。但是對于大型電路來說,無論是從設計費用、設計周期還是可靠性來說, 傳統的方法都已不能滿足需求。而IP核復用技術的出現有效地解決了這些問題,設計好的 IP模塊可以被直接使用。IP核的出現,大大提高了大規模IC設計的效率,極大地促進了集 成電路設計業的發展,這使得IP核迅速發展,成為集成電路產業中增長最快的部分。但是 伴隨著IP核的推廣和使用,也出現了一系列亟須解決的問題。在IP核交付用戶使用時,很 容易被侵權,引起一系列糾紛。因此,IP核使用的最大障礙之一是IP的知識產權保護,即 如何有效地建立起IP核的保護體系。
[0003] 我國的集成電路設計業,特別是SOC產業的發展離不開IP核產業的支撐。在國際 IP核交易中,如果對IP核的保護不夠,將會使我國的利益遭受重大損失。考慮到國家經濟 利益,不僅要開發具有自主知識產權并且性能優良的IP核,更加重要的是如何保護IP核, 達到保持技術領先性和有效地阻止國外組織對我國知識產權攻擊的目的,在國際競爭中的 地位也就會更加有利。因此對于IP核的保護亟須解決。
[0004]目前可應用于IP核的保護技術主要有兩種:一、數字水印技術,即在IP核中插入 一個很難移除的數字標記。當IP核被非法使用時,數字水印可以表明版權歸屬。但是并不 影響IP核被非法使用時的功能,是一種被動的保護技術。二、加密保護技術,即在IP核 中采用加密保護技術后,只有通過特定平臺才能使用IP核的功能。采用這種方法不能測試 IP集成在芯片中的功耗等信息以及與芯片中其它模塊的兼容性,對IP核的使用受到限制, 具有一定局限性。
【發明內容】
[0005] 針對上述現有技術,本發明提供一種限定有效期的IP核的保護方法,通過在IP核 多個狀態機的冗余狀態中植入計數器結構,利用IP核電路中低翻轉概率節點作為冗余狀 態的觸發條件,多個計數器采用分級設計,當最后一級計數器計滿溢出時使IP核電路功能 出現故障或者使用受限,IP核無法繼續使用。
[0006] 為解決上述技術問題,本發明一種限定有效期的IP核的保護方法予以實現的技 術方案是,該保護方法是:選取IP核電路中的N個狀態機,將N個M位計數器植入到所述N 個狀態機的冗余狀態中;選取IP核電路中的N個低翻轉概率節點作為冗余狀態的觸發條 件,當所述N個低翻轉概率節點翻轉到指定值時,即為滿足狀態轉移條件,此時,觸發各自 狀態機跳轉到相應的狀態機冗余狀態中,進而觸發植入IP核中的N個狀態機的冗余狀態中 的計數器的計數功能;若不滿足狀態轉移條件,狀態機則返回初始狀態;將N個M位計數器 植入到所述N個狀態機的冗余狀態中采用分級結構,具體步驟是:第一級計數器的計數功 能由本級狀態機控制,狀態機滿足轉移條件達到冗余狀態時觸發第一級計數器加I,計滿溢 出時,將溢出位送給后一級計數器;后一級計數器由前一級計數器及本級狀態機共同控制, 當滿足狀態轉移條件、并且前一級計數器溢出位為1時,觸發本級計數器的加1操作;當第 N級計數器計滿溢出時,發送控制信號使IP核電路功能出現故障或使用受限,從而使IP核 受到保護。
[0007] 與現有技術相比,本發明的有益效果是:
[0008] 本發明提出了一種有效的IP核保護方法,在IP核交付用戶試用時,既能保證IP 核功能的完整性,使用戶能夠將IP核集成在IP核電路中進行完整的功能、性能、兼容性等 測試,又能為IP核限定一段使用有效期,一旦超過使用有效期,IP核功能失效,從而實現IP 核的版權保護。采用將分級的計數器結構植入狀態機冗余狀態的方法,能夠在盡可能縮短 計數器位數、減小IP核電路面積的基礎上延長計數器溢出的時間,使這種計數結構具有較 好的隱蔽性,通過調整所選取狀態機數量N及計數器位數M能夠達到預設的有效使用時間。
【專利附圖】
【附圖說明】
[0009] 圖1是利用IP核電路中低翻轉概率節點作為冗余狀態觸發條件的狀態機結構示 意圖;
[0010] 圖2是本發明中多級計數器的結構框圖;
[0011] 圖3是本發明中植入計數器的第一級狀態機的結構示意圖;
[0012] 圖4是本發明中植入計數器的第N級狀態機的結構示意圖。
【具體實施方式】
[0013] 下面結合【具體實施方式】對本發明作進一步詳細地描述。
[0014] 在硬件電路中實現計時功能通常采用計數器實現,在IP核電路的每個時鐘周期 都會觸發計數器的一次加1操作。一個η位的計數器由η個寄存器構成,當寄存器記到全 1時,溢出位置1,其余位清0。計數器計滿溢出一次的時間為:
[0015] T= 2η ·Tclk (1)
[0016] 在一些高頻時鐘IP核電路中,要實現較長的計數周期,需要增加計數器位數,例 如當時鐘頻率為100MHz,即周期為IOns時,要使IP核電路能夠連續工作1天,根據公式 (1),計數器的位數約為43位。若直接采用這種計數器結構,不僅會大大增加IP核電路的 面積開銷,而且容易被發現和移除,不能起到保護IP核電路的功能。因此,本發明提出的一 種限定有效期的IP核的保護方法,選取IP核電路中的N個狀態機,將N個M位計數器植入 到所述N個狀態機的冗余狀態中;選取IP核電路中的N個低翻轉概率節點作為冗余狀態的 觸發條件,當所述N個低翻轉概率節點翻轉到指定值時,S卩為滿足狀態轉移條件,此時,觸 發各自狀態機跳轉到相應的狀態機冗余狀態中,進而觸發植入IP核中的N個狀態機的冗余 狀態中的計數器的計數功能;若不滿足狀態轉移條件,狀態機則返回初始狀態。將N個M位 計數器植入到所述N個狀態機的冗余狀態中采用分級結構,S卩:第一級計數器的計數功能 由本級狀態機控制,狀態機滿足轉移條件達到冗余狀態時觸發第一級計數器加1,計滿溢出 時,將溢出位送給后一級計數器;后一級計數器由前一級計數器及本級狀態機共同控制,當 滿足狀態轉移條件、并且前一級計數器溢出位為1時,觸發本級計數器的加1操作;當第N 級計數器計滿溢出時,發送控制信號使IP核電路功能出現故障或使用受限,從而使IP核受 到保護。
[0017] 本發明通過修改計數器加1的觸發條件,充分利用IP核電路中的狀態機及其冗余 狀態,并通過引入IP核電路中的低翻轉概率節點作為狀態轉移條件,大大降低了計數器加 1的概率,進而有效延長了IP核電路的使用時間。
[0018] 如圖1所示,是利用IP核電路中低翻轉概率節點作為冗余狀態觸發條件的狀態機 結構示意圖,其中從Stl到S"是IP核電路在正常工作時狀態機的n+1個狀態,Sn+1是狀態機 的一個冗余狀態,在正常工作時,這個狀態是閑置的。因此,將計數器植入這個閑置的狀態, 并選取IP核電路中某個低翻轉概率節點P,作為這個狀態的轉移條件。那么,當IP核電路 正常工作,該狀態機運行到Sn狀態時,會判斷節點P是否滿足為冗余狀態sn+1的轉移條件所 設定的值,條件滿足時,狀態機由Sn狀態跳轉到Sn+1狀態,不滿足時則返回S^狀態。由于冗 余狀態的轉移條件P選取的是IP核電路中的低翻轉概率節點,因此,要達到狀態機的冗余 狀態需要一段較長的時間。
[0019] 如圖2所示,本發明一種限定有效期的IP核的保護方法提出一種將計數器植入IP 核電路狀態機中的方法,FSMgIjFSM1<這N個狀態機之間采用分級結構,PgljP1<這N個低翻 轉概率節點分別對應每個狀態機冗余狀態的轉移條件。對于FSM1,當滿足條件P1,狀態機跳 轉到冗余狀態時,計數器進行一次加1操作,當計數器計滿時,溢出位置1,并將溢出值C1ot 發送給下一級狀態機FSM2。對于FSMgljFSMn,當滿足狀態轉移條件Pi,并且前一級狀態機 發送的溢出值為1時,觸發本級狀態機中計數器的加1操作。當最后一級狀態機FSMn的計 數器計滿溢出時,將溢出位接入原始IP核電路中某個部位,修改IP核電路的運行結果,使 IP核電路不能正常工作。
[0020] 如圖3所示,是圖2中第一級狀態機FSM1中計數器的具體植入方法。圖中SgljSn 是FSMj^η個正常工作狀態,Sn+1是冗余狀態,Sn+1的狀態轉移條件P1是IP核電路中選取 的一個低翻轉概率的節點,將M位計數器Counter1植入Sn+1中,C到Cn_i是計數器的M位計 數位,C1ot是計數器的溢出位,當計數器的M位計數位全部計滿,計數器再進行加1操作時, 溢出位C1ot=置1,其余位清0,開始重新計數。將溢出位C1ot接入下一級狀態機FSM2。
[0021] 如圖4所示,是第N(N>1)級狀態機FSMn的內部結構示意圖,與植入第一級狀態機 FSM1中的計數器不同,當狀態機滿足狀態轉移條件PN從正常工作狀態Sm跳轉到Sm+1時,計 數器并不立即執行計數加1操作,而是判斷上一級狀態機FSMim發送過來的CN_1()V位的值, 如果該值為1,則執行計數,否則返回Stl狀態。
[0022] 對采用計數器分級結構的IP核電路能夠正常工作的時間進行理論計算,假設IP 核電路的一個工作周期為Ttl,P1到P1<這N個節點在IP核電路一個工作周期內的翻轉概率 分別為Pl,P2,…,Pn,植入這N個狀態機中的計數器位數都為M。
[0023] 對于狀態機FSM1中的計數器,每計滿一次使溢出位ClOT置1的時間為
[0024]
【權利要求】
1. 一種限定有效期的IP核的保護方法,其特征在于,步驟如下: 選取IP核電路中的N個狀態機,將N個M位計數器植入到所述N個狀態機的冗余狀態 中;選取IP核電路中的N個低翻轉概率節點作為冗余狀態的觸發條件,當所述N個低翻轉 概率節點翻轉到指定值時,即為滿足狀態轉移條件,此時,觸發各自狀態機跳轉到相應的狀 態機冗余狀態中,進而觸發植入IP核中的N個狀態機的冗余狀態中的計數器的計數功能; 若不滿足狀態轉移條件,狀態機則返回初始狀態; 將N個M位計數器植入到所述N個狀態機的冗余狀態中采用分級結構,具體步驟是:第 一級計數器的計數功能由本級狀態機控制,狀態機滿足轉移條件達到冗余狀態時觸發第一 級計數器加1,計滿溢出時,將溢出位送給后一級計數器;后一級計數器由前一級計數器及 本級狀態機共同控制,當滿足狀態轉移條件、并且前一級計數器溢出位為1時,觸發本級計 數器的加1操作;當第N級計數器計滿溢出時,發送控制信號使IP核電路功能出現故障或 使用受限,從而使IP核受到保護。
2. 根據權利要求1所述一種限定有效期的IP核的保護方法,其特征在于: IP核電路中某個狀態機的\到S n狀態是IP核電路在正常工作時的n+1個狀態,S n+1是狀態機的一個冗余狀態,在正常工作時,該n+1狀態是閑置的;將計數器植入這個閑置的 n+1狀態,并選取IP核電路中某個低翻轉概率節點P,作為n+1狀態的轉移條件;當IP核電 路正常工作,該狀態機運行到Sn狀態時,判斷節點P是否滿足冗余狀態Sn+1的轉移條件所設 定的值,條件滿足時,狀態機由Sn狀態跳轉到Sn+1狀態,條件不滿足時則返回S。狀態。
3. 根據權利要求2所述一種限定有效期的IP核的保護方法,其特征在于: 將計數器植入IP核電路中從FSMjlj FSM N個狀態機中,在FSM :到FSM N個狀態 機之間采用分級結構,Pjlj P 1<這N個低翻轉概率節點分別對應每個狀態機冗余狀態的轉移 條件;對于狀態機FSMi,當滿足條件Pi,狀態機FSMi跳轉到冗余狀態時,計數器進行一次加 1操作,當計數器計滿時,溢出位置1,并將溢出值ClOT發送給下一級狀態機FSM 2;從狀態機 FSMglj狀態機FSMN,當滿足狀態轉移條件Pi,并且前一級狀態機發送的溢出值為1時,觸發 本級狀態機中計數器的加1操作;對于最后一級狀態機FSMN,執行計數功能并計滿溢出時, 當最后一級狀態機的計數器計滿溢出時,將溢出位接入原始IP核電路中某個部位,修改原 始IP核電路的運行結果,使IP核電路不能正常工作。
4. 根據權利要求3所述一種限定有效期的IP核的保護方法,其特征在于: 在第一級狀態機FSM1中,將M位計數器Counter 1植入其冗余狀態Sn+1中,C ^到C n_i是 計數器的M位計數位,ClOT是計數器的溢出位,當計數器的M位計數位全部計滿,計數器再進 行加1操作時,溢出位ClOT=置1,其余位清0,開始重新計數;將溢出位ClOT接入下一級狀態 機FSM2;在第N級狀態機FSM ,與植入第一級狀態機FSM :中的計數器不同,當狀態機滿足 狀態轉移條件PNW正常工作狀態S m跳轉到S ^時,計數器并不立即執行計數加1操作,而 是判斷上一級狀態機FSMN_i發送過來的C N_1()V位的值,如果該值為1,則執行計數,否則返回 SQ狀態。
【文檔編號】G06F21/00GK104484583SQ201410776038
【公開日】2015年4月1日 申請日期:2014年12月15日 優先權日:2014年12月15日
【發明者】趙毅強, 楊松, 劉沈豐, 何家驥 申請人:天津大學