JPH11272570A - 半導体集積回路 - Google Patents

半導体集積回路

Info

Publication number
JPH11272570A
JPH11272570A JP10075483A JP7548398A JPH11272570A JP H11272570 A JPH11272570 A JP H11272570A JP 10075483 A JP10075483 A JP 10075483A JP 7548398 A JP7548398 A JP 7548398A JP H11272570 A JPH11272570 A JP H11272570A
Authority
JP
Japan
Prior art keywords
data
circuit
output
semiconductor integrated
data conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10075483A
Other languages
English (en)
Inventor
Tatatomi Sakata
忠臣 坂田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP10075483A priority Critical patent/JPH11272570A/ja
Priority to US09/270,750 priority patent/US6211802B1/en
Priority to MYPI99001013A priority patent/MY114631A/en
Priority to EP99105869A priority patent/EP0945776A2/en
Priority to KR1019990009920A priority patent/KR19990078170A/ko
Priority to CN99104309A priority patent/CN1229952A/zh
Publication of JPH11272570A publication Critical patent/JPH11272570A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/002Bus

Abstract

(57)【要約】 【課題】 バスラインの不正なデータ読み出しに対する
セキュリティ機能を実現する。 【解決手段】 制御回路7は、プログラムカウンタ1か
らROM2へ出力されるアドレスを検出し、検出アドレ
スが偶数であれば制御信号CTLを「L」レベルとし、
検出アドレスが奇数であれば制御信号CTLを「H」レ
ベルとする。信号CTLが「L」の場合、データ変換回
路5,6はデータ変換を行わない。信号CTLが「H」
の場合、ROM2から出力されたデータは、データ変換
回路5で論理反転されてバス3に出力され、更にデータ
変換回路6で論理反転されて命令デコーダ4に出力され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータ等の半導体集積回路に係り、特にデータ転送用のバ
スラインを有している半導体集積回路のデータ転送方式
に関するものである。
【0002】
【従来の技術】従来より、マイクロコンピュータ等の半
導体集積回路では、ROM(リードオンリメモリ)より
プログラムを読み出して実行していた。図6は従来のマ
イクロコンピュータ等の半導体集積回路のROM周辺の
ブロック図である。プログラムカウンタ1によってアド
レッシングされたROM2のバイナリデータはバス3上
にパラレルに出力され、命令デコーダ4に送られる。
【0003】
【発明が解決しようとする課題】以上のようなマイクロ
コンピュータ等の半導体集積回路では、通常、バスライ
ンを流れるデータの論理が正論理又は負論理に固定され
ており、かつバスにプローブ等を当てることでバスライ
ンのデータを不正に読み出すことができるため、ROM
に記憶されたプログラムを推定することができる等のセ
キュリティ上の問題があった。本発明は、上記課題を解
決するためになされたもので、バスラインの不正なデー
タ読み出しに対するセキュリティ機能を実現することが
できる半導体集積回路のデータ転送方式を提供すること
を目的とする。
【0004】
【課題を解決するための手段】本発明は、請求項1に記
載のように、複数ビットのデータを出力する第1の回路
と上記データを受け取る第2の回路との間がバスで接続
された半導体集積回路のデータ転送方式において、第1
の回路とバスとの間に設けられ、第1の回路から出力さ
れたデータを第1の変換規則で変換してバスに出力する
第1のデータ変換回路と、バスと第2の回路との間に設
けられ、バスから出力されたデータを第2の変換規則で
変換して元のデータに戻し第2の回路に出力する第2の
データ変換回路とを有するものである。このように、第
1の回路から出力されたデータを第1のデータ変換回路
で変換してバスに出力し、バスから出力されたデータを
第2の変換回路で変換して元のデータに戻すことによ
り、バス上を流れるデータを本来のデータとは異なるも
のにすることができる。また、請求項2に記載のよう
に、上記第1の回路はメモリであり、第1の回路からデ
ータを読み出すためのアドレス信号に基づいて、上記第
1、第2のデータ変換回路に上記データ変換を行わせる
か或いは入力データをそのまま出力させるかを決定する
制御回路を有するものである。また、請求項3に記載の
ように、外部からの命令に基づいて、上記第1、第2の
データ変換回路に上記データ変換を行わせるか或いは入
力データをそのまま出力させるかを決定する制御回路を
有するものである。
【0005】また、請求項4に記載のように、上記第
1、第2のデータ変換回路は、上記第1、第2の変換規
則として論理反転を行うものである。また、請求項5に
記載のように、上記第1、第2のデータ変換回路は、上
記第1、第2の変換規則として上位の複数ビットと下位
の複数ビットの入れ替えを行うものである。また、請求
項6に記載のように、上記第1、第2のデータ変換回路
は、上記第1、第2の変換規則として最上位ビットと最
下位ビットの入れ替えを行うものである。また、請求項
7に記載のように、上記第1のデータ変換回路は、上記
第1の変換規則として所定のビット数の左又は右ローテ
ートを行うものであり、上記第2のデータ変換回路は、
上記第2の変換規則として第1の変換規則と逆方向の所
定のビット数の右又は左ローテートを行うものである。
【0006】
【発明の実施の形態】[実施の形態の1]次に、本発明
の実施の形態について図面を参照して詳細に説明する。
図1(a)は本発明の第1の実施の形態を示すマイクロ
コンピュータ等の半導体集積回路のブロック図である。
この半導体集積回路は、実行すべき命令が格納されたR
OM上の位置を示すプログラムカウンタ1と、ROM2
と、インストラクションバス3と、命令を解読する命令
デコーダ4と、ROM2から出力されたデータを第1の
変換規則で変換してバス3に出力する第1のデータ変換
回路5と、バス3から出力されたデータを第2の変換規
則で変換して元のデータに戻す第2のデータ変換回路6
と、データ変換回路5,6を制御するための制御信号C
TLを出力する制御回路7とを有している。
【0007】本実施の形態の半導体集積回路では、RO
M2からデータを逐次取り出し、解読して実行する。R
OM2は、プログラムカウンタ1から出力されたアドレ
スに応じて、このアドレスが示す位置に格納された複数
ビットのデータ(本実施の形態では、8ビット)をイン
ストラクションバス3にパラレルに出力する。そして、
命令デコーダ4は、インストラクションバス3に出力さ
れたデータを取り込み、解読する。
【0008】このような構成に対し、本実施の形態で
は、ROM2とインストラクションバス3との間に第1
のデータ変換回路5を設け、インストラクションバス3
と命令デコーダ4との間に第2のデータ変換回路6を設
け、更にデータ変換回路5,6を制御する制御回路7を
設けている。
【0009】データ変換回路5,6の構成は同一であ
る。このデータ変換回路5,6の構成を図1(b)に示
す。なお、図1(b)では、ROM2から出力される複
数ビット(本実施の形態では、8ビット)のデータのう
ちの1ビット分について示している。つまり、データ変
換回路5,6は、Pチャネルトランジスタ11、インバ
ータ12及びNチャネルトランジスタ13をROM2か
ら出力されるデータの各ビットに対応して複数ビット分
有する。
【0010】Pチャネルトランジスタ11のドレインは
対応するビット入力BnIN(n=0〜7)に接続され、
ソースは対応するビット出力BnOUT (n=0〜7)に
接続され、ゲートには制御回路7からの制御信号CTL
が与えられる。インバータ12の入力は対応するビット
入力BnIN(n=0〜7)に接続される。そして、Nチ
ャネルトランジスタ13のドレインはインバータ12の
出力に接続され、ソースは対応するビット出力BnOUT
(n=0〜7)に接続され、ゲートには制御信号CTL
が与えられる。
【0011】ここで、ビット入力BnIN(n=0〜7)
は、データ変換回路5においてはROM2の出力データ
Bnが入力される端子であり、データ変換回路6におい
てはインストラクションバス3の出力データBnが入力
される端子である。また、ビット出力BnOUT (n=0
〜7)は、データ変換回路5においてはインストラクシ
ョンバス3にデータBnを出力する端子であり、データ
変換回路6においては命令デコーダ4にデータBnを出
力する端子である。
【0012】制御回路7は、プログラムカウンタ1から
ROM2へ出力されるアドレスを検出し、この検出アド
レスが偶数であれば制御信号CTLを「L」レベルと
し、検出アドレスが奇数であれば制御信号CTLを
「H」レベルとする。
【0013】制御信号CTLが「L」レベルの場合、デ
ータ変換回路5,6内では、トランジスタ11がオンと
なり、トランジスタ13がオフとなる。この場合、RO
M2から出力された8ビットデータの各ビットB0〜B
7は、データ変換回路5内の対応する各トランジスタ1
1を通ってインストラクションバス3に出力され、更に
データ変換回路6内の対応する各トランジスタ11を通
って命令デコーダ4に出力される。
【0014】一方、制御信号CTLが「H」レベルの場
合、データ変換回路5,6内では、トランジスタ11が
オフとなり、トランジスタ13がオンとなる。この場
合、ROM2から出力された8ビットデータの各ビット
B0〜B7は、データ変換回路5内の対応する各インバ
ータ12によって論理反転された後に各トランジスタ1
3を通ってインストラクションバス3に出力され、更に
データ変換回路6内の対応する各インバータ12によっ
て論理反転された後に各トランジスタ13を通って命令
デコーダ4に出力される。
【0015】このように、プログラムカウンタ1から出
力されるアドレスが偶数であれば、ROM2から出力さ
れたデータは変換されることなく命令デコーダ4に渡さ
れ、アドレスが奇数であれば、ROM2から出力された
データはデータ変換回路5で変換された後にデータ変換
回路6で元に戻されて命令デコーダ4に渡される。
【0016】したがって、プログラムカウンタ1から出
力されるアドレスが偶数か奇数かによって、インストラ
クションバス3上のデータが論理反転したりしなかった
りするので、バス3にプローブ等を当ててデータを不正
に読み出したとしても、このデータは本来のデータとは
異なり、ROM2に記憶されたデータを推定することは
難しい。こうして、バスラインの不正なデータ読み出し
に対するセキュリティ機能を実現することができる。
【0017】[実施の形態の2]図2は本発明の第2の
実施の形態を示すデータ変換回路の回路図である。本実
施の形態においても、半導体集積回路としての構成は実
施の形態の1とほぼ同様である。本実施の形態では、図
1のデータ変換回路5,6の代わりに、図2のデータ変
換回路5a,6aを用いる。データ変換回路5a,6a
の構成は同一である。データ変換回路5a,6aは、R
OM2から出力されるデータの各ビットB0〜B7に対
応して設けられたPチャネルトランジスタ14−0〜1
4−7及びNチャネルトランジスタ15−0〜15−7
を有する。
【0018】Pチャネルトランジスタ14−0〜14−
7のドレインは対応するビット入力B0IN〜B7INに接
続され、ソースは対応するビット出力B0OUT 〜B7
OUT に接続され、ゲートには制御信号CTLが与えられ
る。また、Nチャネルトランジスタ15−0〜15−7
のドレインは対応するビット入力B0IN〜B7INに接続
され、ゲートには制御信号CTLが与えられる。
【0019】そして、ROM2からの8ビットデータの
下位4ビットB0〜B3に対応して設けられたNチャネ
ルトランジスタ15−0〜15−3のソースは、該8ビ
ットデータの上位4ビットB4〜B7に対応して設けら
れたPチャネルトランジスタ14−4〜14−7のソー
スに接続されている。また、8ビットデータの上位4ビ
ットB4〜B7に対応して設けられたNチャネルトラン
ジスタ15−4〜15−7のソースは、該8ビットデー
タの下位4ビットB0〜B3に対応して設けられたPチ
ャネルトランジスタ14−0〜14−3のソースに接続
されている。
【0020】制御回路7は、実施の形態の1と同様に、
プログラムカウンタ1から出力されるアドレスを検出
し、この検出結果に応じた制御信号CTLを出力する。
制御信号CTLが「L」レベルの場合、データ変換回路
5a,6a内では、トランジスタ14−0〜14−7が
オンとなり、トランジスタ15−0〜15−7がオフと
なる。
【0021】この場合、ROM2から出力された8ビッ
トデータの各ビットB0〜B7は、データ変換回路5a
内の対応する各トランジスタ14−0〜14−7を通っ
てインストラクションバス3に出力され、更にデータ変
換回路6a内の対応する各トランジスタ14−0〜14
−7を通って命令デコーダ4に出力される。
【0022】一方、制御信号CTLが「H」レベルの場
合、データ変換回路5a,6a内では、トランジスタ1
4−0〜14−7がオフとなり、トランジスタ15−0
〜15−7がオンとなる。この場合、ROM2から出力
された8ビットデータの下位4ビットB0〜B3は、デ
ータ変換回路5a内の各トランジスタ15−0〜15−
3を通ってインストラクションバス3の上位4ビットB
4〜B7に出力され、更にデータ変換回路6a内の各ト
ランジスタ15−4〜15−7を通って下位4ビットB
0〜B3として命令デコーダ4に出力される。
【0023】また、ROM2から出力された8ビットデ
ータの上位4ビットB4〜B7は、データ変換回路5a
内の各トランジスタ15−4〜15−7を通ってインス
トラクションバス3の下位4ビットB0〜B3に出力さ
れ、更にデータ変換回路6a内の各トランジスタ15−
0〜15−3を通って上位4ビットB4〜B7として命
令デコーダ4に出力される。
【0024】このように、プログラムカウンタ1から出
力されるアドレスが偶数であれば、ROM2から出力さ
れたデータは変換されることなく命令デコーダ4に渡さ
れ、アドレスが奇数であれば、ROM2から出力された
データはデータ変換回路5aで上位4ビットと下位4ビ
ットの入れ替えが行われた後に、データ変換回路6a再
び上位4ビットと下位4ビットの入れ替えが行われて命
令デコーダ4に渡される。こうして、実施の形態の1と
同様の効果を得ることができる。
【0025】[実施の形態の3]図3は本発明の第3の
実施の形態を示すデータ変換回路の回路図である。本実
施の形態においても、半導体集積回路としての構成は実
施の形態の1とほぼ同様である。本実施の形態では、図
1のデータ変換回路5,6の代わりに、図3のデータ変
換回路5b,6bを用いる。データ変換回路5b,6b
の構成は同一である。データ変換回路5b,6bは、R
OM2から出力されるデータの最下位ビットB0に対応
して設けられたPチャネルトランジスタ16−0及びN
チャネルトランジスタ17−0と、該データの最上位ビ
ットB7に対応して設けられたPチャネルトランジスタ
16−7及びNチャネルトランジスタ17−7を有す
る。
【0026】Pチャネルトランジスタ16−0,16−
7のドレインは対応するビット入力B0IN,B7INに接
続され、ソースは対応するビット出力B0OUT ,B7
OUT に接続され、ゲートには制御信号CTLが与えられ
る。また、Nチャネルトランジスタ17−0,17−7
のドレインは対応するビット入力B0IN,B7INに接続
され、ゲートには制御信号CTLが与えられる。
【0027】そして、Nチャネルトランジスタ17−0
のソースは、Pチャネルトランジスタ16−7のソース
に接続され、Nチャネルトランジスタ17−7のソース
は、Pチャネルトランジスタ16−0のソースに接続さ
れている。なお、ビット入力B1IN,B2IN,B3IN
B4IN,B5IN,B6INは、それぞれビット出力B1
OUT ,B2OUT ,B3OUT ,B4OUT ,B5OUT ,B6
OUTに直接接続されている。
【0028】制御信号CTLが「L」レベルの場合、デ
ータ変換回路5b,6b内では、トランジスタ16−
0,16−7がオンとなり、トランジスタ17−0,1
7−7がオフとなる。この場合、ROM2から出力され
た8ビットデータのビットB0,B7は、データ変換回
路5b内の対応するトランジスタ16−0,16−7を
通ってインストラクションバス3のビットB0,B7に
出力され、更にデータ変換回路6b内の対応するトラン
ジスタ16−0,16−7を通ってビットB0,B7と
して命令デコーダ4に出力される。
【0029】一方、制御信号CTLが「H」レベルの場
合、データ変換回路5b,6b内では、トランジスタ1
7−0,17−7がオンとなり、トランジスタ16−
0,16−7がオフとなる。この場合、ROM2から出
力された8ビットデータの最下位ビットB0は、データ
変換回路5b内のトランジスタ17−0を通ってインス
トラクションバス3の最上位ビットB7に出力され、更
にデータ変換回路6b内のトランジスタ17−7を通っ
て最下位ビットB0として命令デコーダ4に出力され
る。
【0030】また、ROM2から出力された8ビットデ
ータの最上位ビットB7は、データ変換回路5b内のト
ランジスタ17−7を通ってインストラクションバス3
の最下位ビットB0に出力され、更にデータ変換回路6
b内のトランジスタ17−0を通って最上位ビットB7
として命令デコーダ4に出力される。
【0031】このように、プログラムカウンタ1から出
力されるアドレスが偶数であれば、ROM2から出力さ
れたデータは変換されることなく命令デコーダ4に渡さ
れ、アドレスが奇数であれば、ROM2から出力された
データはデータ変換回路5bで最上位ビットと最下位ビ
ットの入れ替えが行われた後に、データ変換回路6b再
び最上位ビットと最下位ビットの入れ替えが行われて命
令デコーダ4に渡される。こうして、実施の形態の1と
同様の効果を得ることができる。
【0032】[実施の形態の4]図4、図5は、本発明
の第4の実施の形態を示すデータ変換回路の回路図であ
る。本実施の形態においても、半導体集積回路としての
構成は実施の形態の1とほぼ同様である。本実施の形態
では、図1のデータ変換回路5,6の代わりに、図4の
データ変換回路5c、図5のデータ変換回路6cを用い
る。
【0033】データ変換回路5cは、ROM2から出力
されるデータの各ビットB0〜B7に対応して設けられ
たPチャネルトランジスタ18−0〜18−7及びNチ
ャネルトランジスタ19−0〜19−7と、入力データ
を所定のビット数だけ左シフト(左ローテート)するシ
フトレジスタ20とを有する。Pチャネルトランジスタ
18−0〜18−7のドレインは対応するビット入力B
IN〜B7INに接続され、ソースは対応するビット出力
B0OUT 〜B7OUT に接続され、ゲートには制御信号C
TLが与えられる。
【0034】シフトレジスタ20の入力は対応するビッ
ト入力B0IN〜B7INに接続されている。そして、Nチ
ャネルトランジスタ19−0〜19−7のドレインはシ
フトレジスタ20の対応するビット出力に接続され、ソ
ースは対応するビット出力B0OUT 〜B7OUT に接続さ
れ、ゲートには制御信号CTLが与えられる。
【0035】データ変換回路6cは、ROM2から出力
されるデータの各ビットB0〜B7に対応して設けられ
たPチャネルトランジスタ21−0〜21−7及びNチ
ャネルトランジスタ22−0〜22−7と、入力データ
を所定のビット数だけ右シフト(右ローテート)するシ
フトレジスタ23とを有する。Pチャネルトランジスタ
21−0〜21−7のドレインは対応するビット入力B
IN〜B7INに接続され、ソースは対応するビット出力
B0OUT 〜B7OUT に接続され、ゲートには制御信号C
TLが与えられる。
【0036】シフトレジスタ23の入力は対応するビッ
ト入力B0IN〜B7INに接続されている。そして、Nチ
ャネルトランジスタ22−0〜22−7のドレインはシ
フトレジスタ23の対応するビット出力に接続され、ソ
ースは対応するビット出力B0OUT 〜B7OUT に接続さ
れ、ゲートには制御信号CTLが与えられる。
【0037】制御信号CTLが「L」レベルの場合、デ
ータ変換回路5c,6c内では、トランジスタ18−0
〜18−7,21−0〜21−7がオンとなり、トラン
ジスタ19−0〜19−7,22−0〜22−7がオフ
となる。この場合、ROM2から出力された8ビットデ
ータの各ビットB0〜B7は、データ変換回路5c内の
対応する各トランジスタ18−0〜18−7を通ってイ
ンストラクションバス3に出力され、更にデータ変換回
路6c内の対応する各トランジスタ21−0〜21−7
を通って命令デコーダ4に出力される。
【0038】一方、制御信号CTLが「H」レベルの場
合、データ変換回路5c,6c内では、トランジスタ1
9−0〜19−7,22−0〜22−7がオンとなり、
トランジスタ18−0〜18−7,21−0〜21−7
がオフとなる。この場合、ROM2から出力された8ビ
ットデータの各ビットB0〜B7は、データ変換回路5
c内のシフトレジスタ20によって所定のビット数だけ
左ローテートされた後に対応する各トランジスタ19−
0〜19−7を通ってインストラクションバス3に出力
され、更にデータ変換回路6c内のシフトレジスタ23
によって所定のビット数だけ右ローテートされた後に対
応する各トランジスタ22−0〜22−7を通って命令
デコーダ4に出力される。
【0039】このように、プログラムカウンタ1から出
力されるアドレスが偶数であれば、ROM2から出力さ
れたデータは変換されることなく命令デコーダ4に渡さ
れ、アドレスが奇数であれば、ROM2から出力された
データはデータ変換回路5cで左ローテートされた後
に、データ変換回路6cで右ローテートされて元に戻さ
れ命令デコーダ4に渡される。こうして、実施の形態の
1と同様の効果を得ることができる。なお、データ変換
回路5cで右ローテートして、データ変換回路6cで左
ローテートしてもよいことは言うまでもない。
【0040】実施の形態の1〜4では、プログラムカウ
ンタ1から出力されるアドレスが奇数のときにデータを
変換しているが、偶数のときに変換してもよいことは言
うまでもない。この場合は、アドレスが偶数のときに制
御信号CTLを「H」レベルにするか、あるいはPチャ
ネルトランジスタとNチャネルトランジスタを入れ替え
ればよい。
【0041】また、実施の形態の1〜4では、制御回路
7は、プログラムカウンタ1から出力されるアドレスが
奇数のときにデータを変換しているが、CPU(不図
示)等から特定の命令を受けたときに、データ変換回路
5,6,5a,6a,5b,6b,5c,6cにデータ
変換を行わせるようにしてもよく、またアドレスに基づ
くデータ変換回路の制御と命令に基づく制御を併用して
もよい。
【0042】また、実施の形態の1〜4では、ROMと
命令デコーダ間のデータ転送に本発明を適用している
が、これに限るものではなく、他のデータ転送に適用し
てもよい。また、転送するデータのビット数も8ビット
に限らないことは言うまでもない。
【0043】
【発明の効果】本発明によれば、請求項1に記載のよう
に、第1の回路から出力されたデータを第1のデータ変
換回路で変換してバスに出力し、バスから出力されたデ
ータを第2の変換回路で変換して元のデータに戻すこと
により、バス上を流れるデータを本来のデータとは異な
るものにすることができ、データの不正な取得を困難に
することができる。その結果、バスラインの不正なデー
タ読み出しに対するセキュリティ機能を実現することが
できる。
【0044】また、請求項2に記載のように、第1の回
路からデータを読み出すためのアドレス信号に基づい
て、第1、第2のデータ変換回路にデータ変換を行わせ
るか或いは入力データをそのまま出力させるかを決定す
る制御回路を設けることにより、アドレス信号によって
データが変換されたり変換されなかったりするので、セ
キュリティ機能を更に向上させることができる。
【0045】また、請求項3に記載のように、外部から
の命令に基づいて、第1、第2のデータ変換回路にデー
タ変換を行わせるか或いは入力データをそのまま出力さ
せるかを決定する制御回路を設けることにより、命令に
よってデータが変換されたり変換されなかったりするの
で、セキュリティ機能を更に向上させることができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態を示す半導体集積
回路のブロック図及びデータ変換回路の回路図である。
【図2】 本発明の第2の実施の形態を示すデータ変換
回路の回路図である。
【図3】 本発明の第3の実施の形態を示すデータ変換
回路の回路図である。
【図4】 本発明の第4の実施の形態を示すデータ変換
回路の回路図である。
【図5】 本発明の第4の実施の形態を示すデータ変換
回路の回路図である。
【図6】 従来の半導体集積回路のブロック図である。
【符号の説明】
1…プログラムカウンタ、2…ROM、3…バス、4…
命令デコーダ、5、6、5a、6a、5b、6b、5
c、6c…データ変換回路、7…制御回路、11、14
−0〜14−7、16−0、16−7、18−0〜18
−7、21−0〜21−7…Pチャネルトランジスタ、
13、15−0〜15−7、17−0、17−7、19
−0〜19−7、22−0〜22−7…Nチャネルトラ
ンジスタ、20、23…シフトレジスタ。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年4月9日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 半導体集積回路
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0004
【補正方法】変更
【補正内容】
【0004】
【課題を解決するための手段】本発明は、請求項1に記
載のように、複数ビットのデータを出力する第1の回路
と上記データを受け取る第2の回路との間がバスで接続
された半導体集積回路において、第1の回路とバスとの
間に設けられ、第1の回路から出力されたデータを第1
の変換規則で変換してバスに出力する第1のデータ変換
回路と、バスと第2の回路との間に設けられ、バスから
出力されたデータを第2の変換規則で変換して元のデー
タに戻し第2の回路に出力する第2のデータ変換回路と
を有するものである。このように、第1の回路から出力
されたデータを第1のデータ変換回路で変換してバスに
出力し、バスから出力されたデータを第2の変換回路で
変換して元のデータに戻すことにより、バス上を流れる
データを本来のデータとは異なるものにすることができ
る。また、請求項2に記載のように、上記第1の回路は
メモリであり、第1の回路からデータを読み出すための
アドレス信号に基づいて、上記第1、第2のデータ変換
回路に上記データ変換を行わせるか或いは入力データを
そのまま出力させるかを決定する制御回路を有するもの
である。また、請求項3に記載のように、第3の回路
らの命令に基づいて、上記第1、第2のデータ変換回路
に上記データ変換を行わせるか或いは入力データをその
まま出力させるかを決定する制御回路を有するものであ
る。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数ビットのデータを出力する第1の回
    路と前記データを受け取る第2の回路との間がバスで接
    続された半導体集積回路のデータ転送方式において、 第1の回路とバスとの間に設けられ、第1の回路から出
    力されたデータを第1の変換規則で変換してバスに出力
    する第1のデータ変換回路と、 バスと第2の回路との間に設けられ、バスから出力され
    たデータを第2の変換規則で変換して元のデータに戻し
    第2の回路に出力する第2のデータ変換回路とを有する
    ことを特徴とする半導体集積回路のデータ転送方式。
  2. 【請求項2】 請求項1記載の半導体集積回路のデータ
    転送方式において、 前記第1の回路はメモリであり、 第1の回路からデータを読み出すためのアドレス信号に
    基づいて、前記第1、第2のデータ変換回路に前記デー
    タ変換を行わせるか或いは入力データをそのまま出力さ
    せるかを決定する制御回路を有することを特徴とする半
    導体集積回路のデータ転送方式。
  3. 【請求項3】 請求項1記載の半導体集積回路のデータ
    転送方式において、 外部からの命令に基づいて、前記第1、第2のデータ変
    換回路に前記データ変換を行わせるか或いは入力データ
    をそのまま出力させるかを決定する制御回路を有するこ
    とを特徴とする半導体集積回路のデータ転送方式。
  4. 【請求項4】 請求項1記載の半導体集積回路のデータ
    転送方式において、 前記第1、第2のデータ変換回路は、前記第1、第2の
    変換規則として論理反転を行うものであることを特徴と
    する半導体集積回路のデータ転送方式。
  5. 【請求項5】 請求項1記載の半導体集積回路のデータ
    転送方式において、 前記第1、第2のデータ変換回路は、前記第1、第2の
    変換規則として上位の複数ビットと下位の複数ビットの
    入れ替えを行うものであることを特徴とする半導体集積
    回路のデータ転送方式。
  6. 【請求項6】 請求項1記載の半導体集積回路のデータ
    転送方式において、 前記第1、第2のデータ変換回路は、前記第1、第2の
    変換規則として最上位ビットと最下位ビットの入れ替え
    を行うものであることを特徴とする半導体集積回路のデ
    ータ転送方式。
  7. 【請求項7】 請求項1記載の半導体集積回路のデータ
    転送方式において、 前記第1のデータ変換回路は、前記第1の変換規則とし
    て所定のビット数の左又は右ローテートを行うものであ
    り、 前記第2のデータ変換回路は、前記第2の変換規則とし
    て第1の変換規則と逆方向の所定のビット数の右又は左
    ローテートを行うものであることを特徴とする半導体集
    積回路のデータ転送方式。
JP10075483A 1998-03-24 1998-03-24 半導体集積回路 Pending JPH11272570A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP10075483A JPH11272570A (ja) 1998-03-24 1998-03-24 半導体集積回路
US09/270,750 US6211802B1 (en) 1998-03-24 1999-03-17 Semiconductor integrated circuit for performing data transfer
MYPI99001013A MY114631A (en) 1998-03-24 1999-03-18 Semiconductor integrated circuit for performing data transfer
EP99105869A EP0945776A2 (en) 1998-03-24 1999-03-23 Data transfer circuit for semiconductor integrated circuit
KR1019990009920A KR19990078170A (ko) 1998-03-24 1999-03-23 반도체 집적 회로용 데이타 전송회로
CN99104309A CN1229952A (zh) 1998-03-24 1999-03-24 半导体集成电路的数据传送电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10075483A JPH11272570A (ja) 1998-03-24 1998-03-24 半導体集積回路

Publications (1)

Publication Number Publication Date
JPH11272570A true JPH11272570A (ja) 1999-10-08

Family

ID=13577593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10075483A Pending JPH11272570A (ja) 1998-03-24 1998-03-24 半導体集積回路

Country Status (6)

Country Link
US (1) US6211802B1 (ja)
EP (1) EP0945776A2 (ja)
JP (1) JPH11272570A (ja)
KR (1) KR19990078170A (ja)
CN (1) CN1229952A (ja)
MY (1) MY114631A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222423A (ja) * 2000-02-14 2001-08-17 Nintendo Co Ltd 半導体記憶装置およびプログラム判別システム
KR20020085753A (ko) * 2001-05-07 2002-11-16 후지쯔 가부시끼가이샤 반도체 집적 회로 및 집적 회로 카드의 보안성 보호 방법
JP2006155371A (ja) * 2004-11-30 2006-06-15 Yamaha Corp ディジタル情報複製管理装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030602B4 (de) * 2004-06-24 2007-04-19 Infineon Technologies Ag Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses
CN109002559B (zh) * 2018-08-17 2021-10-22 深圳市海波广告有限公司 一种基于公交线路管理系统的文件管理方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02212952A (ja) 1989-02-14 1990-08-24 Fujitsu Ltd メモリアクセス制御方式
JPH03237821A (ja) * 1990-02-15 1991-10-23 Canon Inc 信号変換装置
JPH0436834A (ja) 1990-05-31 1992-02-06 Sharp Corp ワンチップマイクロコンピュータ
JPH04352257A (ja) 1991-05-30 1992-12-07 Nec Corp シングルチップマイクロコンピュータ
JPH0644141A (ja) 1992-07-24 1994-02-18 Nec Corp メモリ情報読出方式
JPH07295893A (ja) 1994-04-28 1995-11-10 Nec Corp マイクロプロセッサのメモリ情報読込装置及び読込方法
JPH09282234A (ja) 1996-04-12 1997-10-31 Kawasaki Steel Corp コピー防止機能付rom

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222423A (ja) * 2000-02-14 2001-08-17 Nintendo Co Ltd 半導体記憶装置およびプログラム判別システム
KR20020085753A (ko) * 2001-05-07 2002-11-16 후지쯔 가부시끼가이샤 반도체 집적 회로 및 집적 회로 카드의 보안성 보호 방법
JP2006155371A (ja) * 2004-11-30 2006-06-15 Yamaha Corp ディジタル情報複製管理装置

Also Published As

Publication number Publication date
CN1229952A (zh) 1999-09-29
EP0945776A2 (en) 1999-09-29
MY114631A (en) 2002-11-30
KR19990078170A (ko) 1999-10-25
US6211802B1 (en) 2001-04-03

Similar Documents

Publication Publication Date Title
JPS6116088B2 (ja)
US5561619A (en) Arithmetic logic unit provided with combinational circuit and zero value detector connected in parallel
US5224065A (en) Arithmetic operation unit having bit inversion function
JPH03130994A (ja) 連想メモリ装置およびそれを用いたマイクロコンピュータ
US5265259A (en) Blocks and bits sequence reversing device using barrel shift
JPH11126174A (ja) マイクロプロセッサのメモリ情報読込装置および読込方法
KR970003317B1 (ko) 소규모 회로 및 어드레스 영역 확장 능력을 갖는 어드레스 디코더
JPH11272570A (ja) 半導体集積回路
US6834024B2 (en) Reduced size multi-port register cell
JPH073653B2 (ja) シフタ
US7271703B2 (en) 2-bit binary comparator and binary comparing device using the same
JP2779557B2 (ja) 並列演算処理装置
JP2008098901A (ja) データ通信方式
JPH07113884B2 (ja) 論理回路
US5084635A (en) Function selector circuit
US5606709A (en) Register group circuit for data processing system
JPH06204810A (ja) 集積回路
US5467299A (en) Divider and microcomputer including the same
KR100486255B1 (ko) 데이터 검출회로 및 데이터 검출 방법
US6373287B1 (en) Input/output control circuit and microcomputer
KR0136485B1 (ko) 전달식 2진 가산기
JPH05250497A (ja) マイクロコンピュータの入出力機能選択装置
JP3737144B2 (ja) 割り込み要求回路および割り込み要求の処理方法
JPH09198338A (ja) ダイレクト・メモリ・アクセス・コントローラ
JPS61175821A (ja) マイクロコンピユ−タ用タイマ装置