1.一種系統(tǒng)級(jí)芯片(SoC),包括:
中央處理器(CPU);
現(xiàn)場(chǎng)可編程門陣列(FPGA),其中設(shè)有加密/解密模塊,所述CPU通過系統(tǒng)總線連接到所述加密/解密模塊;以及
片上存儲(chǔ)器,其通過系統(tǒng)總線連接到所述FPGA的所述加密/解密模塊并且其中存儲(chǔ)有預(yù)設(shè)的加密和/或不加密的系統(tǒng)程序和執(zhí)行所述系統(tǒng)程序所需的數(shù)據(jù);其中
所述加密/解密模塊執(zhí)行如下的加密/解密操作:在所述系統(tǒng)程序和/或所述數(shù)據(jù)以預(yù)定的地址映射關(guān)系存儲(chǔ)于所述片上存儲(chǔ)器中的情況下,將所述CPU發(fā)送的地址解密為所述系統(tǒng)程序和/或所述數(shù)據(jù)在所述片上存儲(chǔ)器中的實(shí)際地址;并且/或者在所述系統(tǒng)程序和/或所述數(shù)據(jù)是加密的情況下,對(duì)所述CPU經(jīng)由所述FPGA從所述片上存儲(chǔ)器讀取的所述系統(tǒng)程序和/或所述數(shù)據(jù)進(jìn)行解密,以及對(duì)從所述CPU經(jīng)由所述FPGA傳輸?shù)剿銎洗鎯?chǔ)器的數(shù)據(jù)進(jìn)行加密。
2.一種系統(tǒng)級(jí)芯片(SoC),包括:
中央處理器(CPU);
現(xiàn)場(chǎng)可編程門陣列(FPGA),其中設(shè)有加密/解密模塊;
片上存儲(chǔ)器,其通過系統(tǒng)總線連接到所述FPGA的所述加密/解密模塊并且其中存儲(chǔ)有預(yù)設(shè)的加密和/或不加密的系統(tǒng)程序和執(zhí)行所述系統(tǒng)程序所需的數(shù)據(jù);以及
第一多路選擇開關(guān)(MUX),其中,
所述第一MUX的第一輸入/輸出端(I/O_1)通過系統(tǒng)總線連接到所述CPU,第二輸入/輸出端(I/O_2)通過系統(tǒng)總線連接到所述片上存儲(chǔ)器,第三輸入/輸出端(I/O_3)通過系統(tǒng)總線連接到所述FPGA的所述加密/解密模塊,
由所述第一MUX的通路選擇控制端電平的值,來決定在所述MUX的第一輸入/輸出端(I/O_1)與所述第二輸入/輸出端(I/O_2)之間形成通路,還是在所述MUX的第一輸入/輸出端(I/O_1)與所述第三輸入/輸出端(I/O_3)之間形成通路,并且
所述加密/解密模塊執(zhí)行如下的加密/解密操作:在所述系統(tǒng)程序和/或所述數(shù)據(jù)以預(yù)定的地址映射關(guān)系存儲(chǔ)于所述片上存儲(chǔ)器中的情況下,用于將所述CPU發(fā)送的地址解密為所述系統(tǒng)程序和/或所述數(shù)據(jù)在所述片上存儲(chǔ)器中的實(shí)際地址;并且/或者在所述系統(tǒng)程序和/或所述數(shù)據(jù)是加密的情況下,對(duì)所述CPU經(jīng)由所述FPGA從所述片上存儲(chǔ)器讀取的所述系統(tǒng)程序和/或所述數(shù)據(jù)進(jìn)行解密,以及對(duì)從所述CPU經(jīng)由所述FPGA傳輸?shù)剿銎洗鎯?chǔ)器的數(shù)據(jù)進(jìn)行加密。
3.根據(jù)權(quán)利要求2所述的系統(tǒng)級(jí)芯片(SoC),其中
當(dāng)系統(tǒng)運(yùn)行到特定保護(hù)程序地址處并且/或者當(dāng)系統(tǒng)程序判定滿足預(yù)定條件時(shí),所述通路選擇控制電平的值被設(shè)定為預(yù)定值;或者
所述通路選擇控制電平的值由通過外部器件異步通信傳遞的信號(hào)來確定。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的系統(tǒng)級(jí)芯片(SoC),還包括:
第二多路選擇開關(guān)(MUX),以及
用于連接外部存儲(chǔ)器的系統(tǒng)接口,其中,
所述片上存儲(chǔ)器與所述加密/解密模塊之間的系統(tǒng)總線包括從所述FPGA向所述片上存儲(chǔ)器輸出地址和數(shù)據(jù)的第一信號(hào)線,
所述片上存儲(chǔ)器通過第一數(shù)據(jù)線連接到所述第二MUX的第一輸入/輸出端(I/O_4),
所述第二MUX的第二輸入/輸出端(I/O_5)通過第二數(shù)據(jù)線連接到所述加密/解密模塊,并且
所述系統(tǒng)接口通過第二信號(hào)線連接到所述加密/解密模塊并且通過第三數(shù)據(jù)線連接到所述MUX的第三輸入/輸出端(I/O_6),所述第二信號(hào)線用于從所述FPGA向外部存儲(chǔ)器輸出地址和數(shù)據(jù)。
5.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的系統(tǒng)級(jí)芯片(SoC),其中
所述加密模塊包括多個(gè)子加密模塊,不同的子加密模塊執(zhí)行不同的加密操作;并且
所述FPGA還包括通信模塊,所述通信模塊分別與所述各個(gè)子加密模塊連接、并且根據(jù)來自外部的信號(hào)或者來自所述CPU的指令激活所述多個(gè)子加密模塊中的至少一個(gè)。
6.根據(jù)權(quán)利要求4所述的系統(tǒng)級(jí)芯片(SoC),其中
所述加密模塊包括多個(gè)子加密模塊,不同的子加密模塊執(zhí)行不同的加密操作;并且
所述FPGA還包括通信模塊,所述通信模塊分別與所述各個(gè)子加密模塊連接、并且根據(jù)來自外部的信號(hào)或者來自所述CPU的指令激活所述多個(gè)子加密模塊中的至少一個(gè)。
7.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的系統(tǒng)級(jí)芯片(SoC),其中所述FPGA中還設(shè)有計(jì)數(shù)器,所述計(jì)數(shù)器由所述CPU定時(shí)清零,一旦超時(shí)未清零,所述FPGA將停止一切操作而使所述CPU無法運(yùn)行。
8.根據(jù)權(quán)利要求4所述的系統(tǒng)級(jí)芯片(SoC),其中所述FPGA中還設(shè)有計(jì)數(shù)器,所述計(jì)數(shù)器由所述CPU定時(shí)清零,一旦超時(shí)未清零,所述FPGA將停止一切操作而使所述CPU無法運(yùn)行。
9.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的系統(tǒng)級(jí)芯片(SoC),其中在所述FPGA中設(shè)有密碼,所述CPU每經(jīng)過預(yù)定時(shí)間就訪問所述FPGA,以將所述密碼與預(yù)定值相比較,如果所述比較的結(jié)果不一致則所述CPU破壞所述片上存儲(chǔ)器的內(nèi)容。
10.根據(jù)權(quán)利要求4所述的系統(tǒng)級(jí)芯片(SoC),其中在所述FPGA中設(shè)有密碼,所述CPU每經(jīng)過預(yù)定時(shí)間就訪問所述FPGA,以將所述密碼與預(yù)定值相比較,如果所述比較的結(jié)果不一致則所述CPU破壞所述片上存儲(chǔ)器的內(nèi)容。
11.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的系統(tǒng)級(jí)芯片(SoC),其中所述FPGA還包括通信模塊,所述CPU和所述通信模塊從外部接收異步事件信號(hào)以觸發(fā)所述加密/解密模塊執(zhí)行設(shè)定的加密/解密操作。
12.根據(jù)權(quán)利要求4所述的系統(tǒng)級(jí)芯片(SoC),其中所述FPGA還包括通信模塊,所述CPU和所述通信模塊從外部接收異步事件信號(hào)以觸發(fā)所述加密/解密模塊執(zhí)行設(shè)定的加密/解密操作。