The present application claims priority from Japanese application JP2004-303648, filed on Oct. 19, 2004, the content of which is hereby incorporated by reference into this application.
1. Field of the Invention
The present invention relates to semiconductor integrated circuits, and more particularly to a circuit for converting (down-converting) a frequency of a system clock (high-speed internal clock of LSI) to a lower frequency to control a storage circuit (more specifically, a content addressable memory (CAM) circuit). In addition, it relates to an image processing system using the same.
2. Description of the Related Arts
Heretofore, system LSIs (large-scale semiconductor integrated circuits) each having a built-in content addressable memory have been provided. One of such system LSIs is configured to generate a CAM control timing signal from a system clock. (For example, refer to Japanese Published Patent Application No. 6-349284).
Heretofore, since the frequency of a system clock has been at the same level as the internal operating frequency of a content addressable memory (about from 125 to 250 MHz), it has been possible to control input/output signals of the content addressable memory by use of the system clock without causing problems.
However, in recent years, the frequency of a system clock is made higher (500 MHz) with the objective of improving the throughout and performance. On the other hand, a search control signal should be still kept at 125 MHz to cope with the internal operating frequency of the content addressable memory (about 125 to 250 MHz. Because the operating frequency of the content addressable memory largely depends on an electric current of a memory cell, it is not easy to speed up the operating frequency in question relative to surrounding logic parts.
In the configuration disclosed in FIG. 2 of Japanese Patent Laid-open No. 6-349284 described above, if a system clock is speeded up, it becomes impossible to load a coincidence line node (24) into a latch circuit (22) by a clock signal (26). This is because a response to the fall time of the coincidence line node (24) is slow, making it impossible to follow the system clock.
A typical example of the present invention will be described below.
To be more specific, according to one aspect of the present invention, there is provided a semiconductor integrated circuit comprising: a content addressable memory circuit; and a control circuit for, if an operating frequency of a control signal for controlling input/output signals of the content addressable memory circuit differs from an operating frequency of a LSI internal clock, adjusting the timing thereof.
According to the means described above, in the semiconductor integrated circuit that operates with a high-speed system clock, it is possible to achieve the speedup without constraints by the system clock by controlling the content addressable memory circuit that operates at a lower speed, using the clock that is down-converted by the control circuit for adjusting the timing.
One of the typical effects of the present invention including the above means is an improvement in throughput and performance.
a and 2b are diagrams illustrating configurations of system LSIs in which a plurality of content addressable memory macros are controlled;
Preferred embodiments of the present invention will be described in detail with reference to drawings below.
In
Next, operation will be specifically described. In the case of read operation, when an address is inputted, the address is loaded into the FF10 by an address input control signal. From the loaded address, the decoder generates a signal used to select a desired memory cell of the CAM array. Next, the output control circuit reads out information stored in the selected memory cell. The information is then loaded into the FF12 by a data output control signal. The data loaded into the FF12 is output from the data output.
In the case of write operation, an address is loaded in a manner similar to that of the read operation. Write data is loaded in parallel with the loading of the address. The write data is inputted from the data input end, and is then loaded into the FF11 by a data input control signal. Through the input control circuit, the data is written to a memory cell selected by the address input.
In the case of search operation, inputted search data is compared with information stored in the CAM array. The search data is inputted from the data input end, and is then loaded into the FF11 by a data input control signal. The loaded data is transferred through the input control circuit to the CAM array. The transferred search data is compared with all pieces of information stored in the CAM array. The result of comparison is inputted into the encoder circuit. After that, the result of encoding is loaded into the FF13 by an address output control signal, and is then output as an address output.
The operation performed when each of the enable signals is inputted will be specifically described below. In principle, exclusive control must be performed for each enable signal. When it is inputted, the READ enable signal is loaded into the FF1 by the clock Φ1. The READ enable signal is usually kept in a “0” state. At the time of read operation, “1” is inputted. A period of time during which “1” is inputted corresponds to a length of time during which the FF1 is allowed to input using one cycle of the clock Φ1. In addition, the read operation, which is performed at a frequency of 250 MHz, is performed by inputting the data output control to the content addressable memory macro 102a, at intervals of at least two cycles of the clock Φ1 after the read enable signal is inputted to the clock control circuit 103. An output signal RE1 of the FF1 becomes a signal having a width of about 200 ps, which is calculated from the frequency of the clock Φ1 (500 MHz). The output signal RE1 is then output as an address input control signal. Moreover, the output signal RE1 is successively loaded into the flip-flops FF2, FF3 that are serially connected to each other. Then, the output signal RE1 is output as the data output control signal after a lapse of two cycles from the rising edge of the address input control signal. This signal also has a width of about 200 ps.
When the WRITE enable signal is inputted, the WRITE enable signal is loaded into the flip-flop FF4 by the clock Φ1. The WRITE enable signal is usually kept in the “0” state. At the time of write operation, “1” is inputted. A period of time during which “1” is inputted corresponds to a length of time during the FF4 is allowed to input using one cycle of the clock Φ1. In addition, the write operation, which is performed at a frequency of 125/250 MHz, is performed by inputting the data input control to the content addressable memory macro 102a, slightly later than the timing when the WRITE enable signal is inputted to the clock control circuit 103. An output signal WE1 of the FF4 becomes a signal having a width of about 200 ps, which is calculated from the frequency of the clock Φ1 (500 MHz). The output signal WE1 is then output as an address input control signal and a data input control signal.
When it is inputted, the SEARCH enable signal is loaded into the flip-flop FF5 by the clock F1. The SEARCH enable signal is usually kept in the “0” state. At the time of search operation, “1” is inputted. A period of time during which “1” is inputted corresponds to a length of time during which the FF5 is allowed to input using one cycle of the clock Φ1. In addition, the search operation, which is performed at a frequency of 125 MHz, is performed by inputting the address output control to the content addressable memory macro 102a, at intervals of at least four cycles of the clock Φ1 after the SEARCH enable signal is inputted to the clock control circuit 103. An output signal SE1 of the FF5 becomes a signal having a width of about 200 ps, which is calculated from the frequency of the clock Φ1 (500 MHz). The output signal SE1 is then output as a data input control signal. Moreover, the output signal SE1 is successively loaded into the flip-flops FF6, FF7, FF8, FF9 that are serially connected to each other. Then, the output signal SE1 is output as the address output control signal after a lapse of four cycles from the rising edge of the data input control signal. This signal also has a width of about 200 ps.
The clock control circuit 103 ensures the desired timing of each control signal by serially connecting the flip-flops (FF). In this method, centralizing locations at which the flip-flops are placed makes it possible to ensure the desired timing relatively easily. Additionally, even if the operating frequency of a storage circuit to be controlled is changed, it is possible to easily cope with the change by adjusting the number of stages of flip-flops to be serially connected. Moreover, each control signal is a control signal used to control the loading into the flip-flops. Accordingly, it is necessary to ensure the setup time and the hold time that enable the loading. An adjustment circuit for ensuring the setup time and the hold time is obtained by inserting a delay circuit thereto. The delay circuit may be configured with the even number of inverter circuits that are serially connected to each other.
a illustrates a second embodiment. A plurality of CAM macros 102 are placed on a system LSI 101 on which a clock control circuit according to this embodiment is placed. This embodiment is applied to LSIs used for a network whose search bit width is large. The LSIs include, for example, IPv6. In this case, one clock control circuit 103 is commonly used to control a plurality of CAM macros. This makes it possible to achieve an improvement in throughput, and also to reduce the chip area.
In
The invention made by the present inventor has been specifically described as above on the basis of the embodiments. However, the present invention is not limited to the above embodiments. As a matter of course, the present invention can be changed in various ways within the range without departing from the gist thereof. For example, how to configure the clock control circuit shown in
In addition, it is also possible to adopt a configuration that uses in combination the method according to the first embodiment in which the CAM macro 102 including the built-in clock control circuit is used, and the method according to the second embodiment in which the clock control circuit is located on a chip to control a plurality of content addressable memories. As a result, the present invention can also be applied even in a case where CAM macros whose operating frequencies differ from each other are placed on the same LSI.
In the above description, the invention made by the present inventor has been mainly applied to the semiconductor integrated circuit having the built-in content addressable memory that is included in a field relating to the background on which the present invention is made. However, the present invention is not limited to this. The present invention can also be applied to a semiconductor integrated circuit having other kinds of built-in memories, for example, RAM or ROM.
Incidentally, the reference numerals used in the diagrams of the application concerned will be listed as below.
Number | Date | Country | Kind |
---|---|---|---|
2004-303648 | Oct 2004 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5083296 | Hara et al. | Jan 1992 | A |
5287327 | Takasugi | Feb 1994 | A |
5359564 | Liu et al. | Oct 1994 | A |
6304511 | Gans et al. | Oct 2001 | B1 |
6356508 | Yoshimoto | Mar 2002 | B1 |
6442103 | Kwak et al. | Aug 2002 | B1 |
6593959 | Kim et al. | Jul 2003 | B1 |
6731526 | Inoue | May 2004 | B2 |
6735101 | Aikawa | May 2004 | B2 |
6944039 | Nataraj et al. | Sep 2005 | B1 |
20020021152 | Goto et al. | Feb 2002 | A1 |
20030016389 | Miyaguchi et al. | Jan 2003 | A1 |
20060120207 | Lee | Jun 2006 | A1 |
Number | Date | Country |
---|---|---|
06-349284 | Dec 1994 | JP |
2003-272386 | Sep 2003 | JP |
2003-303495 | Oct 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20060085661 A1 | Apr 2006 | US |