JP5196538B2 - 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路 - Google Patents

半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路 Download PDF

Info

Publication number
JP5196538B2
JP5196538B2 JP2008031006A JP2008031006A JP5196538B2 JP 5196538 B2 JP5196538 B2 JP 5196538B2 JP 2008031006 A JP2008031006 A JP 2008031006A JP 2008031006 A JP2008031006 A JP 2008031006A JP 5196538 B2 JP5196538 B2 JP 5196538B2
Authority
JP
Japan
Prior art keywords
memory
semiconductor integrated
integrated circuit
signal
clock signal
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
JP2008031006A
Other languages
English (en)
Other versions
JP2009193613A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008031006A priority Critical patent/JP5196538B2/ja
Priority to US12/379,041 priority patent/US7986583B2/en
Publication of JP2009193613A publication Critical patent/JP2009193613A/ja
Application granted granted Critical
Publication of JP5196538B2 publication Critical patent/JP5196538B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、メモリマクロを備える半導体集積回路、その設計方法、及び設計プログラムに関する。
ストラクチャードASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などでは、チップ上に搭載するメモリインスタンスの数、チップ全体のメモリ容量(メモリサイズ)、メモリインスタンス毎(に対応するメモリセルアレイ)のメモリ容量(メモリサイズ)は、予め製品毎に決められた値が設定されている。
セルベースICやゲートアレイなどの一般的なASICでは、回路構成上必要なメモリマクロがチップ上にアサインされる場合、メモリインスタンス(メモリセルアレイに利用されるメモリ領域)はメモリマクロに対して1対1でアサインされることが一般的である。また、大規模なメモリマクロをチップ上にアサインする際、小規模な複数のメモリマクロに分割し、周辺回路を付加して複数のインスタンスをアサインすることも一般的な回路技術として知られている。この場合、複数の小規模メモリマクロが複数のインスタンスに1対1でアサインされることとなる。
例えば、512W*32b(ワード線512本、データ線32ビット)のメモリマクロが10個搭載されたチップの場合、回路構成上512W*16b以下のRAMを最大10個搭載することができる。すなわち、このチップにアサイン可能なメモリインスタンス毎のメモリ容量は、最大512W*16b、アサイン可能なメモリインスタンス数は最大10となる。
一方、特開2005−085344号公報や特開平07−084987号公報には、倍速クロックを用いてメモリマクロのポート数が拡張された半導体集積回路が記載されている(特許文献1、2参照)。
特開2005−085344号公報 特開平07−084987号公報
図1、図2A及び図2Bを参照して、ユーザからの要望に応じた半導体記憶装置を作成する場面について説明する。一例として、図1に示すように、チップ上のメモリマクロ配置領域100に、512W*32bのメモリマクロM1、M2が2つ設定されている製品について説明する。
従来技術では、1つのメモリマクロに対してアサイン可能なメモリインスタンスは1つである。このため、メモリマクロM1、M2にアサイン可能なメモリインスタンスの数は合計2個となる。この場合、3つ以上のメモリインスタンスを2つのメモリマクロM1、M2にアサインすることができない。又、メモリマクロのメモリサイズは、メモリマクロ毎に設定されている。図1の例では、メモリマクロM1、M2のそれぞれに設定されたメモリサイズは512W*32bであり、このメモリサイズより大きいメモリインスタンスをメモリマクロM1、M2に割り当てることはできない。ただし、メモリマクロが512W*32bより小さい2つのメモリマクロに分割可能である場合、分割された2つのメモリマクロをメモリインスタンスI1、I2に割り当てることは可能である。
一方、ユーザからは、様々な回路構成のメモリマクロをチップ上に搭載することが要求される。回路構成上512W*32bのメモリが2つ搭載されたチップ(製品)が要求された場合は問題ないが、インスタンスに設定値とは異なるメモリサイズのメモリや、設定されたメモリマクロ数より多い数のメモリを搭載したチップが所望される場合が多々ある。例えば、回路構成上512W*16bのメモリを2個搭載した半導体集積回路が要求される場合がある。このような要求に対し、従来では図2Aに示すように、メモリマクロM1、M2のそれぞれに512W*16bのメモリインスタンスII1、I2がアサインされる。この場合、メモリマクロM1、M2のそれぞれ、512W*16bに相当する領域R1、R2が使用されずに残る。すなわち、チップ上に搭載可能なメモリ容量の約半分(ここでは、512W*32b)の領域が、メモリとして使用できない領域となる。
又、ユーザから回路構成上、256W*32bのメモリを2個搭載した半導体集積回路が要求された場合、図2Bに示すように、メモリマクロM1、M2のそれぞれに256W*32bのメモリインスタンスII3、I4がアサインされた半導体集積回路が提供される。この場合、メモリインスタンスI1、I2のそれぞれに、256W*32bに相当する領域R3、R4が使用されずに残る。すなわち、図2Aに示す例と同様にチップ上に搭載可能なメモリ容量の約半分(ここでは、512W*32b)の領域が、メモリとして使用できない領域となる。
このように、従来技術では、512W*32bのメモリマクロを配置可能な領域がチップ上に存在していても、この領域を効率良く回路構成上のメモリマクロに利用することができない。更に、全てのメモリマクロにメモリインスタンスをアサインした場合、回路構成上のメモリマクロを追加できる領域があってもインスタンス不足によりメモリセルを追加することができない。このため、ユーザが更なる3つめのメモリマクロの追加を希望しても、従来技術では、その要求に応じた半導体集積回路を提供することができない。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を括弧付きで用いて、[課題を解決するための手段]を説明する。この番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明による半導体集積回路の設計方法は、コンピュータによって実行され、メモリ容量が予め決められたメモリマクロが設定されたチップ上に、メモリインスタンスを割り当てる。本発明による半導体集積回路の設計方法は、1つのメモリマクロ(101)に対して、動作周波数が同一の複数のメモリインスタンス(I10、I20)を割り当てるステップと、第1クロック信号(CLKx1)の周波数を逓倍した第2クロック信号(CLKx2)を複数のメモリインスタンス(I10、I20)に出力する逓倍器(103)を配置するステップと、複数のメモリインスタンス(I10、I20)のうちアクティブとなるメモリインスタンスを、第1クロック信号(CLKx1)に同期して選択する制御回路(104、105)を配置するステップとを具備する。
このように、動作クロックを逓倍し、第1クロック信号(CLKx1)に同期して動作領域を選択することで、複数のインスタンス(I10、I20)を1つのメモリマクロ(101)に割り当てることができる。
本発明による半導体集積回路(1)は、メモリ(101)と、逓倍器(103)と、制御回路とを具備する。メモリ(101)は、複数のインスタンス(I10、I20)に対応する複数のメモリ領域を有する。逓倍器(103)は、第1クロック信号(CLKx1)の周波数を逓倍した第2クロック信号(CLKx2)を複数のメモリ領域に出力する。制御回路は、複数のメモリ領域においてアクティブとなるデータ信号線を、第1クロック信号に同期して選択する。
このように、メモリ(101)は、逓倍器(103)によって逓倍された第2クロック信号(CLK2)によって動作し、第1クロック信号(CLKx1)に同期して動作領域が選択される。これにより、複数のインスタンス(I10、I20)を1つのメモリマクロ(101)に割り当てた半導体集積回路(1)が実現される。
本発明による半導体集積回路の設計方法は、コンピュータによって実行される半導体集積回路設計プログラムによって実現されることが好ましい。
本発明による半導体集積回路設計方法、半導体集積回路設計プログラム、及び半導体集積回路によれば、メモリマクロ配置領域を効率的に使用してメモリを配置することができる。
以下、添付図面を参照して、本発明による半導体チップ1、及び半導体集積回路設計装置10の実施の形態を説明する。本実施の形態では、半導体集積回路設計装置10としてストラクチャードASICの設計を行う半導体集積設計装置を一例に説明する。尚、図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。
図3を参照して、本発明による半導体集積回路設計装置10の実施の形態における構成を説明する。図3は、本発明による半導体集積回路設計装置10の実施の形態における構成図である。図3を参照して、半導体集積回路設計装置10は、バス16を介して相互に接続されるCPU11と、RAM12と、記憶装置13と、入力装置14と、出力装置15とを具備する。記憶装置13はハードディスクやメモリ等の外部記憶装置である。又、入力装置14は、キーボードやマウス等のユーザによって操作されることで、各種データをCPU11や記憶装置13に出力する。出力装置15は、モニタやプリンタに例示され、CPU11から出力される回路解析の結果をユーザに対し視認可能に出力する。
CPU11は、入力装置14からの入力に応答して、記憶装置13内の半導体集積回路設計プログラム23を実行し、回路設計処理(ここでは、メモリマクロの配置処理)を行う。この際、記憶装置13からの各種データやプログラムはRAM12に一時格納され、CPU11は、RAM12内のデータを用いて各種処理を実行する。
記憶装置13は、制御回路配置用データ21、メモリマクロ配置用データ22、半導体集積回路設計プログラム23を格納している。制御回路配置用データ21は、周辺装置マクロや、周辺装置領域110を指定する位置データ等を含み、後述する入力制御回路104や、出力制御回路105等の周辺装置マクロを周辺装置領域110に配置するために用いられる。メモリマクロ配置用データ22は、メモリマクロや、メモリマクロ配置領域100を指定する位置データを含み、RAM等に例示されるメモリマクロ101をメモリマクロ配置領域100に配置するために用いられる。
半導体集積回路設計プログラム23は、CPU11によって実行されることで、設計対象の半導体集積回路1(以下、半導体チップ1と称す)上に設定されたメモリマクロ101にインスタンスをアサインする機能を有する。メモリマクロ及びインスタンスは、ハードウェア記述言語(Hardware Description Language : HDL)で記述される。
従来技術では、1つのメモリマクロに対し1つのメモリインスタンスがアサインされているが、本発明による半導体集積回路設計装置10は、1つのメモリマクロに対し複数のメモリインスタンスをアサインすることができる。半導体集積回路設計装置10は、以下の実施の形態で示すようにメモリマクロ101、及び周辺回路マクロ(逓倍器103、入力制御回路104、出力制御回路105)を設定することで、メモリマクロに対する複数のメモリインスタンスの割り当てを実現する。以下では、1つのメモリマクロに対し2つのメモリインスタンスがアサインされる半導体チップ1、及びその設計方法について、2つの実施の形態によって説明する。
図4は、本発明による半導体集積回路設計装置10によって設計された半導体チップ1の平面図である。半導体チップ1は、周囲に外部電極に接続するパッドを有する半導体基板上に、メモリマクロ配置領域100と周辺装置配置領域101とが設定される。メモリマクロ配置領域100には、メモリマクロ101が配置され、周辺装置配置領域110には、逓倍器103、入力制御回路104、出力制御回路105が設けられる。
逓倍器103は、入力されるクロック信号CLKx1の周波数を逓倍(例えば2逓倍)してクロック信号CLKx2としてメモリマクロ101に出力する。以下に示す実施の形態では2逓倍のクロック信号CLKが出力されるものとして説明する。逓倍器103は、半導体チップ1上の他の領域に設けられた逓倍器(他の機能マクロにおける逓倍器)でも構わない。あるいは、メモリマクロ101に入力される逓倍されたクロック信号CLKx2は、パッドを介して外部から入力されたクロック信号でも構わない。
入力制御回路104は、入力されるクロック信号CLKx1に同期して、入力されるデータ信号DI、アドレス信号AD、チップセレクト信号CEN、及びコマンド信号を、メモリマクロ101にアサインされた複数のメモリインスタンス(1つでも良い)のそれぞれに選択的に出力する。以下に示す実施の形態では、ライトコマンドに応じて出力されたライトイネーブル信号WENがコマンド信号として入力される。
メモリマクロ101は、少なくとも1つのメモリインスタンスによってアサインされ、逓倍器103で逓倍されたクロック信号CLKx2に同期してデータの書き込み・読み出し・消去が行われる。この際、メモリインスタンス毎に、入力制御回路104から選択的に出力されたデータ信号DI、アドレス信号AD、チップセレクト信号CEN、及びコマンド信号に応じてデータの書き込み・読み出し・消去が行われる。
出力制御回路105は、入力されるクロック信号CLK×1及びコマンド信号(例えばライトイネーブル信号WEN)に応じてメモリマクロ101から出力されるデータ信号DOの出力周期を変更する。出力制御回路105は、クロック信号CLKx2に同期してメモリマクロ101から読み出されたデータをクロック信号CLKx1に同期して外部に取り出す。
1.第1の実施の形態
図5から図8を参照して、本発明による半導体チップ1の第1の実施の形態を説明する。本実施の形態における半導体チップ1は、メモリサイズが512W*32bのメモリマクロM1、M2が設定されたメモリマクロ配置領域100を備えるものとする。
図5は、メモリマクロ配置領域100に設定されたメモリマクロM1、M2と、メモリマクロM1にアサインされるメモリインスタンスI10、I20を示す概念図である。第1の実施の形態では、1つのメモリマクロM1(メモリマクロ101)に、メモリサイズが512W*16bである2つのメモリインスタンスI10、I20がアサインされることで、回路構成上のメモリが形成される。図5を参照して、第1の実施の形態におけるメモリマクロ101は、512W*32bのメモリサイズに相当するメモリセルアレイを備え、そのメモリセルアレイの上位ビット側(0から15ビット)がメモリインスタンスI10、下位ビット側(16から31ビット)がメモリインスタンスI20に割り当てられる。
次に、メモリマクロM1(メモリマクロ101)に割り当てられるメモリインスタンスI10、20について説明する。メモリインスタンスI10には、データ信号DI_A[15:0]、及びアドレス信号AD_A[8:0]が入力される。データ信号DI_A[15:0]は、メモリマクロ101における上位ビットのデータ入力信号線DI[15:0]に入力され、アドレス信号AD_A[8:0]によって指定されたアドレスに書き込まれる。又、アドレス信号AD_A[8:0]で指定されたアドレスからデータ信号DO_A[15:0]が読み出される。
一方、メモリインスタンスI20には、データ信号DI_B[15:0]、及びアドレス信号AD_B[8:0]が入力される。データ信号DI_B[15:0]は、メモリマクロ101における下位ビットのデータ入力信号線DI[31:16]に入力され、アドレス信号AD_B[8:0]によって指定されたアドレスに書き込まれる。又、アドレス信号AD_B[8:0]で指定されたアドレスからデータ信号DO_B[31:16]が読み出される。
第1の実施の形態では、アドレス信号AD_A[8:0]とアドレス信号DI_B[8:0]は、入力制御回路104によって選択的にメモリマクロ101に入力される。このため、入力されるデータ信号DI_A[15:0]とデータ信号DI_B[15:0]も選択的にメモリマクロ101に書き込まれる。又、メモリ101から出力されるデータ信号DI_A[15:0]とデータ信号DI_B[15:0]は、出力制御回路105によって選択的に外部装置(図示なし)に出力される。
このように本実施の形態では、1つのメモリマクロM1(メモリマクロ101)に2つのメモリインスタンスI10、I20がアサインされる。図6は、第1の実施の形態におけるメモリマクロ101と、周辺回路マクロ(逓倍器103、入力制御回路104、出力制御回路105)の構成の詳細を示すブロック図である。図6を参照して、1つのメモリマクロに2つのインスタンスをアサインするためのメモリマクロ101と周辺回路マクロの構成の詳細を説明する。
入力制御回路104は、セレクタ111、112、AND回路113、114を備える。データ信号DIは、上位ビット側のデータ入力信号線DI[15:0]に入力されるデータ信号DI_A[15:0]と、下位ビット側のデータ入力信号線DI[31:16]に入力されるデータ信号DI_B[15:0]とを含む。アドレス信号ADは、セレクタ111を介してアドレス信号線DI[8:0]に入力されるアドレス信号AD_A[8:0]とアドレス信号AD_B[8:0]とを含む。チップセレクト信号CENは、セレクタ112を介してチップセレクト信号線CENに入力されるチップセレクト信号CEN_Aとチップセレクト信号CEN_Bとを含む。ライトイネーブル信号WENは、AND回路113を介して上位ビット側のライトイネーブル信号線WEN[15:0]に入力されるライトイネーブル信号WEN_A[15:0]と、下位ビット側のライトイネーブル信号線WEN[31:16]に入力されるライトイネーブル信号WEN_B[15:0]とを含む。
セレクタ121は、入力されるアドレス信号AD_A[8:0]とアドレス信号AD_B[8:0]のどちらか一方をクロック信号CLKx1に応じて選択してメモリマクロ101のアドレス信号線AD[8:0]に出力する。詳細には、セレクタ111は、クロック信号CLKx1の立ち上がりに応じてアドレス信号AD_B[8:0]を選択し、立ち下りに応じてアドレス信号AD_A[8:0]を選択してアドレス信号線AD[8:0]に出力する。
セレクタ112は、メモリインスタンスI10を選択するチップセレクタ信号CEN_Aと、メモリインスタンスI20を選択するチップセレクタ信号CEN_Bのどちらか一方をクロック信号CLKx1に応じて選択し、メモリマクロ101のチップセレクト信号線CENに出力する。詳細には、セレクタ112は、クロック信号CLKx1の立ち上がりに応じてチップセレクタ信号CEN_Bを選択し、立ち下りに応じてチップセレクト信号CEN_A選択してチップセレクト信号線CENに出力する。
AND回路113は、メモリインスタンスI10に対応するライトイネーブル信号WEN_A[15:0]とクロック信号CLKx1の反転信号との論理積を、メモリマクロ101における上位ビットのライトイネーブル信号WEN[15:0]線に入力する。AND回路114は、メモリインスタンスI20に対応するライトイネーブル信号WEN_B[15:0]とクロック信号CLKx1との論理積を、メモリマクロ101における下位ビットのライトイネーブル信号WEN[31:16]に入力する。
逓倍器103は、入力されるクロック信号CLKx1を2逓倍したクロック信号CLKx2を、メモリマクロ101の制御クロックCLKとして入力する。
出力制御回路105は、AND回路115、117、ラッチ回路116、118を備える。ラッチ回路116は、メモリマクロ101における上位ビットのデータ出力信号線DO[15:0]とAND回路115とに接続される。ラッチ回路116は、AND回路115からの出力、すなわちイネーブル信号WEN_A[15:0]とクロック信号CLKx1との論理積に応じて、データ出力信号線DO[15:0]からのデータ信号DO_A[15:0]をラッチする。又、メモリマクロ101から読み出したデータを確実にラッチするため、AND回路115と、ラッチ回路116との間に遅延回路を挿入しても良い。
ラッチ回路118は、メモリマクロ101における下位ビットのデータ出力信号線DO[31:16]とAND回路117とに接続される。ラッチ回路118は、AND回路117からの出力、すなわちイネーブル信号WEN_B[15:0]とクロック信号CLKx1との論理積に応じて、データ出力信号線DO[31:16]からのデータ信号DO_B[15:0]をラッチする。又、メモリマクロ101から読み出したデータを確実にラッチするため、AND回路117と、ラッチ回路118との間に遅延回路を挿入しても良い。
以上のように、メモリインスタンスI10は、上位ビット側のデータ入力信号線DI[15:0]及びデータ出力信号線DO[15:0]によってデータの書き込み及び読み出しが行われる。又、メモリインスタンスI20は、下位ビット側のデータ入力信号線DI[31:16]及びデータ出力信号線DO[31:16]によってデータの書き込み及び読み出しが行われる。又、メモリインスタンスI10、I20は、共通のアドレス信号線AD[8:0]を、クロック信号CLKx1に同期して交互に使用する。この際、メモリマクロ101に対するデータの書き込み、読み出しは、逓倍されたクロック信号CLKx2に同期して行われる。
ライト動作において、データ信号DIは、クロック信号CLKx2に同期してメモリマクロ101内のメモリインスタンスI10、I20に交互に書き込まれる。又、メモリインスタンスI10、I20内のデータは、逓倍されたクロック信号CLKx2に同期して交互に出力され、出力制御回路105から、クロック信号CLKx1に同期して交互に読み出される。図7及び図8を参照して、図6に示すメモリマクロ101及び周辺回路マクロの動作の詳細を説明する。
図7は、第1の実施の形態におけるメモリマクロ101へのライト動作における入力動作を示すタイミングチャートである。図7を参照して、第1の実施の形態におけるメモリマクロ101への入力動作の詳細を説明する。ここで、クロック信号CLKx1は時刻T1において立ち上がり、時刻T2において立ち下がるものとする。
時刻T1において、クロック信号CLKx1の立ち上がりに応答して、チップセレクト信号CEN_Bとアドレス信号AD_B[8:0]がメモリマクロ101に入力される。これにより、メモリインスタンスI20の入力信号(データ信号線D[31:16])における所定のアドレスがアクティブとなる。この際、下位ビット側のライトイネーブル信号線WEN[31:16]に入力されるWEN_B[15:0]によって、メモリインスタンスI20が書き込み可能となる。
時刻T2において、クロック信号CLKx2の立ち上がりに応答して、チップセレクト信号CEN_Aとアドレス信号AD_A[8:0]がメモリマクロ101に入力される。これにより、メモリインスタンスI10の入力信号(データ信号線D[15:0])における所定のアドレスがアクティブとなる。この際、上位ビット側のライトイネーブル信号線WEN[15:0]に入力されるWEN_A[15:0]によって、メモリインスタンスI10が書き込み可能となる。
メモリマクロ101では、逓倍されたクロック信号CLKx2に同期してデータ入力信号線DI[15:0]、DI[31:16]に入力されるデータ信号DIが交互に書き込まれる。ここでは、クロック信号CLKx2の立ち上がりに同期して、書き込み可能となったデータ入力信号線DI[31:16]に入力されたデータ信号DI_B[15:0]が、メモリインスタンスI20スに書き込まれる(時刻T1)。又、クロック信号CLKx2の立ち下がりに応答して、書き込み可能となったデータ入力信号線DI[15:0]に入力されたデータ信号DI_A[15:0]が、メモリインスタンスI10に書き込まれる(時刻T2)。
以上のように、クロック信号CLKx2に同期してメモリインスタンスI10、20にデータ(ライトデータ)が交互に書き込まれる。
図8は、メモリマクロ101からデータを読み出す動作を示すタイミングチャートである。図8を参照して、メモリマクロ101からの出力動作の詳細を説明する。ここで、クロック信号CLKx1は時刻T3において立ち上がり、時刻T4において立ち下がるものとする。
時刻T3において、クロック信号CLKx1の立ち上がりに応答して、チップセレクト信号CEN_Bとアドレス信号AD_B[8:0]がメモリマクロ101に入力される。これにより、メモリインスタンスI20の出力信号(データ出力信号線DO[31:16」)における所定のアドレスがアクティブとなる。この際、下位ビット側のライトイネーブル信号線WEN[31:16]に入力されるWEN_B[15:0]によって、メモリインスタンスI20が読み出し可能となる。
時刻T4において、クロック信号CLKx1の立ち下がりに応答して、チップセレクト信号CEN_Aとアドレス信号AD_A[8:0]がメモリマクロ101に入力される。これにより、メモリインスタンスI10の出力信号(データ出力信号線DO[15:0」)における所定のアドレスがアクティブとなる。この際、上位ビット側のライトイネーブル信号線WEN[15:0]に入力されるWEN_A[15:0]によって、メモリインスタンスI10が読み出し可能となる。
メモリマクロ101からは、逓倍されたクロック信号CLKx2に同期して、データ出力信号線DO[15:0]、DO[31:16]からデータ信号が交互に読み出される。ここでは、クロック信号CLKx2の立ち上がりに同期して、読み出し可能となったデータ出力信号線DO[31:16]からメモリインスタンスI20内のデータ(データ信号DO_B[15:0])が出力される(時刻T2)。又、クロック信号CLKx2の立ち下がりに同期して、読み出し可能となったデータ出力信号線DO[15:0]からメモリインスタンスI10内のデータ(データ信号DO_A[15:0])が出力される(時刻T4)。
時刻T3において、ラッチ118は、AND回路117の出力、すなわち、クロック信号CLKx1の立ち上がりに応じて、読み出し可能となったデータ出力信号線DO[31:16]から出力されるデータ信号DO_B[15:0]をラッチし、外部装置(図示なし)に出力する。又、時刻T4において、ラッチ116は、AND回路115の出力、すなわち、クロック信号CLKx1の立ち下がりに応じて、読み出し可能となったデータ出力信号線DO[15:0]から出力されるデータ信号DO_A[15:0]をラッチし、外部装置(図示なし)に出力する。
以上のように、クロック信号CLKx2に同期してメモリインスタンスI10、I20から交互に読み出されたデータ(リードデータ)は、クロック信号CLKx1に同期して出力制御回路105から外部装置(図示なし)に出力される。
以上のように、共通のクロック信号CLKx1に応じてアクティブにするメモリマクロを選択する選択回路(入力制御回路104)と逓倍されたクロック信号CLKx2によって動作するメモリマクロ101とによって、同一のインスタンスに複数のメモリマクロをアサインすることが可能となる。
第1の実施の形態では、図5に示すように、メモリマクロM1(512W*32b)に2つのメモリインスタンスI10、I20(256W*16b×2)をアサインすることができるため、メモリマクロM2(512W*32b)の全てが利用可能となる。このため、従来技術に比べて、インスタンスを効率良く割り当てることができ、メモリマクロを有効に活用することができる。
2.第2の実施の形態
図9から図12を参照して、本発明による半導体チップ1の第2の実施の形態を説明する。本実施の形態における半導体チップ1は、第1の実施の形態と同様に、メモリサイズが512W*32bのメモリマクロM1、M2が設定されたメモリマクロ配置領域100を備えるものとする。
図9は、メモリマクロ配置領域100に設定されたメモリマクロM1、M2と、メモリマクロM1にアサインされるメモリインスタンスI30、I40を示す概念図である。第2の実施の形態では、1つのメモリマクロM1(メモリマクロ101)に、メモリサイズが256W*32bである2つのメモリインスタンスI30、I40がアサインされることで、回路構成上のメモリが形成される。図9を参照して、第2の実施の形態におけるメモリマクロ101は、512W*32bのメモリサイズに相当するメモリセルアレイを備え、そのメモリセルアレイの上位側のワード線(256W)がメモリインスタンスI30、下位側のワード線(256W)がメモリインスタンスI40にそれぞれ割り当てられる。
次に、メモリマクロM1(メモリマクロ101)に割り当てられるメモリインスタンスI10、20について説明する。メモリインスタンスI30には、入力制御装置104によって選択されたデータ信号DI_A[31:0]、及びアドレス信号AD_A[7:0]が入力される。データ信号DI_A[31:0]は、メモリマクロ101のデータ入力信号線DI[31:0]に入力され、アドレス信号AD_A[7:0]によって指定されたアドレスに書き込まれる。又、アドレス信号AD_A[7:0]で指定されたアドレスからデータ信号DO_A[31:0]が読み出される。
一方、メモリインスタンスI40には、入力制御装置104によって選択されたデータ信号DI_B[31:0]、及びアドレス信号AD_B[7:0]が入力される。データ信号DI_B[31:0]は、メモリマクロ101のデータ入力信号線DI[31:0]に入力され、アドレス信号AD_B[7:0]によって指定されたアドレスに書き込まれる。又、アドレス信号AD_B[7:0]で指定されたアドレスからデータ信号DO_B[31:0]が読み出される。
第2の実施の形態では、データ信号DI_A[31:0]及びアドレス信号AD_A[8:0]と、データ信号DI_B[31:0]及びアドレス信号DI_B[8:0]とが、入力制御回路104によって選択的にメモリマクロ101に入力される。このため、入力されるデータ信号DI_A[31:0]とデータ信号DI_B[31:0]は、選択的にメモリマクロに書き込まれる。又、メモリマクロ101から出力されるデータ信号DI_A[15:0]とデータ信号DI_B[15:0]は、出力制御回路105によって選択的に外部装置(図示なし)に出力される。
このように本実施の形態では、1つのメモリマクロM1(メモリマクロ101)にアサインされたメモリインスタンスI30、I40がアサインされる。図10は、第2の実施の形態におけるメモリマクロ101と、周辺回路マクロ(逓倍器103、入力制御回路104、出力制御回路105)の構成の詳細を示すブロック図である。図10を参照して、第2の実施の形態におけるメモリマクロ101と周辺回路マクロの構成の詳細を説明する。
入力制御回路104は、セレクタ121、122、123、124を備える。データ信号DIは、セレクタ121を介してデータ入力信号線DI[31:0]に入力されるデータ信号DI_A[31:0]とデータ信号DI_B[31:0]とを含む。アドレス信号ADは、セレクタ122を介してアドレス信号線DI[7:0]に入力されるアドレス信号AD_A[7:0]とアドレス信号AD_B[7:0]とを含む。チップセレクト信号CENは、セレクタ123を介してチップセレクト信号線CENに入力されるチップセレクト信号CEN_Aとチップセレクト信号CEN_Bとを含む。ライトイネーブル信号WENは、セレクタ124を介してライトイネーブル信号線WEN[31:0]に入力されるライトイネーブル信号WEN_A[31:0]とライトイネーブル信号WEN_B[31:0]とを含む。
セレクタ121は、入力されるデータ信号DI_A[31:0]とデータ信号DI_B[31:0]のどちらか一方をクロック信号CLKx1に応じて選択してメモリマクロ101のデータ入力信号線DI[31:0]に出力する。詳細には、セレクタ121は、クロック信号CLKx1の立ち上がりに応じてデータ信号DI_B[31:0]を選択し、立ち下りに応じてデータ信号DI_A[31:0]を選択してデータ入力信号線DI[31:0]に出力する。
セレクタ122は、入力されるアドレス信号AD_A[7:0]とアドレス信号AD_B[7:0]のどちらか一方をクロック信号CLKx1に応じて選択してメモリマクロ101のアドレス信号線AD[7:0]に出力する。詳細には、セレクタ122は、クロック信号CLKx1の立ち上がりに応じてアドレス信号AD_B[7:0]を選択し、立ち下りに応じてアドレス信号AD_A[7:0]を選択してアドレス信号線AD[7:0]に出力する。
セレクタ123は、メモリインスタンスI30を選択するチップセレクタ信号CEN_Aと、メモリインスタンスI40を選択するチップセレクタ信号CEN_Bのどちらか一方をクロック信号CLKx1に応じて選択し、メモリマクロ101のチップセレクト信号線CENに出力する。詳細には、セレクタ123は、クロック信号CLKx1の立ち上がりに応じてチップセレクタ信号CEN_Bを選択し、立ち下りに応じてチップセレクト信号CEN_A選択してチップセレクト信号線CENに出力する。
セレクタ124は、入力されるライトイネーブル信号WEN_A[31:0]とライトイネーブル信号WEN_B[31:0]のどちらか一方をクロック信号CLKx1に応じて選択してメモリマクロ101のライトイネーブル信号線WEN[31:0]に出力する。詳細には、セレクタ124は、クロック信号CLKx1の立ち上がりに応じてライトイネーブル信号WEN_B[31:0]を選択し、立ち下りに応じてライトイネーブル信号WEN_A[31:0]を選択してライトイネーブル信号線WEN[31:0]に出力する。
逓倍器103は、入力されるクロック信号CLKx1を2逓倍したクロック信号CLKx2を、メモリマクロ101の制御クロックCLKとして入力する。又、クロック信号CLKx1は、メモリマクロ101における最上位のアドレス信号線AD8に入力される。このため、メモリマクロ101における512Wのうち、上位側ワード線256Wと下位側ワード線256Wの一方をクロック信号CLKx1に同期して交互に選択することができる。
出力制御回路105は、AND回路125、127、129、131、フリップフロップ回路(F/F)126、130、ラッチ回路128、138を備える。
AND回路125は、メモリインスタンスI30に対応するライトイネーブル信号WEN_A[31:0]、クロック信号CLKx1の反転信号、及びクロック信号CLKx2の論理積をF/F126に出力する。F/F回路126は、メモリマクロ101のデータ出力信号線DO[31:0]とAND回路125とに接続される。F/F126は、AND回路115からの出力に応じて、データ出力信号線DO[31:0]からのデータ信号をラッチ回路128に出力する。すなわち、F/F126は、クロック信号CLKx1の反転信号に同期してデータ出力信号線DO[31:0」からのデータ信号DO_A[31:0]を読み出し、ラッチ回路128に出力する。
AND回路127は、メモリインスタンスI30に対応するライトイネーブル信号WEN_A[31:0]とクロック信号CLKx1との論理積をラッチ回路128に出力する。ラッチ回路128は、F/F126とAND回路127に接続され、AND回路127からの出力信号に応じてF/F126から出力されるデータ信号DO_A[31:0]をラッチする。又、F/F126で読み出したデータを確実にラッチするため、AND回路127と、ラッチ回路128との間に遅延回路を挿入しても良い。
AND回路129は、メモリインスタンスI40に対応するライトイネーブル信号WEN_A[31:0]、クロック信号CLKx1、及びクロック信号CLKx2の論理積をF/F130に出力する。F/F回路130は、メモリマクロ101のデータ出力信号線DO[31:0]とAND回路129とに接続される。F/F130は、AND回路129からの出力に応じて、データ出力信号線DO[31:0]からのデータ信号をラッチ回路132に出力する。すなわち、F/F130は、クロック信号CLKx1に同期してデータ出力信号線DO[31:0」からのデータ信号DO_B[31:0]を読み出し、ラッチ回路132に出力する。
AND回路131は、メモリインスタンスI40に対応するライトイネーブル信号WEN_A[31:0]とクロック信号CLKx1との論理積をラッチ回路132に出力する。ラッチ回路132は、F/F130とAND回路131に接続され、AND回路131からの出力信号に応じてF/F130から出力されるデータ信号DO_B[31:0]をラッチする。又、F/F130で読み出したデータを確実にラッチするため、AND回路131と、ラッチ回路132との間に遅延回路を挿入しても良い。
以上のように、メモリインスタンスI30、I40は共通のデータ入力信号線DI[31:0]及びデータ出力信号線DO[31:0]を利用してデータの書き込み及び読み出しが行う。この際、メモリインスタンスI30は、データ入力信号線DI[31:0]及びデータ出力信号線DO[31:0]における上位側ワード線(256W)によってデータの読み出し及び書き込みが行われる。又、メモリインスタンスI40は、データ入力信号線DI[31:0]及びデータ出力信号線DO[31:0]における下位側のワード線(256W)によってデータの読み出し及び書き込みが行われる。アドレスの切り替えは、最上位のアドレス線AD8に入力されるクロック信号CLKx1に同期して決定する。又、メモリマクロ101に対するデータの書き込み、読み出しは、逓倍されたクロック信号CLKx2に同期して行われる。
ライト動作において、データ信号DIは、逓倍されたクロック信号CLKx2に同期してメモリマクロ101内のメモリインスタンスI30、I40に交互に書き込まれる。又、逓倍されたクロック信号CLKx2に応じて出力されたメモリインスタンスI30、I40のデータは、出力制御回路105から、クロック信号CLKx1に同期して交互に読み出される。図11及び図12を参照して、図10に示すメモリマクロ101及び周辺回路マクロの動作の詳細を説明する。
図11は、第2の実施の形態におけるメモリマクロ101へのライト動作における入力動作を示すタイミングチャートである。図7を参照して、第2の実施の形態におけるメモリマクロ101への入力動作の詳細を説明する。ここで、クロック信号CLKx1は時刻T5において立ち上がり、時刻T6において立ち下がるものとする。
時刻T5において、アドレス信号線AD8に入力されるクロック信号CLKx1の立ち上がりに応じて、下位側のワード線(256W)がアクティブとなる。この際、クロック信号CLKx1の立ち上がりに応答して、メモリマクロ101にはチップセレクト信号CEN_Bとアドレス信号AD_B[7:0]、及びデータ信号DI_B[31:0]が入力される。これにより、メモリインスタンスI40側の入力信号(データ信号線D[31:0])における所定のアドレスがアクティブとなる。更に、ライトイネーブル信号線WEN[31:0]に入力されるWEN_B[31:0]によって、メモリインスタンスI40が書き込み可能となる。
時刻T6において、アドレス信号線AD8に入力されるクロック信号CLKx1の立ち下りに応じて、上位側のワード線(256W)がアクティブとなる。この際、クロック信号CLKx1の立ち下りに応答して、メモリマクロ101にはチップセレクト信号CEN_Aとアドレス信号AD_A[7:0]、及びデータ信号DI_A[31:0]が入力される。これにより、メモリインスタンスI30側の入力信号(データ信号線D[31:0])における所定のアドレスがアクティブとなる。更に、ライトイネーブル信号線WEN[31:0]に入力されるWEN_A[31:0]によって、メモリインスタンスI40が書き込み可能となる。
メモリマクロ101では、逓倍されたクロック信号CLKx2に同期してデータ入力信号線DI[31:0]に入力されるデータ信号DIが書き込まれる。ここでは、クロック信号CLKx2の立ち上がりに同期して、書き込み可能となったデータ入力信号線DI[31:0]に入力されたデータ信号DI_B[15:0]が、メモリインスタンスI40に書き込まれる(時刻T5)。又、クロック信号CLKx2の立ち下がりに応答して、書き込み可能となったデータ入力信号線DI[31:0]に入力されたデータ信号DI_A[15:0]が、メモリインスタンスI30に書き込まれる(時刻T6)。
図12は、メモリマクロ101からデータを読み出す動作を示すタイミングチャートである。図12を参照して、メモリマクロ101からの出力動作の詳細を説明する。ここで、クロック信号CLKx1は時刻T7において立ち上がり、時刻T8において立ち下がるものとする。
時刻T7において、アドレス信号線AD8に入力されるクロック信号CLKx1の立ち上がりに応じて、下位側のワード線(256W)がアクティブとなる。この際、クロック信号CLKx1の立ち上がりに応答して、メモリマクロ101にはチップセレクト信号CEN_Bとアドレス信号AD_B[7:0]、及びデータ信号DI_B[31:0]が入力される。これにより、メモリインスタンスI40側の入力信号(データ信号線D[31:0])における所定のアドレスがアクティブとなる。更に、ライトイネーブル信号線WEN[31:0]に入力されるWEN_B[31:0]によって、メモリインスタンスI40における所定のアドレスが読み出し可能となる。
時刻T8において、アドレス信号線AD8に入力されるクロック信号CLKx1の立ち下がりに応じて、上位側のワード線(256W)がアクティブとなる。この際、クロック信号CLKx1の立ち下がりに応答して、メモリマクロ101にはチップセレクト信号CEN_Aとアドレス信号AD_A[7:0]、及びデータ信号DI_A[31:0]が入力される。これにより、メモリインスタンスI30側の入力信号(データ信号線D[31:0])における所定のアドレスがアクティブとなる。更に、ライトイネーブル信号線WEN[31:0]に入力されるWEN_A[31:0]によって、メモリインスタンスI30が所定のアドレスが読み出し可能となる。
メモリマクロ101からは、逓倍されたクロック信号CLKx2に同期して、データ出力信号線DO[31:0]からデータ信号が読み出される。ここでは、クロック信号CLKx2の立ち上がりに同期して、読み出し可能となったデータ出力信号線DO[31:0]の下位側のワード線(256W)からメモリインスタンスI40内のデータ(データ信号DO_B[15:0])が出力される(時刻T7)。又、クロック信号CLKx2の立ち下がりに応答して、読み出し可能となったデータ出力信号線DO[32:0]の上位側のワード線(256W)からメモリインスタンスI30内のデータ(データ信号DO_A[15:0])が出力される(時刻T8)。
時刻T7において、F/F130はクロック信号CLKx1の立ち上がりに同期して、読み出し可能となったデータ出力信号線DO[31:0]からのデータ信号DO_B[31:0]を取り込み、ラッチ回路132に出力する。ラッチ回路132は、クロック信号CLKx1の立ち上がりに同期してF/F130から出力されるデータ信号DO_B[31:0]をラッチして、外部装置(図示なし)に出力する。又、時刻T8において、F/F126はクロック信号CLKx1の立ち下がりに同期して、読み出し可能となったデータ出力信号線DO[31:0]からのデータ信号DO_B[31:0]を取り込み、ラッチ回路128に出力する。ラッチ回路128は、クロック信号CLKx1の立ち下がりに同期してF/F126から出力されるデータ信号DO_B[31:0]をラッチして、外部装置(図示なし)に出力する。
以上のように、クロック信号CLKx2に同期してメモリインスタンスI30、I40から交互に読み出されたデータ(リードデータ)は、クロック信号CLKx1に同期して出力制御回路105から外部装置(図示なし)に出力される。
本発明による半導体チップ1によれば、2つのインスタンスの動作クロックが共通である場合、当該インスタンスに入力されるクロック信号、すなわちメモリマクロの動作クロックを2倍にし、データ信号やアドレス信号の入力及び出力を制御する入力制御回路104及び出力制御回路105によて制御することで、メモリマクロに複数のインスタンス(ここでは2つ)をアサインすることができる。このため、設定されたメモリマクロ配置領域100を効率的に使用してメモリマクロを有効に活用することができる。
例えば、図1に示すように2つのメモリマクロM1、M2が設定されている場合、従来技術では、2つのメモリマクロM1、M2に、2つのメモリインスタンスI1、I2がアサインされるため、2つ以上のインスタンスを割り当てることができなかった。又、メモリマクロM1、M2のそれぞれにおける半分のメモリサイズしかアサインされていないため、メモリとして使用不可能な512W*32b分の領域を無駄にしていた。
一方、本発明による半導体チップ1では、図5あるいは図9に示すように、1つのメモリマクロM1に2つのメモリインスタンスI10、I20(メモリインスタンスI30、I40)がアサインされる。このため、メモリマクロM2にはインスタンスがアサインされず、更なるインスタンスの追加にも対応できる。又、1つのインスタンスに複数のメモリマクロをアサインできることから、効率良くメモリ領域を利用でき、従来技術で問題となっていたメモリマクロの不足を解消することができる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。又、第1の実施の形態と第2の実施の形態とを、その要旨を逸脱しない範囲で組み合せることも可能である。
図1は、半導体集積回路に設定されたメモリマクロ配置領域に設定されたメモリマクロの一例を示す概念図である。 図2Aは、従来技術によってインスタンスが割り当てられたメモリマクロの一例を示す概念図である。 図2Bは、従来技術によってインスタンスが割り当てられたメモリマクロの一例を示す概念図である。 図3は、本発明による半導体集積回路設計装置の構成を示す図である。 図4は、本発明による半導体集積回路設計装置によって設計された半導体集積回路の構成を示す平面図である。 図5は、本発明による半導体集積回路設計装置によってインスタンスが割り当てられたメモリマクロの一例を示す概念図である。 図6は、本発明による半導体集積回路設計装置によって設計されたメモリマクロ及び周辺装置マクロの第1の実施の形態における構成を示す図である。 図7は、第1の実施の形態におけるメモリマクロ及び周辺回路マクロの書き込み動作を示すタイミングチャートである。 図8は、第1の実施の形態におけるメモリマクロ及び周辺回路マクロの読み出し動作を示すタイミングチャートである。 図9は、本発明による半導体集積回路設計装置によってインスタンスが割り当てられたメモリマクロの一例を示す概念図である。 図10は、本発明による半導体集積回路設計装置によって設計されたメモリマクロ及び周辺装置マクロの第2の実施の形態における構成を示す図である。 図11は、第2の実施の形態におけるメモリマクロ及び周辺回路マクロの書き込み動作を示すタイミングチャートである。 図12は、第2の実施の形態におけるメモリマクロ及び周辺回路マクロの読み出し動作を示すタイミングチャートである。
符号の説明
1:半導体集積回路
10:半導体集積回路設計装置
11:CPU
12:RAM
13:記憶装置
14:入力装置
15:出力装置
21:制御回路配置用データ
22:メモリマクロ配置用データ
23:半導体集積回路設計プログラム
100:メモリマクロ配置領域
101、M1、M2:メモリマクロ
103:逓倍器
104:入力制御回路
105:出力制御回路
110:周辺装置配置領域
I1、I2、I3、I4、I10、I20、I30、I40:メモリインスタンス

Claims (11)

  1. コンピュータによって実行され、メモリ容量が予め決められたメモリマクロが設定されたチップ上に、メモリインスタンスを割り当てる半導体集積回路の設計方法において、
    1つのメモリマクロに対して、動作周波数が同一の複数のメモリインスタンスを割り当てるステップと、
    第1クロック信号の周波数を逓倍した第2クロック信号を前記複数のメモリインスタンスに出力する逓倍器を配置するステップと、
    前記複数のメモリインスタンスのうちアクティブとなるメモリインスタンスを、前記第1クロック信号に同期して選択する制御回路を配置するステップと、
    を具備する半導体集積回路の設計方法。
  2. 請求項1に記載の半導体集積回路の設計方法において、
    前記複数のメモリインスタンスを割り当てるステップは、前記複数のメモリインスタンスに、共通のアドレス信号線を設定するステップを備え、
    前記制御回路を配置するステップは、前記複数のメモリインスタンスの各々に対するアドレス信号を前記第1クロック信号に同期して選択し、前記アドレス信号線に出力する入力制御回路を配置するステップを備える
    半導体集積回路の設計方法。
  3. 請求項2に記載の半導体集積回路の設計方法において、
    前記複数のメモリインスタンスを割り当てるステップは、
    前記複数のメモリインスタンスとして、第1メモリインスタンスと第2メモリインスタンスとを割り当てるステップと、
    前記第1メモリインスタンスに対し、前記メモリマクロにおける上位ビット側のデータ信号線を割り当てるステップと、
    前記第2メモリインスタンスに対し、前記メモリマクロにおける下位ビット側のデータ信号線を割り当てるステップと、
    を備える半導体集積回路の設計方法。
  4. 請求項2に記載の半導体集積回路の設計方法において、
    前記複数のメモリインスタンスを割り当てるステップは、
    前記複数のメモリインスタンスとして、第1メモリインスタンスと第2メモリインスタンスとを割り当てるステップと、
    前記第1メモリインスタンスと前記第2メモリインスタンスに対し、共通のデータ信号線を割り当てるステップと、
    前記第1メモリインスタンスに対し、上位側のワード線を割り当てるステップと、
    前記第2メモリインスタンスに対し、下位側のワード線を割り当てるステップと、
    前記第1クロック信号が入力されるアドレス信号線を前記第1メモリインスタンスと前記第2メモリインスタンスに割り当てるステップと、
    を備え、
    前記アドレス信号線に入力される第1クロック信号に同期してアクティブとなるワード線が切り替えられる
    半導体集積回路の設計方法。
  5. 請求項1から4のいずれか1項に記載の半導体集積回路の設計方法において、
    前記制御回路を配置するステップは、前記複数のメモリインスタンスの各々から出力されたデータ信号を、前記第1クロック信号に同期して読み出す出力制御回路を配置するステップを備える
    半導体集積回路の設計方法。
  6. 請求項1から5のいずれか1項に記載の半導体集積回路の設計方法をコンピュータに実行させる半導体集積回路の設計プログラム。
  7. 動作周波数が同一の複数のインスタンスが割り当てられた1つのメモリマクロに対応し、前記複数のインスタンスに対応する複数のメモリ領域を有するメモリと、
    第1クロック信号の周波数を逓倍した第2クロック信号を前記複数のメモリ領域に出力する逓倍器と、
    前記複数のメモリ領域においてアクティブとなるデータ信号線を、前記第1クロック信号に同期して選択する制御回路と、
    を具備する半導体集積回路。
  8. 請求項7に記載の半導体集積回路において、
    前記複数のメモリ領域は、共通のアドレス信号線に接続され、
    前記制御回路は、前記複数のメモリ領域の各々に対するアドレス信号を前記第1クロック信号に同期して選択し、前記アドレス信号線に出力する入力制御回路備える
    半導体集積回路。
  9. 請求項8に記載の半導体集積回路において、
    前記複数のメモリ領域は、第1メモリ領域と第2メモリ領域とを含み、
    前記第1メモリ領域は、前記メモリマクロにおける上位ビット側のデータ信号線に接続され、
    前記第2メモリ領域は、前記メモリマクロにおける下位ビット側のデータ信号線に接続される
    半導体集積回路。
  10. 請求項8に記載の半導体集積回路において、
    前記複数のメモリ領域は、共通のデータ信号線に接続される第1メモリ領域と第2メモリ領域とを含み、
    前記第1メモリ領域は、上位側のワード線に接続され、
    前記第2メモリ領域は、下位側のワード線に接続され、
    前記第1メモリ領域と前記第2メモリ領域は、前記第1クロック信号が入力されるアドレス信号線に共通接続され、
    前記メモリは、前記アドレス信号線に入力される第1クロック信号に同期して、アクティブとなるワード線を切り替える
    半導体集積回路。
  11. 請求項7から10のいずれか1項に記載の半導体集積回路、
    前記制御回路は、前記複数のメモリ領域の各々から出力されたデータ信号を、前記第1クロック信号に同期して読み出す出力制御回路を備える
    半導体集積回路。
JP2008031006A 2008-02-12 2008-02-12 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路 Expired - Fee Related JP5196538B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008031006A JP5196538B2 (ja) 2008-02-12 2008-02-12 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路
US12/379,041 US7986583B2 (en) 2008-02-12 2009-02-11 Method for designing integrated circuit incorporating memory macro

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008031006A JP5196538B2 (ja) 2008-02-12 2008-02-12 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路

Publications (2)

Publication Number Publication Date
JP2009193613A JP2009193613A (ja) 2009-08-27
JP5196538B2 true JP5196538B2 (ja) 2013-05-15

Family

ID=40938757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008031006A Expired - Fee Related JP5196538B2 (ja) 2008-02-12 2008-02-12 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路

Country Status (2)

Country Link
US (1) US7986583B2 (ja)
JP (1) JP5196538B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6405262B2 (ja) * 2015-02-18 2018-10-17 太陽誘電株式会社 再構成可能な論理デバイス
US20210111721A1 (en) * 2020-12-21 2021-04-15 Intel Corporation Circuits And Methods For Programmable Memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4018159B2 (ja) * 1993-06-28 2007-12-05 株式会社ルネサステクノロジ 半導体集積回路
JPH08279292A (ja) * 1995-04-04 1996-10-22 Matsushita Electric Ind Co Ltd マルチポートメモリ装置
US5568437A (en) * 1995-06-20 1996-10-22 Vlsi Technology, Inc. Built-in self test for integrated circuits having read/write memory
JP3824689B2 (ja) * 1995-09-05 2006-09-20 株式会社ルネサステクノロジ 同期型半導体記憶装置
JPH1124989A (ja) * 1997-07-07 1999-01-29 Nec Corp 語長可変メモリアクセス方式
US6058056A (en) * 1998-04-30 2000-05-02 Micron Technology, Inc. Data compression circuit and method for testing memory devices
US6178532B1 (en) * 1998-06-11 2001-01-23 Micron Technology, Inc. On-chip circuit and method for testing memory devices
JP2002304886A (ja) * 2001-04-06 2002-10-18 Nec Corp 半導体記憶装置
JP2002312233A (ja) * 2001-04-09 2002-10-25 Hitachi Ltd 信号処理装置
JP4488282B2 (ja) * 2003-09-08 2010-06-23 株式会社日立超エル・エス・アイ・システムズ 半導体集積回路
JP4005576B2 (ja) * 2004-03-12 2007-11-07 松下電器産業株式会社 半導体集積回路装置
JP2008251060A (ja) * 2007-03-29 2008-10-16 Mitsubishi Electric Corp 半導体記憶装置

Also Published As

Publication number Publication date
JP2009193613A (ja) 2009-08-27
US20090201758A1 (en) 2009-08-13
US7986583B2 (en) 2011-07-26

Similar Documents

Publication Publication Date Title
US7580963B2 (en) Semiconductor device having an arithmetic unit of a reconfigurable circuit configuration in accordance with stored configuration data and a memory storing fixed value data to be supplied to the arithmetic unit, requiring no data area for storing fixed value data to be set in a configuration memory
US7450461B2 (en) Semiconductor memory device and transmission/reception system provided with the same
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
US20060004979A1 (en) Semiconductor device
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
KR20120001771A (ko) 구성 가능한 대역폭 메모리 장치들 및 방법들
US10699054B2 (en) Standard cell library, integrated circuit including synchronous circuit, and computing system for designing the integrated circuit
US11437982B2 (en) Flip flop standard cell
US8219960B1 (en) Methods of implementing relocatable circuits in a programmable integrated circuit device
JP5007838B2 (ja) 情報処理装置および情報処理プログラム
JP5196538B2 (ja) 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路
US11645212B2 (en) Dynamic processing speed
US11362662B2 (en) Field programmable transistor arrays
JP5081240B2 (ja) 半導体装置
JP5882714B2 (ja) リコンフィギュラブルプロセッサの制御方法及びリコンフィギュラブルプロセッサのコンフィギュレーション情報を生成する方法及びコンフィギュレーション情報生成ツール
JP4562679B2 (ja) データフローグラフ生成装置
JP4562678B2 (ja) データフローグラフ再構成装置、リコンフィギュラブル回路の設定データ生成装置、及び処理装置
JP2010146102A (ja) 演算処理装置および記憶領域割当方法
US7729198B2 (en) Synchronous memory circuit
US20100103749A1 (en) Semiconductor memory device
CN116612799A (zh) 利用具有最小可寻址单元的寻址方式来进行寻址的存储器
JP2005057451A (ja) プログラマブル論理回路
JP2008219728A (ja) 再構成可能な演算処理回路
Bag Zeki Energy-Aware Coarse Grained Reconfigurable Architectures Using Dynamically Reconfigurable Isolation Cells
JP2016218670A (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121018

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: 20130131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130201

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

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees