WO2009096141A1 - メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法 - Google Patents
メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法 Download PDFInfo
- Publication number
- WO2009096141A1 WO2009096141A1 PCT/JP2009/000102 JP2009000102W WO2009096141A1 WO 2009096141 A1 WO2009096141 A1 WO 2009096141A1 JP 2009000102 W JP2009000102 W JP 2009000102W WO 2009096141 A1 WO2009096141 A1 WO 2009096141A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- access timing
- timing adjustment
- external
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
Definitions
- the present invention relates to a memory access timing adjustment device and a memory access timing adjustment method for adjusting an access timing to a memory.
- the access timing when the memory controller mounted on the LSI accesses the memory has no problem even if the same value, ie, a fixed value, is used for all sets because the operating frequency may be slow.
- the access timing does not have to be a fixed value, but needs to be adjustable according to the set state.
- an access timing adjustment register is provided in the LSI, and the value of the register can be changed to change the timing of the memory interface signal output from the LSI or the internal timing of the input signal. Circuits have been built in.
- FIG. 12 is a functional block diagram of a conventional memory access timing adjustment system.
- the memory access timing adjustment system in the figure includes a system LSI 900, external memories 910A, 910B, 910C and 910D, an external nonvolatile memory 920, and an external SRAM 930.
- the system LSI 900 includes a processor 901, an external bus controller 902, and a memory controller 903.
- the processor 901 is connected to the memory controller 903 and the external bus controller 902.
- the memory controller 903 has a memory interface 904, and is connected to the external memories 910A, 910B, 910C, and 910D via a memory bus.
- the external nonvolatile memory 920 and the external SRAM 930 are connected to the processor 901 via the external bus controller 902, respectively.
- the processor 901 loads a boot code from the external nonvolatile memory 920 via the external bus controller 902 at the time of startup, and executes a code, that is, an instruction written therein.
- an access timing adjustment program is written in the external nonvolatile memory 920.
- the processor 901 executes the access timing adjustment program, the processor 901 writes data to an area in the memory, and the data from the same area. Read and compare the read data with the expected value to determine OK / NG.
- the memory controller 903 is provided with an access timing adjustment register for adjusting the access timing.
- the processor 901 performs memory write, memory read, and expected value comparison each time the set value in the register is changed, and OK / NG is set. judge.
- the set value in the access timing adjustment register will be specifically described.
- FIG. 13 is an operation timing chart when reading data from the external memory into the LSI.
- DDR SDRAM Double Data Rate Synchronous DRAM
- 8-bit data DQ in FIGS. 12 and 13 is used as DQ.
- a data strobe signal (denoted as DQS in FIGS. 12 and 13) synchronized with the first clock signal is used to notify the transfer timing of the description.
- the memory controller 903 In order to reliably receive this data, for example, the memory controller 903 generates a data strobe signal having a phase delayed by 90 degrees with respect to the data strobe signal synchronized with the first clock signal. Then, 8-bit data is read when the data strobe signal rises and falls. However, due to external factors such as power fluctuation and noise, waveform distortion occurs in the received data strobe signal, and a phase shift occurs when the edge of the data strobe signal is detected. To cope with this, the memory controller 903 needs to secure a window width that is a predetermined phase range with respect to 90 degrees that is a reference phase difference for data reading. As the window width, for example, 180 degrees divided by 128 is a phase difference that can be changed by 1 bit, and an optimum phase difference expressed by bits is a set value for the access timing adjustment register described above.
- the window width for example, 180 degrees divided by 128 is a phase difference that can be changed by 1 bit, and an optimum phase difference expressed by bits is a
- the processor 901 obtains a phase range in which the memory access can be normally performed, and determines an access timing adjustment register setting value that maximizes the operation margin in consideration of other conditions such as process variation and voltage variation.
- Patent Document 1 to Patent Document 4 The methods shown in Patent Document 1 to Patent Document 4 are known for obtaining the optimum setting value of the access timing.
- Patent Document 1 discloses the above-described conventional technique. As a method for obtaining the optimum setting value of access timing, predetermined data is written to a predetermined address as a check address, and the data is read and OK / NG is read out. A method for judging the above is described. That is, an upper limit value and a lower limit value at which memory access is successful are acquired, and the center value is used as a value that can secure a maximum margin.
- Patent Document 2 does not simply compare the expected value with the read value in determining whether or not the memory access is successful, but adds parity to the data at the time of writing, and compares the read data with the read data. A scheme using parity comparison is disclosed.
- Patent Document 3 discloses a system in which a period during which timing adjustment, that is, an access timing set value is changed and an attempt to access a memory is made is a blanking period in which screen display is not performed.
- Patent Document 4 discloses a method of changing the clock skew based on the result of data write from the processor, data read from the memory, and expected value comparison.
- the conventional method described above is not a method that considers the load state of the memory bus.
- the access timing to the external memory varies depending on the bus transfer amount and the bit toggle rate between the memory controller and the external memory.
- the power transfer drop and noise increase as the bus transfer amount between the memory controller and the external memory increases, and the crosstalk and noise between bits increase as the bit toggle rate increases, and the access timing to the external memory becomes severe.
- the window width of the access timing changes depending on the data transfer amount and the bit toggle rate on the bus between the memory controller and the external memory.
- the memory controller cannot individually access each external memory. Therefore, it is impossible to access other external memories independently while transmitting / receiving data to / from the external memory to be adjusted and adjusting the access timing. Therefore, the access timing adjustment that specifically reflects the data transfer amount and bit toggle rate in the bus between the memory controller and the external memory during actual operation cannot be performed.
- the access timing is highly necessary to adjust the access timing by reproducing a high load state with a large bus transfer amount between the memory controller and the external memory and a high bit toggle rate.
- the high load state is normally realized in a set real application operating state.
- the application software is switched to a different memory capacity and address mapping from those used during normal operation. It is not easy to use.
- the access timing can be adjusted using a period not displayed on the screen, that is, a blanking period. During this time, even if memory access becomes impossible, the timing adjustment can be continued without causing the system to fail by returning the access timing setting to the standard setting value before the screen display starts.
- the built-in microcomputer and other built-in function blocks always use the memory. For this reason, when the external memory cannot be accessed due to the simultaneous execution of the access timing adjustment, the system fails and the operation stops. As a result, neither the actual application operation nor the timing adjustment can be continued. For this reason, conventionally, a work area including the stack of the CPU is taken in the external SRAM space so as not to stop the operation, and the DMA transfer that does not stop the operation even if the access to the external memory cannot be correctly performed and the data is garbled. The only way to do this is to adjust the access timing in a low-load state using the simple test pattern, and to use the external memory at the optimum value obtained.
- the external memory access timing is optimized at the timing adjustment, that is, in the low load state of the memory access.
- the optimum value may deviate greatly due to the unbalanced window widths on the upper and lower limits from the operating range in the low load state. is there.
- the window width at the time of low-load timing adjustment is generally wider than the window width at the time of high load, and it is unlikely that the optimum value at the time of high load will not enter the window at the time of low load.
- the present invention has been made in view of the above problems, and provides a memory access timing adjustment device and a memory access timing adjustment method capable of individually adjusting the access timing for each of a plurality of external memories. Objective. It is another object of the present invention to provide a memory access timing adjustment device and a memory access timing adjustment method that stabilize memory access even in a high load state where the amount of data transfer between an external memory and a memory controller is large.
- a memory access timing adjustment device is a memory access timing adjustment device that adjusts the timing to access a plurality of external memories, and individually for each of the plurality of external memories.
- a plurality of individual memory interfaces that are connected and transmit / receive data in memory access, and a plurality of data from the individual memory interface connected to the selected external memory among the plurality of external memories
- a control unit that adjusts access timing by transmitting and receiving data once and again.
- the plurality of external memories are clock synchronous memories that perform input / output operations in synchronization with a first clock signal, and each of the plurality of individual memory interfaces includes a first clock signal delayed from the first clock signal. 2 is used to perform data input / output operations, the access timing is a phase difference between the first clock signal and the second clock signal, and the control means includes the individual memory interface It is preferable to determine each time whether or not the access is successful while sequentially changing the access timing and adjust the optimum access timing within the range of the phase difference in which the access is successful.
- the memory access timing adjustment device further includes a pattern generation circuit for generating specific pattern data, and the control means selects the selection from an individual memory interface connected to an external memory other than the selected external memory. It is preferable that a load is applied to the plurality of external memories by transmitting the specific pattern data to an external memory other than the external memory.
- the load of the memory bus can be operated in a state close to the load at the time of actual application operation, and even when the load is higher than the optimum value of the memory access timing obtained at the low load with low memory access frequency A stable set value can be obtained.
- the memory access timing adjustment device further corresponds to a memory selection register holding a bit indicating the selected external memory, and a bit indicating the selected external memory connected to the plurality of individual memory interfaces. And an address conversion circuit for outputting an address of the external memory.
- the memory access timing adjustment device may further include a memory selection register holding a bit indicating the selected external memory and a bit indicating the selected external memory connected to the plurality of individual memory interfaces. And a selector circuit for selecting an individual memory interface connected to the selected external memory.
- the timing adjustment program does not depend on the actual address arrangement of the memory even if the external memory configuration is changed or the connection around the memory interface is changed. Therefore, since it is not necessary to change the access timing adjustment program executed by the control means, the program development man-hour is reduced.
- the memory access timing adjustment device further includes a non-volatile memory that stores the optimum access timing for each of the plurality of external memories obtained by adjusting the access timing, and includes a plurality of individual memory interfaces. Each includes an access timing individual setting register for storing the optimum access timing read from the nonvolatile memory at system startup, and each of the plurality of individual memory interfaces is stored in the timing individual setting register. The optimum access timing may be used for data access with the selected external memory.
- the memory access timing adjustment device further includes a non-volatile memory that stores the optimum access timing for each of the plurality of external memories obtained by the adjustment of the access timing and the number of times of system startup.
- Each of the plurality of individual memory interfaces includes a timing individual setting register that stores the optimum access timing read from the non-volatile memory at the time of system startup, and the control unit starts up a predetermined number of times, The access timing may be newly adjusted, and the optimum access timing obtained by adjusting the access timing may be written to the nonvolatile memory.
- the memory access timing adjustment device may further include a timing setting that indicates whether or not the optimal access timing is valid for each of the plurality of external memories obtained by adjusting the access timing.
- a nonvolatile memory for storing a value flag, and each of the plurality of individual memory interfaces includes a timing individual setting register for storing the optimum access timing read from the nonvolatile memory at the time of system startup, When the timing setting value flag is invalid at the time of system startup, the control means may newly adjust the access timing and write the optimum access timing obtained by the adjustment of the access timing to the nonvolatile memory.
- the access timing adjustment is automatically updated at the next system start-up, so that the optimum access to the external memory corresponding to the change in system configuration and state can be executed. .
- the memory access timing adjustment device further includes a memory information input terminal for inputting a signal indicating the configuration of the plurality of external memories, and the plurality of external memories according to the signal indicating the configuration of the plurality of external memories.
- the address space allocated to the memory may be changed, added, or deleted.
- control means may output a warning message when the optimum range of the access timing obtained by adjusting the access timing is not more than a predetermined value.
- the present invention can be realized not only as a memory access timing adjustment device including such characteristic means, but also as a memory access timing adjustment system including the characteristic means included in the memory access timing adjustment device as a step. This can be realized as a memory access timing adjustment method.
- the memory interface is provided for each of the plurality of external memories, so that each of the plurality of external memories is individually provided. Since the access timing can be adjusted, it is possible to adjust the access timing reflecting the data transfer amount in the memory bus during actual operation. In particular, since the access timing can be adjusted in a state close to a high load state where the data transfer amount of the memory bus is large, it is possible to realize a memory access timing adjustment that stabilizes the memory access under a high load.
- FIG. 1 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device according to Embodiment 1 of the present invention.
- FIG. 2 is a comparison diagram of a window width inspection result obtained by the memory access timing adjustment apparatus according to the first embodiment of the present invention and a window width inspection result obtained by the conventional technique.
- FIG. 3 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the first modification of the first embodiment of the present invention.
- FIG. 4 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device according to a second modification of the first embodiment of the present invention.
- FIG. 5 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the second embodiment of the present invention.
- FIG. 6 is an operation timing chart when the individual memory interface or the external memory reads the specific pattern data.
- FIG. 7 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the third embodiment of the present invention.
- FIG. 8 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the fourth embodiment of the present invention.
- FIG. 9 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device according to a modification of the fourth embodiment of the present invention.
- FIG. 10 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the fifth embodiment of the present invention.
- FIG. 11 is a flowchart showing the operation of the memory access timing adjustment device according to the sixth embodiment of the present invention.
- FIG. 12 is a functional configuration diagram of a conventional memory access timing adjustment system.
- FIG. 13 is an operation timing chart when reading data from the external memory into the LSI.
- FIG. 14 is a comparison diagram of window widths during timing adjustment according to the prior art and during actual application operation.
- the memory access timing adjustment device is connected to a plurality of individual memory interfaces individually connected to each of a plurality of external memories and to the selected external memory with respect to the selected external memory.
- FIG. 1 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device according to Embodiment 1 of the present invention.
- the memory access timing adjustment system in FIG. 1 includes a memory access timing adjustment device 1 and a plurality of external memories 2.
- the memory access timing adjustment device 1 includes a system LSI 1A and a nonvolatile memory 3.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the system LSI 1A includes a processor 10, an external bus controller 11, a built-in SRAM 12, and a memory controller 13.
- the processor 10 has a function as a control means for adjusting the access timing with the external memory.
- the nonvolatile memory 3 is connected to the processor 10 via the external bus controller 11.
- the built-in SRAM 12 is connected to the processor 10 via the external bus controller 11 and has a function as a work area of the processor 10.
- the memory controller 13 is connected between the processor 10 and each of the external memories 2A, 2B, 2C, and 2D, and includes an access selection circuit 131 and a memory interface 132.
- the memory interface 132 includes individual memory interfaces 132A, 132B, 132C, and 132D, and the external memories 2A to 2D are connected to the access selection circuit 131 via the corresponding individual memory interfaces 132A to 132D, respectively.
- the processor 10 reads the boot code from the nonvolatile memory 3 via the external bus controller 11 at the time of start-up, performs various settings of the system LSI 1A, and then reads the access timing adjustment program from the nonvolatile memory 3 as well.
- the access timing adjustment program describes a memory address when accessing each of the plurality of external memories 2A to 2D.
- the access selection circuit 131 selects the external memory (external memory 2B in FIG. 1) whose current timing is to be adjusted according to the memory address requested by the processor 10.
- a DDR SDRAM Double Data Rate Synchronous DRAM
- a data strobe signal synchronized with the first clock signal is used to notify the timing of data transfer from the memory controller 13 to the external memories 2A to 2D or from the external memories 2A to 2D.
- the memory controller 13 is first input.
- a data strobe signal having a timing delayed by 90 degrees with respect to the data strobe signal is generated. Data is read when the data strobe signal rises and falls.
- the memory controller 13 needs to ensure a window width that is a predetermined phase range with respect to 90 degrees that is a reference phase difference for data reading.
- This window width is expressed as a phase difference that can be adjusted by 1 bit, for example, 180 degrees divided by 128, and the access timing is changed according to the phase difference set in the access timing adjustment register.
- the processor 10 checks the window width, which is the phase difference range in which the memory access is successful, while changing the access timing setting for the external memory 2B.
- the inspection results are sequentially recorded in the built-in SRAM 12, and after the inspection is completed, an optimum access timing setting value is determined from the window width.
- the processor 10 sequentially executes the process of determining the optimum access timing for all the external memories 2A to 2D connected to the system LSI 1A while switching the adjustment target.
- FIG. 2 is a comparison diagram between the window width inspection result obtained by the memory access timing adjustment apparatus according to the first embodiment of the present invention and the window width inspection result obtained by the conventional technique.
- the horizontal axis represents the window width as a phase difference.
- the window width obtained by the prior art is very narrow because all of the external memories 2A to 2D are in a normal operation range, and the window width changes corresponding to the change in the transfer amount of the memory bus during actual operation. I cannot follow.
- various window widths can be set on the basis of the window width for each of the external memories 2A to 2D shown in FIG. It becomes possible.
- the adjustment operation described above is a description of the operation at the time of starting up the system LSI 1A. However, there may be a case where the application program execution state shifts to the access timing adjustment program execution by some process switching instruction. In this case, the above description is the same as after the start of access timing adjustment program execution.
- the access selection circuit 131 which is a component of the memory access timing adjustment device 1 described in FIG. 1 may have a functional configuration as described in FIG. 3 or FIG. 4 below, for example.
- FIG. 3 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device showing a first modification of the first embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 4 and a plurality of external memories 2.
- the memory access timing adjustment device 4 includes a system LSI 4A and a nonvolatile memory 3.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the system LSI 4A includes a processor 40, an external bus controller 41, a built-in SRAM 42, and a memory controller 43.
- the memory controller 43 is connected between the processor 40 and each of the external memories 2A, 2B, 2C, and 2D, and includes an access selection circuit 431 and a memory interface 432.
- the memory interface 432 includes individual memory interfaces 432A, 432B, 432C and 432D, and the external memories 2A to 2D are connected to the access selection circuit 431 via the corresponding individual memory interfaces 432A to 432D, respectively.
- the memory access timing adjustment system in the figure is different from the memory access timing adjustment system shown in FIG. 1 only in that the functional configuration of the access selection circuit 431 is embodied, and other components are functional. Are equivalent. Description of the same points is omitted, and only different points will be described below.
- the access selection circuit 431 includes a memory selection register 431A and an address conversion circuit 431B.
- the access selection circuit 431 reads the bit for selecting the external memory to be adjusted set by the processor 40 in the memory selection register 431A, and selects the external memory whose timing is to be adjusted. .
- FIG. 4 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device showing a second modification of the first embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 5 and a plurality of external memories 2.
- the memory access timing adjustment device 5 includes a system LSI 5A and a nonvolatile memory 3.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the system LSI 5A includes a processor 50, an external bus controller 51, a built-in SRAM 52, and a memory controller 53.
- the memory controller 53 is connected between the processor 50 and each of the external memories 2A, 2B, 2C, and 2D, and includes an access selection circuit 531 and a memory interface 532.
- the memory interface 532 includes individual memory interfaces 532A, 532B, 532C, and 532D, and the external memories 2A to 2D are connected to the access selection circuit 531 via the corresponding individual memory interfaces 532A to 532D, respectively.
- the memory access timing adjustment system in the figure is different from the memory access timing adjustment system shown in FIG. 1 only in that the functional configuration of the access selection circuit 531 is embodied, and the other components are functional. Are equivalent. Description of the same points is omitted, and only different points will be described below.
- the access selection circuit 531 includes a memory selection register 531A and a selector circuit 531B.
- the access selection circuit 531 reads the value set in the memory selection register 531A, and the selector circuit 531B switches the signal connection according to the value, and the processor 50 adjusts the external memory to be adjusted. Can be accessed directly.
- a memory selection register 431A or 531A is provided in the memory access timing adjustment system described in FIG. 3 or FIG. 4.
- the access timing adjustment program executed by the processor 40 or 50 can be used without change even if the external memory configuration is changed or the connection inside the memory controller is changed.
- the same access timing program can be used, so that the number of program development steps can be reduced.
- the memory controller can independently access each external memory by the access selection circuit and the individual memory interface. Therefore, the optimum access timing can be obtained for each of the external memories, and each optimum value is useful even if there is a change in the external memory configuration or a connection change in the memory controller. Also, if the application program operates with an external memory capacity other than the external memory under investigation, the memory area used by the application program can be secured while adjusting the access timing of the external memory under investigation. Operation is realized.
- the number of external memories and individual memory interfaces connected to the system LSIs 1A, 4A, and 5A is four, but the present invention has two or more. It only needs to have the same effect.
- nonvolatile memory 3 may be inside each system LSI, and conversely, the built-in SRAM may be an SRAM external to each system LSI.
- the access timing adjustment program and the application program need not be written in the non-volatile memory 3, and are downloaded from each processor into the RAM prepared separately from the non-volatile memory 3 from each processor. Also good.
- the memory access timing adjustment device further includes a pattern generation circuit that generates specific pattern data, and an external memory selected from an individual memory interface connected to an external memory other than the selected external memory Control means for transmitting specific pattern data to the external memory.
- FIG. 5 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the second embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 6 and a plurality of external memories 2.
- the memory access timing adjustment device 6 includes a system LSI 6A and a nonvolatile memory 3.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the system LSI 6A includes a processor 60, an external bus controller 61, a built-in SRAM 62, and a memory controller 63.
- the processor 60 has a function as a control means for adjusting the access timing with the external memory.
- the nonvolatile memory 3 is connected to the processor 60 via the external bus controller 61.
- the built-in SRAM 62 is connected to the processor 60 via the external bus controller 61 and has a function as a work area of the processor 60.
- the memory controller 63 is connected between the processor 60 and each of the external memories 2A, 2B, 2C, and 2D, and includes an access selection circuit 631, a memory interface 632, and a pattern generation circuit 633.
- the memory interface 632 includes individual memory interfaces 632A, 632B, 632C, and 632D, and the external memories 2A to 2D are connected to the access selection circuit 631 via the corresponding individual memory interfaces 632A to 632D, respectively.
- the pattern generation circuit 633 is connected to the access selection circuit 631.
- the memory access timing adjustment system in FIG. 5 differs from the memory access timing adjustment system according to the first embodiment described in FIG. 1 in the configuration and function of the memory controller 63, and other components are functionally functional. It is equivalent. Description of the same points is omitted, and only different points will be described below.
- the access selection circuit 631 first stores the specific pattern data generated from the pattern generation circuit 633 in the memory controller 63 as the external pattern.
- the individual memory interfaces 632A, 632C, and 632D continue to execute external memory access according to a specific pattern until the access timing adjustment of the external memory 2B is completed for the external memories 2A, 2C, and 2D other than the memory 2B.
- FIG. 6 is an operation timing chart when the individual memory interface or the external memory reads the specific pattern data.
- the specific pattern data generated from the pattern generation circuit 633 is read after being read into the external memories 2A, 2C and 2D. Thereafter, the specific pattern data is read by the individual memory interfaces 632A, 632C and 632D connected to the respective external memories.
- the registers described in the upper part sequentially hold 4-bit data when the received data strobe signal rises
- the registers described in the lower part sequentially receive 4-bit data when the received data strobe signal falls. Hold.
- the 4-bit data string is “A5A5A5...” Composed of “A” (1010) and “5” (0101) that are in an inverted relationship
- the 4-bit data follows the change in the data strobe signal. Since the upper register and the lower register are alternately held, data is held in the upper register in the order of "AAA " and held in the lower register in the order of "555 ". Therefore, the 4-bit data string “A5A5A5...” Has no data change for the upper register and the lower register, that is, is pattern data having a low bit toggle rate, but for the external memory bus, every data strobe edge. A pattern with a high bit toggle rate in which data changes.
- the 4-bit data string is “A55AA55A...”
- the 4-bit data is alternately held in the upper register and the lower register according to the change in the data strobe signal, so that “A5A5.
- Data is held in order, and the lower register holds “5A5A5. Therefore, the 4-bit data string “A55AA55A...” Is pattern data having a large data change for the upper register and the lower register, that is, a high bit toggle rate, but for the external memory bus, the data strobe edge is twice. A pattern that toggles the bit every time. By combining these patterns, access with a high bit toggle rate can be realized for both the internal bus and the external memory bus.
- the access selection circuit 631 next performs the timing adjustment of another external memory. For example, when the adjustment target external memory becomes the external memory 2C according to an instruction from the processor 60, the access selection circuit 631 executes the access pattern generated by the pattern generation circuit 633 for the external memories 2A, 2B, and 2D. . When another external memory becomes the timing adjustment target memory, the same process is similarly executed for the external memories other than the adjustment target external memory.
- the memory access timing adjustment device includes a non-volatile memory that stores the optimum access timing obtained by adjusting the access timing, and an access timing individual setting register included in each individual memory interface when the system is started The optimum access timing is read out and used for data access with the selected external memory. As a result, it is not necessary to adjust the access timing every time during normal activation, and the activation time can be shortened.
- FIG. 7 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the third embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 7 a and a plurality of external memories 2.
- the memory access timing adjustment device 7a includes a system LSI 7A and a nonvolatile memory 31.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the system LSI 7A includes a processor 70, an external bus controller 71, a built-in SRAM 72, and a memory controller 73.
- the processor 70 has a function as a control means for adjusting the access timing with the external memory.
- Nonvolatile memory 31 is connected to processor 70 via external bus controller 71.
- the built-in SRAM 72 is connected to the processor 70 via the external bus controller 71 and has a function as a work area of the processor 70.
- the memory controller 73 is connected between the processor 70 and each of the external memories 2A, 2B, 2C, and 2D, and includes an access selection circuit 731 and a memory interface 732.
- the memory interface 732 includes individual memory interfaces 732A, 732B, 732C and 732D, and the external memories 2A to 2D are connected to the access selection circuit 731 via the corresponding individual memory interfaces 732A to 732D, respectively.
- the individual memory interfaces 732A, 732B, 732C, and 732D include timing individual setting registers 732A1, 732B1, 732C1, and 732D1, respectively.
- the memory access timing adjustment system in FIG. 7 differs from the memory access timing adjustment system according to the first embodiment described in FIG. 1 in the configuration and function of the memory controller 73, and other components are functionally functional. It is equivalent. Description of the same points is omitted, and only different points will be described below.
- the system LSI 7A reads the access timing adjustment program from the nonvolatile memory 31, and executes the access timing adjustment program.
- the processor 70 sets timing optimum values, which are optimum access timings corresponding to the respective external memories, in the timing individual setting registers 732A1 to 732D1 in the individual memory interfaces 732A to 732D.
- the optimum timing values are written in the nonvolatile memory 31.
- the access timing adjustment program is replaced with the optimum timing setting program.
- the processor 70 reads the timing optimum value setting program, and sets the timing optimum value written in the nonvolatile memory 31 in the timing individual setting registers 732A1 to 732D1 according to the program.
- the optimum timing value obtained by adjusting the access timing is stored in the nonvolatile memory, so that it is not necessary to adjust the access timing every time it is normally started, and the startup time can be shortened.
- the processor 70 writes the optimum timing value to the nonvolatile memory 31 after the first access timing adjustment is executed, and the access timing adjustment program is rewritten to the optimum timing value setting program. 70 need not be rewritten.
- the nonvolatile memory in which the access timing adjustment program is written is connected to the system LSI 7A and the processor executes the program to obtain the optimum timing value
- the nonvolatile memory in which the access timing adjustment program is written is written at the time of shipment from the factory. It may be replaced with a nonvolatile memory in which the timing optimum value and the timing optimum value setting program are written.
- timing optimum value may be written in a non-volatile memory different from the non-volatile memory 31 including the boot code, and the contents of the non-volatile memory 31 including the boot code may be rewritten at the time of shipment.
- the system does not need to be adjusted after the system is released to the user, it can be performed only at the time of shipment from the factory, and there is no need to readjust the access timing when the user starts up. Is planned.
- the memory access timing adjustment device includes a non-volatile memory that stores an optimal access timing obtained by adjusting the access timing and a timing setting value flag indicating whether or not the optimal access timing is valid.
- the control unit When the timing setting value flag is invalid at the time of starting the system, the control unit newly adjusts the access timing and writes the optimum access timing obtained by the adjustment of the access timing to the nonvolatile memory.
- the timing set value flag is previously invalidated, the access timing adjustment is automatically updated at the next start-up, so that the optimum access to the external memory corresponding to the change in system configuration and state can be executed.
- FIG. 8 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the fourth embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 7 b and a plurality of external memories 2.
- the memory access timing adjustment device 7b includes a system LSI 7A and a nonvolatile memory 32.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the memory access timing adjustment system in FIG. 8 differs from the memory access timing adjustment system according to the third embodiment described in FIG. 7 only in the function and configuration of the nonvolatile memory 32, and the other components are the same. It is. Description of the same points is omitted, and only different points will be described below.
- the nonvolatile memory 32 is connected to the processor 70 via the external bus controller 71.
- the optimum access timing values obtained for the external memories 2A, 2B, 2C and 2D are set in the individual timing setting registers 732A1 to 732D1 in the individual memory interfaces 732A to 732D by the processor 70. Is done.
- the processor 70 writes the access timing optimum value obtained for each external memory in a specific area of the nonvolatile memory 32.
- the processor 70 writes the optimum access timing value in the nonvolatile memory 32, or at the same time as the timing setting value flag 32A indicating whether or not the access timing setting value written in the nonvolatile memory 32 at another timing is valid. Is written in a specific area on the nonvolatile memory 32.
- the processor 70 reads the boot code from the nonvolatile memory 32 and sets the timing set value flag 32A while the system is being started. If it is checked and indicates valid, the optimum access timing value written in the nonvolatile memory 32 is set in the individual timing setting registers 732A1 to 732D1 in the individual memory interfaces 732A to 732D.
- the processor 70 activates the access timing adjustment program and performs the access timing adjustment again to obtain the access timing optimum values obtained by the timing individual setting registers 732A1 to 732D1. Set to.
- the timing set value flag 32A does not necessarily need to be rewritten by the processor 70. Depending on the system, a fixed value is written at the time of shipment, and the access timing adjustment is executed every time the system is started up. It is also possible to use the written timing setting value as an optimum value.
- FIG. 9 is a functional configuration diagram of a memory access timing adjustment system including a memory access timing adjustment device showing a modification of the fourth embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 7 c and a plurality of external memories 2.
- the memory access timing adjustment device 7c includes a system LSI 7A and a nonvolatile memory 33.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the memory access timing adjustment system in FIG. 9 differs from the memory access timing adjustment system according to the fourth embodiment described in FIG. 8 only in the function and configuration of the nonvolatile memory 33, and other components are the same. It is. Description of the same points is omitted, and only different points will be described below.
- the activation count value 33 ⁇ / b> A written in the nonvolatile memory 33 by the processor 70 every time the system is activated. Read, update the value and write back to the non-volatile memory 33. The processor 70 determines whether or not to perform access timing adjustment based on the activation count value 33A read at the system activation.
- the optimum timing value written in the nonvolatile memory 33 is read, and the value is stored in the individual timing setting registers 732A1 to 732D1 in the individual memory interfaces 732A to 732D.
- the processor 70 executes the access timing adjustment program and adjusts the access timing of the external memories 2A to 2D. Then, the obtained optimum timing value is set in the individual timing setting registers 732A1 to 732D1, and the optimum timing value is written in the nonvolatile memory 33, and the activation count value 33A is updated to a predetermined value.
- the optimum timing value written in the nonvolatile memory 33 is set in the timing individual setting registers 732A1 to 732D1 when the system is activated.
- the number of system activations is counted, and whether or not the access timing adjustment is executed is determined based on the counted number.
- the total system usage time is counted.
- the value may be written in the nonvolatile memory 33 and used as a criterion for determining whether or not to perform access timing adjustment.
- the access timing optimum value stored in advance in the nonvolatile memory and the access timing optimum value newly obtained by the access timing readjustment are used. Since it can be selectively used depending on the condition setting such as time, the startup time can be shortened and a more stable memory access operation can be realized.
- the memory access timing adjustment apparatus further includes a memory information input terminal for inputting a signal indicating the configuration of a plurality of external memories, and an address space allocated to the plurality of external memories according to the signal Change, add, or delete.
- a memory information input terminal for inputting a signal indicating the configuration of a plurality of external memories, and an address space allocated to the plurality of external memories according to the signal Change, add, or delete.
- FIG. 10 is a functional configuration diagram of the memory access timing adjustment system including the memory access timing adjustment device according to the fifth embodiment of the present invention.
- the memory access timing adjustment system in the figure includes a memory access timing adjustment device 8 and a plurality of external memories 2.
- the memory access timing adjustment device 8 includes a system LSI 8A and a nonvolatile memory 3.
- the plurality of external memories 2 include external memories 2A, 2B, 2C, and 2D.
- the system LSI 8A includes a processor 80, an external bus controller 81, a built-in SRAM 82, a memory controller 83, and a memory information input terminal 84.
- the memory access timing adjustment system in FIG. 10 differs from the memory access timing adjustment system according to the first embodiment described in FIG. 1 only in that the system LSI 8A includes a memory information input terminal 84, and other components. Are functionally equivalent. The description of the same points as in FIG. 1 will be omitted, and only different points will be described below.
- the system LSI 8A inputs memory information such as whether or not an external memory is connected to the individual memory interfaces 832A, 832B, 832C, and 832D, and each capacity of the connected external memories 2A to 2D.
- the memory information input terminal 84 is provided.
- the memory information input terminal 84 is connected to, for example, a DIP switch on the system board, and the ON / OFF state of the DIP switch may be used as connection information.
- the memory information input terminal 84 is connected to the access selection circuit 831 in the memory controller 83.
- the access selection circuit 831 changes, adds, or deletes the address space allocated to the external memory to be adjusted in response to the memory access timing adjustment execution instruction from the processor 80 in accordance with the input memory information.
- the memory capacity of the external memory 2A when the memory capacity of the external memory 2A is changed from the standard X byte to the Y byte, it is determined from the input memory information and used for adjusting the access timing of the external memories 2A to 2D if necessary. Change the memory address. For example, when the external memory 2B is removed from the system, the external memory 2C is determined as the external memory to be adjusted next after the access timing adjustment of the external memory 2A is completed by judging that from the input memory information. The order is changed by selecting. Further, the access selection circuit 831 may notify the processor 80 that the timing adjustment of the external memory 2B has been canceled.
- This configuration makes it possible to change the memory configuration with some degree of freedom without changing the access timing adjustment program. Also, access timing adjustment according to the state of the external memory is realized.
- the memory information input terminal 84 is directly connected to the access selection circuit 831.
- the memory information input terminal 84 is connected to an arbitrary register in the register space of the system LSI 8A, and the processor 80 is connected to the register.
- the operation of the access selection circuit 831 may be set by reading this value.
- the access selection circuit 831 itself may read the register value reflecting the state of the memory information input terminal 84 to change the operation state.
- the memory access timing adjustment device further outputs a warning message when the window width of the access timing obtained by adjusting the access timing is equal to or smaller than a predetermined value. As a result, it is possible to notify the user of the abnormal state.
- FIG. 11 is a flowchart showing the operation of the memory access timing adjustment device according to the sixth embodiment of the present invention.
- the memory access timing adjustment apparatus according to the present embodiment may be any of the memory access timing adjustment apparatuses according to the first to fifth embodiments.
- the memory access timing adjustment device will be described as the memory access timing adjustment device 7a in the third embodiment.
- the processor 70 starts access timing adjustment (step S11).
- the processor 70 measures the range of normal operation while changing the access timing, that is, the window width for each of the external memories 2A to 2D (step S12).
- the processor 70 determines whether or not the obtained window width is equal to or larger than a certain width (step S13).
- step S13 If it is determined in step S13 that the obtained window width is larger than the certain width (Yes in step S13), the processor 70 sets the access timing optimum value determined by the window width to the individual memory interface 732A in the memory controller 73. Are set in the individual timing setting registers 732A1 to 732D1 included in .about.732D (step S14).
- step S13 if it is determined in step S13 that the obtained window width is equal to or smaller than the predetermined width (No in step S13), the system LSI 7A issues a performance degradation warning to the display screen via the image output circuit of the system LSI 7A. Or a warning message for warning by LED display or sound (step S15).
- the window width is determined only once. However, when the window width is equal to or smaller than the certain width, the measurement of the window width and the determination thereof are repeated a plurality of times. Thus, an optimal value may be set in the timing individual adjustment register of the individual memory interface, or a warning may be sent to the user.
- the memory access timing adjustment device and the memory access timing adjustment method according to the present invention are not limited to the above embodiments.
- the specific interface data is generated and the memory interface is in a high load state.
- specific pattern data may be generated from the pattern generation circuit during memory access adjustment, and the memory access timing may be adjusted after the memory interface is always in a high load state.
- the pattern generation circuit may be directly connected to each of the individual memory interfaces.
- the processor or the access selection circuit does not output specific pattern data from the individual memory interface connected to the external memory subject to access timing adjustment, and is specified from the individual memory interface connected to the other external memory. By giving an instruction to output pattern data, the high load state of the memory interface is reproduced.
- the present invention is useful for a memory access timing adjustment device and a memory access timing adjustment system that adjust access timing to a memory, and in particular, expands an operation margin for memory access in a high load operation state of a system LSI for digital AV equipment. It is most suitable for use in a memory access timing adjustment device.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
1A、4A、5A、6A、7A、8A、900 システムLSI
2 複数の外部メモリ
2A、2B、2C、2D、910A、910B、910C、910D 外部メモリ
3、31、32、33 不揮発性メモリ
10、40、50、60、70、80、901 プロセッサ
11、41、51、61、71、81、902 外部バスコントローラ
12、42、52、62、72、82 内蔵SRAM
13、43、53、63、73、83、903 メモリコントローラ
32A タイミング設定値フラグ
33A 起動回数カウント値
84 メモリ情報入力端子
131、431、531、631、731、831 アクセス選択回路
132、432、532、632、732、832、904 メモリインターフェイス
132A、132B、132C、132D、432A、432B、432C、432D、532A、532B、532C、532D、632A、632B、632C、632D、732A、732B、732C、732D、832A、832B、832C、832D
個別メモリインターフェイス
431A、531A メモリ選択レジスタ
431B アドレス変換回路
531B セレクタ回路
633 パターン発生回路
732A1、732B1、732C1、732D1 タイミング個別設定レジスタ
920 外部不揮発性メモリ
930 外部SRAM
本実施の形態1におけるメモリアクセスタイミング調整装置は、複数の外部メモリのそれぞれに対し個別に接続された複数の個別メモリインターフェイスと、選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備える。これにより、選択された外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに独立にデータアクセスができ、メモリバスのデータ転送量を任意に変化させることができる。従って、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。
本実施の形態2におけるメモリアクセスタイミング調整装置は、さらに、特定のパターンデータを発生するパターン発生回路と、選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから選択された外部メモリ以外の外部メモリへ特定のパターンデータを送信させる制御手段とを備える。これにより、複数の外部メモリに負荷をかけた実アプリ動作時に近い状態が再現されるので、メモリアクセス頻度の低い低負荷時で取得したメモリアクセスタイミングと比較して、より高負荷状態でも安定したアクセスタイミングの設定値を得ることが可能となる。
本実施の形態3におけるメモリアクセスタイミング調整装置は、アクセスタイミングの調整によって得られた最適なアクセスタイミングを記憶する不揮発性メモリを備え、システム起動時に、個別メモリインターフェイスのそれぞれが有するアクセスタイミング個別設定レジスタに最適なアクセスタイミングを読み出し、これを選択された外部メモリとのデータアクセスに使用する。これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなり、起動時間の短縮が図られる。
本実施の形態4におけるメモリアクセスタイミング調整装置は、アクセスタイミングの調整によって得られた最適なアクセスタイミングと、最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリと、システム起動時にタイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを不揮発性メモリに書き込む制御手段とを備える。これにより、予めタイミング設定値フラグを無効にしておけば、次回起動時に自動的にアクセスタイミング調整が更新されるので、システム構成や状態の変化に対応した外部メモリへの最適なアクセスが実行できる。
本実施の形態5におけるメモリアクセスタイミング調整装置は、さらに、複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、当該信号に従い、複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除する。これにより、外部メモリのサイズ、接続状況が把握されるので、外部メモリの状態に合わせたアクセスタイミング調整が実行できる。
本実施の形態におけるメモリアクセスタイミング調整装置は、さらに、アクセスタイミングの調整によって得られたアクセスタイミングのウィンドウ幅が、所定値以下であった場合には警告メッセージを出力する。これにより、ユーザに異常状態を通知することが可能となる。
Claims (20)
- 複数の外部メモリへアクセスするタイミングを調整するメモリアクセスタイミング調整装置であって、
前記複数の外部メモリのそれぞれに対し個別に接続され、メモリアクセスにおけるデータの送受信を行う複数の個別メモリインターフェイスと、
前記複数の外部メモリのうち選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備える
ことを特徴とするメモリアクセスタイミング調整装置。 - 前記複数の外部メモリは、第1のクロック信号に同期して入出力動作するクロック同期型メモリであり、
前記複数の個別メモリインターフェイスのそれぞれは、前記第1のクロック信号を遅延させた第2のクロック信号を使用してデータの入出力動作をし、
前記アクセスタイミングは、前記第1のクロック信号と前記第2のクロック信号との位相差であり、
前記制御手段は、前記個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定し、当該アクセスが成功した前記位相差の範囲内に最適なアクセスタイミングを調整する
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
特定のパターンデータを発生するパターン発生回路を備え、
前記制御手段は、前記選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから前記選択された外部メモリ以外の外部メモリへ前記特定のパターンデータを送信させることにより、前記複数の外部メモリに負荷をかける
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、
前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットに対応する外部メモリのアドレスを出力するアドレス変換回路とを備える
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、
前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットにより、前記選択された外部メモリに接続された個別メモリインターフェイスを選択するセレクタ回路とを備える
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するアクセスタイミング個別設定レジスタを備え、
前記複数の個別メモリインターフェイスのそれぞれは、前記タイミング個別設定レジスタに記憶された前記最適なアクセスタイミングを、前記選択された外部メモリとのデータアクセスに使用する
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングと、システム起動の回数とを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、
前記制御手段は、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングと、当該最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、
前記制御手段は、システム起動時に、前記タイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記メモリアクセスタイミング調整装置は、さらに、
前記複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、
前記複数の外部メモリの構成を示す信号に従い、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除する
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 前記制御手段は、前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲が、所定値以下であった場合には警告メッセージを出力する
ことを特徴とする請求項1に記載のメモリアクセスタイミング調整装置。 - 複数の外部メモリと当該複数の外部メモリにアクセスする複数の個別メモリインターフェイスとを有するメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法であって、
前記複数の外部メモリの中からアクセスタイミングを調整すべき外部メモリを選択する外部メモリ選択ステップと、
前記外部メモリ選択ステップにて選択された外部メモリに対し個別に接続された個別メモリインターフェイスから、前記選択された外部メモリへデータを送受信することによりアクセスタイミングを調整するアクセスタイミング調整ステップとを含む
ことを特徴とするメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記複数の外部メモリは、第1のクロック信号に同期して入出力動作するクロック同期型メモリであり、
前記複数の個別メモリインターフェイスのそれぞれは、前記第1のクロック信号を遅延させた第2のクロック信号を使用してデータの入出力動作をし、
前記アクセスタイミングは、前記第1のクロック信号と前記第2のクロック信号との位相差であり、
前記アクセスタイミング調整ステップでは、
前記選択された外部メモリに接続された個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定するアクセス判定ステップと、
前記アクセス判定ステップにてアクセスが成功したと判定されたときの前記位相差の範囲内に最適なアクセスタイミングを調整する位相差調整ステップとを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記アクセスタイミング調整ステップと同時に、
前記選択された外部メモリ以外の外部メモリへ、特定のパターンデータを発生するパターン発生回路から、前記選択された外部メモリ以外のメモリに接続された個別メモリインターフェイスを介して、特定のパターンデータを送信することにより、前記複数の外部メモリに負荷をかける外部メモリ負荷ステップを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記外部メモリ選択ステップでは、
前記選択された外部メモリを示すビット情報をメモリ選択レジスタに保持するビット保持ステップと、
前記メモリ選択レジスタに保持されたビット情報を、前記複数の個別メモリインターフェイスに接続されたアドレス変換回路により前記選択された外部メモリのアドレスへ変換するアドレス変換ステップとを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記外部メモリ選択ステップでは、
前記選択された外部メモリを示すビット情報をメモリ選択レジスタに保持するビット保持ステップと、
前記メモリ選択レジスタに保持されたビット情報をもとに、前記複数の個別メモリインターフェイスに接続されたセレクタ回路により、前記選択された外部メモリに接続された個別メモリインターフェイスを選択する個別メモリインターフェイス選択ステップとを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記アクセスタイミング調整ステップの後、
前記アクセスタイミング調整ステップで調整した前記複数の外部メモリのそれぞれに対応した最適なアクセスタイミングを不揮発性メモリに書き込む最適値書き込みステップと、
前記最適値書き込みステップの後、システム起動時に、前記最適なアクセスタイミングを読み出す最適値読み出しステップと、
前記最適値読み出しステップの後、前記複数の個別メモリインターフェイスのそれぞれが個別に有するタイミング個別設定レジスタに、前記複数の外部メモリのそれぞれに対応した最適なアクセスタイミングを保持させる最適値保持ステップと、
前記最適値保持ステップの後、前記複数の外部メモリのそれぞれへのアクセスタイミングとして、前記タイミング個別設定レジスタに保持された前記最適なアクセスタイミングを使用するレジスタ最適値使用ステップとを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記最適値書き込みステップの後、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む最適値再書き込みステップを含む
ことを特徴とする請求項16に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記最適値書き込みステップの後、既に前記不揮発性メモリに書き込まれている前記最適なアクセスタイミングが有効か否かを示す予め前記不揮発性メモリに書き込まれたタイミング設定値フラグが、システム起動時に無効を示す場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む最適値再書き込みステップを含む
ことを特徴とする請求項16に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記外部メモリ選択ステップの前に、
前記複数の外部メモリの構成の変更をメモリ構成入力端子から外部信号として受信するメモリ構成認識ステップと、
前記メモリ構成認識ステップで受信したメモリ構成の変更情報に従って、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加または削除するメモリアドレス変更ステップとを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。 - 前記アクセスタイミング調整ステップの後、
前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲と、所定値とを比較する最適範囲比較ステップと、
前記最適範囲比較ステップにおいて、前記アクセスタイミングの最適範囲が前記所定値以下であった場合、警告メッセージを出力する警告出力ステップとを含む
ことを特徴とする請求項11に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09705607A EP2251791A4 (en) | 2008-01-29 | 2009-01-14 | MEMORY ACCESS TIMEOUT ADJUSTMENT DEVICE AND MEMORY ACCESS TIMEOUT ADJUSTMENT METHOD |
US12/864,691 US20100312981A1 (en) | 2008-01-29 | 2009-01-14 | Memory access timing adjustment device and memory access timing adjustment method |
CN2009801033692A CN101925885A (zh) | 2008-01-29 | 2009-01-14 | 存储器存取定时调整装置以及存储器存取定时调整方法 |
JP2009551414A JPWO2009096141A1 (ja) | 2008-01-29 | 2009-01-14 | メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-018341 | 2008-01-29 | ||
JP2008018341 | 2008-01-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009096141A1 true WO2009096141A1 (ja) | 2009-08-06 |
Family
ID=40912498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/000102 WO2009096141A1 (ja) | 2008-01-29 | 2009-01-14 | メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20100312981A1 (ja) |
EP (1) | EP2251791A4 (ja) |
JP (1) | JPWO2009096141A1 (ja) |
CN (1) | CN101925885A (ja) |
WO (1) | WO2009096141A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019134240A (ja) * | 2018-01-29 | 2019-08-08 | キヤノン株式会社 | 画像処理装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201036455A (en) * | 2009-03-20 | 2010-10-01 | Tatung Co | System and method for fully automatically aligning quality of image |
WO2011106055A1 (en) * | 2010-02-23 | 2011-09-01 | Rambus Inc. | Coordinating memory operations using memory-device generated reference signals |
US8438523B2 (en) * | 2010-05-31 | 2013-05-07 | Panasonic Corporation | Integrated circuit manufacturing method and semiconductor integrated circuit |
JP5703979B2 (ja) | 2011-06-07 | 2015-04-22 | 日産自動車株式会社 | 車両のパーキングロック制御装置 |
JP2013075651A (ja) | 2011-06-07 | 2013-04-25 | Nissan Motor Co Ltd | 車両のパーキングロック制御装置 |
JP5703978B2 (ja) * | 2011-06-07 | 2015-04-22 | 日産自動車株式会社 | 車両のパーキングロック制御装置 |
JP2015056105A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2018136866A (ja) * | 2017-02-23 | 2018-08-30 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10232818A (ja) * | 1997-01-23 | 1998-09-02 | Hewlett Packard Co <Hp> | メモリ・コントローラ |
WO1999046687A1 (fr) * | 1998-03-12 | 1999-09-16 | Hitachi, Ltd. | Emetteur de donnees |
JPH11316619A (ja) | 1998-05-01 | 1999-11-16 | Nec Corp | クロックスキュー調整回路 |
JP2001350668A (ja) | 2000-06-06 | 2001-12-21 | Nec Shizuoka Ltd | メモリ読み出しタイミング調整回路 |
JP2002082830A (ja) * | 2000-02-14 | 2002-03-22 | Mitsubishi Electric Corp | インターフェイス回路 |
JP2002229846A (ja) * | 2001-02-07 | 2002-08-16 | Pfu Ltd | メモリバスシステム |
JP2003050738A (ja) * | 2001-08-03 | 2003-02-21 | Elpida Memory Inc | キャリブレーション方法及びメモリシステム |
JP2003216479A (ja) | 2002-01-21 | 2003-07-31 | Nec Access Technica Ltd | メモリリードタイミング調整回路およびメモリリードタイミング調整方法 |
JP2005141725A (ja) | 2003-10-16 | 2005-06-02 | Pioneer Plasma Display Corp | メモリアクセス回路、そのメモリアクセス回路の動作方法およびそのメモリアクセス回路を用いる表示装置 |
JP2006338130A (ja) * | 2005-05-31 | 2006-12-14 | Fujitsu Ltd | メモリ制御方法およびこれを実施する情報処理装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03171347A (ja) * | 1989-11-30 | 1991-07-24 | Mita Ind Co Ltd | メモリチェック装置 |
JP3490131B2 (ja) * | 1994-01-21 | 2004-01-26 | 株式会社ルネサステクノロジ | データ転送制御方法、データプロセッサ及びデータ処理システム |
JP2970529B2 (ja) * | 1996-05-08 | 1999-11-02 | 富士ゼロックス株式会社 | 画像処理装置 |
JP4153579B2 (ja) * | 1998-01-22 | 2008-09-24 | 松下電器産業株式会社 | メモリアクセス制御装置 |
JP2000339229A (ja) * | 1999-05-31 | 2000-12-08 | Mitsubishi Electric Corp | メモリテスト回路 |
US6574154B2 (en) * | 2000-09-12 | 2003-06-03 | Hitachi, Ltd. | Data transmitter |
US20050135167A1 (en) * | 2003-10-16 | 2005-06-23 | Nec Plasma Display Corporation | Memory access circuit for adjusting delay of internal clock signal used for memory control |
US7330992B2 (en) * | 2003-12-29 | 2008-02-12 | Micron Technology, Inc. | System and method for read synchronization of memory modules |
US7305517B2 (en) * | 2004-11-12 | 2007-12-04 | International Business Machines Corporation | Structure of sequencers that perform initial and periodic calibrations in a memory system |
JP4955002B2 (ja) * | 2006-08-04 | 2012-06-20 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
US7808807B2 (en) * | 2008-02-26 | 2010-10-05 | Ovonyx, Inc. | Method and apparatus for accessing a multi-mode programmable resistance memory |
US20100199060A1 (en) * | 2009-02-04 | 2010-08-05 | Panasonic Corporation | Memory controller, nonvolatile memory module, access module, and nonvolatile memory system |
-
2009
- 2009-01-14 EP EP09705607A patent/EP2251791A4/en not_active Withdrawn
- 2009-01-14 CN CN2009801033692A patent/CN101925885A/zh active Pending
- 2009-01-14 WO PCT/JP2009/000102 patent/WO2009096141A1/ja active Application Filing
- 2009-01-14 US US12/864,691 patent/US20100312981A1/en not_active Abandoned
- 2009-01-14 JP JP2009551414A patent/JPWO2009096141A1/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10232818A (ja) * | 1997-01-23 | 1998-09-02 | Hewlett Packard Co <Hp> | メモリ・コントローラ |
WO1999046687A1 (fr) * | 1998-03-12 | 1999-09-16 | Hitachi, Ltd. | Emetteur de donnees |
JPH11316619A (ja) | 1998-05-01 | 1999-11-16 | Nec Corp | クロックスキュー調整回路 |
JP2002082830A (ja) * | 2000-02-14 | 2002-03-22 | Mitsubishi Electric Corp | インターフェイス回路 |
JP2001350668A (ja) | 2000-06-06 | 2001-12-21 | Nec Shizuoka Ltd | メモリ読み出しタイミング調整回路 |
JP2002229846A (ja) * | 2001-02-07 | 2002-08-16 | Pfu Ltd | メモリバスシステム |
JP2003050738A (ja) * | 2001-08-03 | 2003-02-21 | Elpida Memory Inc | キャリブレーション方法及びメモリシステム |
JP2003216479A (ja) | 2002-01-21 | 2003-07-31 | Nec Access Technica Ltd | メモリリードタイミング調整回路およびメモリリードタイミング調整方法 |
JP2005141725A (ja) | 2003-10-16 | 2005-06-02 | Pioneer Plasma Display Corp | メモリアクセス回路、そのメモリアクセス回路の動作方法およびそのメモリアクセス回路を用いる表示装置 |
JP2006338130A (ja) * | 2005-05-31 | 2006-12-14 | Fujitsu Ltd | メモリ制御方法およびこれを実施する情報処理装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2251791A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019134240A (ja) * | 2018-01-29 | 2019-08-08 | キヤノン株式会社 | 画像処理装置 |
JP7130377B2 (ja) | 2018-01-29 | 2022-09-05 | キヤノン株式会社 | 画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101925885A (zh) | 2010-12-22 |
EP2251791A4 (en) | 2011-06-08 |
EP2251791A1 (en) | 2010-11-17 |
US20100312981A1 (en) | 2010-12-09 |
JPWO2009096141A1 (ja) | 2011-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009096141A1 (ja) | メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法 | |
US10860258B2 (en) | Control circuit, memory device including the same, and method | |
US10580476B2 (en) | Simulating a single data rate (SDR) mode on a dual data rate (DDR) memory controller for calibrating DDR memory coarse alignment | |
CN109716435B (zh) | 输入缓冲器中的偏移电压调整的设备 | |
JP2016514329A (ja) | 可変レイテンシーメモリ動作用装置および方法 | |
JP7066556B2 (ja) | メモリシステム | |
TW201835778A (zh) | 提供用於動態隨機存取記憶體之註冊時脈驅動之命令及位址匯流排之單一資料速率模式或雙重資料速率模式 | |
JP2011170516A (ja) | メモリコントローラ、半導体記憶装置およびこれらを備えるメモリシステム | |
JP7576449B2 (ja) | メモリシステム | |
KR100736675B1 (ko) | 반도체 소자 테스트 장치 | |
JP2006275616A (ja) | 半導体装置及びスキュー調整方法 | |
US20150146477A1 (en) | Semiconductor device | |
US8291253B2 (en) | Interface device, circuit module, circuit system, device for data communications and method for calculating a circuit module | |
US7733738B2 (en) | Semiconductor memory device and a data write and read method thereof | |
US20090319744A1 (en) | Digital Television, Memory Controller, and Method for Controlling Access of a Memory Device | |
JP2010160724A (ja) | メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体 | |
JP4711941B2 (ja) | メモリーのスイッチモジュール制御装置及び関連方法 | |
JPH11167530A (ja) | 信号制御回路 | |
JP6524618B2 (ja) | 電子機器、制御方法およびプログラム | |
JP4914771B2 (ja) | 半導体装置 | |
JP2014016925A (ja) | 情報処理システム、データ切替方法およびプログラム | |
JP2008152315A (ja) | 信号処理回路 | |
JP2012100058A (ja) | 遅延回路、遅延制御装置、メモリ制御装置及び情報端末機器 | |
US20110058432A1 (en) | Semiconductor integrated circuit | |
JP2009015964A (ja) | 半導体集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980103369.2 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09705607 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2009551414 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12864691 Country of ref document: US Ref document number: 2009705607 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |