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

半導体集積回路 Download PDF

Info

Publication number
JP4750446B2
JP4750446B2 JP2005091782A JP2005091782A JP4750446B2 JP 4750446 B2 JP4750446 B2 JP 4750446B2 JP 2005091782 A JP2005091782 A JP 2005091782A JP 2005091782 A JP2005091782 A JP 2005091782A JP 4750446 B2 JP4750446 B2 JP 4750446B2
Authority
JP
Japan
Prior art keywords
data
register
write
read
access
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.)
Expired - Fee Related
Application number
JP2005091782A
Other languages
English (en)
Other versions
JP2006277025A (ja
Inventor
聡 松井
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005091782A priority Critical patent/JP4750446B2/ja
Priority to US11/155,623 priority patent/US7409479B2/en
Publication of JP2006277025A publication Critical patent/JP2006277025A/ja
Application granted granted Critical
Publication of JP4750446B2 publication Critical patent/JP4750446B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Microcomputers (AREA)

Description

本発明は、半導体集積回路に関し、特に、システムLSI等の設計効率を向上させるために再利用されるIPマクロ(IP:Intellectual Property)に関する。
近時、システムLSIの高速化および高性能化に対応するために、CPUの多ビット化が進んでいる。例えば、CPUのデータ入出力を8ビットから16ビットに拡張する場合には、データバスも8ビットから16ビットに変更される。一方、内部レジスタを8ビットから16ビットに拡張したIPマクロに対しては、再利用性を高めるために、16ビットデータバスのみならず8ビットデータバスにも接続可能であることが要求される。
例えば、IPマクロ(タイマなど)内のカウンタを8ビットから16ビットに拡張する場合について説明する。8ビットCPUが8ビットデータバスを介して16ビットカウンタのカウンタ値を取得するためには、8ビットCPUが16ビットカウンタの上位側および下位側の双方にアクセスする必要があるが、16ビットカウンタの上位側および下位側のデータ(共に8ビット)が別々のタイミングでリードされると、8ビットCPUは16ビットカウンタのカウンタ値を正しく取得できない。この問題を解決するために、IPマクロ内に16ビットバッファを設け、カウント動作中の16ビットカウンタにおける上位側および下位側の双方のデータを同時に16ビットバッファへ一旦格納し、16ビットバッファから8ビットずつデータをリードする手法が一般的に適用されている。8ビットCPUが8ビットデータバスを介して16ビットカウンタのカウンタ値を設定する場合についても、同様の手法が適用されている。
また、特許文献1には、CPUのデータバスより大きいデータ幅を有するメモリに対して、テストサイクル数を増大させることなくテストできるメモリテスト回路が開示されている。
特開2004−280924号公報
前述の手法では、16ビットカウンタからのリードデータあるいは16ビットカウンタへのライトデータが16ビットバッファに一旦格納されるため、動作タイミングが16ビット拡張前のIPマクロ(すなわち、8ビットカウンタを有するIPマクロ)と同一にならない場合がある。このため、16ビット拡張前のIPマクロに対するテストパターンを、16ビット拡張後のIPマクロに対して流用することができない。この結果、16ビット拡張後のIPマクロ用にテストパターンを再作成しなければならない。また、前述の手法では、16ビットカウンタの下位側へのアクセスのみが必要である場合にも、必ず16ビットカウンタの上位側および下位側の双方にアクセスしなければならないため、時間的な無駄が生じてしまう。
本発明の目的は、データバスと同一データ幅の内部レジスタを有するIPマクロのテストパターンを変更することなく流用して、データバスより大きいデータ幅の内部レジスタを有するIPマクロをテストすることにある。
本発明の一態様では、半導体集積回路は、データバスと、データバスと同一のデータ幅でアクセス動作するバスマスタと、データバスより大きいデータ幅を有し、下位側がデータバスに接続されるレジスタと、レジスタの上位側へのライトデータを格納するライトバッファと、レジスタの上位側からのリードデータを格納するリードバッファとを有するマクロブロックとを備える。バスマスタは、レジスタの上位側および下位側の双方へのライトアクセスが必要である場合にレジスタの下位側を最後にアクセスし、レジスタの上位側および下位側の双方へのリードアクセスが必要である場合にレジスタの下位側を最初にアクセスする。マクロブロックは、バスマスタによるレジスタの上位側へのライトアクセスに応答してデータバスのデータをライトバッファに格納し、バスマスタによるレジスタの下位側へのライトアクセスに応答して、データバスのデータをレジスタの下位側にライトするとともに、ライトバッファのデータをレジスタの上位側にライトし、バスマスタによるレジスタの下位側へのリードアクセスに応答して、レジスタの下位側のデータをリードしてデータバスに出力するとともに、レジスタの上位側のデータをリードしてリードバッファに格納し、バスマスタによるレジスタの上位側へのリードアクセスに応答してリードバッファのデータをデータバスに出力する。マクロブロックは、バスマスタによるレジスタの上位側へのライトアクセスの有無を示す第1記憶回路と、論理1または論理0のいずれかを示す第2記憶回路と、第1記憶回路がライトアクセス有りを示す場合、ライトバッファのデータを選択して出力し、第1記憶回路がライトアクセス無しを示す場合、第2記憶回路が示す論理に応じて全ビットが論理1を示す第1予約データまたは全ビットが論理0を示す第2予約データのいずれかを選択してライトバッファのデータとして出力する選択回路とを備える。
本発明に関連する半導体集積回路の技術では、バスマスタは、データバスと同一のデータ幅でアクセス動作する。マクロブロックのレジスタは、データバスのデータ幅より大きいデータ幅を有する。レジスタの下位側は、データバスに接続される。マクロブロックのライトバッファは、レジスタの上位側へのライトデータを格納する。マクロブロックのリードバッファは、レジスタの下位側からのリードデータを格納する。バスマスタは、レジスタの上位側および下位側の双方へのライトアクセスが必要である場合にレジスタの下位側を最後にアクセスし、レジスタの上位側および下位側の双方へのリードアクセスが必要である場合にレジスタの下位側を最初にアクセスする。マクロブロックは、バスマスタによるレジスタの上位側へのライトアクセスに応答してデータバスのデータをライトバッファに格納する。マクロブロックは、バスマスタによるレジスタの下位側へのライトアクセスに応答して、データバスのデータをレジスタの下位側にライトするとともに、ライトバッファのデータをレジスタの上位側にライトする。バスマスタは、レジスタの上位側および下位側の双方へのライトアクセスが必要である場合、レジスタの上位側にアクセスした後に下位側にアクセスするため、データバスのデータ幅より大きいデータをレジスタに同一タイミングでライトできる。また、マクロブロックは、バスマスタによるレジスタの下位側へのリードアクセスに応答して、レジスタの下位側のデータをリードしてデータバスに出力するとともに、レジスタの上位側のデータをリードしてリードバッファに格納する。マクロブロックは、バスマスタによるレジスタの上位側へのリードアクセスに応答してリードバッファのデータをデータバスに出力する。バスマスタは、レジスタの上位側および下位側の双方へのリードアクセスが必要である場合、レジスタの下位側にアクセスした後に上位側にアクセスするため、レジスタから同一タイミングでリードされたデータ(データバスのデータ幅より大きい)を取得できる。
以上のような構成の半導体集積回路では、レジスタの下位側がデータバスに直接接続されているため、バスマスタによるレジスタの下位側のみへのアクセスを、データバスと同一データ幅のレジスタを有するマクロブロックと同一のタイミングで実施できる。従って、データバスと同一データ幅のレジスタを有するマクロブロックに対する既存のテストパターンをそのまま流用して、データバスより大きいデータ幅のレジスタを有するマクロブロックをテストできる。すなわち、データバスと同一データ幅のレジスタを有するマクロブロックと、データバスより大きいデータ幅のレジスタを有するマクロブロックとでテストパターンを共通化できる。また、レジスタの下位側のみへのアクセスが必要な場合に、レジスタの上位側および下位側の双方にアクセスする必要はないため、時間的な無駄を省くことができる。
本発明に関連する半導体集積回路の技術における好ましい例では、マクロブロックの兼用バッファは、ライトバッファおよびリードバッファの双方として機能する。すなわち、兼用バッファは、バスマスタによるレジスタへのライトアクセス時にライトバッファとして機能し、バスマスタによるレジスタへのリードアクセス時にリードバッファとして機能する。このため、ライトバッファおよびリードバッファをそれぞれ設ける場合に比べて、マクロブロックの回路規模を低減できる。なお、バスマスタによるライトアクセスとリードアクセスとが同時に発生することはないため、ライトバッファおよびリードバッファに代えて兼用バッファを設けても、バスマスタによるレジスタへのアクセス動作に影響はない。
本発明に関連する半導体集積回路の技術における好ましい例では、マクロブロックは、複数のレジスタを有する。マクロブロックのライトバッファは、複数のレジスタに共通して設けられる。同様に、マクロブロックのリードバッファは、複数のレジスタに共通して設けられる。例えば、マクロブロックが2本のレジスタA、Bを有する場合、ライトバッファは、バスマスタによるレジスタAへのライトアクセス時にレジスタAに対応するライトバッファとして機能し、バスマスタによるレジスタBへのライトアクセス時にレジスタBに対応するライトバッファとして機能する。同様に、リードバッファは、バスマスタによるレジスタAへのリードアクセス時にレジスタAに対応するリードバッファとして機能し、バスマスタによるレジスタBへのリードアクセス時にレジスタBに対応するリードバッファとして機能する。このため、レジスタA、B毎にライトバッファおよびリードバッファをそれぞれ設ける場合に比べて、マクロブロックの回路規模を低減できる。なお、バスマスタによるレジスタAへのアクセスとレジスタBへのアクセスとが同時に発生することはないため、2本のレジスタA、Bに共通してライトバッファおよびリードバッファをそれぞれ設けても、バスマスタによる各レジスタA、Bへのアクセス動作に影響はない。
本発明に関連する半導体集積回路の技術における好ましい例では、マクロブロックの兼用バッファは、複数のレジスタに共通してそれぞれ設けられるライトバッファおよびリードバッファの双方として機能する。すなわち、兼用バッファは、バスマスタによる複数のレジスタのいずれかへのライトアクセス時にアクセス対象のレジスタに対応するライトバッファとして機能し、バスマスタによる複数のレジスタのいずれかへのリードアクセス時にアクセス対象のレジスタに対応するリードバッファとして機能する。このため、複数のレジスタに共通してライトバッファおよびリードバッファをそれぞれ設ける場合に比べて、マクロブロックの回路規模を低減できる。なお、バスマスタによるライトアクセスとリードアクセスとが同時に発生することはないため、複数のレジスタに共通してそれぞれ設けられるライトバッファおよびリードバッファに代えて兼用バッファを設けても、バスマスタによる各レジスタへのアクセス動作に影響はない。
本発明に関連する半導体集積回路の技術における好ましい例では、マクロブロックの第1記憶回路は、バスマスタによるレジスタの上位側へのライトアクセスの有無を示す。マクロブロックの第2記憶回路は、論理1または論理0のいずれかを示す。マクロブロックの選択回路は、第1記憶回路がライトアクセス有りを示す場合、ライトバッファのデータを選択して出力する。選択回路は、第1記憶回路がライトアクセス無しを示す場合、第2記憶回路が示す論理に応じて全ビットが論理1を示す第1予約データまたは全ビットが論理0を示す第2予約データのいずれかを選択してライトバッファのデータとして出力する。このため、バスマスタがレジスタの上位側にはライトアクセスせず、レジスタの下位側のみにライトアクセスする場合に、レジスタの上位側にライトされるデータを確定させることができる。従って、マクロブロックに所望の動作を実施させるテストにおいて、テストの実施毎にレジスタの上位側にライトされるデータが異なることを回避でき、マクロブロックに所望の動作を確実に毎回実施させることができる。
本発明に関連する半導体集積回路の技術における好ましい例では、マクロブロックの第2記憶回路は、バスマスタによりアクセスされるレジスタである。このため、第2記憶回路が示す論理をバスマスタのライトアクセスにより設定できる。従って、バスマスタがレジスタの上位側にはライトアクセスせず、レジスタの下位側のみにライトアクセスする場合にレジスタの上位側にライトされるデータを、レジスタの種別や用途に合わせて変更できる。
本発明に関連する半導体集積回路の技術における好ましい例では、マクロブロックのレジスタは、カウンタとして機能する。マクロブロックの第1記憶回路は、バスマスタによるレジスタの上位側へのライトアクセスの有無を示す。マクロブロックの第2記憶回路は、レジスタ(すなわち、カウンタ)のカウント方向を示す。マクロブロックの選択回路は、第1記憶回路がライトアクセス有りを示す場合、ライトバッファのデータを選択して出力する。選択回路は、第1記憶回路がライトアクセス無しを示す場合、第2記憶回路が示すカウント方向に応じて全ビットが論理1を示す第1予約データまたは全ビットが論理0を示す第2予約データのいずれかを選択してライトバッファのデータとして出力する。例えば、マクロブロックの選択回路は、第1記憶回路がライトアクセス無しを示す場合、第2記憶回路がアップカウントを示すときに第1予約データを選択し、第2記憶回路がダウンカウントを示すときに第2予約データを選択する。
このため、バスマスタがカウンタの上位側にはライトアクセスせず、カウンタの下位側のみにライトアクセスする場合、カウンタのアップカウント時に第1予約データがカウンタの上位側にライトされ、カウンタのダウンカウント時に第2予約データがカウンタの上位側にライトされる。これにより、データバスより大きいデータ幅のカウンタを、データバスと同一のデータ幅のカウンタと等価に動作させることができる。従って、レジスタがカウンタとして機能する場合にも、既存のテストパターンを変更することなく流用できる。
本発明に関連する半導体集積回路の技術における好ましい例では、第1記憶回路は、バスマスタによるレジスタの上位側へのアクセス時にライトアクセス有りを示す状態に遷移し、バスマスタによるレジスタの下位側へのアクセス時にライトアクセス無しを示す状態に遷移する。これにより、バスマスタがレジスタの上位側にはライトアクセスせず、レジスタの下位側のみにライトアクセスする場合に、ライトバッファのデータがレジスタの上位側に誤ってライトされることを確実に防止できる。
本発明の半導体集積回路では、データバスのデータ幅より大きいデータ幅のレジスタを有するマクロブロックを、データバスと同一のデータ幅のレジスタを有するマクロブロックのテストパターンを変更することなく流用してテストできる。
以下、図面を用いて本発明の実施形態を説明する。図1は、本発明の第1実施形態を示している。システムLSI10(半導体集積回路)は、8ビットのデータ入出力を有するCPU12(バスマスタ)、タイマ14(マクロブロック)および8ビットデータバスDBを有している。データバスDBは、CPU12およびタイマ14を相互に接続し、これらの間でのデータ授受を可能にする。
CPU12は、タイマ14の16ビットアップダウンカウンタCNTn(n=1、2)の上位側(8ビット)にライトアクセスするときに、アドレス信号ADをカウンタCNTnの上位側に割り当てられたアドレスを示すレベルに設定するとともに、ライト信号WRHを活性化させる。また、CPU12は、タイマ14のカウンタCNTnの下位側(8ビット)にライトアクセスするときに、アドレス信号ADをカウンタCNTnの下位側に割り当てられたアドレスを示すレベルに設定するとともに、ライト信号WRLを活性化させる。CPU12は、ライト信号WRHまたはライト信号WRLの活性化中、所望のライトデータをデータバスDBに出力する。
CPU12は、タイマ14のカウンタCNTnの上位側にリードアクセスするときに、アドレス信号ADをカウンタCNTnの上位側のアドレスを示すレベルに設定するとともに、リード信号RDHを活性化させる。また、CPU12は、タイマ14のカウンタCNTnの下位側にリードアクセスするときに、アドレス信号ADをカウンタCNTnの下位側のアドレスを示すレベルに設定するとともに、リード信号RDLを活性化させる。CPU12は、リード信号RDHまたはリード信号RDLの活性化中、データバスDBのデータ(すなわち、タイマ14から出力されたリードデータ)を取り込む。
CPU12は、タイマ14のカウンタCNTnの上位側および下位側の双方にライトアクセスする必要がある場合(すなわち、カウンタCNTnへの16ビットライトアクセスが必要である場合)、上位側にアクセスした後に下位側にアクセスする。また、CPU12は、タイマ14のカウンタCNTnの上位側および下位側の双方にリードアクセスする必要がある場合(すなわち、カウンタCNTnへの16ビットリードアクセスが必要である場合)、下位側にアクセスした後に上位側にアクセスする。
タイマ14は、ライトバッファWBn、バッファステータスフラグBSFn(第1記憶回路)、カウント方向フラグCDFn(第2記憶回路)、セレクタ回路SELn(選択回路)、16ビットアップダウンカウンタCNTnおよびリードバッファRBnを有している。ライトバッファWBnは、アドレス信号ADがカウンタCNTnの上位側のアドレスを示し、かつライト信号WRHが活性化されているときに、データバスDBのデータ(すなわち、CPU12から出力されたライトデータ)を取り込み、取り込んだデータをセレクタ回路SELnに出力する。
バッファステータスフラグBSFnは、アドレス信号ADがカウンタCNTnの上位側のアドレスを示し、かつライト信号WRHが活性化されているときに、セットされる。換言すれば、バッファステータスフラグBSFnは、CPU12によるカウンタCNTnの上位側へのライトアクセス(ライトバッファWBnによるデータ取り込み)に応答してセットされる。また、バッファステータスフラグBSFnは、アドレス信号ADがカウンタCNTnの下位側のアドレスを示し、かつライト信号WRLが活性化されているときに、リセットされる。換言すれば、バッファステータスフラグBSFnは、CPU12によるカウンタCNTnの下位側へのライトアクセス(カウンタCNTnによるデータ取り込み)に応答してリセットされる。従って、バッファステータスフラグBSFnは、CPU12によるカウンタCNTnの上位側へのライトアクセスの有無を示す。
カウント方向フラグCDFnは、カウンタCNTnのアップカウント時にセットされる。また、カウント方向フラグCDFnは、カウンタCNTnのダウンカウント時にリセットされる。従って、カウント方向フラグCDFnは、カウンタCNTnのカウント方向を示す。セレクタ回路SELnは、バッファステータスフラグBSFnおよびカウント方向フラグCDFnのセット・リセット状態に応じて、カウンタCNTn(上位側)に出力すべきデータを選択する。セレクタ回路SELnの詳細については、図2で説明する。
カウンタCNTnは、内部ライト信号WRnの活性化中に、セレクタ回路SELnから出力されるデータを上位側に取り込むとともに、データバスDBのデータ(すなわち、CPU12から出力されたライトデータ)を下位側に取り込む。なお、内部ライト信号WRnは、アドレス信号ADがカウンタCNTnの下位側のアドレスを示し、かつライト信号WRLが活性化されているときに、活性化される。また、カウンタCNTnは、内部リード信号RDnの活性化中に、上位側のデータをリードバッファRDnに出力するとともに、下位側のデータをデータバスDBに出力する。なお、内部リード信号RDnは、アドレス信号ADがカウンタCNTnの下位側のアドレスを示し、かつリード信号RDLが活性化されているときに、活性化される。
リードバッファRBnは、アドレス信号ADがカウンタCNTnの下位側のアドレスを示し、かつリード信号RDLが活性化されているときに、カウンタCNTnの上位側から出力されるデータを取り込む。リードバッファRBnは、アドレス信号ADがカウンタCNTnの上位側のアドレスを示し、かつリード信号RDHが活性化されているときに、取り込んだデータをデータバスDBに出力する。
図2は、第1実施形態におけるセレクタ回路SELnの詳細を示している。セレクタ回路SELnは、セレクタS1、S2を有している。セレクタS1は、カウント方向フラグCDFnがセットされているとき(すなわち、カウンタCNTnのカウント方向がアップカウントであるとき)、8ビットデータALL1(第1予約データ)を選択して出力する。データALL1は、全ビットが”論理1”を示すデータである。また、セレクタS1は、カウント方向フラグCDF1がリセットされているとき(すなわち、カウンタCNTnのカウント方向がダウンカウントであるとき)、8ビットデータALL0(第2予約データ)を選択して出力する。データALL0は、全ビットが”論理0”を示すデータである。セレクタS2は、バッファステータスフラグBSFnがセットされているとき、ライトバッファWBnの出力データを選択してカウンタCNTnに出力する。セレクタS2は、バッファステータスフラグBSFnがリセットされているとき、セレクタS1の出力データ(データALL1、ALL0のいずれか)を選択してカウンタCNTnに出力する。
図3は、第1実施形態におけるアクセス動作の一例を示している。図中、クロックCKは、システムLSI10の動作クロックを示している。すなわち、CPU12およびタイマ14は、クロックCKに同期して動作する。なお、この例は、CPU12によるカウンタCNT1へのアクセス動作を示しているが、CPU12によるカウンタCNT2へのアクセス動作もカウンタCNT1へのアクセス動作と同様である。
CPU12は、カウンタCNT1に16ビットライトアクセスするために、まず、アドレス信号ADをカウンタCNT1の上位側のアドレスA1を示すレベルに設定するとともにライト信号WRHを活性化させ、さらにライトデータD1をデータバスDBに出力する(図3(a)、(b)、(c))。これにより、ライトバッファWB1は、データバスDBのデータD1を取り込む(図3(d))。このとき、バッファステータスフラグBSF1がセットされる。すなわち、セレクタ回路SEL1は、ライトバッファWB1から出力されるデータD1を選択してカウンタCNT1の上位側に出力する。
そして、CPU12は、アドレス信号ADをカウンタCNT1の下位側のアドレスA0を示すレベルに設定するとともにライト信号WRLを活性化させ、さらにライトデータD0をデータバスDBに出力する(図3(e)、(f)、(g))。このとき、内部ライト信号WR1が活性化される(図3(h))。従って、カウンタCNT1は、セレクタ回路SEL1から出力されるデータD1を上位側に取り込むとともに、データバスDBのデータD0を下位側に取り込む(図3(i)、(j))。このように、8ビットデータD0、D1からなる16ビットデータをカウンタCNT1に同一タイミングでライトさせることができる。
次に、CPU12は、カウンタCNT1に16ビットリードアクセスするために、アドレス信号ADをカウンタCNT1の下位側のアドレスA0を示すレベルに設定するとともにリード信号RDLを活性化させる(図3(k)、(l))。このとき、内部リード信号RD1が活性化される(図3(m))。従って、カウンタCNT1は、下位側のデータD0をリードデータとしてデータバスDBに出力する(図3(n))。これと同時に、カウンタCNT1は上位側のデータD1をリードバッファRB1に出力し、リードバッファRB1はカウンタCNT1の上位側のデータD1を取り込む(図3(o))。
そして、CPU12は、アドレス信号ADをカウンタCNT1の上位側のアドレスA1を示すレベルに設定するとともに、リード信号RDHを活性化させる(図3(p)、(q))。これにより、リードバッファRB1は、取り込んだデータD1をリードデータとしてデータバスDBに出力する(図3(r))。CPU12は、データバスDBから8ビットデータD0、D1を順次取得することで、カウンタCNT1から同一タイミングでリードされた16ビットデータを取得できる。
以上のような第1実施形態では、カウンタCNTnの下位側がデータバスDBに直接接続されているため、CPU12によるカウンタCNTnの下位側のみへのアクセスを、データバスDBと同一データ幅のカウンタ(すなわち、8ビットカウンタ)を有するタイマと同一のタイミングで実施できる。また、CPU12がカウンタCNTnの下位側のみにライトアクセスする場合、カウンタCNTnのアップカウント時にデータALL1がカウンタCNTnの上位側にライトされ、カウンタCNTnのダウンカウント時にデータALL0がカウンタCNTnの上位側にライトされるため、16ビットカウンタCNTnを8ビットカウンタと等価に動作させることができる。従って、8ビットカウンタを有するタイマに対する既存のテストパターンを変更することなく流用してタイマ14をテストできる。また、カウンタCNTnの下位側のみへのアクセスが必要である場合に、カウンタCNTnの上位側および下位側の双方にアクセスする必要はないため、アクセス時間の無駄な増加を回避できる。
図4は、本発明の第2実施形態を示している。第2実施形態を説明するにあたって、第1実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。システムLSI20は、第1実施形態(図1)のタイマ14に代えてタイマ24を有していることを除いて、第1実施形態のシステムLSI10と同一である。タイマ24は、第1実施形態のライトバッファWBnおよびリードバッファRBnに代えてリードライトバッファRWBn(兼用バッファ)を有していることを除いて、タイマ14と同一である。
リードライトバッファRWBnは、アドレス信号ADがカウンタCNTnの上位側のアドレスを示し、かつライト信号WRHが活性化されているときに、データバスDBのデータを取り込み、取り込んだデータをセレクタ回路SELnに出力する。リードライトバッファRWBnは、アドレス信号ADがカウンタCNTnの下位側のアドレスを示し、かつリード信号RDLが活性化されているときに、カウンタCNTnの上位側から出力されるデータを取り込む。リードライトバッファRWBnは、アドレス信号ADがカウンタCNTnの上位側のアドレスを示し、かつリード信号RDHが活性化されているときに、取り込んだデータをデータバスDBに出力する。すなわち、リードライトバッファRWBnは、第1実施形態のライトバッファWBnおよびリードバッファの双方の機能を実現している。
CPU12によるライトアクセスとリードアクセスとが競合することはないため、第1実施形態のライトバッファWBnおよびリードバッファRBnに代えてリードライトバッファRWBnを設けても、CPU12によるカウンタCNTnへのアクセスの正常性が失われることはない。以上のような第2実施形態でも、第1実施形態と同様の効果が得られる。さらに、リードライトバッファRWBnで第1実施形態のライトバッファWBnおよびリードバッファRBnの双方の機能を実現しているため、第1実施形態のタイマ14に比べて、タイマ24の回路規模を低減できる。
図5は、本発明の第3実施形態を示している。第3実施形態を説明するにあたって、第1実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。システムLSI30は、第1実施形態(図1)のタイマ14に代えてタイマ34を有していることを除いて、第1実施形態のシステムLSI10と同一である。タイマ34は、第1実施形態のライトバッファWBnおよびリードバッファRBnに代えて共通ライトバッファWBCおよび共通リードバッファRBCを有していることを除いて、タイマ14と同一である。
共通ライトバッファWBCは、アドレス信号ADがカウンタCNT1またはカウンタCNT2のいずれかの上位側のアドレスを示し、かつライト信号WRHが活性化されているときにデータバスDBのデータを取り込み、取り込んだデータをセレクタ回路SEL1、SEL2に出力する。すなわち、共通ライトバッファWBCは、第1実施形態のライトバッファWB1、WB2の双方の機能を実現し、カウンタCNT1、CNT2に共通して設けられている。
共通リードバッファRBCは、アドレス信号ADがカウンタCNT1(またはカウンタCNT2)の下位側のアドレスを示し、かつリード信号RDLが活性化されているときに、カウンタCNT1(またはカウンタCNT2)の上位側から出力されるデータを取り込む。共通リードバッファRBCは、アドレス信号ADがカウンタCNT1(またはカウンタCNT2)の上位側のアドレスを示し、かつリード信号RDHが活性化されているときに、取り込んだデータをデータバスDBに出力する。すなわち、共通リードバッファRBCは、第1実施形態のリードバッファRB1、RB2の双方の機能を実現し、カウンタCNT1、CNT2に共通して設けられている。
CPU12によるカウンタCNT1へのアクセスとカウンタCNT2へのアクセスとが競合することはないため、第1実施形態のライトバッファWBnおよびリードバッファRBnに代えて共通ライトバッファWBCおよび共通リードバッファRBCを設けても、CPU12によるカウンタCNTnへのアクセスの正常性が失われることはない。以上のような第3実施形態でも、第1実施形態と同様の効果が得られる。さらに、共通ライトバッファWBCで第1実施形態のライトバッファWB1、WB2の双方の機能を実現するとともに、共通リードバッファRBCで第1実施形態のリードバッファRB1、RB2の双方の機能を実現しているため、第1実施形態のタイマ14と比べて、タイマ34の回路規模を低減できる。
図6は、本発明の第4実施形態を示している。第4実施形態を説明するにあたって、第1および第3実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。システムLSI40は、第3実施形態(図5)のタイマ34に代えタイマ44を有していることを除いて、第3実施形態のシステムLSI30と同一である。タイマ44は、第3実施形態の共通ライトバッファWBCおよび共通リードバッファRBCに代えて共通リードライトバッファRWBC(兼用バッファ)を有していることを除いて、第3実施形態のタイマ34と同一である。
共通リードライトバッファRWBCは、アドレス信号ADがカウンタCNT1またはカウンタCNT2のいずれかの上位側のアドレスを示し、かつライト信号WRHが活性化されているときにデータバスDBのデータを取り込み、取り込んだデータをセレクタ回路SEL1、SEL2に出力する。共通リードライトバッファRWBCは、アドレス信号ADがカウンタCNT1(またはカウンタCNT2)の下位側のアドレスを示し、かつリード信号RDLが活性化されているときに、カウンタCNT1(またはカウンタCNT2)の上位側から出力されるデータを取り込む。共通リードライトバッファRWBCは、アドレス信号ADがカウンタCNT1(またはカウンタCNT2)の上位側のアドレスを示し、かつリード信号RDHが活性化されているときに、取り込んだデータをデータバスDBに出力する。すなわち、共通リードライトバッファRWBCは、第3実施形態の共通ライトバッファWBCおよび共通リードバッファRBCの双方の機能を具現している。換言すれば、共通リードライトバッファRWBCは、第1実施形態のライトバッファWB1、WB2およびリードバッファRB1、RB2の全ての機能を実現している。
CPU12によるカウンタCNT1へのアクセスとカウンタCNT2へのアクセスとが競合することはないうえに、CPU12によるライトアクセスとリードアクセスとが競合することもないため、第3実施形態の共通ライトバッファWBCおよび共通リードバッファRBCに代えて共通リードライトバッファRWBCを設けても、CPU12のカウンタCNTnへのアクセスの正常性が失われることはない。以上のような第4実施形態でも、第1実施形態と同様の効果が得られる。さらに、共通リードライトバッファRWBCで第1実施形態のライトバッファWB1、WB2およびリードバッファRB1、RB2の全ての機能を実現しているため、第3実施形態のタイマ34に比べて、タイマ44の回路規模を更に低減できる。
図7は、本発明の第5実施形態を示している。第5実施形態を説明するにあたって、第1実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。システムLSI50は、第1実施形態(図1)のタイマ14に代えてリソース54を有していることを除いて、第1実施形態のシステムLSI10と同一である。
リソース54は、ライトバッファWBn、バッファステータスフラグBSFn、論理レベルフラグLLFn(第2記憶回路)、セレクタ回路SELn、16ビットレジスタREGnおよびリードバッファRBnを有している。論理レベルフラグLLFnは、例えば1本のレジスタとして構成され、アドレス信号ADがそのレジスタに割り当てられたアドレスを示し、かつライト信号WRLが活性化されているときに、データバスDBにおける対応するビットのデータを取り込む。論理レベルフラグLLFnは、アドレス信号ADがそのレジスタに割り当てられたアドレスを示し、かつリード信号RDLが活性化されているときに、データをデータバスDBにおける対応するビットに出力する。論理レベルフラグLLFnは、CPU12がデータバスDBを介してデータ”1”をライトすることでセットされ、CPU12がデータバスDBを介してデータ”0”をライトすることでリセットされる。従って、論理レベルフラグLLFnは、”論理1”または”論理0”のいずれかを示す。レジスタREGnは、カウンタ機能を有していないことを除いて、第1実施形態のカウンタCNTnと同一である。
以上のような第5実施形態でも、第1実施形態と同様の効果が得られる。さらに、CPU12がレジスタREGnの下位側のみにライトアクセスする場合に、レジスタREGnの上位側にライトされるデータを確定させることができる。従って、リソース54に所望の動作を実施させるテストにおいて、テストの実施毎にレジスタREGnの上位側にライトされるデータが異なることを回避でき、リソース54に所望の動作を確実に毎回実施させることができる。また、論理レベルフラグLLFnのセット・リセット状態をCPU12のライトアクセスにより設定できるため、CPU12がレジスタREGnの下位側のみにライトアクセスする場合にレジスタREGnの上位側にライトされるデータを、レジスタREGnの種別や用途に合わせて変更できる。
なお、第1〜第5実施形態では、CPUのアクセス動作に本発明を適用した例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、DMAコントローラ(DMA:Direct Memory Access)のアクセス動作(メモリおよびレジスタ間でのデータ転送動作)に本発明を適用してもよい。
第1〜第5実施形態では、CPU12が、カウンタCNTn(またはレジスタREGn)の上位側にアクセスするときにリード信号RDHを活性化させ、カウンタCNTn(またはレジスタREGn)の下位側にアクセスするときにリード信号RDLを活性化させる例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、CPU12が、カウンタCNTn(またはレジスタREGn)の上位側にアクセスするとき、またはカウンタCNTn(またはレジスタREGn)の下位側にアクセスするときのいずれの場合にも、一本のリード信号を活性化させるようにしてもよい。
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明の第1実施形態を示すブロック図である。 第1実施形態におけるセレクタ回路の詳細を示すブロック図である。 第1実施形態におけるアクセス動作の一例を示すタイミング図である。 本発明の第2実施形態を示すブロック図である。 本発明の第3実施形態を示すブロック図である。 本発明の第4実施形態を示すブロック図である。 本発明の第5実施形態を示すブロック図である。
符号の説明
10、20、30、40、50 システムLSI
12 CPU
14、24、34、44 タイマ
54 リソース
AD アドレス信号
ALL0、ALL1 データ
BSF1、BSF2 バッファステータスフラグ
CDF1、CDF2 カウント方向フラグ
CNT1、CNT2 カウンタ
DB データバス
LLF1、LLF2 論理レベルフラグ
RB1、RB2 リードバッファ
RBC 共通リードバッファ
RD1、RD2 内部リード信号
RDH、RDL リード信号
REG1、REG2 レジスタ
RWB1、RWB2、リードライトバッファ
RWBC 共通リードライトバッファ
S1、S2 セレクタ
SEL1、SEL2 セレクタ回路
WB1、WB2 ライトバッファ
WBC 共通ライトバッファ
WR1、WR2 内部ライト信号
WRH、WRL ライト信号

Claims (5)

  1. データバスと、
    前記データバスと同一のデータ幅でアクセス動作するバスマスタと、
    前記データバスより大きいデータ幅を有し、下位側が前記データバスに接続されるレジスタと、前記レジスタの上位側へのライトデータを格納するライトバッファと、前記レジスタの上位側からのリードデータを格納するリードバッファとを有するマクロブロックとを備え、
    前記バスマスタは、前記レジスタの上位側および下位側の双方へのライトアクセスが必要である場合に前記レジスタの下位側を最後にアクセスし、前記レジスタの上位側および下位側の双方へのリードアクセスが必要である場合に前記レジスタの下位側を最初にアクセスし、
    前記マクロブロックは、
    前記バスマスタによる前記レジスタの上位側へのライトアクセスに応答して前記データバスのデータを前記ライトバッファに格納し、前記バスマスタによる前記レジスタの下位側へのライトアクセスに応答して、前記データバスのデータを前記レジスタの下位側にライトするとともに、前記ライトバッファのデータを前記レジスタの上位側にライトし、
    前記バスマスタによる前記レジスタの下位側へのリードアクセスに応答して、前記レジスタの下位側のデータをリードして前記データバスに出力するとともに、前記レジスタの上位側のデータをリードして前記リードバッファに格納し、前記バスマスタによる前記レジスタの上位側へのリードアクセスに応答して前記リードバッファのデータを前記データバスに出力し、
    前記マクロブロックは、
    前記バスマスタによる前記レジスタの上位側へのライトアクセスの有無を示す第1記憶回路と、
    論理1または論理0のいずれかを示す第2記憶回路と、
    前記第1記憶回路がライトアクセス有りを示す場合、前記ライトバッファのデータを選択して出力し、前記第1記憶回路がライトアクセス無しを示す場合、前記第2記憶回路が示す論理に応じて全ビットが論理1を示す第1予約データまたは全ビットが論理0を示す第2予約データのいずれかを選択して前記ライトバッファのデータとして出力する選択回路とを備えることを特徴とする半導体集積回路。
  2. 請求項1記載の半導体集積回路において、
    前記第2記憶回路は、前記バスマスタによりアクセスされるレジスタであることを特徴とする半導体集積回路。
  3. データバスと、
    前記データバスと同一のデータ幅でアクセス動作するバスマスタと、
    前記データバスより大きいデータ幅を有し、下位側が前記データバスに接続されるレジスタと、前記レジスタの上位側へのライトデータを格納するライトバッファと、前記レジスタの上位側からのリードデータを格納するリードバッファとを有するマクロブロックとを備え、
    前記バスマスタは、前記レジスタの上位側および下位側の双方へのライトアクセスが必要である場合に前記レジスタの下位側を最後にアクセスし、前記レジスタの上位側および下位側の双方へのリードアクセスが必要である場合に前記レジスタの下位側を最初にアクセスし、
    前記マクロブロックは、
    前記バスマスタによる前記レジスタの上位側へのライトアクセスに応答して前記データバスのデータを前記ライトバッファに格納し、前記バスマスタによる前記レジスタの下位側へのライトアクセスに応答して、前記データバスのデータを前記レジスタの下位側にライトするとともに、前記ライトバッファのデータを前記レジスタの上位側にライトし、
    前記バスマスタによる前記レジスタの下位側へのリードアクセスに応答して、前記レジスタの下位側のデータをリードして前記データバスに出力するとともに、前記レジスタの上位側のデータをリードして前記リードバッファに格納し、前記バスマスタによる前記レジスタの上位側へのリードアクセスに応答して前記リードバッファのデータを前記データバスに出力し、
    前記マクロブロックは、
    カウンタとして機能する前記レジスタと、
    前記バスマスタによる前記レジスタの上位側へのライトアクセスの有無を示す第1記憶回路と、
    前記レジスタのカウント方向を示す第2記憶回路と、
    前記第1記憶回路がライトアクセス有りを示す場合、前記ライトバッファのデータを選択して出力し、前記第1記憶回路がライトアクセス無しを示す場合、前記第2記憶回路が示すカウント方向に応じて全ビットが論理1を示す第1予約データまたは全ビットが論理0を示す第2予約データのいずれかを選択して前記ライトバッファのデータとして出力する選択回路とを備えることを特徴とする半導体集積回路。
  4. 請求項3記載の半導体集積回路において、
    前記選択回路は、前記第1記憶回路がライトアクセス無しを示す場合、第2記憶回路がアップカウントを示すときに前記第1予約データを選択し、第2記憶回路がダウンカウントを示すときに前記第2予約データを選択することを特徴とする半導体集積回路。
  5. 請求項1または請求項3記載の半導体集積回路において、
    前記第1記憶回路は、前記バスマスタによる前記レジスタの上位側へのアクセス時にライトアクセス有りを示す状態に遷移し、前記バスマスタによる前記レジスタの下位側へのアクセス時にライトアクセス無しを示す状態に遷移することを特徴とする半導体集積回路。
JP2005091782A 2005-03-28 2005-03-28 半導体集積回路 Expired - Fee Related JP4750446B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005091782A JP4750446B2 (ja) 2005-03-28 2005-03-28 半導体集積回路
US11/155,623 US7409479B2 (en) 2005-03-28 2005-06-20 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005091782A JP4750446B2 (ja) 2005-03-28 2005-03-28 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2006277025A JP2006277025A (ja) 2006-10-12
JP4750446B2 true JP4750446B2 (ja) 2011-08-17

Family

ID=37036534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005091782A Expired - Fee Related JP4750446B2 (ja) 2005-03-28 2005-03-28 半導体集積回路

Country Status (2)

Country Link
US (1) US7409479B2 (ja)
JP (1) JP4750446B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143524A (ja) * 1991-11-19 1993-06-11 Fujitsu Ltd カウンタ制御方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173366B1 (en) * 1996-12-02 2001-01-09 Compaq Computer Corp. Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage
JP2004280924A (ja) 2003-03-14 2004-10-07 Oki Electric Ind Co Ltd メモリテスト回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143524A (ja) * 1991-11-19 1993-06-11 Fujitsu Ltd カウンタ制御方式

Also Published As

Publication number Publication date
US20060218333A1 (en) 2006-09-28
US7409479B2 (en) 2008-08-05
JP2006277025A (ja) 2006-10-12

Similar Documents

Publication Publication Date Title
KR100908760B1 (ko) 다중 내부 데이터 버스 및 메모리 뱅크 인터리빙을 갖는방법 및 메모리 장치
US6018478A (en) Random access memory with separate row and column designation circuits for reading and writing
CN101751980B (zh) 基于存储器知识产权核的嵌入式可编程存储器
JP4247262B2 (ja) 集積回路装置
CN102103561A (zh) 数据处理***中的异步扩展电路
CN108628638A (zh) 数据处理方法及装置
US6545942B2 (en) Semiconductor memory device and information processing unit
US20060161698A1 (en) Architecture for accessing an external memory
JP4750446B2 (ja) 半導体集積回路
US6292853B1 (en) DMA controller adapted for transferring data in two-dimensional mapped address space
JP6294732B2 (ja) データ転送制御装置及びメモリ内蔵装置
JP2002278836A (ja) キャッシュメモリ
JP5499131B2 (ja) デュアルポートメモリおよびその方法
TWI498812B (zh) 資料存取方法以及使用此資料存取方法的電子裝置
JP4918535B2 (ja) キャッシュメモリ、キャッシュメモリ装置及び割当て方法
JP4549073B2 (ja) メモリ制御回路
CN100533371C (zh) 用于控制处理器与外设之间的通信的控制器和方法
JP5393626B2 (ja) 情報処理装置
US20060085622A1 (en) Method and system for managing address bits during buffered program operations in a memory device
JP2004362176A (ja) 集積回路
US20090100220A1 (en) Memory system, control method thereof and computer system
JP4557179B2 (ja) マイクロコンピュータ装置
JP2008226276A (ja) プログラマブルコントローラ
JP2001273014A (ja) プログラマブルコントローラ
JP2024103373A (ja) 情報処理装置及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110517

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110519

R150 Certificate of patent or registration of utility model

Ref document number: 4750446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees