The present invention relates to a computer readable storage medium and a semiconductor integrated circuit device and, more particularly, to a technique effectively applied to reuse of a memory IP (Intellectual Property).
As a semiconductor integrated circuit device constructed by combining various IPs, a so-called system LSI is widely known.
In the system LSI, a clock synchronous memory such as an SRAM (Static Random Access Memory) is often mounted as a memory IP. The specifications of a memory interface are also simple so as not to be influenced by a use form of the user.
A technique of designing a semiconductor integrated circuit device using an IP of this kind is specifically described in, for example, Japanese Unexamined Patent Application No. 2001-142923 and a method of automatically generating an interface circuit of two IP cores is described in the literature.
However, the inventor herein has found that such a memory IP mounted on a system LSI has problems as follows.
In recent years, a demand for customizing a memory IP is increasing in the system LSI. The demand is, for example, improvement in matching with a CPU core and improvement in security.
In the case of increasing matching with a CPU core, an interface of a memory IP has to be improved and it causes a problem such that cost increases and so on. To improve security, a countermeasure of scrambling a decoder so that memory data is not read by encoding or decoding of a memory address. There is a problem that such a countermeasure for security has not been taken.
An object of the invention is to provide a computer readable storage medium and a semiconductor integrated circuit device in which the specifications of an interface of a memory IP can be easily changed and reusability of a memory IP is improved.
The above and other objects and novel features of the present invention will become apparent from the following description of the specification and the accompanying drawings.
Outlines of representative ones of inventions disclosed in the specification will be briefly described as follows.
Outlines of the other inventions of the specification will be also briefly described.
An embodiment of the invention will be described in detail hereinbelow with reference to the drawings.
In the embodiment, a memory module 1 is, for example, an SRAM module which is mounted on a system LSI or the like. As shown in
The basic array 2 is constructed by direct peripheral circuits of a read/write circuit 4, a word selection circuit 5, and a control circuit (monitor control unit) 6, and a storage circuit 7.
The read/write circuit 4 has, at least, the reading function and is constructed by a sense amplifier for amplifying a cell read signal of a memory cell, a column decoder for selecting a bit line in the column direction and supplying a selective pulse voltage to the selected bit line, and the like.
The word selection circuit 5 is constructed by a row decoder for selecting a word line in the row direction in the storage circuit and applying a selective pulse voltage to the selected word line, and the like. The control circuit 6 receives a command signal and controls the read/write circuit 4, word selection circuit 5, and the like. The storage circuit 7 takes the form of a memory mat in which memory cells as minimum units of storage are regularly arranged in an array.
Further, the interface 3 is constructed by a latch circuit 8, a decoding circuit 9, and the like. To the latch circuit 8, data, a clock signal, and commands such as an address signal, a write enable signal, an output enable signal, and a chip select signal are input.
The decoding circuit 9 decodes the address signal received via the latch circuit 8 and outputs the result as a decoded signal to the word selection circuit 5.
In the memory module 1 of such a configuration, the basic array 2 is a hard IP and the interface 3 is a user circuit which is a logic circuit designed by the user.
The basic array 2 is connected to the CPU core 10 via the interface 3. The interface 3 is constructed by a design logic (hereinafter referred to as a soft macro module) described in the HDL (Hardware Description Language) or the like as a programming language used for designing of a semiconductor device, and the CPU core 10 is a hardware module, that is, a hard macro module.
From the CPU core 10, data and commands such as the address signal, write enable signal, output enable signal, and chip select signal are input/output from/to the interface 3 synchronously with clock signals.
From the interface 3, the data, command, and a decoded signal obtained by decoding the address signal are input/output from/to the basic array 2 asynchronously with the clocks.
Therefore, by constructing the interface 3 as the user circuit taking the form of the soft macro module, a circuit change or the like due to variations in the interface of the basic array 2, CPU core 10, and the like is made unnecessary.
In the case of using the interface 3 taking the form of the soft macro module, as shown in
The monitor signal (first monitor signal) M1 is a control signal of a sense amplifier provided for the read/write circuit 4 output from the control circuit 6. The monitor signal (second monitor signal) M2 is a control signal of the word selection circuit 5 similarly output from the control circuit 6.
First, when a write command is input to the control circuit 6, data is input to the read/write circuit 4. The control circuit 6 receives the write command and outputs a control signal for performing a writing operation to the sense amplifier. The control signal is output as the monitor signal M2 to the latch circuit 8.
The control circuit 6 also outputs a control signal for performing the writing operation to the word selection circuit 5. The control signal is output as the monitor signal M1 to the latch circuit 8. The latch circuit 8 determines that the operation is the writing operation from the input monitor signals M1 and M2 and latches the input data.
On the other hand, in the case of the reading operation, a read command is input to the control circuit 6. The control circuit 6 receives the read command, outputs a control signal for performing the reading operation to the sense amplifier, and also outputs a control signal for performing the reading operation to the word selection circuit 5. The control signals are output as monitor signals M1 and M2 to the latch circuit 8.
The latch circuit 8 determines that the operation is the reading operation from the input monitor signals M1 and M2 and outputs data read from the storage circuit 7 via the read/write circuit 4.
As described above, in the case of controlling the interface 3 by using the monitor signals M1 and M2, when two or more (a plurality of) basis arrays 2 are connected to one interface 3, the basic array 2 which is operating can be specified, so that the connection configuration is particularly effective.
In the interface 3 of the soft macro module, the design of the decoding circuit 9 can be easily changed, so that data security can be easily improved.
For example, in the upper part of
For example, by using the memory module 1 having the configuration of
Further, in the case of mounting the basic array 2 on a different system LSI, that is, a so-called reuse condition of reusing the basis array 2 will be described.
In the case of reusing the basic array 2, as shown in
The library data LD includes layout pattern data of the basic array and device specification data. Examples of the device specification data are a logic simulation model for defining the operation of the basic array 2, LSI pattern information such as a layout, device information such as the characteristics of a MOS device and a layout rule, interface information such as various signal timings, and terminal information.
The library data LD is stored in a storage medium such as a CD-R (Compact Disc Recordable) or a magnetic tape by using a terminal such as a workstation or a personal computer and is distributed to the user.
On the user side, a system LSI according to the provided library data LD is manufactured, thereby enabling the basic array 2 to be reused in a different system LSI as shown in
A form of releasing the library data LD in the basic array 2 will be described by referring to the flowchart of
To development of an IP such as the basic array 2, as shown in an upper part of
First, on the basis of needs of an SRAM or the like of the user, a foundry forms a concept of a memory IP. The concept of the memory IP and specifications (layout pattern rules, device information, and the like) of a device used for fabricating the memory IP by the foundry are provided to the EDA. The EDA develops a DA tool from the provided information. The foundry develops the memory by using the DA tool to generate a memory library.
The case of utilizing the developed IP will now be described.
In this stage, as shown in the lower part of
First, the user forms a concept of a semiconductor chip. The foundry selects a memory library adapted to the concept of the user from various memory libraries and provides it to the user.
When the memory library is provided, the user designs the logic by Verilog-HDL (Hardware Description Language) description, RTL (Register Transfer Level) description, or the like and verifies the logic by logic simulation or the like.
After the logic verification is finished, the foundry performs placement and routing in a semiconductor chip on the basis of the logic design of the user and manufactures a mask. By using the mask, the foundry manufactures a semiconductor chip and provides it to the user. The user assembles the provided semiconductor chip into a set.
Further, the basic array 2 provided as a memory library and a C (compiled) RAM (semiconductor integrated circuit device) 12 constructed by using the basic array 2 will be described by referring to
Some kinds of layout patterns in each of which the memory capacity of the basic array 2 is preset are predetermined as shown in the left side of
In the layout pattern in the CRAM 12, as shown on the right side in
The basic arrays 21 and 22 are connected to the interface 3 taking the form of a soft macro module. The interface 3 is provided with the decoding circuit, the latch circuit 8, and a selection control circuit 11.
The selection control circuit 11 selects either the basic array 21 or 22 to be activated on the basis of a command ck supplied. In the case of selecting the basic array 21, a control signal e0 is output to the basic array 21. In the case of selecting the basic array 22, a control signal e1 is output to the basic array 22.
The monitor signal M1 output from the basic arrays 21 and 22 is connected so as to be input to the latch circuit 8. Although not shown in
When the command ck is input to the selection control circuit 11 in the interface 3, the selection control circuit 11 outputs the control signal e0 (in the case where the basic array 21 is selected) on the basis of the command ck.
The basic array 21 is made active when the control signal e0 is received and outputs the data baq0 read from the basic array 21 to the latch circuit 8. The basic array 21 outputs the monitor signal M1 to the latch circuit 8. The latch circuit 8 receives the monitor signal M1 and outputs the latched data baq0.
According to the embodiment, since the interface 3 between the basic array 2 and the CPU core 10 takes the form of the soft macro module, the design of the interface 3 can be easily changed. Thus, the memory module 1 of high extensibility and high matching can be configured at low cost.
Since the layout pattern data and the device specification data of the basic array 2 is provided as the library data LD, the basic array 2 can be mounted on any system LSIs as long as the library data LD is common. Thus, the reusability of the basic array 2 can be increased, and a system LSI or the like can be constructed at low cost.
Although the invention achieved by the inventor herein has been concretely described on the basis of the preferred embodiment, obviously, the invention is not limited to the foregoing embodiment but can be variously changed without departing from the gist of the invention.
Effects obtained by representative inventions among the inventions disclosed in the specification will be described briefly hereinbelow.
Number | Date | Country | Kind |
---|---|---|---|
2002-016410 | Jan 2002 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | 10330358 | Dec 2002 | US |
Child | 11242854 | Oct 2005 | US |