The present invention relates to timing control of a DRAM (dynamic random access memory) refresh in a semiconductor circuit that has connection between a CPU (central processing unit) and the DRAM, and that is operated when the CPU accesses the DRAM.
A conventional technique has an object to enhance DRAM-accessing efficiency by controlling DRAM refresh timing so that access to the DRAM and refresh do not come into conflict with each other.
In the conventional technique, a cycle of the DRAM refresh is previously set in a refresh timer, and whenever the refresh timer finishes counting the cycle, a DRAM refresh command is issued, but only when DRAM access is being executed when the refresh should be issued, the issue of the refresh command at this time is stopped, higher priority is given to the access to the DRAM, refresh commands are collectively issued as many as the issue-stopped times of the refresh at the next and subsequent refresh timing so that the access to the DRAM is not hindered by the issue of the DRAM refresh command, thereby achieving the object (see Japanese Patent Publication No. 2004-192721).
According to the conventional technique, the timing of the external I/O signal and the timing of the DRAM refresh can not be synchronized with each other.
There is a system where an external determining device is connected to an LSI (large-scale integrated circuit) having connection between a CPU and a DRAM, the external determining device supplying an input signal to the LSI, determining an output signal from the LSI after fixed time and concluding a next operation according to the output signal. In such a system, even when the same LSI executes the same instruction, timing of the execution of the instruction is deviated depending upon a timing relation between the DRAM refresh and the input and output signals and as a result, timing of the output signal that is sent to the external determining device is deviated and finally, there is a problem such that the external determining device does not execute the assumed operation.
This problem will be explained in detail with reference to
The refresh timer 102 is a down counter that operates in synchronization with an LSI operation clock 114 having the maximum value of N, and the refresh timer 102 issues a refresh timer underflow signal 111 when the count value becomes “0”.
In the system shown in
(1) After the external determining device 105 releases the hardware reset signal 109 with respect to the LSI 100, supply of the stable LSI operation clock 114 is started from the PLL circuit 113.
(2) Thereafter, data required for operating the CPU 101 is supplied from the external determining device 105 to the DRAM 104 as a download signal 116.
(3) Next, an input signal 106 is supplied from the external determining device 105 to the LSI 100.
(4) The CPU 101 accesses data that has been downloaded to the DRAM 104, and starts a designated operation.
(5) When given time T is elapsed after the input signal 106 is supplied from the external determining device 105, the external determining device 105 determines an output signal 107 from the LSI 100.
That is, the input signal 106 is supplied from the external determining device 105 to the LSI 100 and the operation of the LSI 100 is started, and after the fixed time T, the external determining device 105 determines the output signal 107 that is output as a result of operation of the LSI 100, and based on a result thereof, a next operation of the external determining device 105 is concluded. These series of operations are continuously executed a plurality of times without executing the hardware reset of the LSI 100.
The DRAM controller 103 issues a DRAM access command 117 in accordance with an access signal 115 from the CPU 101. Contents of access to the DRAM 104 executed by the CPU 101 upon reception of the input signal 106 from the external determining device 105 have the same contents every time.
As shown in
The DRAM refresh command 112 is periodically issued when the count value of the refresh timer 102 becomes 0, but the count value of the refresh timer 102 when the input signal 106 is supplied from the external determining device 105 to the LSI 100 varies in some cases between the execution of the first instruction and the execution of the second and subsequent instructions. Therefore, timing at which the DRAM access command 117 is issued and timing at which the DRAM refresh command 112 is issued are different from each other in some cases between the execution of the first instruction and the execution of the second and subsequent instructions. In
For this reason, during the series of operations, a conflict state between the DRAM refresh and the access to the DRAM 104 from the CPU 101 varies between the execution of the first instruction and the execution of the second and subsequent instructions and as a result, times of conflict also varies in some cases.
Generally, whenever a conflict between the DRAM refresh and the access to the DRAM 104 from the CPU 101 occurs, timing of the access execution of the CPU 101 to the DRAM 104 is delayed as compared with a case having no conflicts.
Therefore, when the number of conflicts between the DRAM refresh and the access to the DRAM 104 from the CPU 101 varies between the first time and the second and subsequent times as shown in
In the series of operations, an object to always equalize the conflict state between the DRAM refresh command that is issued during the series of operations and the access to the DRAM 104 from the CPU 101 is achieved by issuing the hardware reset signal 109 to the LSI 100 every time between the completion of execution of an instruction by the CPU 101 and the start of execution of a next instruction.
However, in the series of operations, if the hardware reset signal 109 is issued to the LSI 100 every time between the completion of execution of the instruction by the CPU 101 and the start of execution of the next instruction, waiting time elapsed until the PLL circuit 113 can supply stable LSI operation clock 114 and waiting time elapsed until download of data required for operating the CPU 101 with respect to the DRAM 104 from the external determining device 105 is completed are generated before the execution of the next instruction is started. As a result, time required for completing the series of operations is increased.
The present disclosure proposes a circuit configuration and its method for easily solving the above problem.
According to the present disclosure, the above problem is solved by synchronizing timing of the external I/O signal and timing of the DRAM refresh, thereby uniquely determining the timing of the external I/O signal and the timing of the DRAM refresh when the same LSI is executing the same instruction.
It is possible to employ the following two specific methods for synchronizing the timing of the external I/O signal and the timing of the DRAM refresh.
(1) To employ a semiconductor circuit that determines timing of the DRAM refresh by a refresh timer, in which a value of the refresh timer is controlled at arbitrary timing by a CPU or an external terminal.
(2) To employ a circuit configuration capable of directly controlling the timing of the DRAM refresh from an external terminal without through a refresh timer.
When an external determining device which externally supplies an input signal to an LSI having connection between a CPU and a DRAM and determines an output signal from the LSI after fixed time to conclude a next operation is connected to the LSI, it is possible to constitute a system that is not affected adversely, at all, by variation between timing of an external I/O signal and timing of DRAM refresh.
Therefore, during the series of operations, the number of conflicts between the DRAM refresh and the access to the DRAM 104 from the CPU 101 can always be made the same. Since timing delay of instruction fetch and instruction execution in the CPU 101 as a result of conflicts can always be the same between the first time and the second and subsequent times, time required for the series of operations is always the same between the first time and the second and subsequent times. As a result, timing at which the output signal 107 is supplied from the LSI 100 to the external determining device 105 is always the same timing, and the external determining device 105 always determines the output signal 107 at precise timing (time t4 and t7). Therefore, it is possible to prevent a malfunction of the external determining device 105.
If the techniques explained in each of the above embodiments are employed, waiting time is not generated between the completion of execution of the instruction and the start of execution of the next instruction in the CPU 101. Therefore, it is possible to shorten the time required until the series of operations is completed as compared with a case where a method of issuing the hardware reset signal 109 to the LSI 100 every time between the completion of execution of the instruction and the start of execution of the next instruction in the CPU 101 is employed.
Although the same instruction is executed a plurality of times continuously without issuing the hardware reset signal 109 to the LSI 100 in this example, when instructions having different contents are continuously executed without issuing the hardware reset signal 109, if the function of the present disclosure is not utilized, the problem described referring to
A case where two instructions A and B are continuously executed without issuing the hardware reset signal 109 to the LSI 100 will be considered. When the function of the present disclosure is not utilized, the number of times of refresh generated during execution of the instructions may vary in some cases between a case where the instruction A and the instruction B are executed in this order and a case where the instruction B and the instruction A are executed in this order. Therefore, the external determining device 105 may not operate properly in some cases. Such a problem can also be solved by the disclosure.
The external determining device 105 is a semiconductor tester, that is, a tester, for example, but programmable hardware such as an FPGA (field programmable gate array) or CPLD (complex programmable logic device) may be connected to the LSI 100 as the external device instead of the external determining device 105.
If the semiconductor circuit of the present disclosure is mounted on the LSI, a tester is connected to the LSI and the LSI is tested, the test can be carried out continuously a plurality of times without issuing a reset to the LSI. Therefore, time required until the operation of the CPU is started from the release of the reset of the LSI for each of the tests can be shortened. As a result, time requires for the tests can be shortened, and test cost can be reduced.
Number | Date | Country | Kind |
---|---|---|---|
2008-044529 | Feb 2008 | JP | national |
This is a continuation of PCT International Application PCT/JP2008/002972 filed on Oct. 20, 2008, which claims priority to Japanese Patent Application No. 2008-044529 filed on Feb. 26, 2008. The disclosures of these applications including the specifications, the drawings, and the claims are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2008/002972 | Oct 2008 | US |
Child | 12843500 | US |