JP2007299044A - Semiconductor integrated circuit device - Google Patents

Semiconductor integrated circuit device Download PDF

Info

Publication number
JP2007299044A
JP2007299044A JP2006124006A JP2006124006A JP2007299044A JP 2007299044 A JP2007299044 A JP 2007299044A JP 2006124006 A JP2006124006 A JP 2006124006A JP 2006124006 A JP2006124006 A JP 2006124006A JP 2007299044 A JP2007299044 A JP 2007299044A
Authority
JP
Japan
Prior art keywords
signal
memory
block
memory block
semiconductor integrated
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
JP2006124006A
Other languages
Japanese (ja)
Inventor
Masafumi Onouchi
雅文 小野内
Akira Hase
昌 長谷
Yusuke Sugano
雄介 菅野
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 Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006124006A priority Critical patent/JP2007299044A/en
Publication of JP2007299044A publication Critical patent/JP2007299044A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To achieve low power consumption in a semiconductor integrated circuit device, by suppressing unnecessary startup of a memory. <P>SOLUTION: For instance, a memory startup control block CTRL1 is provided between a memory block MEM1 invariant in access latency represented by an SRAM or the like and an arithmetic block IP1. The memory startup control block CTRL1 interprets an address signal ADDR11 and an instruction signal CMD11 input from the arithmetic block IP1, and when a readout instruction is issued successively two times or more for a same memory address, stops a memory starting signal CLK12 to the memory block MEM1. The arithmetic block IP1, for the readout instruction issued at the second time or later, receives readout data of the first time held in the memory block MEM1. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、半導体集積回路装置に関するものであり、特に、携帯機器向けシステムLSIなどの半導体集積回路装置に適用して有用なものである。   The present invention relates to a semiconductor integrated circuit device, and is particularly useful when applied to a semiconductor integrated circuit device such as a system LSI for portable equipment.

演算回路とメモリとの間のデータ転送速度を向上させる技術として、例えばアクセスレイテンシ可変のメモリに対し、演算回路側と連携してメモリの起動を制御し、同一アドレスへの読み出し命令が連続した際に2回目以降のアクセスレイテンシを短縮する技術が知られている(例えば、特許文献1および特許文献2参照)。
特開昭57−10853号公報 特開平11−184751号公報
As a technology to improve the data transfer speed between the arithmetic circuit and the memory, for example, for memory with variable access latency, the activation of the memory is controlled in cooperation with the arithmetic circuit side, and read commands to the same address continue In addition, a technique for shortening the access latency after the second time is known (see, for example, Patent Document 1 and Patent Document 2).
Japanese Unexamined Patent Publication No. 57-10853 Japanese Patent Laid-Open No. 11-184751

近年、携帯電話向けのシステムLSIを始めとしたSoC(System−on−a−Chip)はIP(Intellectual Property)の集積が容易になったため、高機能化が進んでいる。そのため、従来のSoC上にはIPとしてCPUコアとメモリが主に搭載されていたが、現在は、CPU、メモリの他に、多数のアクセラレータが搭載されるようになってきた。個々のアクセラレータでは、大規模データの高度な処理を行うためそれぞれが大容量のメモリを搭載している。   In recent years, SoCs (System-on-a-Chip) including system LSIs for mobile phones have become increasingly functional because integration of IP (Intelligent Property) has become easier. For this reason, a CPU core and a memory are mainly mounted as IP on the conventional SoC. However, many accelerators are now mounted in addition to the CPU and the memory. Each accelerator is equipped with a large-capacity memory for advanced processing of large-scale data.

このようなアクセラレータで行われる処理の代表的なものは、映像や音声の圧縮及び伸張処理である。この処理の特徴は、同一のデータ(同一アドレスのメモリデータ)を複数回参照することである。例えば、映像の伸張処理では、前後のフレームデータからその間のフレームデータを補完したり、現在のフレームデータから次フレームデータを予測したりする。そのためメモリへのアクセス回数が増大し、メモリ電力がSoC電力の大部分を占めるようになってきている。従って、メモリ電力の削減がSoC設計において重要な課題になっている。   A typical process performed by such an accelerator is video and audio compression and expansion processing. A feature of this process is that the same data (memory data at the same address) is referred to a plurality of times. For example, in the video expansion process, the frame data between the previous and next frame data is complemented, or the next frame data is predicted from the current frame data. For this reason, the number of accesses to the memory has increased, and the memory power has come to occupy most of the SoC power. Therefore, reduction of memory power is an important issue in SoC design.

このように、一般的なSoCにおいては、メモリ電力、特にアクセラレータに搭載されるメモリ電力の占める割合が増大してきている。従って、このメモリ電力を削減することが強く求められる。この要求は、バッテリによって駆動される携帯電話向けのSoC等では、更に重要なものとなる。   As described above, in the general SoC, the ratio of the memory power, in particular, the memory power mounted on the accelerator is increasing. Therefore, there is a strong demand to reduce this memory power. This requirement becomes even more important in SoCs for mobile phones driven by batteries.

こうした中、例えば、特許文献1または特許文献2の技術が知られている。これらの技術を活用して、演算回路側と連携しメモリの不必要な起動を抑制することでメモリ電力を削減することが可能となる。しかしながら、これらの技術はいずれもアクセスレイテンシ可変のメモリ、例えばDRAMなどを対象としていた。つまり、アクセスレイテンシ可変のメモリに対し同一アドレスへの読み出し命令が連続した際に、2回目以降は既に読み出し済みの値をそのまま演算回路側へ出力することでアクセスレイテンシを隠蔽し、読み出し動作を高速化することが目的であった。このとき、メモリのアクセスレイテンシは発行される命令により変化するため、これらの技術では、メモリの動作を模擬し、出力データの準備が完了したことを演算回路側へ通知するシーケンサ等が必須であった。特許文献1の第1図信号線20、特許文献2の第1図バンクビジーカウンタ6の出力信号及びビジーセレクタ8の出力信号が、このシーケンサに相当する。   Under such circumstances, for example, the technique of Patent Document 1 or Patent Document 2 is known. Utilizing these technologies, it is possible to reduce memory power by suppressing unnecessary activation of the memory in cooperation with the arithmetic circuit side. However, all of these techniques are directed to memories with variable access latency, such as DRAM. In other words, when a read instruction to the same address continues for a memory with variable access latency, the read latency is concealed by outputting the already read value to the arithmetic circuit as it is for the second and subsequent times. It was the purpose. At this time, the access latency of the memory changes depending on the issued instruction. Therefore, in these technologies, a sequencer or the like that simulates the operation of the memory and notifies the arithmetic circuit side that the output data preparation is complete is essential. It was. The signal line 20 in FIG. 1 of Patent Document 1, the output signal of the bank busy counter 6 in FIG. 1 and the output signal of the busy selector 8 in Patent Document 2 correspond to this sequencer.

ところが、本願発明で対象としているのはSoC等に搭載されるメモリ、つまりアクセスレイテンシ不変のメモリである。アクセスレイテンシ不変のメモリに対し、従来技術を適用してもメモリアクセスを高速化できない。従って、従来技術をアクセスレイテンシ不変のメモリに対し適用する動機がなかった。   However, the subject of the present invention is a memory mounted on SoC or the like, that is, an access latency invariant memory. Even if the conventional technology is applied to a memory whose access latency is constant, memory access cannot be accelerated. Therefore, there has been no motivation to apply the prior art to a memory whose access latency is unchanged.

そこで、本願発明者らは、SoCに搭載されるアクセスレイテンシ不変のメモリに対し、その不必要な起動を抑制することで低電力化する手法を検討した。この手法においては、従来技術で必須となっていたデータ準備完了を通知するシーケンサをメモリ側に設ける必要がなく、また、異なるアクセスレイテンシに対応して異なるタイミングでデータを取り込む機能を演算回路側に設ける必要もないため、面積オーバーヘッドを最小にし、電力削減効果を増大させることが出来る。   Therefore, the inventors of the present application have studied a method for reducing power consumption by suppressing unnecessary activation of a memory having an invariable access latency mounted on the SoC. In this method, there is no need to provide a sequencer on the memory side to notify the completion of data preparation, which was essential in the prior art, and the function to fetch data at different timings corresponding to different access latencies is provided on the arithmetic circuit side. Since there is no need to provide it, the area overhead can be minimized and the power reduction effect can be increased.

ただし、このようにメモリの起動を制御するためには、メモリ起動信号を加工する必要があるためメモリへのアクセス時間が悪化してしまう。アクセスレイテンシ不変のメモリとして代表的なSRAMは高速動作が特徴であり、アクセス時間悪化をまねくメモリ起動制御の実施は困難であった。そこで、本願発明者らは、SoCを構成するIPの中でも低周波数で動作するIP、たとえばアクセラレータに着目し、アクセラレータに接続されるアクセスレイテンシ不変のメモリの不必要な起動を抑制することでメモリ電力を削減し、半導体集積回路装置の低消費電力化を検討した。   However, in order to control the activation of the memory in this way, it is necessary to process the memory activation signal, so that the access time to the memory is deteriorated. A typical SRAM as an access latency invariant memory is characterized by high-speed operation, and it has been difficult to perform memory activation control leading to deterioration in access time. Therefore, the inventors of the present application pay attention to an IP that operates at a low frequency among the IPs that constitute the SoC, for example, an accelerator, and suppress memory power by controlling unnecessary activation of an access latency invariant memory connected to the accelerator. To reduce power consumption of semiconductor integrated circuit devices.

この低消費電力化の検討に際し、SoCを構成する多数のIPのうち、高速動作が必要なIPはCPUやキャッシュなど一部に限定され、アクセラレータ群は必ずしも高速動作が必要ないとの見解に至った。つまり、アクセラレータ群に搭載される多数のメモリはキャッシュとして用いられるメモリよりも低速動作可能ということである。従って、アクセラレータにおいては演算回路からメモリへのアクセス時間に十分な余裕があり、メモリの起動信号を加工し不必要な起動を抑制することが可能となる。   When considering this reduction in power consumption, among the many IPs that make up the SoC, the IP that requires high-speed operation is limited to a part such as CPU and cache, and the accelerator group does not necessarily require high-speed operation. It was. That is, a large number of memories mounted on the accelerator group can operate at a lower speed than a memory used as a cache. Therefore, the accelerator has a sufficient time for access from the arithmetic circuit to the memory, and it is possible to process the memory activation signal and suppress unnecessary activation.

本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

すなわち、本発明の半導体集積回路装置は、アクセスレイテンシ不変のメモリブロックと演算ブロックを有し、演算ブロックがメモリブロックに対して同一メモリアドレスに向けた読み出し命令を連続して発行した際に、2回目以降の読み出し命令に伴うメモリブロックの読み出し動作を停止するメモリ起動制御ブロックを備えたことを特徴とする。これによって、メモリの不必要な起動が抑制でき、メモリ消費電力を削減できる。   That is, the semiconductor integrated circuit device of the present invention has a memory block and an operation block whose access latency is not changed, and when the operation block continuously issues a read command directed to the same memory address to the memory block, 2 A memory activation control block for stopping a memory block read operation associated with a read command after the first time is provided. As a result, unnecessary activation of the memory can be suppressed, and memory power consumption can be reduced.

具体的には、演算ブロックからメモリブロックに向けて出力されるアドレス信号と命令信号を解釈し、2回以上連続して同一アドレスへの読み出し命令が発行された場合には、例えば、メモリブロックにクロック信号を供給しないことによりメモリブロックの実動作を停止する。また、例えば、メモリブロックにノーオペレーション命令を供給することでメモリブロックの実動作を停止することも可能である。メモリブロックは、1回目の読み出し命令で読み出したデータを保持しているため、演算ブロックは、2回目以降の読み出し命令に際してこの保持されているデータを受信すればよい。   Specifically, when an address signal and a command signal output from the operation block to the memory block are interpreted and a read command to the same address is issued twice or more in succession, for example, the memory block The actual operation of the memory block is stopped by not supplying the clock signal. Further, for example, the actual operation of the memory block can be stopped by supplying a no-operation instruction to the memory block. Since the memory block holds the data read by the first read command, the operation block may receive the held data in the second and subsequent read commands.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、メモリの不必要な起動を抑制しメモリ消費電力を削減できるため、半導体集積回路装置を低消費電力化することができる。   Briefly explaining the effects obtained by typical ones of the inventions disclosed in the present application, it is possible to suppress unnecessary start-up of the memory and reduce the power consumption of the memory, thereby reducing the power consumption of the semiconductor integrated circuit device. can do.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

図1は、本発明の一実施の形態による半導体集積回路装置において、その構成の一例を示すブロック図である。図1に示す半導体集積回路装置は、演算ブロックIP1、メモリブロックMEM1、メモリ起動制御ブロックCTRL1から構成されている。メモリ起動制御ブロックCTRL1は、バッファ回路BUF11,BUF12、読み出し命令判定回路READ1、アドレス比較回路CMP1、否定論理積回路NAND1、逆相ラッチ回路ILAT1、論理積回路AND1から構成される。   FIG. 1 is a block diagram showing an example of the configuration of a semiconductor integrated circuit device according to an embodiment of the present invention. The semiconductor integrated circuit device shown in FIG. 1 includes an operation block IP1, a memory block MEM1, and a memory activation control block CTRL1. The memory activation control block CTRL1 includes buffer circuits BUF11 and BUF12, a read instruction determination circuit READ1, an address comparison circuit CMP1, a negative logical product circuit NAND1, a negative phase latch circuit ILAT1, and a logical product circuit AND1.

演算ブロックIP1の出力端子であるアドレス信号ADDR11、命令信号CMD11、データ11信号DAT11は、メモリブロックMEM1の入力端子へそれぞれ接続され、アドレス信号ADDR11、命令信号CMD11は、メモリ起動制御ブロックCTRL1の入力端子へそれぞれ接続される。メモリブロックMEM1の出力端子であるデータ12信号DAT12は、演算ブロックIP1の入力端子へ接続される。メモリ起動制御ブロックCTRL1の出力端子であるメモリ起動信号CLK12は、メモリブロックMEM1の入力端子へ接続される。また、演算ブロックIP1とメモリ起動制御ブロックCTRL1には、クロック信号CLK11が入力される。ここまでに挙げたアドレス信号ADDR11、命令信号CMD11、データ11信号DAT11、データ12信号DAT12は、単一ビットであっても複数ビットであっても良い。また、バッファ回路BUF11,BUF12も同様に単一ビットであっても複数ビットであっても良い。   The address signal ADDR11, command signal CMD11, and data 11 signal DAT11, which are output terminals of the arithmetic block IP1, are connected to the input terminal of the memory block MEM1, respectively, and the address signal ADDR11 and command signal CMD11 are input terminals of the memory activation control block CTRL1. Connected to each. The data 12 signal DAT12 that is the output terminal of the memory block MEM1 is connected to the input terminal of the arithmetic block IP1. A memory activation signal CLK12 that is an output terminal of the memory activation control block CTRL1 is connected to an input terminal of the memory block MEM1. The clock signal CLK11 is input to the arithmetic block IP1 and the memory activation control block CTRL1. The address signal ADDR11, the command signal CMD11, the data 11 signal DAT11, and the data 12 signal DAT12 mentioned so far may be a single bit or a plurality of bits. Similarly, the buffer circuits BUF11 and BUF12 may be a single bit or a plurality of bits.

メモリ起動制御ブロックCTRL1内の接続は次のようになっている。命令信号CMD11は、バッファ回路BUF11のデータ入力と読み出し命令判定回路READ1の一方の入力へ接続され、バッファ回路BUF11のデータ出力CMD12は、読み出し命令判定回路READ1の他方の入力へ接続される。アドレス信号ADDR11は、バッファ回路BUF12のデータ入力とアドレス比較回路CMP1の一方の入力へ接続され、バッファ回路BUF12のデータ出力ADDR12は、アドレス比較回路CMP1の他方の入力へ接続される。   Connections in the memory activation control block CTRL1 are as follows. The command signal CMD11 is connected to the data input of the buffer circuit BUF11 and one input of the read command determination circuit READ1, and the data output CMD12 of the buffer circuit BUF11 is connected to the other input of the read command determination circuit READ1. The address signal ADDR11 is connected to the data input of the buffer circuit BUF12 and one input of the address comparison circuit CMP1, and the data output ADDR12 of the buffer circuit BUF12 is connected to the other input of the address comparison circuit CMP1.

また、読み出し命令判定回路READ1の出力READ_OUT1は、否定論理積回路NAND1の一方の入力へ接続され、アドレス比較回路CMP1の出力CMP_OUT1は、否定論理積回路NAND1の他方の入力へ接続される。否定論理積回路NAND1の出力となる連続読み出し判定信号JGE_OUT1は、逆相ラッチ回路ILAT1のデータ入力へ接続され、逆相ラッチ回路ILAT1のデータ出力ILAT_OUT1は、論理積回路AND1の一方の入力へ接続される。クロック信号CLK11は、バッファ回路BUF11,BUF12と、逆相ラッチILAT1のクロック入力と、論理積回路AND1の他方の入力に接続される。そして、論理積回路AND1の出力がメモリ起動信号CLK12となる。   Further, the output READ_OUT1 of the read command determination circuit READ1 is connected to one input of the NAND circuit NAND1, and the output CMP_OUT1 of the address comparison circuit CMP1 is connected to the other input of the NAND circuit NAND1. The continuous read determination signal JGE_OUT1 that is the output of the NAND circuit NAND1 is connected to the data input of the anti-phase latch circuit ILAT1, and the data output ILAT_OUT1 of the anti-phase latch circuit ILAT1 is connected to one input of the AND circuit AND1. The The clock signal CLK11 is connected to the buffer circuits BUF11 and BUF12, the clock input of the anti-phase latch ILAT1, and the other input of the AND circuit AND1. Then, the output of the AND circuit AND1 becomes the memory activation signal CLK12.

演算ブロックIP1は、メモリとデータをやり取りしながら演算を行う回路ブロックである。クロック信号CLK11に同期して、アドレス信号ADDR11、命令信号CMD11、データ11信号DAT11が出力される。命令信号CMD11の内容としては書き込み命令、読み出し命令、待機命令などがある。メモリ起動制御ブロックCTRL1において、命令信号CMD11はバッファ回路BUF11に、アドレス信号ADDR11はバッファ回路BUF12に、クロック信号CLK11に同期して取り込まれる。読み出し命令判定回路READ1は、命令信号CMD11とバッファ回路BUF11の出力信号CMD12の両方が読み出し命令であった場合にハイレベルVDDをREAD_OUT1に出力し、それ以外の場合はロウレベルVSSをREAD_OUT1に出力する。   The calculation block IP1 is a circuit block that performs calculations while exchanging data with the memory. In synchronization with the clock signal CLK11, an address signal ADDR11, a command signal CMD11, and a data 11 signal DAT11 are output. The contents of the command signal CMD11 include a write command, a read command, a standby command, and the like. In the memory activation control block CTRL1, the instruction signal CMD11 is taken into the buffer circuit BUF11, and the address signal ADDR11 is taken into the buffer circuit BUF12 in synchronization with the clock signal CLK11. The read command determination circuit READ1 outputs a high level VDD to READ_OUT1 when both the command signal CMD11 and the output signal CMD12 of the buffer circuit BUF11 are read commands, and otherwise outputs a low level VSS to READ_OUT1.

アドレス比較回路CMP1は、アドレス信号ADDR11とバッファ回路BUF12の出力信号ADDR12のアドレスが一致した場合にハイレベルVDDをCMP_OUT1に出力し、一致しなかった場合にロウレベルVSSをCMP_OUT1に出力する。否定論理積回路NAND1は、読み出し命令判定回路READ1の出力READ_OUT1とアドレス比較回路の出力CMP_OUT1の両方がハイレベルVDDの場合にロウレベルVSSをJGE_OUT1に出力し、それ以外の場合にハイレベルVDDをJGE_OUT1に出力する。   The address comparison circuit CMP1 outputs the high level VDD to CMP_OUT1 when the address of the address signal ADDR11 and the output signal ADDR12 of the buffer circuit BUF12 match, and outputs the low level VSS to CMP_OUT1 when they do not match. The NAND circuit NAND1 outputs the low level VSS to JGE_OUT1 when both the output READ_OUT1 of the read instruction determination circuit READ1 and the output CMP_OUT1 of the address comparison circuit are high level VDD, and otherwise, the high level VDD is set to JGE_OUT1. Output.

逆相ラッチ回路ILAT1は、クロック信号CLK11がロウレベルVSSの場合はJGE_OUT1をそのままILAT_OUT1として出力し、クロック信号CLK11がハイレベルVDDの場合は、クロック信号CLK11がロウレベルVSSであった際のJGE_OUT1の論理値をILAT_OUT1に出力し続ける。論理積回路AND1は、クロック信号CLK11と逆相ラッチ回路ILAT1の出力ILAT_OUT1の両方がハイレベルVDDの場合にハイレベルVDDを、それ以外の場合はロウレベルVSSをメモリ起動信号CLK12に出力する。   The anti-phase latch circuit ILAT1 outputs JGE_OUT1 as it is as ILAT_OUT1 when the clock signal CLK11 is at the low level VSS, and when the clock signal CLK11 is at the high level VDD, the logical value of JGE_OUT1 when the clock signal CLK11 is at the low level VSS. Is continuously output to ILAT_OUT1. The AND circuit AND1 outputs the high level VDD when both the clock signal CLK11 and the output ILAT_OUT1 of the anti-phase latch circuit ILAT1 are at the high level VDD, and outputs the low level VSS in the other cases as the memory activation signal CLK12.

メモリブロックMEM1は、メモリ起動信号CLK12に同期して起動される。この起動に伴い命令信号CMD11が読み出し命令の場合、メモリブロックMEM1は、アドレス信号ADDR11で指定されたアドレスのメモリセルに保持している値をデータ12信号DAT12に出力する。一方、起動に伴い命令信号CMD11が書き込み命令の場合、メモリブロックMEM1は、アドレス信号ADDR11で指定されたアドレスのメモリセルにデータ11信号DAT11の値を書き込む。また、命令信号CMD11が待機の場合はメモリ起動信号CLK12によって起動されても何も行わない。   The memory block MEM1 is activated in synchronization with the memory activation signal CLK12. When the command signal CMD11 is a read command accompanying this activation, the memory block MEM1 outputs the value held in the memory cell at the address specified by the address signal ADDR11 to the data 12 signal DAT12. On the other hand, when the command signal CMD11 is a write command along with activation, the memory block MEM1 writes the value of the data 11 signal DAT11 to the memory cell at the address specified by the address signal ADDR11. When the command signal CMD11 is on standby, nothing is performed even if the command signal CMD11 is activated by the memory activation signal CLK12.

このような構成において、本実施の形態による半導体集積回路装置の特長は、アドレス信号ADDR11と命令信号CMD11の2信号を用いてメモリブロックMEM1の不必要な起動を抑制することである。この動作は、メモリ起動制御ブロックCTRL1が同一アドレスへの連続読み出し命令を判断し、必要のない場合にクロック信号CLK1がメモリブロックMEM1へ伝播するのを遮断することで実現する。このとき、メモリ起動制御ブロックCTRL1では、現在の命令信号CMD11と1サイクル前の命令信号CMD12から連続読み出し命令であるかを判定した読み出し命令判定信号READ_OUT1が生成される。さらに、現在のアドレス信号ADDR11と1サイクル前のアドレス信号ADDR12から同一アドレスかどうかを判定したアドレス比較信号CMP_OUT1が生成される。そして、読み出し命令判定信号READ_OUT1とアドレス比較信号CMP_OUT1を用いて連続読み出し判定信号JGE_OUT1が生成され、この信号は、同一アドレスへ連続して読み出し命令が発行された場合にロウレベルVSSとなり、それ以外の場合はハイレベルVDDとなる。連続読み出し命令判定信号JGE_OUT1は、逆相ラッチILAT1で同期を取った後、クロック遮断用信号ILAT_OUT1として用いられる。   In such a configuration, the feature of the semiconductor integrated circuit device according to the present embodiment is that unnecessary activation of the memory block MEM1 is suppressed by using two signals of the address signal ADDR11 and the command signal CMD11. This operation is realized by the memory activation control block CTRL1 judging a continuous read command to the same address and blocking the propagation of the clock signal CLK1 to the memory block MEM1 when it is not necessary. At this time, the memory activation control block CTRL1 generates a read command determination signal READ_OUT1 that determines whether it is a continuous read command from the current command signal CMD11 and the command signal CMD12 one cycle before. Further, an address comparison signal CMP_OUT1 that determines whether or not the address is the same from the current address signal ADDR11 and the address signal ADDR12 one cycle before is generated. Then, a continuous read determination signal JGE_OUT1 is generated using the read command determination signal READ_OUT1 and the address comparison signal CMP_OUT1, and this signal becomes low level VSS when a read command is issued continuously to the same address, otherwise Becomes the high level VDD. The continuous read command determination signal JGE_OUT1 is used as a clock cutoff signal ILAT_OUT1 after being synchronized by the anti-phase latch ILAT1.

図2は、図1の半導体集積回路装置の動作の一例を示す波形図である。図2において、クロック信号CLK11は、時刻T1−T6を周期としてハイレベルVDDとロウレベルVSSを出力している。アドレス信号ADDR11は、時刻T18以前がアドレス値Aで、時刻T18に別のアドレス値Bへ変化し、また、命令信号CMD11は、時刻T2以前が読み出し命令readで、時刻T2−T9が書き込み命令write、時刻T9以降が再び読み出し命令readであるとする。すなわち、時刻T1−T22の間に、4回のクロック信号CLK11が入力されており、それぞれのクロック信号に伴う命令は、順に、アドレスAに対する読み出し命令、アドレスAに対する書き込み命令、アドレスAに対する読み出し命令、アドレスAに対する読み出し命令となっている。   FIG. 2 is a waveform diagram showing an example of the operation of the semiconductor integrated circuit device of FIG. In FIG. 2, the clock signal CLK11 outputs a high level VDD and a low level VSS with a period from time T1 to T6. The address signal ADDR11 changes to an address value A before time T18 and changes to another address value B at time T18. The instruction signal CMD11 is a read command read before time T2 and a write command write at times T2 to T9. Assume that the read command read is again after time T9. In other words, four clock signals CLK11 are input during time T1-T22, and instructions associated with the respective clock signals are, in order, a read command for address A, a write command for address A, and a read command for address A. Read command for address A.

時刻T1−T22において、バッファBUF12の出力信号ADDR12は、クロック信号CLK11の立ち上がりに同期してアドレス信号ADDR11と同じ論理値へと変化するためアドレス値Aのままとなる。また、バッファBUF11の出力信号CMD12も同様に、クロック信号CLK11の立ち上がりに同期して命令信号CMD11と同じ論理値へと変化するため、時刻T8に読み出し命令readから書き込み命令writeへと変化し、時刻T12に書き込み命令writeから読み出し命令readへと再び変化する。   At time T1-T22, the output signal ADDR12 of the buffer BUF12 changes to the same logical value as that of the address signal ADDR11 in synchronization with the rising edge of the clock signal CLK11, and therefore remains at the address value A. Similarly, the output signal CMD12 of the buffer BUF11 changes to the same logical value as the command signal CMD11 in synchronization with the rising edge of the clock signal CLK11, and therefore changes from the read command read to the write command write at time T8. At T12, the write command write is changed to the read command read again.

次に、読み出し命令判定信号READ_OUT1は、命令信号CMD11と命令信号CMD12の両方が読み出し命令READの場合にハイレベルVDDとなるので、期間T3−T14でロウレベルVSSとなり、それ以外の期間ではハイレベルVDDとなる。また、アドレス比較信号CMP_OUT1は、アドレス信号ADDR11とアドレス信号ADDR12が一致する場合にハイレベルVDDとなるので時刻T19において、ハイレベルVDDからロウレベルVSSへと変化している。連続読み出し判定信号JGE_OUT1は、読み出し命令判定信号READ_OUT1とアドレス比較信号CMP_OUT1が共にハイレベルVDDの場合にロウレベルVSSとなるため、時刻T4までと、時刻T15−T20でロウレベルVSSとなり、それ以外の期間ではハイレベルVDDとなる。   Next, since the read command determination signal READ_OUT1 becomes the high level VDD when both the command signal CMD11 and the command signal CMD12 are the read command READ, the read command determination signal READ_OUT1 becomes the low level VSS in the period T3-T14, and the high level VDD in the other periods. It becomes. Further, the address comparison signal CMP_OUT1 becomes the high level VDD when the address signal ADDR11 and the address signal ADDR12 coincide with each other, and therefore changes from the high level VDD to the low level VSS at time T19. The continuous read determination signal JGE_OUT1 is at the low level VSS when both the read command determination signal READ_OUT1 and the address comparison signal CMP_OUT1 are at the high level VDD. High level VDD.

連続読み出し判定信号JGE_OUT1は、逆相ラッチILAT1を通過し、ILAT1は、クロック信号CLK11がロウレベルVSSの期間のみ論理値を変化させることが出来る。そのため、ILAT1の出力となるクロック遮断信号ILAT_OUT1は、時刻T4、T15ではJGE_OUT1がすぐに反映され、時刻T5にハイレベルVDDへ、時刻T16にロウレベルVSSへと遷移するが、時刻T20ではすぐに反映されず、時刻T21にクロック信号CLK11がロウレベルVSSとなった後に時刻T22にハイレベルVDDへと遷移する。クロック信号CLK11は、このクロック遮断信号ILAT_OUT1とアンド演算されることで歯抜けの状態に加工され、その結果同一アドレスへ連続読み出し命令が発行されている期間(例えば4クロック目の命令時)は、クロック信号CLK11がメモリ起動信号CLK12へと伝播されない。メモリ起動信号CLK12は、時刻T7、T11の2回のみロウレベルVSS→ハイレベルVDD→ロウレベルVSSと遷移することになり、この期間においてのみメモリ電力が消費される。   The continuous read determination signal JGE_OUT1 passes through the anti-phase latch ILAT1, and ILAT1 can change the logical value only during the period when the clock signal CLK11 is at the low level VSS. Therefore, the clock cutoff signal ILAT_OUT1 that is the output of ILAT1 immediately reflects JGE_OUT1 at times T4 and T15, transitions to high level VDD at time T5, and transitions to low level VSS at time T16, but immediately reflects at time T20. Instead, after the clock signal CLK11 becomes the low level VSS at the time T21, the signal transits to the high level VDD at the time T22. The clock signal CLK11 is processed into an untoothed state by being ANDed with the clock cutoff signal ILAT_OUT1, and as a result, a period during which a continuous read command is issued to the same address (for example, at the time of the fourth clock command) Clock signal CLK11 is not propagated to memory activation signal CLK12. The memory activation signal CLK12 transitions from low level VSS → high level VDD → low level VSS only twice at times T7 and T11, and memory power is consumed only during this period.

また、時刻T7でのメモリ起動信号CLK12に伴い、データ11信号DAT11にはデータ値data1が出力されており、これによりメモリブロックMEM1のアドレスAに対してデータ値data1が書き込まれる。続いて、時刻T11でのメモリ起動信号CLK12を受け、時刻T13において、メモリブロックMEM1からデータ12信号DAT12にデータ値data1が読み出される。   Further, along with the memory activation signal CLK12 at time T7, the data value data1 is output to the data 11 signal DAT11, and thus the data value data1 is written to the address A of the memory block MEM1. Subsequently, the memory activation signal CLK12 at time T11 is received, and at time T13, the data value data1 is read from the memory block MEM1 to the data 12 signal DAT12.

この読み出しデータは、メモリブロックMEM1に対してメモリ起動信号CLK12と共に読み出し命令readが発行されたときのみ更新され、それ以外の場合は出力段に設けられたバッファで当該読み出しデータが保持される。したがって、時刻T17のクロック信号CLK11において、演算回路IP1からメモリブロックMEM1に向けて同一アドレスへの連続読み出し命令が発生しているが、この場合、メモリブロックMEM1は起動されず、演算回路IP1は、前述したMEM1のバッファで保持されているデータ値data1を受信することになる。ここで、演算回路IP1がメモリブロックMEM1に対して読み出し命令を発行してから、IP1がMEM1から読み出しデータを受信するまでのタイミングは、当該読み出し命令が同一アドレスに向けた連続読み出し命令であるか否かに関わらず一定である。   This read data is updated only when a read command read is issued together with the memory activation signal CLK12 to the memory block MEM1, and in other cases, the read data is held in a buffer provided in the output stage. Therefore, in the clock signal CLK11 at time T17, a continuous read command to the same address is generated from the arithmetic circuit IP1 toward the memory block MEM1, but in this case, the memory block MEM1 is not activated and the arithmetic circuit IP1 The data value data1 held in the MEM1 buffer is received. Here, the timing from when the arithmetic circuit IP1 issues a read command to the memory block MEM1 until the IP1 receives read data from the MEM1 is whether the read command is a continuous read command directed to the same address. It is constant regardless of whether or not.

以上、図1のような半導体集積回路装置を用いて図2のような動作を行うことで、同一アドレスへの連続読み出し命令が発生した際のメモリ消費電力を削減できる。また、連続読み出し命令の発生有無に関わらず、演算ブロックIP1がメモリブロックMEM1からデータを受信するタイミングは一定であるため、前述した特許文献1,2のようにタイミング制御に関わるシーケンサ等は不要であり、小規模の回路でメモリ消費電力の削減が可能となる。   As described above, by performing the operation as shown in FIG. 2 using the semiconductor integrated circuit device as shown in FIG. 1, it is possible to reduce the power consumption of the memory when the continuous read command to the same address is generated. Further, since the timing at which the operation block IP1 receives data from the memory block MEM1 is constant regardless of whether or not a continuous read command is generated, a sequencer or the like related to timing control as in the above-described Patent Documents 1 and 2 is not necessary. In other words, memory power consumption can be reduced with a small circuit.

なお、図1において、演算ブロックIP1は、例えば画像処理を行うアクセラレータであり、メモリブロックMEM1は、例えばアクセスレイテンシが不変である同期式のSRAMである。このようなアクセラレータは、例えば33MHzや66MHzなどで動作を行うため、メモリ起動制御ブロックCTRL1による遅延は問題とならない。そして、このようなアクセラレータとSRAMの構成に対してメモリ起動制御ブロックCTRL1を実装した場合、アクセラレータの処理内容にもよるが、一例としてメモリ消費電力を5〜6割程度削減することが可能となる。   In FIG. 1, an operation block IP1 is, for example, an accelerator that performs image processing, and a memory block MEM1 is, for example, a synchronous SRAM whose access latency is unchanged. Since such an accelerator operates at, for example, 33 MHz or 66 MHz, the delay caused by the memory activation control block CTRL1 does not cause a problem. When the memory activation control block CTRL1 is mounted on such an accelerator and SRAM configuration, the memory power consumption can be reduced by about 50 to 60% as an example, although it depends on the processing contents of the accelerator. .

また、アクセスレイテンシ不変とは、メモリブロックが読み出し命令を受信してから実際にデータ出力を行うまでのタイミング(またはクロックサイクル数)が不変であることを言う。例えば図2において、メモリブロックは、3回目の命令を受信して1クロックサイクルでアクセスを行い、4回目の命令に際しては、アクセスを行っていないため、アクセスレイテンシは、1クロックサイクルで不変である。一方、図2のような動作例を特許文献1や特許文献2の技術に適用した場合、メモリブロックは、3回目の命令を受信して例えば3クロックサイクルでアクセスを行い、4回目の命令に際しては、メモリブロック内の読み出しデータレジスタなどを用いることにより例えば1クロックサイクルでアクセスを行うことになる。すなわち、アクセスレイテンシは可変となる。なお、仮に、図1のメモリブロックMEM1に特許文献1や特許文献2のような読み出しデータレジスタを設けた場合でも、4回目の命令に際しては1クロックサイクルでアクセスを行うことになるためアクセスレイテンシ不変となる。   Also, the access latency invariant means that the timing (or the number of clock cycles) from when the memory block receives the read command to when the data is actually output is unchanged. For example, in FIG. 2, the memory block receives the third instruction and accesses it in one clock cycle. Since the fourth instruction is not accessed, the access latency is unchanged in one clock cycle. . On the other hand, when the operation example as shown in FIG. 2 is applied to the techniques of Patent Document 1 and Patent Document 2, the memory block receives the third instruction and accesses it in, for example, three clock cycles. For example, access is performed in one clock cycle by using a read data register or the like in the memory block. That is, the access latency is variable. Note that even if the memory block MEM1 of FIG. 1 is provided with a read data register as in Patent Document 1 and Patent Document 2, access is performed in one clock cycle for the fourth instruction, so that the access latency remains unchanged. It becomes.

図3は、図1の半導体集積回路装置の変形例を示すブロック図である。ここでは、図1の構成例を変形してメモリ起動制御ブロックCTRL3を演算ブロックIP3内部に実装した例が示されている。図3に示す半導体集積回路装置は、演算ブロックIP3、メモリブロックMEM3から構成される。メモリ起動制御ブロックCTRL3の構成は、メモリ起動制御ブロックCTRL1と同様であり、バッファ回路BUF31,BUF32、読み出し命令判定回路READ3、アドレス比較回路CMP3、否定論理積回路NAND3、逆相ラッチ回路ILAT3、論理積回路AND3から構成される。   FIG. 3 is a block diagram showing a modification of the semiconductor integrated circuit device of FIG. Here, there is shown an example in which the configuration example of FIG. 1 is modified and the memory activation control block CTRL3 is mounted in the arithmetic block IP3. The semiconductor integrated circuit device shown in FIG. 3 includes an operation block IP3 and a memory block MEM3. The configuration of the memory activation control block CTRL3 is the same as that of the memory activation control block CTRL1, and includes buffer circuits BUF31 and BUF32, a read instruction determination circuit READ3, an address comparison circuit CMP3, a negative AND circuit NAND3, a negative-phase latch circuit ILAT3, a logical product It consists of a circuit AND3.

演算ブロックIP3の出力端子であるアドレス信号ADDR31、命令信号CMD31、データ31信号DAT31は、メモリブロックMEM3の入力端子へそれぞれ接続され、アドレス信号ADDR31、命令信号CMD31は、演算ブロックIP3内部にあるメモリ起動制御ブロックCTRL3にもそれぞれ接続される。メモリブロックMEM3の出力端子であるデータ32信号DAT32は、演算ブロックIP3のデータ入力端子へ接続される。また、演算ブロックIP3には、クロック信号CLK31が入力され、演算ブロックIP3で生成されるメモリ起動信号CLK32が、メモリブロックMEM3の起動信号として入力される。なお、ここまでに挙げたアドレス信号ADDR31、命令信号CMD31、データ31信号DAT31、データ32信号DAT32は単一ビットであっても複数ビットであっても良い。また、バッファ回路BUF31,BUF32も同様に単一ビットであっても複数ビットであっても良い。   The address signal ADDR31, the command signal CMD31, and the data 31 signal DAT31, which are output terminals of the arithmetic block IP3, are connected to the input terminals of the memory block MEM3, respectively, and the address signal ADDR31 and the command signal CMD31 are activated in the memory inside the arithmetic block IP3. It is also connected to the control block CTRL3. The data 32 signal DAT32 that is the output terminal of the memory block MEM3 is connected to the data input terminal of the operation block IP3. Further, the clock signal CLK31 is input to the arithmetic block IP3, and the memory activation signal CLK32 generated by the arithmetic block IP3 is input as the activation signal of the memory block MEM3. The address signal ADDR31, the command signal CMD31, the data 31 signal DAT31, and the data 32 signal DAT32 mentioned so far may be a single bit or a plurality of bits. Similarly, the buffer circuits BUF31 and BUF32 may be a single bit or a plurality of bits.

演算ブロックIP3内のメモリ起動制御ブロックCTRL3の接続は、メモリ起動制御ブロックCTRL1と同様に次の通りである。命令信号CMD31は、バッファ回路BUF31のデータ入力と読み出し命令判定回路READ3の一方の入力へ接続され、バッファ回路BUF31のデータ出力CMD32は、読み出し命令判定回路READ3の他方の入力へ接続される。アドレス信号ADDR31は、バッファ回路BUF32のデータ入力とアドレス比較回路CMP3の一方の入力へ接続され、バッファ回路BUF32のデータ出力ADDR32は、アドレス比較回路CMP3の他方の入力へ接続される。読み出し命令判定回路READ3の出力READ_OUT3は、否定論理積回路NAND3の一方の入力へ接続され、アドレス比較回路CMP3の出力CMP_OUT3は、否定論理積回路NAND3の他方の入力へ接続される。   The connection of the memory activation control block CTRL3 in the calculation block IP3 is as follows, similarly to the memory activation control block CTRL1. The command signal CMD31 is connected to the data input of the buffer circuit BUF31 and one input of the read command determination circuit READ3, and the data output CMD32 of the buffer circuit BUF31 is connected to the other input of the read command determination circuit READ3. The address signal ADDR31 is connected to the data input of the buffer circuit BUF32 and one input of the address comparison circuit CMP3, and the data output ADDR32 of the buffer circuit BUF32 is connected to the other input of the address comparison circuit CMP3. The output READ_OUT3 of the read command determination circuit READ3 is connected to one input of the NAND circuit NAND3, and the output CMP_OUT3 of the address comparison circuit CMP3 is connected to the other input of the NAND circuit NAND3.

否定論理積回路NAND3の出力となる連続読み出し判定信号JGE_OUT3は、逆相ラッチ回路ILAT3のデータ入力へ接続され、逆相ラッチ回路ILAT3のデータ出力ILAT_OUT3は、論理積回路AND3の一方の入力へ接続される。クロック信号CLK31は、バッファ回路BUF31,BUF32と、逆相ラッチILAT3のクロック入力と、論理積回路AND3の他方の入力に接続される。そして、論理積回路AND3の出力がメモリ起動信号CLK32となる。   The continuous read determination signal JGE_OUT3 that is the output of the NAND circuit NAND3 is connected to the data input of the anti-phase latch circuit ILAT3, and the data output ILAT_OUT3 of the anti-phase latch circuit ILAT3 is connected to one input of the AND circuit AND3. The The clock signal CLK31 is connected to the buffer circuits BUF31 and BUF32, the clock input of the anti-phase latch ILAT3, and the other input of the AND circuit AND3. Then, the output of the AND circuit AND3 becomes the memory activation signal CLK32.

演算ブロックIP3は、メモリとデータをやり取りしながら演算を行う回路ブロックである。演算ブロックIP3は、クロック信号CLK31に同期して、アドレス信号ADDR31、命令信号CMD31、データ31信号DAT31を出力する。命令信号CMD3の内容としては、書き込み命令write、読み出し命令read、待機命令waitなどがある。メモリ起動制御ブロックCTRL3において、命令信号CMD31はバッファ回路BUF31に、アドレス信号ADDR31はバッファ回路BUF32に、クロック信号CLK31に同期して取り込まれる。   The calculation block IP3 is a circuit block that performs calculations while exchanging data with the memory. The arithmetic block IP3 outputs an address signal ADDR31, a command signal CMD31, and a data 31 signal DAT31 in synchronization with the clock signal CLK31. The contents of the command signal CMD3 include a write command write, a read command read, a standby command wait, and the like. In the memory activation control block CTRL3, the instruction signal CMD31 is taken into the buffer circuit BUF31 and the address signal ADDR31 is taken into the buffer circuit BUF32 in synchronization with the clock signal CLK31.

読み出し命令判定回路READ3は、命令信号CMD31とバッファ回路BUF31の出力信号CMD32の両方が読み出し命令であった場合にハイレベルVDDをREAD_OUT3に出力し、それ以外の場合はロウレベルVSSをREAD_OUT3に出力する。アドレス比較回路CMOP3は、アドレス信号ADDR31とバッファ回路BUF32の出力信号ADDR32のアドレスが一致した場合にハイレベルVDDをCMP_OUT3に出力し、一致しなかった場合にロウレベルVSSをCMP_OUT3に出力する。否定論理積回路NAND3は、読み出し命令判定回路READ3の出力READ_OUT3とアドレス比較回路CMP3の出力CMP_OUT3の両方がハイレベルVDDの場合にロウレベルVSSをJGE_OUT3に出力し、それ以外の場合にハイレベルVDDをJGE_OUT3に出力する。   The read command determination circuit READ3 outputs the high level VDD to READ_OUT3 when both the command signal CMD31 and the output signal CMD32 of the buffer circuit BUF31 are read commands, and otherwise outputs the low level VSS to READ_OUT3. The address comparison circuit CMOP3 outputs the high level VDD to CMP_OUT3 when the address of the address signal ADDR31 and the output signal ADDR32 of the buffer circuit BUF32 match, and outputs the low level VSS to CMP_OUT3 when they do not match. The NAND circuit NAND3 outputs the low level VSS to JGE_OUT3 when both the output READ_OUT3 of the read command determination circuit READ3 and the output CMP_OUT3 of the address comparison circuit CMP3 are at the high level VDD, and otherwise outputs the high level VDD to JGE_OUT3. Output to.

逆相ラッチILAT3は、クロック信号CLK31がロウレベルVSSの場合はJGE_OUT3をそのままILAT_OUT3として出力し、クロック信号CLK31がハイレベルVDDの場合は、クロック信号CLK31がロウレベルVSSであった際のJGE_OUT3の論理値をILAT_OUT3に出力し続ける。論理積回路AND3は、クロック信号CLK31と逆相ラッチILAT3の出力ILAT_OUT3の両方がハイレベルVDDの場合にはハイレベルVDDを、それ以外の場合にはロウレベルVSSをメモリ起動信号CLK32に出力する。   The anti-phase latch ILAT3 outputs JGE_OUT3 as ILAT_OUT3 as it is when the clock signal CLK31 is at the low level VSS, and outputs the logical value of JGE_OUT3 when the clock signal CLK31 is at the low level VSS when the clock signal CLK31 is at the high level VDD. Continue to output to ILAT_OUT3. The AND circuit AND3 outputs the high level VDD when the clock signal CLK31 and the output ILAT_OUT3 of the anti-phase latch ILAT3 are both at the high level VDD, and outputs the low level VSS in the other cases as the memory activation signal CLK32.

メモリブロックMEM3は、メモリ起動信号CLK32に同期して起動される。このメモリ起動信号CLK32に伴う命令信号CMD31が読み出し命令の場合、メモリブロックMEM3は、アドレス信号ADDR31で指定されたアドレスのメモリセルに保持している値をデータ32信号DAT32に出力する。一方、メモリ起動信号CLK32に伴う命令信号CMD31が書き込み命令の場合、メモリブロックMEM3は、アドレス信号ADDR31で指定されたアドレスのメモリセルにデータ31信号DAT31の値を書き込む。なお、命令信号CMD31が待機の場合は、メモリ起動信号CLK32によって起動されても何も行わない。   The memory block MEM3 is activated in synchronization with the memory activation signal CLK32. When the command signal CMD31 accompanying the memory activation signal CLK32 is a read command, the memory block MEM3 outputs the value held in the memory cell at the address specified by the address signal ADDR31 to the data 32 signal DAT32. On the other hand, when the command signal CMD31 accompanying the memory activation signal CLK32 is a write command, the memory block MEM3 writes the value of the data 31 signal DAT31 to the memory cell at the address specified by the address signal ADDR31. When the command signal CMD31 is on standby, nothing is performed even when the command signal CMD31 is activated by the memory activation signal CLK32.

以上、図3の半導体集積回路装置のように演算ブロックIP3内にあらかじめメモリ起動制御ブロックCTRL3を実装しておけば、演算ブロック、メモリブロック、メモリ起動制御ブロックを別々にレイアウトするよりも、タイミングやレイアウト面積の点で最適化が可能になる。したがって、図3の構成例を用いることで、図1で述べたような効果に加えて、更に小面積化が可能となり、また、図1の構成例に比べて演算ブロックとメモリブロック間の通信速度を高速化することが可能となる。   As described above, if the memory activation control block CTRL3 is mounted in the arithmetic block IP3 in advance as in the semiconductor integrated circuit device of FIG. 3, the timing, the memory block, and the memory activation control block are not laid out separately. Optimization is possible in terms of layout area. Therefore, by using the configuration example of FIG. 3, in addition to the effects described with reference to FIG. 1, the area can be further reduced, and communication between the arithmetic block and the memory block can be performed as compared with the configuration example of FIG. The speed can be increased.

図4は、図1の半導体集積回路装置の他の変形例を示すブロック図である。ここでは、図1の構成例を変形してメモリ起動制御ブロックCTRL4をメモリブロックMEM4内部に実装した例が示されている。図4に示す半導体集積回路装置は、演算ブロックIP4、メモリブロックMEM4から構成される。メモリ起動制御ブロックCTRL4の構成は、メモリ起動制御ブロックCTRL1と同様であり、バッファ回路BUF41,BUF42、読み出し命令判定回路READ4、アドレス比較回路CMP4、否定論理積回路NAND4、逆相ラッチ回路ILAT4、論理積回路AND4から構成される。   FIG. 4 is a block diagram showing another modification of the semiconductor integrated circuit device of FIG. Here, an example in which the memory activation control block CTRL4 is mounted inside the memory block MEM4 by modifying the configuration example of FIG. 1 is shown. The semiconductor integrated circuit device shown in FIG. 4 includes an operation block IP4 and a memory block MEM4. The configuration of the memory activation control block CTRL4 is the same as that of the memory activation control block CTRL1, and includes buffer circuits BUF41 and BUF42, a read instruction determination circuit READ4, an address comparison circuit CMP4, a negative AND circuit NAND4, a negative-phase latch circuit ILAT4, and a logical product. It consists of a circuit AND4.

演算ブロックIP4の出力端子であるアドレス信号ADDR41、命令信号CMD41、データ41信号DAT41は、メモリブロックMEM4の入力端子へそれぞれ接続され、アドレス信号ADDR41、命令信号CMD41は、メモリブロックMEM4内部にあるメモリ起動制御ブロックCTRL4にもそれぞれ接続される。メモリブロックMEM4の出力端子であるデータ42信号DAT42は、演算ブロックIP4の入力端子へ接続される。また、演算ブロックIP4とメモリブロックMEM4には、クロック信号CLK41が入力される。なお、ここまでに挙げたアドレス信号ADDR41、命令信号CMD41、データ41信号DAT41、データ42信号DAT42は単一ビットであっても複数ビットであっても良い。また、バッファ回路BUF41,BUF42も同様に単一ビットであっても複数ビットであっても良い。   The address signal ADDR41, command signal CMD41, and data 41 signal DAT41, which are output terminals of the arithmetic block IP4, are respectively connected to the input terminals of the memory block MEM4, and the address signal ADDR41 and command signal CMD41 are activated in the memory block MEM4. It is also connected to the control block CTRL4. The data 42 signal DAT42 which is the output terminal of the memory block MEM4 is connected to the input terminal of the operation block IP4. The clock signal CLK41 is input to the arithmetic block IP4 and the memory block MEM4. Note that the address signal ADDR41, the command signal CMD41, the data 41 signal DAT41, and the data 42 signal DAT42 mentioned so far may be a single bit or a plurality of bits. Similarly, the buffer circuits BUF41 and BUF42 may be a single bit or a plurality of bits.

メモリブロックMEM4内のメモリ起動制御ブロックCTRL4の接続は、メモリ起動制御ブロックCTRL1と同様に次の通りである。命令信号CMD41は、バッファ回路BUF41のデータ入力と読み出し命令判定回路READ4の一方の入力へ接続され、バッファ回路BUF41のデータ出力CMD42は読み出し命令判定回路READ4の他方の入力へ接続される。アドレス信号ADDR41は、バッファ回路BUF42のデータ入力とアドレス比較回路CMP4の一方の入力へ接続され、バッファ回路BUF42のデータ出力ADDR42は、アドレス比較回路CMP4の他方の入力へ接続される。読み出し命令判定回路READ4の出力READ_OUT4は、否定論理積回路NAND4の一方の入力へ接続され、アドレス比較回路CMP4の出力CMP_OUT4は、否定論理積回路NAND4の他方の入力へ接続される。   The connection of the memory activation control block CTRL4 in the memory block MEM4 is as follows similarly to the memory activation control block CTRL1. The command signal CMD41 is connected to the data input of the buffer circuit BUF41 and one input of the read command determination circuit READ4, and the data output CMD42 of the buffer circuit BUF41 is connected to the other input of the read command determination circuit READ4. The address signal ADDR41 is connected to the data input of the buffer circuit BUF42 and one input of the address comparison circuit CMP4, and the data output ADDR42 of the buffer circuit BUF42 is connected to the other input of the address comparison circuit CMP4. The output READ_OUT4 of the read command determination circuit READ4 is connected to one input of the NAND circuit NAND4, and the output CMP_OUT4 of the address comparison circuit CMP4 is connected to the other input of the NAND circuit NAND4.

否定論理積回路NAND4の出力となる連続読み出し判定信号JGE_OUT4は、逆相ラッチ回路ILAT4のデータ入力へ接続され、逆相ラッチ回路ILAT4のデータ出力ILAT_OUT4は、論理積回路AND4の一方の入力へ接続される。クロック信号CLK41は、バッファ回路BUF41,BUF42と、逆相ラッチILAT4のクロック入力と、論理積回路AND4の他方の入力に接続される。そして、論理積回路AND4の出力がメモリブロックMEM4内部を活性化するメモリ起動信号CLK42となる。   The continuous read determination signal JGE_OUT4 that is the output of the NAND circuit NAND4 is connected to the data input of the anti-phase latch circuit ILAT4, and the data output ILAT_OUT4 of the anti-phase latch circuit ILAT4 is connected to one input of the AND circuit AND4. The The clock signal CLK41 is connected to the buffer circuits BUF41 and BUF42, the clock input of the anti-phase latch ILAT4, and the other input of the AND circuit AND4. The output of the AND circuit AND4 becomes the memory activation signal CLK42 that activates the inside of the memory block MEM4.

演算ブロックIP4は、メモリとデータをやり取りしながら演算を行う回路ブロックであり、クロック信号CLK41に同期して、アドレス信号ADDR41、命令信号CMD41、データ41信号DAT41を出力する。命令信号CMD4の内容としては書き込み命令WRITE、読み出し命令READ、待機命令WAITなどがある。メモリブロックMEM4内にあるメモリ起動制御ブロックCTRL4において、命令信号CMD41はバッファ回路BUF41に、アドレス信号ADDR41はバッファ回路BUF42に、クロック信号CLK41に同期して取り込まれる。   The arithmetic block IP4 is a circuit block that performs arithmetic while exchanging data with the memory, and outputs an address signal ADDR41, a command signal CMD41, and a data 41 signal DAT41 in synchronization with the clock signal CLK41. The contents of the command signal CMD4 include a write command WRITE, a read command READ, a standby command WAIT, and the like. In the memory activation control block CTRL4 in the memory block MEM4, the instruction signal CMD41 is taken into the buffer circuit BUF41 and the address signal ADDR41 is taken into the buffer circuit BUF42 in synchronization with the clock signal CLK41.

読み出し命令判定回路READ4は、命令信号CMD41とバッファ回路BUF41の出力信号CMD42の両方が読み出し命令であった場合にハイレベルVDDをREAD_OUT4に出力し、それ以外の場合はロウレベルVSSをREAD_OUT4に出力する。アドレス比較回路CMP4は、アドレス信号ADDR41とバッファ回路BUF42の出力信号ADDR42のアドレスが一致した場合にハイレベルVDDをCMP_OUT4に出力し、一致しなかった場合にロウレベルVSSをCMP_OUT4に出力する。否定論理積回路NAND4は、読み出し命令判定回路READ4の出力READ_OUT4とアドレス比較回路CMP4の出力CMP_OUT4の両方がハイレベルVDDの場合にロウレベルVSSをJGE_OUT4に出力し、それ以外の場合にハイレベルVDDをJGE_OUT4に出力する。   The read command determination circuit READ4 outputs a high level VDD to READ_OUT4 when both the command signal CMD41 and the output signal CMD42 of the buffer circuit BUF41 are read commands, and otherwise outputs a low level VSS to READ_OUT4. The address comparison circuit CMP4 outputs the high level VDD to CMP_OUT4 when the address signal ADDR41 and the output signal ADDR42 of the buffer circuit BUF42 match, and outputs the low level VSS to CMP_OUT4 when they do not match. The NAND circuit NAND4 outputs the low level VSS to JGE_OUT4 when both the output READ_OUT4 of the read instruction determination circuit READ4 and the output CMP_OUT4 of the address comparison circuit CMP4 are at the high level VDD, and otherwise outputs the high level VDD to JGE_OUT4. Output to.

逆相ラッチILAT4は、クロック信号CLK41がロウレベルVSSの場合はJGE_OUT4をそのままILAT_OUT4として出力し、クロック信号CLK41がハイレベルVDDの場合は、クロック信号CLK41がロウレベルVSSであった際のJGE_OUT4の論理値をILAT_OUT4に出力し続ける。論理積回路AND4は、クロック信号CLK41と逆相ラッチILAT4の出力ILAT_OUT4の両方がハイレベルVDDの場合にハイレベルVDDを、それ以外の場合はロウレベルVSSをメモリ起動信号CLK42に出力する。   The anti-phase latch ILAT4 outputs JGE_OUT4 as ILAT_OUT4 as it is when the clock signal CLK41 is at the low level VSS, and outputs the logical value of JGE_OUT4 when the clock signal CLK41 is at the low level VSS when the clock signal CLK41 is at the high level VDD. Continue to output to ILAT_OUT4. The AND circuit AND4 outputs the high level VDD when the clock signal CLK41 and the output ILAT_OUT4 of the anti-phase latch ILAT4 are both at the high level VDD, and outputs the low level VSS in the other cases as the memory activation signal CLK42.

メモリブロックMEM4内部は、メモリ起動信号CLK42によって活性化される。このメモリ起動信号CLK42に伴う命令信号CMD41が読み出し命令の場合、メモリブロックMEM4は、アドレス信号ADDR41で指定されたアドレスのメモリセルに保持している値をデータ42信号DAT42に出力する。一方、メモリ起動信号CLK42に伴う命令信号CMD41が書き込み命令の場合、メモリブロックMEM4は、アドレス信号ADDR41で指定されたアドレスのメモリセルにデータ41信号DAT41の値を書き込む。なお、命令信号CMD41が待機の場合はメモリ起動信号CLK42によって活性化されても何も行わない。   The inside of the memory block MEM4 is activated by the memory activation signal CLK42. When the command signal CMD41 accompanying the memory activation signal CLK42 is a read command, the memory block MEM4 outputs the value held in the memory cell at the address specified by the address signal ADDR41 to the data 42 signal DAT42. On the other hand, when the command signal CMD41 accompanying the memory activation signal CLK42 is a write command, the memory block MEM4 writes the value of the data 41 signal DAT41 to the memory cell at the address specified by the address signal ADDR41. When the command signal CMD41 is on standby, nothing is performed even if the command signal CMD41 is activated by the memory activation signal CLK42.

以上、図4の半導体集積回路装置のようにメモリブロックMEM4内にあらかじめメモリ起動制御ブロックCTRL4を実装しておけば、演算ブロック、メモリブロック、メモリ起動制御ブロックを別々にレイアウトするよりも、タイミングやレイアウト面積の点で最適化が可能になる。したがって、図4の構成例を用いることで、図1で述べたような効果に加えて、更に小面積化が可能となり、また、図1の構成例に比べて演算ブロックとメモリブロック間の通信速度を高速化することが可能となる。   As described above, if the memory activation control block CTRL4 is mounted in advance in the memory block MEM4 as in the semiconductor integrated circuit device of FIG. 4, the timing, Optimization is possible in terms of layout area. Therefore, by using the configuration example of FIG. 4, in addition to the effects described with reference to FIG. 1, the area can be further reduced, and communication between the arithmetic block and the memory block can be performed as compared with the configuration example of FIG. The speed can be increased.

図5は、本発明の一実施の形態による半導体集積回路装置において、その構成の他の一例を示すブロック図である。図5に示す半導体集積回路装置は、演算ブロックIP5、メモリブロックMEM5、メモリ起動制御ブロックCTRL5から構成される。メモリ起動制御ブロックCTRL5は、バッファ回路BUF51,BUF52、読み出し命令判定回路READ5、アドレス比較回路CMP5、否定論理積回路NAND5、命令変換回路CONV5から構成される。   FIG. 5 is a block diagram showing another example of the configuration of the semiconductor integrated circuit device according to one embodiment of the present invention. The semiconductor integrated circuit device shown in FIG. 5 includes an operation block IP5, a memory block MEM5, and a memory activation control block CTRL5. The memory activation control block CTRL5 includes buffer circuits BUF51 and BUF52, a read instruction determination circuit READ5, an address comparison circuit CMP5, a negative AND circuit NAND5, and an instruction conversion circuit CONV5.

演算ブロックIP5の出力端子であるアドレス信号ADDR51、データ51信号DAT51は、メモリブロックMEM5の入力端子へそれぞれ接続され、アドレス信号ADDR51、命令信号CMD51は、メモリ起動制御ブロックCTRL5の入力端子へそれぞれ接続される。メモリブロックMEM5の出力端子であるデータ52信号DAT52は、演算ブロックIP5の入力端子へ接続される。メモリ起動制御ブロックCTRL5の出力端子である命令信号CMD53は、メモリブロックMEM5の入力端子へ接続される。また、演算ブロックIP5、メモリ起動制御ブロックCTRL5、メモリブロックMEM5にはクロック信号CLK51が入力される。なお、ここまでに挙げたアドレス信号ADDR51、命令信号CMD51、データ51信号DAT51、データ52信号DAT52は単一ビットであっても複数ビットであっても良い。また、バッファ回路BUF51,BUF52も同様に単一ビットであっても複数ビットであっても良い。   The address signal ADDR51 and the data 51 signal DAT51, which are output terminals of the arithmetic block IP5, are connected to the input terminal of the memory block MEM5, respectively, and the address signal ADDR51 and the command signal CMD51 are connected to the input terminals of the memory activation control block CTRL5, respectively. The The data 52 signal DAT52, which is the output terminal of the memory block MEM5, is connected to the input terminal of the arithmetic block IP5. The command signal CMD53 that is the output terminal of the memory activation control block CTRL5 is connected to the input terminal of the memory block MEM5. In addition, the clock signal CLK51 is input to the arithmetic block IP5, the memory activation control block CTRL5, and the memory block MEM5. Note that the address signal ADDR51, the command signal CMD51, the data 51 signal DAT51, and the data 52 signal DAT52 mentioned so far may be a single bit or a plurality of bits. Similarly, the buffer circuits BUF51 and BUF52 may be a single bit or a plurality of bits.

メモリ起動制御ブロックCTRL5内の接続は次のようになっている。命令信号CMD51は、バッファ回路BUF51のデータ入力と読み出し命令判定回路READ5の一方の入力へ接続され、バッファ回路BUF51のデータ出力CMD52は、読み出し命令判定回路READ5の他方の入力へ接続される。アドレス信号ADDR51は、バッファ回路BUF52のデータ入力とアドレス比較回路CMP5の一方の入力へ接続され、バッファ回路BUF52のデータ出力ADDR52は、アドレス比較回路CMP5の他方の入力へ接続される。読み出し命令判定回路READ5の出力READ_OUT5は、否定論理積回路NAND5の一方の入力へ接続され、アドレス比較回路CMP5の出力CMP_OUT5は、否定論理積回路NAND5の他方の入力へ接続される。否定論理積回路NAND5の出力となる連続読み出し判定信号JGE_OUT5と命令信号CMD51は、命令変換回路CONV5へ入力され、命令変換回路CONV5の出力が、命令信号CMD53となる。   Connections in the memory activation control block CTRL5 are as follows. The command signal CMD51 is connected to the data input of the buffer circuit BUF51 and one input of the read command determination circuit READ5, and the data output CMD52 of the buffer circuit BUF51 is connected to the other input of the read command determination circuit READ5. The address signal ADDR51 is connected to the data input of the buffer circuit BUF52 and one input of the address comparison circuit CMP5, and the data output ADDR52 of the buffer circuit BUF52 is connected to the other input of the address comparison circuit CMP5. The output READ_OUT5 of the read command determination circuit READ5 is connected to one input of the NAND circuit NAND5, and the output CMP_OUT5 of the address comparison circuit CMP5 is connected to the other input of the NAND circuit NAND5. The continuous read determination signal JGE_OUT5 and the command signal CMD51 that are output from the NAND circuit NAND5 are input to the command conversion circuit CONV5, and the output of the command conversion circuit CONV5 is the command signal CMD53.

演算ブロックIP5は、メモリとデータをやり取りしながら演算を行う回路ブロックであり、クロック信号CLK51に同期して、アドレス信号ADDR51、命令信号CMD51、データ51信号DAT51を出力する。命令信号CMD51の内容としては書き込み命令、読み出し命令、待機命令などがある。メモリ起動制御ブロックCTRL5において、命令信号CMD51はバッファ回路BUF51に、アドレス信号ADDR51はバッファ回路BUF52に、クロック信号CLK51に同期して取り込まれる。   The arithmetic block IP5 is a circuit block that performs arithmetic while exchanging data with the memory, and outputs an address signal ADDR51, a command signal CMD51, and a data 51 signal DAT51 in synchronization with the clock signal CLK51. The contents of the command signal CMD51 include a write command, a read command, a standby command, and the like. In the memory activation control block CTRL5, the instruction signal CMD51 is taken into the buffer circuit BUF51, and the address signal ADDR51 is taken into the buffer circuit BUF52 in synchronization with the clock signal CLK51.

読み出し命令判定回路READ5は、命令信号CMD51とバッファ回路BUF51の出力信号CMD52の両方が読み出し命令であった場合にハイレベルVDDをREAD_OUT5に出力し、それ以外の場合はロウレベルVSSをREAD_OUT5に出力する。アドレス比較回路CMP5は、アドレス信号ADDR51とバッファ回路BUF52の出力信号ADDR52のアドレスが一致した場合にハイレベルVDDをCMP_OUT5に出力し、一致しなかった場合にロウレベルVSSをCMP_OUT5に出力する。否定論理積回路NAND5は、読み出し命令判定回路READ5の出力READ_OUT5とアドレス比較回路CMP5の出力CMP_OUT5の両方がハイレベルVDDの場合にロウレベルVSSを連続読み出し判定信号JGE_OUT5に出力し、それ以外の場合にハイレベルVDDを連続読み出し判定信号JGE_OUT5に出力する。   The read command determination circuit READ5 outputs a high level VDD to READ_OUT5 when both the command signal CMD51 and the output signal CMD52 of the buffer circuit BUF51 are read commands, and otherwise outputs a low level VSS to READ_OUT5. The address comparison circuit CMP5 outputs the high level VDD to CMP_OUT5 when the address signal ADDR51 and the address of the output signal ADDR52 of the buffer circuit BUF52 match, and outputs the low level VSS to CMP_OUT5 when they do not match. The NAND circuit NAND5 outputs the low level VSS to the continuous read determination signal JGE_OUT5 when both the output READ_OUT5 of the read instruction determination circuit READ5 and the output CMP_OUT5 of the address comparison circuit CMP5 are at the high level VDD, otherwise it is high. The level VDD is output to the continuous read determination signal JGE_OUT5.

命令変換回路CONV5は、連続読み出し判定信号JGE_OUT5がハイレベルVDDの場合には命令信号CMD51をそのまま命令信号CMD53として出力し、連続読み出し判定信号JGE_OUT5がロウレベルVSSの場合には待機命令を命令信号CMD53に出力する。メモリブロックMEM5は、メモリ起動信号CLK51に同期して起動される。このメモリ起動信号CLK51に伴いメモリ起動制御ブロックCTRL5から出力された命令信号CMD53が読み出し命令の場合、メモリブロックMEM5は、アドレス信号ADDR51で指定されたアドレスのメモリセルに保持している値をデータ52信号DAT52に出力する。また、同様にして出力された命令信号CMD53が書き込み命令の場合、メモリブロックMEM5は、アドレス信号ADDR51で指定されたアドレスのメモリセルにデータ51信号DAT51の値を書き込む。更に同様にして出力された命令信号CMD53が待機命令の場合、メモリブロックMEM5は、メモリ起動信号CLK51によって起動されても何も行わない。   The command conversion circuit CONV5 outputs the command signal CMD51 as the command signal CMD53 as it is when the continuous read determination signal JGE_OUT5 is at the high level VDD, and the standby command as the command signal CMD53 when the continuous read determination signal JGE_OUT5 is at the low level VSS. Output. The memory block MEM5 is activated in synchronization with the memory activation signal CLK51. When the instruction signal CMD53 output from the memory activation control block CTRL5 according to the memory activation signal CLK51 is a read instruction, the memory block MEM5 stores the value held in the memory cell at the address specified by the address signal ADDR51 as the data 52. Output to signal DAT52. If the command signal CMD53 output in the same manner is a write command, the memory block MEM5 writes the value of the data 51 signal DAT51 into the memory cell at the address specified by the address signal ADDR51. Further, when the command signal CMD53 output in the same manner is a standby command, the memory block MEM5 does nothing even when activated by the memory activation signal CLK51.

以上、図5のような半導体集積回路装置を用いることで、同一アドレスへの連続読み出し命令が発生した際のメモリ消費電力を削減できる。すなわち、演算ブロックIP5からの命令信号CMD51が待機命令の場合は当然として、IP5から同一アドレスへの連続読み出し命令が発行された場合も、メモリブロックMEM5に対して待機命令を発行することができる。待機命令の場合は、メモリ起動信号CLK51によってメモリブロックMEM5が起動されても、MEM5は実質的に殆ど電力を消費しない。また、図1および図2での説明と同様に、演算ブロックIP5がメモリブロックMEM5からデータを受け取るタイミングは、連続読み出し命令の発生有無に関わらず一定であるため、前述した特許文献1,2のようにタイミング制御に関わるシーケンサ等は不要であり、小規模の回路でメモリ消費電力の削減を実現できる。なお、ここでは、連続読み出し命令が発生した際に、待機命令に変換したが、勿論、メモリブロックMEM5が実動作を行わない命令(ノーオペレーション命令)であれば、適宜代替え可能である。   As described above, by using the semiconductor integrated circuit device as shown in FIG. 5, it is possible to reduce the memory power consumption when the continuous read command to the same address is generated. That is, as a matter of course when the instruction signal CMD51 from the operation block IP5 is a standby instruction, a standby instruction can be issued to the memory block MEM5 even when a continuous read instruction to the same address is issued from IP5. In the case of a standby instruction, even when the memory block MEM5 is activated by the memory activation signal CLK51, the MEM5 substantially consumes little power. Similarly to the description in FIG. 1 and FIG. 2, the timing at which the operation block IP5 receives data from the memory block MEM5 is constant regardless of whether or not the continuous read command is generated. Thus, a sequencer or the like related to timing control is not necessary, and memory power consumption can be reduced with a small circuit. Here, when a continuous read command is generated, it is converted into a standby command. Of course, if the memory block MEM5 does not perform an actual operation (no operation command), it can be appropriately replaced.

さらに、図5の構成例では、図1等の構成例のようにメモリ起動信号を加工せずに、命令信号CMD51を加工することでメモリ消費電力を削減している。これにより、メモリ起動信号に十分なタイミング余裕がない場合でも、命令信号CMD53にタイミング余裕が存在すればメモリ消費電力の削減が可能となる。例えば、実際の設計において、メモリ起動信号などのクロック系の信号は、一般的にタイミング制約が厳しいため加工が容易とは言えないような場合もあるが、このような場合でも適用可能となる。なお、図5の構成例は、勿論、図3および図4と同様に変形可能であり、これによって、回路面積やタイミングを最適化することも可能である。   Further, in the configuration example of FIG. 5, the memory power consumption is reduced by processing the command signal CMD51 without processing the memory activation signal as in the configuration example of FIG. As a result, even when there is no sufficient timing margin in the memory activation signal, it is possible to reduce the memory power consumption if there is a timing margin in the command signal CMD53. For example, in an actual design, a clock signal such as a memory activation signal may not be easily processed due to generally severe timing restrictions. However, it can be applied even in such a case. Note that the configuration example of FIG. 5 can of course be modified in the same way as in FIGS. 3 and 4, and thereby the circuit area and timing can be optimized.

図6は、図1等の構成例が一部に適用された半導体集積回路装置の構成例を示すブロック図である。図6に示す半導体集積回路装置は、例えば、複数のIPが1つの半導体チップ上に形成されたSoC等であり、この複数のIPの中から低周波数動作を行う部分に対して図1等の構成例を適用した例となっている。図6の半導体集積回路装置(半導体チップ)LSI6は、例えば、演算ブロックIP61,IP62、メモリブロックMEM61,MEM62、メモリ起動制御ブロックCTRL61などを含んで構成される。これら5ブロックのうち、演算ブロックIP61は、例えば低周波数で動作するアクセラレータなどであり、演算ブロックIP62は、例えば高周波数で動作するCPUなどである。   FIG. 6 is a block diagram showing a configuration example of a semiconductor integrated circuit device to which the configuration example of FIG. The semiconductor integrated circuit device shown in FIG. 6 is, for example, a SoC in which a plurality of IPs are formed on a single semiconductor chip. It is an example to which a configuration example is applied. The semiconductor integrated circuit device (semiconductor chip) LSI 6 of FIG. 6 includes, for example, arithmetic blocks IP61 and IP62, memory blocks MEM61 and MEM62, a memory activation control block CTRL61, and the like. Of these five blocks, the arithmetic block IP61 is an accelerator operating at a low frequency, for example, and the arithmetic block IP62 is a CPU operating at a high frequency, for example.

そこで、図6では、低周波数で動作する演算ブロックIP61およびメモリブロックMEM61の部分に、図1等に示したようなメモリ起動制御ブロックCTRL61を適用している。なお、この適用箇所の構成は、勿論、図1のようなものに限らず、図5のようなものであってもよく、図3あるいは図4のようにメモリ制御ブロックCTRL61が演算ブロックIP61あるいはメモリブロックMEM61内部に含まれていても良い。   Therefore, in FIG. 6, the memory activation control block CTRL61 as shown in FIG. 1 or the like is applied to the arithmetic block IP61 and the memory block MEM61 that operate at a low frequency. Of course, the configuration of this application location is not limited to that shown in FIG. 1, but may be as shown in FIG. 5. The memory control block CTRL 61 is connected to the arithmetic block IP 61 or the like as shown in FIG. It may be included in the memory block MEM61.

以上、図6のように、同一半導体チップ内であっても、周波数の低いブロックへ選択的にメモリ起動制御ブロックを適用することで、SoC等の動作速度に影響を与えずに、SoC全体の電力を削減できる効果がある。また、メモリ起動制御ブロックは、前述したように小面積で実現できるため、チップ面積には殆ど影響しない。   As described above, as shown in FIG. 6, even within the same semiconductor chip, by selectively applying the memory activation control block to the low frequency block, the operation speed of the SoC or the like is not affected, and the entire SoC is not affected. There is an effect that power can be reduced. Further, since the memory activation control block can be realized with a small area as described above, it hardly affects the chip area.

図7は、図1等の構成例が一部に適用された半導体チップとメモリチップとを含む半導体集積回路装置の構成例を示すブロック図である。図7に示す半導体集積回路装置は、例えば、半導体チップとメモリチップが1つのパッケージに実装された所謂SIP(System In Packege)などの構成となっている。図7の半導体集積回路装置は、例えば、演算ブロックIP7およびメモリ起動制御ブロックCTRL7を含む半導体チップLSI7と、メモリブロックMEM7に該当するメモリチップなどから構成される。これら3ブロックの接続及び動作内容は、図1あるいは図5と同じであっても良いし、図3あるいは図4のようにメモリ制御ブロックCTRL7が演算ブロックIP7あるいはメモリブロックMEM7内部に含まれていても良い。   FIG. 7 is a block diagram showing a configuration example of a semiconductor integrated circuit device including a semiconductor chip and a memory chip to which the configuration example of FIG. The semiconductor integrated circuit device shown in FIG. 7 has, for example, a so-called SIP (System In Package) configuration in which a semiconductor chip and a memory chip are mounted in one package. The semiconductor integrated circuit device of FIG. 7 includes, for example, a semiconductor chip LSI7 including an operation block IP7 and a memory activation control block CTRL7, a memory chip corresponding to the memory block MEM7, and the like. The connection and operation contents of these three blocks may be the same as in FIG. 1 or FIG. 5, and the memory control block CTRL7 is included in the arithmetic block IP7 or the memory block MEM7 as shown in FIG. 3 or FIG. Also good.

以上、図7のような構成例を用いることで、オフチップメモリを持つ半導体集積回路装置であっても、その半導体集積回路装置の消費電力を低減することが可能となる。また、半導体集積回路装置のサイズを殆ど増大させずに消費電力の低減が実現できる。   As described above, by using the configuration example as shown in FIG. 7, even in a semiconductor integrated circuit device having an off-chip memory, the power consumption of the semiconductor integrated circuit device can be reduced. In addition, power consumption can be reduced without substantially increasing the size of the semiconductor integrated circuit device.

図8は、本発明の一実施の形態による半導体集積回路装置において、その設計方法の一例を示す設計フロー図である。図8に示す設計フローは、前述したようなメモリ制御ブロックCTRLを、例えば新規設計の演算ブロックIPおよびメモリブロックMEMへ適用する場合の設計フローである。   FIG. 8 is a design flow chart showing an example of the design method in the semiconductor integrated circuit device according to the embodiment of the present invention. The design flow shown in FIG. 8 is a design flow in the case where the memory control block CTRL as described above is applied to, for example, a newly designed operation block IP and memory block MEM.

図8に示すように、新規設計に際しては、まず、演算ブロックIP及びメモリブロックMEMのRTL記述を行う(S801)。次いで、演算ブロックIPのアドレス信号ADDRおよび命令信号CMDを入力として、前述したメモリ制御ブロックCTRLを組み込む(S802)。そして、このようにして設計したRTL記述を用いて動作検証を行った後(S803)、論理合成を行いRTL記述からゲートレベルネットリストを生成する(S804)。続いて、ゲートレベル記述を用いて動作検証を行った後(S805)、ゲートレベルセルをレイアウトし(S806)、クロックツリーを生成する(S807)。最後に、タイミング検証を行ってレイアウト設計を完了させる(S808)。   As shown in FIG. 8, in the new design, first, RTL description of the operation block IP and the memory block MEM is performed (S801). Next, the memory control block CTRL described above is incorporated with the address signal ADDR and the instruction signal CMD of the operation block IP as inputs (S802). Then, after verifying the operation using the RTL description designed in this way (S803), logic synthesis is performed to generate a gate level netlist from the RTL description (S804). Subsequently, after performing operation verification using the gate level description (S805), the gate level cell is laid out (S806), and a clock tree is generated (S807). Finally, timing verification is performed to complete the layout design (S808).

このように、演算ブロックIPおよびメモリブロックMEMのRTL設計を独立に行った場合でも、このRTL設計後の演算ブロックIPおよびメモリブロックMEMに対して容易にメモリ制御ブロックCTRLを組み込むことができ、また、メモリ制御ブロックCTRLを組み込むことで特に設計フローを変更する必要性もない。したがって、例えば、SoC等で見られるような各ブロックを個別に設計していくような設計フローをそのまま用いることができ、その結果、極めて小さい面積オーバーヘッドで低電力化を実現できる。   As described above, even when the RTL design of the arithmetic block IP and the memory block MEM is independently performed, the memory control block CTRL can be easily incorporated into the arithmetic block IP and the memory block MEM after the RTL design. By incorporating the memory control block CTRL, there is no need to change the design flow. Therefore, for example, a design flow for individually designing each block as seen in SoC or the like can be used as it is, and as a result, low power can be realized with extremely small area overhead.

図9は、本発明の一実施の形態による半導体集積回路装置において、その設計方法の他の一例を示す設計フロー図である。図9に示す設計フローは、前述したようなメモリ制御ブロックCTRLを、例えば、既存チップに対して適用する場合の設計フローである。すなわち、既に設計が完了してしまったチップであっても、レイアウト後の設計データに若干手を加えるのみでメモリ電力の削減が可能である。具体的な方法は、例えば、図9に示すように、既存チップのレイアウトデータを用いて、そのメモリブロックMEMと演算ブロックIPの間にメモリ起動制御ブロックCTRLを配置および配線し(S901)、これによって影響を受ける一部のパスのみタイミング検証を行えばよい(S902)。   FIG. 9 is a design flowchart showing another example of the design method in the semiconductor integrated circuit device according to one embodiment of the present invention. The design flow shown in FIG. 9 is a design flow when the memory control block CTRL as described above is applied to, for example, an existing chip. That is, even for a chip that has already been designed, memory power can be reduced by slightly modifying the design data after layout. For example, as shown in FIG. 9, a memory activation control block CTRL is arranged and wired between the memory block MEM and the operation block IP using layout data of an existing chip as shown in FIG. 9 (S901). It is only necessary to perform timing verification for some of the paths affected by (S902).

例えば、図1のようなメモリ起動制御ブロックCTRL1を適用する場合には、メモリブロックMEM1の起動信号ピンに接続される信号線を削除し、CTRL1を追加した後で、CTRL1の出力であるメモリ起動信号CLK12をMEM1のクロックピンへと再接続する。このとき、タイミング検証の実施対象は、クロック信号CLK11、メモリ起動信号CLK12、アドレス信号ADDR11、命令信号CMD11が接続されるパスのみで良い。   For example, when the memory activation control block CTRL1 as shown in FIG. 1 is applied, after the signal line connected to the activation signal pin of the memory block MEM1 is deleted and CTRL1 is added, the memory activation which is the output of CTRL1 Reconnect signal CLK12 to the clock pin of MEM1. At this time, the timing verification may be performed only on a path to which the clock signal CLK11, the memory activation signal CLK12, the address signal ADDR11, and the command signal CMD11 are connected.

また、図5のようなメモリ起動制御ブロックCTRL5を適用する場合には、メモリブロックMEM5の命令信号ピンに接続される信号線を削除し、CTRL5を追加した後で、CTRL5の出力である命令信号CMD53をMEM5の命令信号ピンへと再接続する。このとき、タイミング検証の実施対象は、クロック信号CLK51、アドレス信号ADDR51、命令信号CMD51、命令信号CMD53が接続されるパスのみで良い。   Further, when the memory activation control block CTRL5 as shown in FIG. 5 is applied, the signal line connected to the command signal pin of the memory block MEM5 is deleted, and after adding CTRL5, the command signal which is the output of CTRL5 Reconnect CMD53 to the command signal pin of MEM5. At this time, the timing verification may be performed only on a path to which the clock signal CLK51, the address signal ADDR51, the command signal CMD51, and the command signal CMD53 are connected.

なお、図1、図5いずれの場合においても、演算ブロックから見るとメモリブロックへはメモリ起動制御ブロックを介して接続することになるが、メモリブロックから返されるデータはメモリ起動制御ブロックの挿入前と不変である。つまり、回路の機能に変化は生じないため、新たな動作検証は必要ない。また、実際にメモリ起動制御ブロックCTRLを配置する際、CTRLは、極めて小規模であり、相互間の通信速度が比較的遅いメモリブロックMEM及び演算ブロックIPに対して適用されるため、その配置箇所の自由度が高く、既に完成しているレイアウトデータに対しても組み込みが容易である。   In either case of FIG. 1 or FIG. 5, when viewed from the operation block, the memory block is connected via the memory activation control block, but the data returned from the memory block is before the memory activation control block is inserted. And invariant. That is, since no change occurs in the function of the circuit, no new operation verification is necessary. Further, when the memory activation control block CTRL is actually arranged, the CTRL is applied to the memory block MEM and the operation block IP whose communication speed is relatively small and the communication speed between them is relatively low. It is easy to embed layout data that has already been completed.

以上、これまでに述べた各実施の形態を用いることによる代表的な効果を挙げると、半導体集積回路装置に設けられたメモリの不必要な起動を抑制し、その電力を削減することが可能となる。また、メモリの不必要な起動を抑制しメモリ電力を削減できるため、半導体集積回路装置を低消費電力化することができる。更に、小さい面積オーバーヘッドで半導体集積回路装置の低消費電力化を実現できる。また、新規設計の半導体製品や、既存の半導体製品においても容易に実施が可能であり、半導体製品の低消費電力化を低コストで実現できる。   As mentioned above, when the typical effect by using each embodiment described so far is given, it is possible to suppress unnecessary activation of the memory provided in the semiconductor integrated circuit device and reduce its power. Become. In addition, since unnecessary memory activation can be suppressed and memory power can be reduced, the power consumption of the semiconductor integrated circuit device can be reduced. Furthermore, low power consumption of the semiconductor integrated circuit device can be realized with a small area overhead. In addition, it can be easily applied to newly designed semiconductor products and existing semiconductor products, and low power consumption of the semiconductor products can be realized at low cost.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

例えば、前述したメモリ起動制御ブロックは、アクセラレータ等のように比較的低周波数で動作する演算ブロックおよびメモリブロックに適用した場合に特に有益となるが、勿論、メモリ起動制御ブロックによる遅延が許容される限り、CPU等のような比較的高周波数で動作する演算ブロックおよびメモリブロックに適用することも有益である。また、例えば図2では、メモリが1サイクルのアクセスレイテンシで動作する例を示しているが、メモリが不変の複数サイクルのアクセスレイテンシで動作する場合であっても同様に適用可能である。   For example, the above-described memory activation control block is particularly useful when applied to an arithmetic block and a memory block that operate at a relatively low frequency such as an accelerator, but of course a delay due to the memory activation control block is allowed. As long as it is applied to arithmetic blocks and memory blocks that operate at a relatively high frequency, such as a CPU, it is also beneficial. Further, for example, FIG. 2 shows an example in which the memory operates with an access latency of one cycle, but the present invention can be similarly applied even when the memory operates with an access latency of a constant multiple cycles.

本発明による半導体装置集積回路装置は、特に、低消費電力が要求される携帯電話向けのシステムLSIなどに適用して有益なものであり、これに限らず、メモリを含む半導体集積回路装置全般の低消費電力化技術として広く適用可能である。   The semiconductor device integrated circuit device according to the present invention is particularly useful when applied to a system LSI for mobile phones that require low power consumption, and is not limited to this. It can be widely applied as a low power consumption technology.

本発明の一実施の形態による半導体集積回路装置において、その構成の一例を示すブロック図である。1 is a block diagram showing an example of the configuration of a semiconductor integrated circuit device according to an embodiment of the present invention. 図1の半導体集積回路装置の動作の一例を示す波形図である。FIG. 2 is a waveform diagram showing an example of the operation of the semiconductor integrated circuit device of FIG. 図1の半導体集積回路装置の変形例を示すブロック図である。FIG. 10 is a block diagram illustrating a modification of the semiconductor integrated circuit device of FIG. 1. 図1の半導体集積回路装置の他の変形例を示すブロック図である。FIG. 10 is a block diagram showing another modification of the semiconductor integrated circuit device of FIG. 1. 本発明の一実施の形態による半導体集積回路装置において、その構成の他の一例を示すブロック図である。FIG. 10 is a block diagram showing another example of the configuration of the semiconductor integrated circuit device according to one embodiment of the present invention. 図1等の構成例が一部に適用された半導体集積回路装置の構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a semiconductor integrated circuit device to which the configuration example of FIG. 1 and the like is partially applied. 図1等の構成例が一部に適用された半導体チップとメモリチップとを含む半導体集積回路装置の構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a semiconductor integrated circuit device including a semiconductor chip and a memory chip to which a configuration example such as FIG. 1 is partially applied. 本発明の一実施の形態による半導体集積回路装置において、その設計方法の一例を示す設計フロー図である。FIG. 10 is a design flow chart showing an example of a design method in the semiconductor integrated circuit device according to one embodiment of the present invention. 本発明の一実施の形態による半導体集積回路装置において、その設計方法の他の一例を示す設計フロー図である。FIG. 10 is a design flow chart showing another example of the design method in the semiconductor integrated circuit device according to one embodiment of the present invention.

符号の説明Explanation of symbols

ADDR アドレス信号
CMD 命令信号
DAT データ信号
CLK クロック信号またはメモリ起動信号
IP 演算ブロック
MEM メモリブロック
CTRL メモリ起動制御ブロック
BUF バッファ
AND 論理積回路
NAND 否定論理積回路
ILAT 逆相ラッチ回路
READ 読み出し命令判定回路
CMP アドレス比較回路
CONV 命令変換回路
ADDR address signal CMD instruction signal DAT data signal CLK clock signal or memory activation signal IP arithmetic block MEM memory block CTRL memory activation control block BUF buffer AND logical product circuit NAND negative logical product circuit ILAT reverse phase latch circuit READ read command determination circuit CMP address Comparison circuit CONV instruction conversion circuit

Claims (14)

アクセスレイテンシ不変のメモリブロックと、
前記メモリブロックに対して命令を発行し、前記メモリブロックの記憶データを用いて所望の処理を行う演算ブロックと、
前記演算ブロックが前記メモリブロックに対して同一メモリアドレスに向けた読み出し命令を連続して発行した際に、2回目以降の読み出し命令に伴う前記メモリブロックの読み出し動作を停止するメモリ起動制御ブロックとを有することを特徴とする半導体集積回路装置。
A memory block with indefinite access latency,
An operation block that issues an instruction to the memory block and performs desired processing using data stored in the memory block;
A memory activation control block that stops a read operation of the memory block in response to a second or subsequent read command when the arithmetic block continuously issues a read command directed to the same memory address to the memory block; A semiconductor integrated circuit device comprising:
請求項1記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、前記メモリブロックに対するクロック信号の供給を停止することで、前記メモリブロックの読み出し動作を停止することを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 1.
The memory activation control block stops reading operation of the memory block by stopping supply of a clock signal to the memory block.
請求項1記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、前記2回目以降の読み出し命令をオペレーションを行わない命令に変換して前記メモリブロックに伝達することで、前記メモリブロックの読み出し動作を停止することを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 1.
The memory activation control block stops the read operation of the memory block by converting the second and subsequent read instructions into an instruction not performing an operation and transmitting the converted instruction to the memory block. apparatus.
請求項1記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、前記演算ブロック内に配置されることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 1.
The semiconductor integrated circuit device, wherein the memory activation control block is arranged in the arithmetic block.
請求項1記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、前記メモリブロック内に配置されることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 1.
The semiconductor integrated circuit device, wherein the memory activation control block is arranged in the memory block.
請求項2記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、
外部クロック信号が入力され、前記外部クロック信号の第1レベルから第2レベルへの遷移に同期して入力命令信号を保持する第1バッファ回路と、
前記外部クロック信号の第1レベルから第2レベルへの遷移に同期して入力アドレス信号を保持する第2バッファ回路と、
前記入力命令信号と前記第1バッファ回路の出力信号を比較し、2つの信号がともに読み出し命令の場合は第3レベルの信号を出力し、それ以外の場合は第4レベルの信号を出力する読み出し命令判定回路と、
前記入力アドレス信号と前記第2バッファ回路の出力信号を比較し、2つの信号がともに同じアドレスの場合は第5レベルの信号を出力し、それ以外の場合は第6レベルの信号を出力するアドレス比較回路と、
前記読み出し命令判定回路の出力信号が前記第3レベルの信号であり、なおかつ前記アドレス比較回路の出力信号が前記第5レベルの信号である場合は第7レベルの信号を出力し、それ以外の場合は第8レベルの信号を出力する否定論理積回路と、
前記否定論理積回路の出力信号と前記外部クロック信号が入力され、前記外部クロック信号が前記第1レベルの場合は前記否定論理積回路の出力信号をそのまま出力し、前記外部クロック信号が前記第2レベルの場合は直前の前記第1レベルであった際の前記否定論理積回路の出力信号を保持する逆相ラッチ回路と、
前記逆相ラッチ回路の出力信号と前記外部クロック信号が入力され、前記逆相ラッチ回路の出力信号が前記第7レベルの信号の場合は前記外部クロック信号を前記メモリブロックに伝達し、前記逆相ラッチ回路の出力信号が前記第8レベルの信号の場合は前記外部クロック信号を前記メモリブロックに伝達しない論理積回路とを備えることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 2.
The memory activation control block includes
A first buffer circuit that receives an external clock signal and holds an input command signal in synchronization with a transition from the first level to the second level of the external clock signal;
A second buffer circuit for holding an input address signal in synchronization with a transition from the first level to the second level of the external clock signal;
Read that compares the input command signal with the output signal of the first buffer circuit, and outputs a third level signal when both signals are read commands, and outputs a fourth level signal otherwise An instruction determination circuit;
An address that compares the input address signal and the output signal of the second buffer circuit, outputs a fifth level signal when both signals have the same address, and outputs a sixth level signal otherwise. A comparison circuit;
When the output signal of the read command determination circuit is the third level signal and the output signal of the address comparison circuit is the fifth level signal, a seventh level signal is output, and otherwise Is a NAND circuit that outputs an 8th level signal;
The output signal of the NAND circuit and the external clock signal are input. When the external clock signal is at the first level, the output signal of the NAND circuit is output as it is, and the external clock signal is the second clock signal. In the case of a level, a negative phase latch circuit that holds the output signal of the NAND circuit when it was the immediately preceding first level;
When the output signal of the anti-phase latch circuit and the external clock signal are input, and the output signal of the anti-phase latch circuit is the seventh level signal, the external clock signal is transmitted to the memory block, and the anti-phase latch circuit And a logical product circuit that does not transmit the external clock signal to the memory block when the output signal of the latch circuit is the signal of the eighth level.
請求項3記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、
外部クロック信号が入力され、前記外部クロック信号の第1レベルから第2レベルへの遷移に同期して入力命令信号を保持する第1バッファ回路と、
前記外部クロック信号の第1レベルから第2レベルへの遷移に同期して入力アドレス信号を保持する第2バッファ回路と、
前記入力命令信号と前記第1バッファ回路の出力信号を比較し、2つの信号がともに読み出し命令の場合は第3レベルの信号を出力し、それ以外の場合は第4レベルの信号を出力する読み出し命令判定回路と、
前記入力アドレス信号と前記第2バッファ回路の出力信号を比較し、2つの信号がともに同じアドレスの場合は第5レベルの信号を出力し、それ以外の場合は第6レベルの信号を出力するアドレス比較回路と、
前記読み出し命令判定回路の出力信号が前記第3レベルの信号であり、なおかつ前記アドレス比較回路の出力信号が前記第5レベルの信号の場合は第7レベルの信号を出力し、それ以外の場合は第8レベルの信号を出力する否定論理積回路と、
前記否定論路積回路の出力信号と前記入力命令信号が入力され、前記否定論理積回路の出力信号が前記第7レベルの信号の場合は前記入力命令信号をオペレーションを行わない命令に変換して前記メモリブロックに対して出力し、前記否定論理積回路の出力信号が前記第8レベルの信号の場合は前記入力命令信号を前記メモリブロックに対してそのまま出力する命令変換回路とを備えることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 3.
The memory activation control block includes
A first buffer circuit that receives an external clock signal and holds an input command signal in synchronization with a transition from the first level to the second level of the external clock signal;
A second buffer circuit for holding an input address signal in synchronization with a transition from the first level to the second level of the external clock signal;
A read that compares the input command signal with the output signal of the first buffer circuit and outputs a third level signal when both signals are read commands, and outputs a fourth level signal otherwise. An instruction determination circuit;
An address that compares the input address signal and the output signal of the second buffer circuit, and outputs a fifth level signal when both signals have the same address, and outputs a sixth level signal otherwise. A comparison circuit;
When the output signal of the read command determination circuit is the third level signal and the output signal of the address comparison circuit is the fifth level signal, a seventh level signal is output, otherwise A NAND circuit for outputting an eighth level signal;
When the output signal of the negative logic product circuit and the input command signal are input, and the output signal of the negative logical product circuit is the seventh level signal, the input command signal is converted into a command for performing no operation. And an instruction conversion circuit that outputs to the memory block and outputs the input instruction signal to the memory block as it is when the output signal of the NAND circuit is the signal of the eighth level. A semiconductor integrated circuit device.
第1メモリブロックおよび第2メモリブロックと、
前記第1メモリブロックに対して命令を発行し、前記第1メモリブロックの記憶データを用いて所望の処理を行う第1演算ブロックと、
前記第2メモリブロックに対して命令を発行し、前記第2メモリブロックの記憶データを用いて所望の処理を行う第2演算ブロックとを含み、
前記第1メモリブロックと前記第1演算ブロックとの間の通信速度は、前記第2メモリブロックと前記第2演算ブロックとの間の通信速度よりも遅く、
前記第1メモリブロックのアクセスレイテンシは不変であり、
前記第1メモリブロックと前記第1演算ブロックとの間の信号線には、前記第1演算ブロックが前記第1メモリブロックに対して同一メモリアドレスに向けた読み出し命令を連続して発行した際に、2回目以降の読み出し命令に伴う前記第1メモリブロックの読み出し動作を停止するメモリ起動制御ブロックが設けられることを特徴とする半導体集積回路装置。
A first memory block and a second memory block;
A first operation block that issues an instruction to the first memory block and performs desired processing using data stored in the first memory block;
A second operation block that issues an instruction to the second memory block and performs desired processing using data stored in the second memory block;
The communication speed between the first memory block and the first calculation block is slower than the communication speed between the second memory block and the second calculation block,
The access latency of the first memory block is unchanged,
The signal line between the first memory block and the first arithmetic block is when the first arithmetic block continuously issues a read command for the same memory address to the first memory block. A semiconductor integrated circuit device, comprising: a memory activation control block for stopping a read operation of the first memory block in response to a second and subsequent read commands.
請求項8記載の半導体集積回路装置において、
前記第1演算ブロックは、音声または画像の信号処理を行うアクセラレータであることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 8.
The semiconductor integrated circuit device according to claim 1, wherein the first calculation block is an accelerator that performs audio or image signal processing.
請求項8記載の半導体集積回路装置において、
前記第1メモリブロックは、SRAMであることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 8.
The semiconductor integrated circuit device, wherein the first memory block is an SRAM.
請求項8記載の半導体集積回路装置において、
前記半導体集積回路装置は、1つの半導体チップ上に形成されることを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 8.
The semiconductor integrated circuit device is formed on one semiconductor chip.
メモリブロックと、
前記メモリブロックに対して命令を発行し、前記メモリブロックの記憶データを用いて所望の処理を行う演算ブロックと、
前記演算ブロックが前記メモリブロックに対して同一メモリアドレスに向けた読み出し命令を連続して発行した際に、2回目以降の読み出し命令に伴う前記メモリブロックの読み出し動作を停止するメモリ起動制御ブロックとを有し、
前記メモリブロックは、1回目の読み出し命令に伴う第1データの出力動作を、新たな読み出し動作を行うまで持続し、
前記演算ブロックにおいて、前記メモリブロックに対して前記1回目の読み出し命令を発行してから前記第1データを受信するまでのタイミングと、前記メモリブロックに対して前記2回目以降の読み出し命令を発行してから前記第1データを受信するまでのタイミングは同一であることを特徴とする半導体集積回路装置。
A memory block;
An operation block that issues an instruction to the memory block and performs desired processing using data stored in the memory block;
A memory activation control block that stops a read operation of the memory block in response to a second or subsequent read command when the arithmetic block continuously issues a read command directed to the same memory address to the memory block; Have
The memory block continues the first data output operation associated with the first read instruction until a new read operation is performed,
In the arithmetic block, the timing from when the first read command is issued to the memory block until the first data is received, and the second and subsequent read commands are issued to the memory block. The semiconductor integrated circuit device is characterized in that the timing from when the first data is received to when the first data is received is the same.
請求項12記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、前記メモリブロックに対するクロック信号の供給を停止することで、前記メモリブロックの読み出し動作を停止することを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 12, wherein
The memory activation control block stops reading operation of the memory block by stopping supply of a clock signal to the memory block.
請求項12記載の半導体集積回路装置において、
前記メモリ起動制御ブロックは、前記2回目以降の読み出し命令をオペレーションを行わない命令に変換して前記メモリブロックに伝達することで、前記メモリブロックの読み出し動作を停止することを特徴とする半導体集積回路装置。
The semiconductor integrated circuit device according to claim 12, wherein
The memory activation control block stops the read operation of the memory block by converting the second and subsequent read instructions into an instruction not performing an operation and transmitting the converted instruction to the memory block. apparatus.
JP2006124006A 2006-04-27 2006-04-27 Semiconductor integrated circuit device Pending JP2007299044A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006124006A JP2007299044A (en) 2006-04-27 2006-04-27 Semiconductor integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006124006A JP2007299044A (en) 2006-04-27 2006-04-27 Semiconductor integrated circuit device

Publications (1)

Publication Number Publication Date
JP2007299044A true JP2007299044A (en) 2007-11-15

Family

ID=38768507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006124006A Pending JP2007299044A (en) 2006-04-27 2006-04-27 Semiconductor integrated circuit device

Country Status (1)

Country Link
JP (1) JP2007299044A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153255A (en) * 1997-08-07 1999-02-26 Oki Electric Ind Co Ltd Color palette ram and d/a converter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153255A (en) * 1997-08-07 1999-02-26 Oki Electric Ind Co Ltd Color palette ram and d/a converter

Similar Documents

Publication Publication Date Title
CN102981776B (en) DDR PSRAM, controller and access method for DDR PSRAM and operating method thereof, and data writing and reading methods thereof
US11340686B2 (en) Optimizing power in a memory device
JPH1173400A (en) Logic mixed dram lsi
KR100609623B1 (en) Multi memory chip capable of directly data transferring between internal memories and data transferring method
JPH08221315A (en) Information processor
US10877509B2 (en) Communicating signals between divided and undivided clock domains
US8169851B2 (en) Memory device with pseudo double clock signals and the method using the same
JP5237739B2 (en) Information processing device
US5442775A (en) Two clock microprocessor design with stall
US8743634B2 (en) Generic low power strobe based system and method for interfacing memory controller and source synchronous memory
JP4827399B2 (en) Semiconductor memory device
JP2005196782A (en) Embedded mcu which can be tested at high speed with memory emulation module, and test method therefor
EP1478994A1 (en) Transferring data between differently clocked busses
KR20020021715A (en) Semiconductor memory device using dedicated command and address strobe signal and method for inputting command and address thereof
CN105825880A (en) Access control method used for DDR controller, and apparatus and circuit thereof
CN112100098B (en) DDR control system and DDR memory system
JP2007299044A (en) Semiconductor integrated circuit device
KR20080093658A (en) Multi-port memory device communicating with a plurality of processors in a serial interface mode and in a parallel interface mode, communication system having the same, and method of communicating in the system
JP2004362215A (en) Processor and semiconductor integrated circuit
Gagan et al. DDR Controller with Optimized Delay and Access Time
JP2004326222A (en) Data processing system
US20230176608A1 (en) Read clock start and stop for synchronous memories
US7031204B2 (en) Low power register apparatus having a two-way gating structure and method thereof
US20230063772A1 (en) Memory Device Bandwidth Optimization
US10270433B1 (en) Master-slave clock generation circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090218

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120306