WO2010137330A1 - 遅延調整装置、遅延調整方法 - Google Patents
遅延調整装置、遅延調整方法 Download PDFInfo
- Publication number
- WO2010137330A1 WO2010137330A1 PCT/JP2010/003568 JP2010003568W WO2010137330A1 WO 2010137330 A1 WO2010137330 A1 WO 2010137330A1 JP 2010003568 W JP2010003568 W JP 2010003568W WO 2010137330 A1 WO2010137330 A1 WO 2010137330A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- delay
- data
- unit
- signal
- delay adjustment
- 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 delay adjustment of a strobe signal that determines when to read a data signal.
- the side that reads data is a strobe that defines the timing of reading the data signal on the data line. Read at the timing when the signal is accepted. More specifically, the reading side detects the rising edge of the strobe signal to read the data signal on the data line.
- the SoC 1500 and the memory 1501 are connected by a data line and a strobe line. If the timing at which the data line is on the data line deviates from the rising edge of the strobe signal, the receiving side can not read the data correctly, so that the rising edge of the strobe signal may be slightly earlier or later. It is necessary to adjust the delay so that the data signal is at the midpoint of the timing when it is on the data line. That is, in FIG. 15, it is necessary to delay the strobe signal so that the rising edge of the strobe signal rises at the timing indicated by the delay amount E at the timing when the data signal is on the data line.
- the delay amount refers to the time from when the data signal starts to get on the data line to when the strobe signal rises.
- the strobe signal when the SoC 1500 outputs data by itself, the strobe signal may be raised at the midpoint of the timing of loading the data. This may be configured such that the SoC 1500 itself outputs the data signal at the same timing as the strobe signal, passes the delay element holding only the strobe signal a specified number of stages, and then outputs it to the memory 1201.
- the memory 1501 has only a function of matching the output start timing and output period for outputting the data signal with the rising edge and the falling edge of the strobe signal for output. Therefore, the SoC 1500 needs to delay the strobe signal received from the memory 1501 by itself, and detects rising of the strobe signal delayed by itself to read data. Determining how much to delay this strobe signal and delaying the strobe signal by the determined amount is called delay adjustment.
- Patent Document 1 discloses an apparatus that executes this delay adjustment at the time of system startup or at the timing when a system reset is performed.
- the timing of the data signal and the strobe signal may be shifted due to aging or the like.
- the operating temperature of the SoC varies according to the load state, and the operating timing changes due to the temperature characteristic, and the timing of the data signal and that of the strobe signal may deviate.
- the deviation between the data signal and the strobe signal causes the system to not operate properly in the data communication because normal data transfer is not performed.
- a delay adjustment device includes a strobe signal having an external memory, a data line carrying the data signal, and a strobe signal defining the timing of reading the data signal carried on the data line.
- a delay adjustment device mounted on a device connected by a line and performing delay adjustment of a strobe signal, monitoring a memory bandwidth indicating a data transfer amount in communication between the external memory and the device, and sequentially
- a memory bandwidth monitoring unit for outputting memory band information indicating the memory bandwidth, and a delay adjusting means for performing delay adjustment between the data signal and the strobe signal according to the memory bandwidth indicated by the memory band information And providing.
- the delay adjustment device monitors the memory bandwidth used between the device and the memory even while the system is operating, and data is used when the memory bandwidth used is small. There will be less data transfer between the device performing the transfer and the memory.
- the delay adjustment actually performs data transfer while delaying the strobe signal between the device performing data transfer and the memory in several stages, and determines the delay amount of the strobe signal according to the success or failure of the data transfer. Is done. For this reason, if data transfer is actually performed and the memory bandwidth is used at a certain level or more, data transfer for this delay adjustment can not be executed, but if the amount of use of the memory bandwidth is below a certain level, Data transfer can be performed for delay adjustment. Therefore, since the delay adjustment can be performed even while the system is operating, the delay adjustment corresponding to the operating environment which changes according to the heat generation due to the operation of the system can be performed. The deviation of the strobe signal can be suppressed more than in the prior art.
- FIG. 1 is a functional block diagram showing a functional configuration of a semiconductor device 1 according to a first embodiment.
- FIG. 5 is a functional block diagram showing a functional configuration of a test access unit according to the first embodiment.
- FIG. 5 is a functional block diagram showing a functional configuration of a delay amount holding unit according to the first embodiment.
- FIG. 2 is a functional block diagram showing a functional configuration of a delay element unit according to the first embodiment.
- FIG. 2 is a block diagram showing a circuit configuration of a delay element unit according to the first embodiment.
- It is a data conceptual diagram showing an example of data composition of a judgment result table used at the time of test access.
- 7 is a flowchart showing an operation of delay adjustment of the delay adjusting unit according to the first embodiment.
- FIG. 16 is a functional block diagram showing a functional configuration of a semiconductor device according to a second embodiment.
- FIG. 13 is a functional block diagram showing a functional configuration of a test access unit according to a second embodiment.
- 10 is a flowchart showing an operation of delay adjustment of the delay adjusting unit according to the second embodiment.
- It is a functional block diagram showing a modification of a semiconductor device.
- It is a functional block diagram of the test access part concerning the modification of a semiconductor device.
- FIG. 1 is a functional block diagram showing a functional configuration of the semiconductor device 1.
- the semiconductor device 1 is, for example, a device used in a consumer device such as a digital broadcast receiver, a mobile phone, a BD (Blu-ray Disc) playback device, a BD recording device, or an industrial device.
- the semiconductor device 1 is configured to include a semiconductor integrated circuit 10 and a memory circuit 190.
- the semiconductor integrated circuit 10 is an electronic circuit such as a SoC, which is a semiconductor that realizes various functions such as video decoding and data transfer.
- the semiconductor integrated circuit 10 has a function of performing transmission and reception of data with the memory circuit 190.
- the semiconductor integrated circuit 10 includes a delay adjustment unit 100, a first transfer master unit 160, an arbitration unit 170, and a memory data transmission / reception unit 180.
- the delay adjustment unit 100 has a function of performing delay adjustment between data signals and strobe signals in data transmission and reception performed between the semiconductor integrated circuit 10 and the memory circuit 190.
- the delay adjustment unit 100 includes an access destination conversion unit 110, a data saving unit 120, a delay element unit 130, a delay amount holding unit 140, and a test access unit 150.
- the delay adjustment unit 100 also has a function of performing delay adjustment of control signals and address signals as well as data signals and strobe signals.
- the access destination conversion unit 110 determines an area to which test access data is to be written at the time of test access based on an instruction from the test access unit 150, and saves data from the test access unit 150.
- the data saving unit 120 has a function of saving data in an area determined when a signal indicating “1” is received.
- the access destination conversion unit 110 has a function of storing in the conversion table 111 the address at which the data saved at the time of executing the test access is stored, and saved at the data saving unit 120 at the end of the test access. It also has the function of acquiring data and restoring it to the address originally stored.
- the access destination conversion unit 110 transfers the signal transferred from the memory data transmission / reception unit 180 to the delay element unit 130 as it is or at the timing when test access is not performed.
- the received signal is transferred to the memory data transmission / reception unit 180 as it is.
- Data save unit 120 is a memory used as a save destination of data in a memory that holds data in data communication in semiconductor integrated circuit 10 at the timing when delay adjustment unit 100 performs delay adjustment, and test access It has a function of holding the save data output from the access destination conversion unit 110 at the time of execution. It also has a function of outputting the stored save data in accordance with an instruction from the access destination conversion unit 110.
- the delay element unit 130 has a function of transmitting the received data signal as it is and delaying and outputting a strobe signal defining the timing of reading the data signal by the delay amount designated by the delay amount holding unit 140. .
- the delay element unit 130 When writing data to the memory circuit 190, the delay element unit 130 outputs the first data signal 133 on the data line and outputs the delayed first strobe signal 134 on the strobe line.
- the delay element unit 130 delays the first strobe signal 134 on the strobe line output from the memory circuit and detects the rising edge of the delayed first strobe signal 134.
- the first data signal 133 on the data line is read.
- the delay element unit 130 also has a function of delaying other signals, that is, a control signal, an address signal, a data signal, etc., as necessary. Details of the delay element unit 130 will be described later.
- the delay amount holding unit 140 has a function of holding a delay amount indicating how much the strobe signal is delayed, and notifying the delay element unit 130 of the delay amount.
- the delay amount holding unit 140 also has a function of holding a delay amount indicating how much the signal other than the strobe signal is to be delayed, and notifying the delay element unit 130 of the delay amount.
- Each delay amount is set from the test access unit 150. Details of the delay amount holding unit 140 will be described later.
- the test access unit 150 has a function of adjusting the delay between the data signal and the strobe signal when the condition is satisfied.
- the test access unit 150 determines the amount of delay, performs test access to the memory circuit 190, and executes delay adjustment depending on the success or failure of data transfer.
- the test access unit 150 writes the data to the memory circuit 190 five times with the current delay amount and seven delay amounts in 10 ps units before and after it, reads the written data again, and reads the data before writing Determine if the data match. Then, the test access unit 150 calculates the average value of the delay amounts for which all five test accesses have succeeded, and sets the calculated delay amount in the delay amount holding unit 140 as the current delay amount. This test access is performed to calculate the delay amount, and setting the calculated delay amount as the delay amount to be used at present is called delay adjustment. Further details of the test access unit 150 will be described later.
- the first transfer master unit 160 is a CPU (Central Processing Unit), a DMAC (Direct Memory Access Controller), or the like, and has a function of executing data transfer with the memory 190.
- the first transfer master unit 160 executes memory access to the memory circuit 190 using the arbitration unit 170, the second control line signal 161, the second address signal 162, the second data signal 163, and the like.
- the second control line signal 161 is a signal for specifying the type (read / write) of data access.
- the second address signal 162 is a signal for specifying an access destination address of the memory circuit 190.
- the second data signal 163 is a signal of data actually written or read.
- control line signal specifies the type of memory access
- address signal specifies the address of the memory circuit 190
- data signal indicates a signal of data to be actually transferred. Suppose that there is.
- the arbitration unit 170 has a function of selecting one memory access request according to a predetermined priority when there are a plurality of memory access requests. For example, when the transfer masters (not shown) other than the first transfer master unit 160 also execute data communication with the memory circuit 190, the transfer master (not shown) is previously connected between the first transfer master unit 160 and the other transfer masters. It has a function to set priority and pass higher priority access requests. In the present embodiment, the arbitration unit 170 receives an access from the first transfer master unit 160 and an access from the test access unit 150, and gives priority to the access from the test access unit 150.
- the memory data transmission / reception unit 180 is a first control line signal used when the semiconductor integrated circuit 10 performs memory access to the memory circuit 190 based on the fourth control line signal 171, the fourth address signal 172, and the fourth data signal 173. 131, first address signal 132, first data signal 133, fifth control line signal 181 which is a signal before delay processing of first strobe signal 134, fifth address signal 182, fifth data signal 183, second strobe signal 184 is generated, and input / output is performed with the delay adjustment unit 100.
- the memory circuit 190 holds data in response to an external request such as DDR3-SDRAM (Double-Data-Rate3 Synchronous Dynamic Random Access Memory), or outputs data held in response to an external request.
- An electronic circuit made of a semiconductor having the following functions.
- the memory circuit 190 is connected to the semiconductor integrated circuit 10 via the first control line signal 131, the first address signal 132, the first data signal 133, and the first strobe signal 134.
- the memory circuit 190 has a function of holding data transferred from the semiconductor integrated circuit 10 in accordance with the first control line signal 131 output from the semiconductor integrated circuit 10.
- the memory circuit 190 also has a function of outputting data designated to the semiconductor integrated circuit 10 to the first data signal 133 in accordance with the first control line signal 131 output from the semiconductor integrated circuit.
- FIG. 2 is a functional block diagram showing a detailed configuration example of the test access unit 150. As shown in FIG.
- the test access unit 150 includes a test access issue unit 201, a test state holding unit 202, a test area designation unit 203, a test flag holding unit 204, a save flag holding unit 205, and a test start determination.
- the configuration includes a unit 210, a delay amount calculation unit 220, and an OK / NG determination unit 230.
- the test access issuing unit 201 has a function of issuing a test access at a timing when the signal indicating the operation state from the test state holding unit 202 changes from “0” to “1”.
- the test access issuing unit 201 designates reading / writing of data via the control line signal 151, designates an address of an access destination of the memory circuit 190 via the address signal 152, and determines writing via the data signal 153. Transfer of the original data and transfer of the data read from the memory circuit 190 are performed.
- the test access issuance unit 201 issues an access request for writing data held by the judgment source data holding unit 231 of the OK / NG judgment unit 230.
- test access issuance unit 201 When the access completion for the access request is received, the test access issuance unit 201 next issues an access request for reading the written data again, and the data transferred from the memory circuit 190 in response to the access request is OK. Transfer to the / NG determination unit 230.
- the determination source data to be written is output via the data signal, and the data obtained by reading the determination source data written from the memory circuit 190 is received.
- the test state holding unit 202 has a function of holding information indicating the test access state of the semiconductor integrated circuit 10. To that state, A state of reading out the determination source data stored in the determination source data holding unit 100010 used in the test state and the OK / NG unit 10001 ⁇ A state in which test access is performed with changing the test state and the delay amount, In the test state and in the state of writing to the memory circuit 11 for the test, there is a state in which the memory access from the present system such as the first transfer master unit 101 occurs.
- the value of the test state holding unit 202 can be set directly by the system user, and can also be set by a test start request signal from the test start determination unit 210 or the like.
- the test start determination unit 210 outputs a signal indicating the start of a test, it is assumed that the information indicating that it is in the test state is held, and if the information is held, the test access issuance unit 201 , Issue an access request for test access.
- the test area designating unit 203 has a function of designating in which area of the memory held by the semiconductor integrated circuit 10 the judgment source data read from the memory circuit 190 for delay adjustment is to be recorded, and the address is tested It has a function of notifying the access issuing unit 201.
- the test flag holding unit 204 has a function of holding a flag indicating whether test access is being performed, and has a function of notifying the test access issuing unit 201 of the flag.
- the information held by the test flag holding unit 204 is 1-bit data, and indicates “0” in the normal operation state, and “1” indicates the test access state.
- the save flag holding unit 205 has a function of holding a flag indicating whether data should be saved in the data save unit 120 and has a function of notifying the delay amount holding unit 140 of the flag.
- the data held by the save flag holding unit 205 is “1” indicating that the data should be saved in the data save unit 120, In other cases, it is "0".
- the test start determination unit 210 has a function of determining whether it is time to execute a test access, and when it is determined that it is time to execute a test access, the test state holding unit 202 is notified of that. Have a function to Specifically, the test start determination unit 210 includes a test condition setting unit 211, a memory width monitoring unit 212, and a determination unit 213.
- the test condition setting unit 211 has a function of setting and holding a condition for determining a timing for executing a test access.
- the setting can be performed, for example, by setting a numerical value from a PC connected to the semiconductor device 1 or by using a dip switch provided in the semiconductor device 1 or the like.
- the test condition setting unit 211 holds a condition that the memory bandwidth being used is equal to or less than a predetermined threshold as a condition for starting test access, and has a function of notifying the determination unit 213 of the condition.
- the memory width monitoring unit 212 has a function of monitoring the first data signal 133 to monitor the used memory bandwidth, and the judging unit 213 periodically (for example, every one minute) the used memory bandwidth. Have a function to notify).
- the determination unit 213 has a function of determining whether the used memory bandwidth notified from the memory width monitoring unit 212 satisfies the condition notified from the test condition setting unit 211. If the determination is affirmative, that is, if it is determined that the condition is satisfied, the determination unit 213 has a function of notifying the test state holding unit 202 of transition to the test access state.
- the delay amount calculation unit 220 has a function of calculating the latest delay amount from the result obtained by performing test access.
- the delay amount calculation unit 220 includes a delay element designation unit 221, a delay tap amount holding unit 222, a tap number holding unit 223, a test delay amount calculation unit 224, a test completion determination unit 225, and an optimum value setting unit 226. It is comprised including.
- the delay element designation unit 221 has a function of outputting a signal for designating which delay amount holding unit of the delay amount holding unit 140 is to be used.
- the delay tap amount holding unit 222 has a function of holding a delay amount for one delay of the delay amount.
- the delay tap amount holder 222 holds a delay amount of 10 ps. That is, the delay adjustment is performed in units of 10 ps.
- the tap number holding unit 223 has a function of holding the number of times that specifies the number of times to shift the delay amount when performing test access. For example, when the number-of-taps holding unit 223 holds 3 times, the test access is performed with the current delay amount and the delay amount shifted by the delay amount held by the delay tap amount holding unit 222 before and after that. It means that test access is performed. In the present embodiment, it is assumed that the number-of-taps holding unit 223 holds the number of taps of seven.
- the test access is thus "current delay amount -30 ps,” “current delay amount -20 ps,” “current delay amount -10 ps,” The test access will be executed with a total of seven delay amounts: current delay amount, current delay amount + 10 ps, current delay amount + 20 ps, and current delay amount + 30 ps.
- the test delay amount calculation unit 224 has a function of determining how much the delay amount is to be changed from the current delay amount, and has a function of notifying the delay amount holding unit 140 of the delay amount used in test access. .
- the delay amount is determined based on the delay amount held by the delay amount holding unit 222 and the number of taps held by the number-of-taps holding unit 223, and is determined as the delay amount of the unexecuted test access.
- the test completion determination unit 225 determines whether or not the test access is completed depending on whether or not the test access has been performed a predetermined number of times (five times in the present embodiment) the number of times indicated by the tap number holding unit 223. If the test access is completed, the optimum value setting unit 226 is notified of the completion of the test access.
- the optimum value setting unit 226 acquires the determination result table 234 held by the OK / NG determination unit 230. Then, the optimum value setting unit 226 has a function of calculating the optimum delay amount from the determination result table 234 and setting the delay amount in the delay amount holding unit 140.
- the OK / NG determination unit 230 has a function of determining the success or failure of the test access performed by the test access unit 150, holds information indicating the determination result, and notifies the delay amount calculation unit 220 of the information. Have.
- the OK / NG determination unit 230 includes a determination source data holding unit 231, a test read data holding unit 232, a data comparison unit 233, and a determination result table 234.
- the determination source data holding unit 231 has a function of holding the determination source data to be written in the memory circuit 190 when the test access is performed.
- the determination source data may be any data having a specific pattern which can be written to the memory circuit 190, for example, data such as 0x5a5a5a5a, 4 bits or 8 bits. It may be numerical data of
- the determination source data holding unit 231 also has a function of notifying the data comparison unit 233 of the held determination source data.
- the determination source data is set in advance.
- the test read data holding unit 232 has a function of holding data obtained by reading out the judgment source data once written in the memory circuit 190 by test access, and holds the data transferred from the test access issuing unit 201. .
- the test read data holding unit 232 holds data read at each test access (hereinafter also referred to as read determination source data), and the read judgment held every time the held data is updated It has a function of outputting the original data to the data comparison unit 233.
- the data comparison unit 233 compares the determination source data output from the determination source data storage unit 231 with the reading determination source data output from the test read data storage unit 232, and determines whether they match. If they match, it means that the data communication has succeeded with the delay amount of the current strobe signal. If the two do not match, this means that the data communication has failed, and that the current delay amount of the strobe signal means that the data communication is disturbed.
- the data comparison unit 233 registers, in the determination result table 234, information indicating that the data communication is successful in association with the delay amount of the test access at that time. If they do not match, information indicating that the data communication has failed is registered in the determination result table 234 in association with the delay amount of the test access at that time.
- the determination result table 234 is information indicating success or failure of test access which is referred to when the optimum value setting unit 226 calculates the optimum delay amount.
- FIG. 6 shows a data conceptual diagram as an example of the configuration of the determination result table 234.
- the determination result table 234 is information indicating success or failure of the test access made according to each delay amount, and information in which the delay amount 601 of the strobe signal is associated with the OK / NG determination 602. It is.
- the test access is performed five times for each delay amount, and the success or failure of each test access is registered.
- the case where the data transfer is successful is indicated by “o”
- the case where the data transfer is unsuccessful is indicated by “x”.
- FIG. 6 In the case of “current delay amount ⁇ 10 ps”, that is, when the rise of the strobe signal is advanced by 10 ps more than the current case, FIG. In the case of the determination result table 234 shown in FIG. 6, the average value of "current”, “current + 10 ps”, “current + 20 ps”, that is, “current + 10 ps”, that is, current delay, all test accesses succeeded.
- the delay amount holding unit 140 holds a new delay amount whose strobe rising is delayed by 10 ps more than the amount.
- FIG. 3 is a functional block diagram showing a functional configuration of the delay amount holding unit 140. As shown in FIG.
- the delay amount holding unit 140 holds the delay amount holding unit 301 for the current control line signal bit 0, the delay amount holding unit 302 for the current control line signal bit 1, and holds the delay amount for the current address bit 0.
- Unit 303 delay amount holding unit 304 for current address bit 1, delay amount holding unit 305 for current data signal bit 0, delay amount holding unit 306 for current data signal bit 1, delay amount holding unit for current strobe signal 307, test control line signal bit 0 delay amount holding unit 311, test control line signal bit 1 delay amount holding unit 312, test address bit 0 delay amount holding unit 313, test address bit Delay amount holding unit 314, test data signal bit 0 delay amount holding unit 315, and test data signal bit 1 delay amount holding unit 316;
- a test strobe signal delay amount holding unit 317 configured to include a selector 321 to 327.
- the delay amount holding unit 301 for the current control line signal bit 0 has a function of holding a delay amount for delaying the signal on the bit 0 signal line of the control line signal currently used, and the delay amount is used as a selector It has a function to output to 321. Further, the delay amount held by the delay amount holding unit 301 for the current control line signal bit 0 is updated to the latest one by the test access unit 150 at the end of the test access.
- the delay amount holding unit 311 for test control line signal bit 0 has a function of holding a delay amount for delaying the signal on the signal line of bit 0 of the control line signal used at the time of test access, and the delay amount Is output to the selector 321.
- the delay amount held by the delay amount holding unit 311 for test control line signal bit 0 is updated by the test access unit 150 each time the delay amount is changed when test access is performed.
- the selector 321 is in the test state in the case where the signal indicating which delay element is output from the delay element designation unit 221 according to the instruction from the test access unit 150 is a signal indicating that the control line signal bit 0 is The signal output from the delay amount holding unit 301 for the current control line signal bit 0 based on the signal 147 indicating whether or not it is in the test state output from the holding unit 202, and for the test control line signal bit 0 It has a function of selecting any one of the signals output from the delay amount holding unit 311 and outputting it to the delay element unit 130.
- the delay amount holding unit 311 for test control line signal bit 0 holds In other cases, the delay amount holding unit 301 for the current control line signal bit 0 outputs the delay amount held.
- the other current delay amount holding units (302 to 307), test delay amount holding units (312 to 317), and selectors (322 to 327) are different only in the line to be controlled and the delay amount, respectively. Since the delay amount of the signal indicated by the name of the functional unit is output, detailed description will be omitted.
- FIG. 4 is a functional block diagram showing a functional configuration of the delay element unit 130. As shown in FIG.
- the delay element unit 130 includes a delay element unit 401 for control line signal bit 0, a delay element unit 402 for control line signal bit 1, a delay element unit 403 for address signal bit 0, and an address signal.
- the bit 1 delay element unit 404, the data signal bit 0 delay element unit 405, the data signal bit 1 delay element unit 406, and the strobe signal delay element unit 407 are configured.
- the delay element unit 401 for control line signal bit 0 has a function to delay the 0th bit signal of the control signal.
- the control line signal bit 1 delay element unit 402 has a function for delaying the first bit of the control signal.
- the address signal bit 0 delay element unit 403 has a function to delay the 0th bit signal of the address signal.
- the address signal bit 1 delay element unit 404 has a function for delaying the first bit signal of the address signal.
- the data signal bit 0 delay element unit 405 has a function to delay the 0th bit signal of the data signal.
- the delay element unit 406 for data signal bit 1 has a function to delay the signal of the first bit of the data signal.
- the strobe signal delay element unit 407 has a function of delaying the strobe signal.
- Each delay element unit delays the input signal by the delay amount (331 to 337) output from the corresponding delay amount holding unit in the delay amount holding unit 140 and outputs the delayed signal.
- the delay adjustment is performed between the data signal and the strobe signal, and the configuration that becomes important in this case is the strobe signal delay element unit 407.
- the delay element unit 401 for line signal bit 0 the delay element unit 402 for control line signal bit 1
- the delay element unit 403 for address signal bit 0 the delay element unit 403 for address signal bit 1
- the delay element unit 404 for address signal bit 1 the delay element unit 404 for address signal bit 1
- FIG. 5 is a block diagram showing a detailed circuit configuration of the strobe signal delay element portion 407. As shown in FIG.
- the strobe signal delay element portion 407 is configured to delay the strobe signal in the case of writing data in the memory circuit 190 from the semiconductor integrated circuit side and in the case of reading data from the memory circuit 190.
- the strobe signal delay element unit 407 includes transmission delay element groups (501a to 501n), reception delay element groups (502a to 502n), a selector 503, and a selector 504. It consists of Note that the delay elements here may be any number of delay elements necessary to shift the delay amount, for example, the time during which the data signal is on the data line is divided by the delay element amount of the delay elements. There may be more than a few delay elements, where n is any number needed.
- Each of the delay elements (501a to 501n, 502a to 502n) has a function of delaying the input signal by 10 ps, and is constituted by, for example, a latch circuit or the like.
- the selector 503 has a function of selecting and outputting the output signal of the delay element designated by the delay element designation unit of the delay amount holding unit 140.
- the selector 503 outputs a strobe signal from the semiconductor integrated circuit 10 side to the memory circuit 190 side.
- the selector 504 has a function of selecting and outputting the output signal of the delay element designated by the delay element designation unit of the delay amount holding unit 140.
- the selector 504 outputs a strobe signal from the memory circuit 190 side to the semiconductor integrated circuit 10 side.
- FIG. 7 is a flowchart showing the delay adjustment operation of the delay adjustment unit 100.
- the semiconductor device 10 is initialized upon power-on or system reset (step S701).
- the delay adjustment unit 100 executes delay adjustment at system startup (step S702). This may be set as a predetermined initial value, or may be delay adjustment performed by executing test access processing described later.
- the memory width monitoring unit 212 of the test access unit 150 detects a memory bandwidth that is always used, and notifies the determination unit 213 of it. Then, the determination unit 213 periodically (eg, every one minute) determines whether the memory bandwidth is less than a threshold value predetermined in the test condition setting unit 211 (step S703).
- step S703 If the memory bandwidth being used is equal to or greater than the predetermined threshold (NO in step S703), the process returns to step S703 without doing anything.
- the access destination conversion unit 110 uses the data save unit 120 for the information held by the save flag holding unit 205.
- the data held in the area of the memory used for test access is saved in the data saving unit 120 (step S704).
- the test state holding unit 202 holds information indicating that it is in the test state.
- test access unit 150 of the delay adjustment unit 100 After saving data as necessary, the test access unit 150 of the delay adjustment unit 100 performs a test for delay adjustment when the test state holding unit 202 holds information indicating that it is in a test state. An access process is performed (step S705). The details of the test access process will be described later with reference to FIG.
- the delay amount calculation unit 220 of the test access unit 150 sets the calculated delay amount as the current delay amount in the delay amount holding unit 140 using the result obtained by performing the test access process (step S706).
- the access destination conversion unit 110 uses the conversion table 111 to store the data saved for the test access process in the data save unit 120 back to the address originally stored (step S707), returns to step S703.
- the delay adjustment is performed when the used memory bandwidth is low, and the delay adjustment can be performed even while the system is operating, so that the system operates. It is possible to correct the deviation between the data signal and the strobe signal that may occur due to temperature change, aging, and the like based on this.
- FIG. 8 is a flowchart showing a detailed operation of the test access unit 150 in the test access process in step S705 of the flowchart shown in FIG.
- the test access issuance unit 201 acquires determination source data from the OK / NG determination unit 230 (step S801).
- the delay amount calculation unit 210 determines how much the delay amount is to be shifted from the current delay amount, and sets the delay amount used for test access in the delay amount holding unit 140 (step S802). Specifically, the delay element designation unit 221 outputs information indicating a strobe signal, the test state holding unit 202 outputs information indicating a test state, and the delay amount calculation unit 220 calculates the delay amount at that time. By outputting, the delay amount output from the delay amount calculating unit 220 is set in the test strobe signal delay amount holding unit of the delay amount holding unit 140, the delay amount is selected by the selector 327, and the signal 337 is obtained. , And is output to the delay element unit 130. Thus, the strobe signal delay element 407 of the delay element unit 130 outputs a strobe signal obtained by delaying the signal input by the delay amount.
- the test access issuance unit 201 issues, to the arbitration unit 170, an access request for writing the acquired judgment source data in the memory circuit 190.
- the arbitration unit 170 receives an access request indicating test access, the arbitration unit 170 preferentially transmits the access request to the memory data transmission / reception unit 180. Then, an access for writing determination source data to memory circuit 190 is performed.
- the test access issue unit 201 When receiving a signal indicating the write completion from the memory circuit 190, the test access issue unit 201 next issues an access request for reading out the determination source data that should have been written to the memory circuit 190. Then, the read determination source data output from the memory circuit 190 in response to the access request is written to the test reader holding unit 232 via the test access issuing unit 201 (step S803).
- the data comparison unit 233 makes a test access based on whether the determination source data output from the determination source data storage unit 231 matches the read determination source data output from the test read data storage unit 232. Determine the success or failure of Then, the data comparison unit 233 registers the success or failure of the test access in the determination result table 234 (step S804).
- the delay amount calculation unit 220 determines whether or not the test access has been performed a predetermined number of times (here, five times) as the current delay amount of the test access (step S805). The determination is performed by counting the number of times the test access has been performed by itself, holding the number, and determining whether the value is a predetermined number.
- test completion determination unit 225 determines that the delay amount has been changed by the number of taps held by the number-of-taps holding unit 223, the test completion determination unit 225 determines in advance if it has been executed (YES in step S805). It is determined whether test access is performed with the total delay amount (step S806).
- step S806 If not (NO at step S806), the process returns to step S802. If the test has been executed (YES in step S806), the test completion determination unit 225 notifies the optimum value setting unit 226 to that effect. In response to the notification, the optimum value setting unit 226 acquires the determination result table 234 from the OK / NG determination unit 230.
- the optimum value setting unit 226 searches, for each delay amount, among the acquired determination result tables 234, a delay amount for which all the successes or failures of the test access are successful. Then, for delay amounts for which all successes or failures in test access are successful, the average value of the delay amounts is calculated as the optimum delay amount. Then, the calculated delay amount is set in the current strobe signal delay amount holding unit of the delay amount holding unit 140 (step S 807), and the test access processing is ended.
- the delay adjustment unit 100 can correct the deviation between the data signal and the strobe signal by performing the delay adjustment even during the operation of the system except for the initialization timing and the reset timing.
- Second Embodiment In the first embodiment, the method of performing the delay adjustment when the used memory bandwidth is below the predetermined threshold has been described. However, if data transfer is continued between semiconductor integrated circuit 10 and memory circuit 190 at a predetermined threshold value or more, delay adjustment may not be performed in semiconductor device 1 shown in the first embodiment. Do.
- FIG. 9 is a functional block diagram showing a functional configuration of the semiconductor device 2 according to the second embodiment
- FIG. 10 is a functional block diagram showing a functional configuration of a test access unit 950 according to the second embodiment.
- the semiconductor device 20 according to the second embodiment includes a delay adjustment unit 900.
- the difference between the delay adjustment unit 900 and the delay adjustment unit 100 described in the first embodiment is that the test access unit 950 is provided.
- the difference between the test access unit 950 and the test access unit 150 is the test start determination A test start determination unit 1210 is provided instead of the unit 210.
- the difference between the test access unit 950 is that, in the first embodiment, the delay adjustment is performed at the timing when the memory bandwidth being used is less than the predetermined threshold, while the semiconductor device 2 is activated. The delay adjustment is performed each time a predetermined time has elapsed from
- the test start determination unit 1210 includes a test condition setting unit 1211, an elapsed time measurement unit 1212, and a test start determination unit 1213.
- the test condition setting unit 1211 holds a condition for executing test access, and has a function of notifying the determination unit 213 of the condition.
- the condition is that a predetermined time has elapsed since the delay adjustment was performed last time.
- the elapsed time measurement unit 1212 is a timer that measures the elapsed time, and has a function of notifying the determination unit 213 of the counted time.
- the elapsed time measurement unit 1212 resets the timer each time a test access is performed.
- the test start determination unit 1213 has a function of determining whether the time notified from the test condition setting unit 1211 has elapsed based on the time notified from the elapsed time measurement unit 1212. When the time notified from the test condition setting unit 1211 has passed, the test start determination unit 1213 changes the operation state held by the test state holding unit 202 from the normal state to the test state.
- FIG. 11 is a flowchart showing the operation of the semiconductor device 2 according to the second embodiment.
- the same operations as those in the flowchart shown in FIG. 7 are denoted by the same step numbers, and the description thereof will be omitted.
- the difference in the operation in the second embodiment is the operation in step S1103 of the flowchart shown in FIG. That is, the condition determination for test access start, that is, delay adjustment start is different.
- the test start determination unit 1013 of the test start determination unit 1010 determines whether the time set in the test condition setting unit 1011 has elapsed based on the time notified from the elapsed time measurement unit 1012 (step S1103). . Then, if the predetermined time has elapsed (YES in step S1103), processing for delay adjustment, that is, test access processing is started (processing in step S704 and subsequent steps).
- the delay adjustment unit 900 can forcibly execute the delay adjustment every time a predetermined time elapses from the activation of the semiconductor device 2, endless data can be transmitted between the semiconductor integrated circuit 20 and the memory circuit 190. Even if the transfer is being performed and the test access can not be performed, the deviation between the data signal and the strobe signal can be adjusted. Also, since the data stored in the memory area used for test access is temporarily saved in data saving unit 120, the data originally present there can be restored after test access, and there is no problem with system operation. It can be configured not to ⁇ Supplement> In the above embodiment, although the implementation method of the present invention has been described, it is a matter of course that the embodiment of the present invention is not limited to this.
- the delay adjustment unit may be configured to perform delay adjustment in both cases. That is, the memory bandwidth may be monitored, and the delay adjustment may be performed at a timing at which the memory bandwidth falls below a predetermined threshold value, and the delay adjustment may be forcibly performed each time a predetermined time elapses.
- the test access is always performed when the used memory bandwidth is less than the predetermined threshold value, but this is not always performed each time It is good also as composition.
- the configuration may be such that the test access is not performed while the predetermined time has not elapsed since the delay adjustment was performed last time. Thereby, the processing load of the semiconductor integrated circuit 10 can be reduced.
- the first transfer master unit 160 simultaneously outputs the data signal and the strobe signal, and the strobe signal delay element unit delays the strobe signal and outputs it to the memory circuit 190. The configuration for causing the memory circuit 190 to read data is shown.
- the first transfer master unit 160 when the first transfer master unit 160 is on the data output side, the first transfer master unit outputs the data signal without arranging the delay element for output in the strobe signal delay element unit.
- the strobe signal may be output while being delayed by a predetermined time.
- test access for a total of seven delay amounts is performed in 10 ps units up to 30 ps before and after the current delay amount to determine success or failure of data transfer.
- test access was performed five times for each delay amount to determine success or failure of data transfer, but the number of times is not limited to five, for example, once, four times, or seven times, etc. It may be If the number is small, the time for determining the delay amount can be shortened, and if the number is large, the reliability of the determined delay amount can be increased.
- the delay amount is shifted in 10 ps units to determine the success or failure of data transfer, but it may be 5 ps or 20 ps units in accordance with the delay amount of the delay element.
- each of the delay amounts was selected for all five successful data transfers, and the average was taken, among the five delay amounts for each test access, It may be configured to take an average value of each delay amount obtained by multiplying the ratio of how many times it succeeded.
- a deviation between the data signal and the strobe signal can occur depending on the operating state of the system, in particular, the operating temperature. Therefore, a configuration for determining the delay amount according to the temperature is disclosed herein. In order to realize the configuration, an optimal delay amount according to the operating temperature of the system is measured in advance by simulation of the actual device. The delay adjustment unit stores the optimum value of the delay amount obtained by the simulation as delay information classified by temperature.
- the configuration of the semiconductor device including the delay adjustment unit is shown in FIG.
- the delay adjustment unit 1200 shown in FIG. 12 further includes a temperature sensor 1201 in addition to the components shown in the first embodiment.
- the temperature sensor 1201 has a function of measuring the ambient temperature, and has a function of notifying the test access unit 150 periodically (for example, every 30 seconds) of the measured temperature.
- the delay amount calculation unit 1220 of the test access unit 150 further holds delay information classified by temperature 1301 in addition to the components shown in the delay amount calculation unit 220 of the first embodiment.
- FIG. 14 shows a configuration example of the delay information classified by temperature 1301.
- FIG. 14 is a data conceptual diagram showing one configuration example of the delay information classified by temperature 1301. As shown in FIG.
- the delay information classified by temperature is information indicating the temperature 1401 measured by the temperature sensor 1201 and the amount of delay corresponding to the total memory bandwidth 1402 used by the system at that time.
- the values indicated by the delay amounts shown in FIG. 14 are merely examples, and it goes without saying that they differ depending on the system, and an optimum value according to the system to be mounted is defined. The said value is acquired by the operation simulation etc. of the semiconductor device 3 before shipment.
- the temperature is divided into less than 40 degrees and the case of 40 degrees or more, and the bandwidth is divided into the cases of 1200 Mbps and 2400 Mbps.
- the temperature and the bandwidth may be further subdivided, and the memory bandwidth is not a fixed value but a predetermined width, for example, 1000 Mbps to It may be defined in the form of 2000 Mbps or the like.
- the test access unit 1250 determines the basic delay amount based on the temperature notified by the temperature sensor 1201 at the timing of executing the test access.
- this basic delay amount is shifted by 10 ps units by the number indicated by the number of taps, and the success or failure of data transfer is measured five times each. Then, an average value of delay amounts for which data transfer has been successful five times is set as a new delay amount.
- the configuration may be held by the delay adjustment unit 900 described in the second embodiment. Also, the delay amount indicated in the temperature-classified delay information 1301 may be used as the delay amount set at the time of system startup and at the time of reset.
- the test access may be triggered when the temperature indicated by the temperature sensor 1201 exceeds a predetermined temperature (for example, when it exceeds 40 ° C.). Since a deviation between the data signal and the strobe signal may occur depending on the operating temperature of the semiconductor integrated circuit 10, the situation can be coped with.
- a predetermined temperature for example, when it exceeds 40 ° C.
- the usefulness of the temperature-based delay information is further enhanced.
- the selectors 503 and 504 select and output the output signal from one delay element according to the delay amount instructed from the delay amount holding unit 140. did. This may be configured as follows.
- the determination source data is written to different areas of the memory circuit 190 at timings indicated by the strobe signals output from the respective delay elements, and the data written to the different areas is read, and each read determination original data read
- the determination source data may be compared to determine success or failure of data transfer.
- the test access while changing the delay amount is not performed at the time of test access. For example, in the first embodiment, the test access for seven delay amounts is performed five times each, for a total of 35 test accesses.
- the delay amount shown in the above embodiment is described in seconds, it may be any value that can define how much the signal is delayed, and may be any unit other than seconds, that is, phase (degree The delay amount may be defined by.
- the delay adjustment unit described in the above embodiment is appropriate to put the phase adjustment unit, and the delay amount in the above embodiment defines how many times the phase of the strobe signal is delayed as the phase change amount. It will be done.
- the test access is executed to the end to update the delay amount, but the memory bandwidth is equal to or more than the predetermined threshold during the test access. If it does, test access may be interrupted.
- the test access data (which delay amount the test access was performed at, the success or failure of the data transfer by the test access) is left in the memory etc., and after interruption, the memory bandwidth becomes less than the predetermined threshold again. In this case, test access may be continued from the point of interruption. Also, after the test access is interrupted, the test access may be executed from the beginning again when the memory bandwidth becomes less than the predetermined threshold.
- the memory bandwidth monitoring unit 212 is configured to monitor the memory bandwidth per minute, but this is not limited to every one minute, and the system bandwidth Depending on the operating environment, it may be changed, for example, every 20 seconds or every 2 minutes.
- the functional units of the semiconductor devices 1, 2, 3 shown in FIGS. 1, 2, 3, 4, 9, 10, 12, 13 are integrated and realized by one or more LSIs (Large Scale Integration) It may be done. Also, multiple functional units may be realized by one LSI.
- An LSI may be referred to as an integrated circuit (IC), a system LSI, a very large scale integration (VLSI), a super large scale integration (SLSI), an ultra large scale integration (ULSI), or the like depending on the degree of integration.
- IC integrated circuit
- system LSI system LSI
- VLSI very large scale integration
- SLSI super large scale integration
- ULSI ultra large scale integration
- the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
- a programmable field programmable gate array FPGA
- a reconfigurable processor that can reconfigure connection and setting of circuit cells in the LSI may be used.
- Such recording media include an IC card, a hard disk, an optical disk, a flexible disk, a ROM, and the like.
- the control program distributed and distributed is used by being stored in a memory or the like that can be read by a processor, and the processor executes the control program to realize various functions as described in the embodiment. Will be (11) An embodiment of the delay adjustment device according to the present invention and its effects will be described below.
- the delay adjustment device is an apparatus connected by an external memory, a data line carrying a data signal, and a strobe line carrying a strobe signal for defining the timing of reading the data signal carried by the data line.
- a delay adjustment device mounted on the circuit to adjust the delay of a strobe signal, monitoring a memory bandwidth indicating a data transfer amount in communication between the external memory and the device, and sequentially indicating the memory bandwidth
- a memory bandwidth monitoring unit that outputs band information, and a delay adjusting unit that adjusts the delay between the data signal and the strobe signal according to a memory bandwidth indicated by the memory band information.
- a delay adjustment method for adjusting the delay of a strobe signal comprising: monitoring a memory bandwidth indicating a data transfer amount in communication between the external memory and the device, and sequentially indicating the memory bandwidth The memory bandwidth monitoring step for outputting band information, and the delay adjustment step for adjusting the delay between the data signal and the strobe signal according to the memory bandwidth indicated by the memory band information.
- the delay adjustment device can perform the delay adjustment according to the memory bandwidth used between the device that performs data transfer and the external memory connected to the device.
- the delay adjustment device actually performs data transfer since the memory bandwidth used is large.
- delay adjustment can be performed when data transfer is not performed or the amount of transfer is small.
- the delay adjustment unit may execute the delay adjustment when the memory bandwidth falls below a predetermined threshold.
- the delay adjustment device further includes storage means for storing delay adjustment condition information defining conditions for performing delay adjustment, and the delay adjustment means includes delay adjustment condition information stored in the storage means.
- the above-mentioned delay adjustment may be performed also when the condition defined in the above is satisfied.
- the predetermined condition may be every time a predetermined time has elapsed since the device was started.
- a delay adjustment method for delay adjustment of a strobe signal wherein the delay adjustment device determines whether or not a predetermined time has elapsed from the delay adjustment performed last time, and the determination step makes an affirmative determination. And a delay adjustment step of adjusting the delay between the data signal and the strobe signal.
- the delay adjustment can be periodically performed, and the deviation between the data signal and the strobe signal can be made difficult to occur.
- the delay adjusting means delays the strobe signal output from the external memory by a predetermined amount, writes the determination source data used for determining the success or failure of the data transfer from the own device to the external memory, and writes the data
- the above delay adjustment may be performed by reading the read data and comparing the read data with the determination source data to determine the success or failure of the data transfer, and determining the delay amount of the strobe signal suitable for the data transfer.
- the delay adjustment device further includes memory data saving means for saving data stored in an area to which the temporary data is written in the internal memory before the delay adjusting means executes the delay adjustment. It may be provided.
- the delay adjustment apparatus is useful in an apparatus that performs data communication in which it is defined that the data signal on the data line is read at the timing indicated by the strobe signal.
- Reference Signs List 1 semiconductor device 10 semiconductor integrated circuit 100 delay adjustment unit 110 access destination conversion unit 111 conversion table 120 data save unit 130 delay element unit 140 delay amount holding unit 150 test access unit 160 first transfer master unit 170 arbitration unit 180 memory data transmission / reception unit 190 memory circuit 201 test area specification unit 202 test state holding unit 203 test area setting unit 204 test flag holding unit 205 evacuation flag holding unit 210 test start determination unit 211 test condition setting unit 212 memory width monitoring unit 213 test start determination unit 220 delay Amount calculation unit 221 Delay element specification unit 222 Delayed tap amount holding unit 223 Tap number holding unit 224 Test delay amount calculation unit 225 Test completion judgment unit 226 Optimal value setting unit 230 OK / NG judgment unit 231 Judgment source data holding unit 232 Test Lee Data holding unit 233 data comparing section 234 determination result table 301 current control line signal bit 0 delay amount holding unit 301 302 Delay amount holding unit 302 for current control line signal bit 1 303 Delay amount holding unit 303 for current address bit 0 304 Current address bit
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)
- Information Transfer Systems (AREA)
Abstract
Description
本発明に係る遅延調整装置の一実施形態である半導体装置について、図面を参照しながら説明する。
<構成>
図1は、半導体装置1の機能構成を示す機能ブロック図である。半導体装置1は、例えば、デジタル放送受信装置、携帯電話、BD(Blu-ray Disc)再生装置、BD録画装置などの民生機器や産業機器で利用される装置である。半導体装置1は、半導体集積回路10とメモリ回路190とを含んで構成される。
・テスト状態かつOK/NG部10001が使用する判定元データ保持部100010に格納する判定元データを読み出す状態、
・テスト状態かつ遅延量を変更してのテストアクセスを行う状態、
・テスト状態かつテストの為のメモリ回路11に対する書き込みを行う状態
・テスト状態かつ第一転送マスタ部101のような本システムからのメモリアクセスが発生した状態
などがある。
<動作>
図7は、遅延調整部100の遅延調整の動作を示すフローチャートである。
<実施の形態2>
上記実施の形態1においては、使用しているメモリバンド幅が、所定閾値を下回っている場合に、遅延調整を実行する手法を説明した。しかし、半導体集積回路10とメモリ回路190との間で、所定の閾値以上でデータ転送を継続していると、上記実施の形態1に示した半導体装置1では、遅延調整を実行できない場合が発生する。
<構成>
図9が実施の形態2に係る半導体装置2の機能構成を示す機能ブロック図であり、図10が実施の形態2に係るテストアクセス部950の機能構成を示す機能ブロック図である。実施の形態2に係る半導体装置20は、実施の形態1と異なり、遅延調整部900を備える。遅延調整部900と実施の形態1に示した遅延調整部100との相違点は、テストアクセス部950を備えることにあり、テストアクセス部950とテストアクセス部150との相違点は、テスト開始判定部210の変わりにテスト開始判定部1210を備えていることにある。
<動作>
ここで、実施の形態2に係る半導体装置2の動作を説明する。ここでは、実施の形態1に示した動作と共通する点においては、説明を割愛するものとし、相違点についてのみ説明する。
<補足>
上記実施の形態において、本発明の実施の手法について説明してきたが、本発明の実施形態がこれに限られないことは勿論である。以下、上記実施形態以外に本発明として含まれる各種の変形例について説明する。
(1)上記実施の形態1と上記実施の形態2において、使用しているメモリバンド幅が所定の閾値以下の場合と、予め定められた時間ごとという場合とで遅延調整を実行する例を示したが、両実施形態を組み合わせて、遅延調整部は、両方の場合で遅延調整を実行する構成としてもよい。即ち、メモリバンド幅を監視し、所定の閾値以下になったタイミングで遅延調整を実行するとともに、所定の時間が経過するごとにも遅延調整を強制的に実行する構成としてもよい。当該構成にすることにより、一方のみを実行する場合に比して、よりデータ信号とストローブ信号のずれが発生してデータ通信に失敗する確率を低減できる。
(2)上記実施の形態1においては、使用されているメモリバンド幅が所定の閾値未満であった場合には、必ずテストアクセスを実行する構成となっていたが、これは、毎回必ず実行しない構成としてもよい。例えば、前回遅延調整を行ってから、所定時間が経過していない間はテストアクセスを実行しない構成としてもよい。これにより、半導体集積回路10の処理負担を軽減することができる。
(3)上記実施の形態においては、第1転送マスタ部160はデータ信号とストローブ信号とを同時に出力し、ストローブ信号用遅延素子部でストローブ信号を遅延させてメモリ回路190に出力することで、メモリ回路190にデータを読み取らせる構成を示した。
(4)上記実施の形態においては、遅延量を決定する際に、現行の遅延量の前後30psまで、10ps単位で計7個の遅延量分のテストアクセスを実行してデータ転送の成否を判定したが、これは、遅延量を決定するに足るデータが取得できるのであれば、例えば前後20psまで、10ps単位で計5個の遅延量分だけの成否を判定するだけでもよい。測定した遅延量の個数が少なければ、遅延量を決定するための時間を短縮でき、個数が多ければ決定した遅延量の信頼度を増すことができる。
(5)上記実施の形態において、システムの動作状態、とりわけ、動作温度によって、データ信号とストローブ信号とのずれが発生し得ることを記載した。そこで、その温度に応じて、遅延量を決定する構成をここに開示する。当該構成を実現するために、予めシステムをその動作温度に応じての最適な遅延量を予め実機のシミュレーションにより測定しておく。当該シミュレーションにより得られた遅延量の最適値は、温度別遅延情報として遅延調整部が記憶しておく。
(6)上記実施の形態において、遅延素子部では、遅延量保持部140から指示される遅延量に応じて、セレクタ503、504が1つの遅延素子からの出力信号を選択して出力する構成とした。これは、以下のような構成にしてもよい。
(7)上記実施の形態において示した遅延量は、秒単位で説明したが、これは、信号をどれだけ遅延させるかを規定できるものであればよく、秒以外の単位、即ち、位相(度)で遅延量を規定することとしてもよい。この場合、上記実施の形態に示す遅延調整部は、位相調整部と銘打つのが妥当であり、上記実施の形態における遅延量は、位相変化量として、ストローブ信号の位相を何度遅らせるのかを規定するものとなる。
(8)上記実施の形態においては、一度テストアクセスが開始されると最後までテストアクセスを実行して、遅延量を更新する構成としたが、メモリバンド幅がテストアクセス中に所定の閾値以上になった場合に、テストアクセスを中断する構成としてもよい。
(9)上記実施の形態1においてメモリバンド幅監視部212は、1分ごとのメモリバンド幅を監視する構成となっているが、これは、1分ごとに限定されるものではなく、システムの動作環境に応じて、変更してもよく、例えば、20秒ごとであってもよいし、2分ごとであってもよい。
(10)図1、2、3、4、9、10、12、13に示した半導体装置1、2、3の各機能部は集積化されて1又は複数のLSI(Large Scale Integration)により実現されてもよい。また、複数の機能部が1のLSIにより実現されてもよい。
(10)上述の実施形態で示した遅延調整に係る動作、遅延量の設定処理等(図7、8等参照)を民生機器等のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路(例えば、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク)等を介して流通させ頒布させることもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより、実施形態で示したような各種機能が実現されるようになる。
(11)以下に本発明に係る遅延調整装置の実施態様とその効果について説明する。
10 半導体集積回路
100 遅延調整部
110 アクセス先変換部
111 変換テーブル
120 データ退避部
130 遅延素子部
140 遅延量保持部
150 テストアクセス部
160 第1転送マスタ部
170 調停部
180 メモリデータ送受信部
190 メモリ回路
201 テスト領域指定部
202 テスト状態保持部
203 テスト領域設定部
204 テストフラグ保持部
205 退避フラグ保持部
210 テスト開始判定部
211 テスト条件設定部
212 メモリ幅監視部
213 テスト開始判定部
220 遅延量算出部
221 遅延素子指定部
222 遅延タップ量保持部
223 タップ回数保持部
224 テスト遅延量算出部
225 テスト完了判定部
226 最適値設定部
230 OK/NG判定部
231 判定元データ保持部
232 テストリードデータ保持部
233 データ比較部
234 判定結果テーブル
301 現行制御ライン信号ビット0用遅延量保持部301
302 現行制御ライン信号ビット1用遅延量保持部302
303 現行アドレスビット0用遅延量保持部303
304 現行アドレスビット1用遅延量保持部
305 現行データ信号ビット0用遅延量保持部
306 現行データ信号ビット1用遅延量保持部
307 現行ストローブ信号用遅延量保持部
311 テスト用制御ライン信号ビット0用遅延量保持部
312 テスト用制御ライン信号ビット1用遅延量保持部
313 テスト用アドレスビット0用遅延量保持部
314 テスト用アドレスビット1用遅延量保持部
315 テスト用データ信号ビット0用遅延量保持部
316 テスト用データ信号ビット1用遅延量保持部
317 テスト用ストローブ信号用遅延量保持部
321~327 セレクタ
401 制御ライン信号ビット0用遅延素子部
402 制御ライン信号ビット1用遅延素子部
403 アドレス信号ビット0用遅延素子部
404 アドレス信号ビット1用遅延素子部
405 データ信号ビット0用遅延素子部
406 データ信号ビット1用遅延素子部
407 ストローブ信号遅延素子部
501a~501n、502a~502n 遅延素子
503、504 セレクタ
Claims (9)
- 外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器に搭載され、ストローブ信号の遅延調整を行う遅延調整装置であって、
前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視部と、
前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整手段とを備える
ことを特徴とする遅延調整装置。 - 前記遅延調整手段は、前記メモリバンド幅が所定の閾値を下回った場合に、前記遅延調整を実行する
ことを特徴とする請求項1記載の遅延調整装置。 - 前記遅延調整装置は、更に、
遅延調整を行うための条件を定めた遅延調整条件情報を記憶する記憶手段を備え、
前記遅延調整手段は、前記記憶手段に記憶されている遅延調整条件情報で定められる条件が成立した場合にも前記遅延調整を実行する
ことを特徴とする請求項1記載の遅延調整装置。 - 前記所定の条件とは、自装置が起動してから、所定時間が経過するごとである
ことを特徴とする請求項3記載の遅延調整装置。 - 前記遅延調整手段は、前記外部メモリから出力されるストローブ信号を所定量だけ遅延させて、自装置から前記外部メモリにデータ転送の成否の判定に用いる判定元データを書き込み、当該書き込んだデータを読み取り、読みとったデータと判定元データとを比較してデータ転送の成否を判定して、データ転送に適したストローブ信号の遅延量を決定することで前記遅延調整を実行する
ことを特徴とする請求項2記載の遅延調整装置。 - 前記遅延調整手段は、前記外部メモリから出力されるストローブ信号を所定量だけ遅延させて、自装置から前記外部メモリにデータ転送の成否の判定に用いる判定元データを書き込み、当該書き込んだデータを読み取り、読みとったデータと判定元データとを比較してデータ転送の成否を判定して、データ転送に適したストローブ信号の遅延量を決定することで前記遅延調整を実行する
ことを特徴とする請求項4記載の遅延調整装置。 - 前記遅延調整装置は、更に、
前記遅延調整手段が前記遅延調整を実行する前に、前記内部メモリの前記仮データを書き込む領域に記憶されているデータを退避させるためのメモリデータ退避手段を備える
ことを特徴とする請求項4記載の遅延調整装置。 - 外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、
前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視ステップと、
前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む
ことを特徴とする遅延調整方法。 - 外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、
前回行った遅延調整から所定時間が経過したか否かを判定する判定ステップと、
前記判定ステップが肯定的な判定をした場合に、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む
ことを特徴とする遅延調整方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010800023484A CN102124451A (zh) | 2009-05-27 | 2010-05-27 | 延迟调整装置以及延迟调整方法 |
JP2011515902A JPWO2010137330A1 (ja) | 2009-05-27 | 2010-05-27 | 遅延調整装置、遅延調整方法 |
EP10780290A EP2437175A1 (en) | 2009-05-27 | 2010-05-27 | Delay adjustment device and delay adjustment method |
US13/056,020 US8363492B2 (en) | 2009-05-27 | 2010-05-27 | Delay adjustment device and delay adjustment method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009127341 | 2009-05-27 | ||
JP2009-127341 | 2009-05-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010137330A1 true WO2010137330A1 (ja) | 2010-12-02 |
Family
ID=43222456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/003568 WO2010137330A1 (ja) | 2009-05-27 | 2010-05-27 | 遅延調整装置、遅延調整方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8363492B2 (ja) |
EP (1) | EP2437175A1 (ja) |
JP (1) | JPWO2010137330A1 (ja) |
CN (1) | CN102124451A (ja) |
WO (1) | WO2010137330A1 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168665A (ja) * | 2011-02-13 | 2012-09-06 | Ricoh Co Ltd | メモリ制御装置、画像処理装置、メモリ制御方法、メモリ制御プログラム及び記録媒体 |
JP2013058209A (ja) * | 2011-09-08 | 2013-03-28 | Apple Inc | ダイナミックデータストローブ検出 |
JP2013183381A (ja) * | 2012-03-02 | 2013-09-12 | Nec Network Products Ltd | 半導体装置、半導集積回路の制御方法およびそのプログラム |
JP2015532488A (ja) * | 2012-10-05 | 2015-11-09 | クアルコム,インコーポレイテッド | 外部メモリチューニングシーケンスの最適使用のためのアルゴリズム |
JP2018173782A (ja) * | 2017-03-31 | 2018-11-08 | ルネサスエレクトロニクス株式会社 | 半導体装置およびタイミング較正方法 |
KR20190120440A (ko) * | 2017-03-21 | 2019-10-23 | 마이크론 테크놀로지, 인크. | 입력 수신기를 위한 타이밍 제어 |
JP2019536136A (ja) * | 2016-10-21 | 2019-12-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | プラットフォームマージニング及びデバッグのためのソフトウェアモードレジスタアクセス |
JP2020166874A (ja) * | 2015-08-24 | 2020-10-08 | エスアールシー ラボス、エルエルシー | メモリモジュールまたはサブシステムと併置されたデータメンテナンスブロックを組み込んだdramメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合にdramデータを保持するシステムおよび方法 |
CN113781463A (zh) * | 2021-09-17 | 2021-12-10 | 成都理工大学 | 一种定量评价碳酸盐岩烃源岩眼皮的方法、系统 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8675475B2 (en) * | 2011-08-22 | 2014-03-18 | International Business Machines Corporation | Techniques for recovery of wireless services following power failures |
JP2013065372A (ja) * | 2011-09-16 | 2013-04-11 | Elpida Memory Inc | 半導体装置およびそれを利用した情報処理システム |
US9911470B2 (en) | 2011-12-15 | 2018-03-06 | Nvidia Corporation | Fast-bypass memory circuit |
CN103632712A (zh) * | 2012-08-27 | 2014-03-12 | 辉达公司 | 存储单元和存储器 |
US9685207B2 (en) | 2012-12-04 | 2017-06-20 | Nvidia Corporation | Sequential access memory with master-slave latch pairs and method of operating |
US10735486B2 (en) * | 2012-12-28 | 2020-08-04 | Qualcomm Incorporated | Device timing adjustments and methods for supporting dash over broadcast |
US10141930B2 (en) | 2013-06-04 | 2018-11-27 | Nvidia Corporation | Three state latch |
US20150046646A1 (en) * | 2013-08-07 | 2015-02-12 | Ihab H. Elzind | Virtual Network Disk Architectures and Related Systems |
JP6417094B2 (ja) * | 2013-12-18 | 2018-10-31 | キヤノン株式会社 | 記録再生装置、記録再生装置の制御方法及びコンピュータプログラム |
US20160248829A1 (en) * | 2015-02-23 | 2016-08-25 | Qualcomm Incorporated | Availability Start Time Adjustment By Device For DASH Over Broadcast |
JP6171066B1 (ja) | 2016-09-01 | 2017-07-26 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN108664424B (zh) * | 2017-03-30 | 2020-06-23 | 炬芯(珠海)科技有限公司 | 一种确定最优延时的方法及设备 |
US10691372B1 (en) * | 2018-12-07 | 2020-06-23 | Western Digital Technologies, Inc. | Transistor threshold voltage maintenance in 3D memory |
CN113450867B (zh) * | 2020-03-27 | 2022-04-12 | 长鑫存储技术有限公司 | 形成用于存储器测试的数据库的方法及存储器测试方法 |
CN112667551B (zh) * | 2021-03-17 | 2021-07-06 | 武汉精立电子技术有限公司 | 一种基于相位自适应的qspi传输数据的方法及系统 |
CN115862707B (zh) * | 2022-11-25 | 2024-03-12 | 湖南兴芯微电子科技有限公司 | 一种psram相位校准方法及控制器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154907A (ja) * | 1999-11-29 | 2001-06-08 | Nec Kofu Ltd | 遅延調整回路及び情報処理装置 |
WO2002001363A1 (fr) * | 2000-06-27 | 2002-01-03 | Matsushita Electric Industrial, Co., Ltd. | Dispositif et procede de commande de memoire |
JP2003099321A (ja) * | 2001-09-21 | 2003-04-04 | Ricoh Co Ltd | メモリ制御装置 |
US6593930B1 (en) * | 1999-12-16 | 2003-07-15 | Intel Corporation | Method and apparatus to execute a memory maintenance operation during a screen blanking interval |
JP2006134196A (ja) * | 2004-11-09 | 2006-05-25 | Hitachi Ltd | ディスクアレイ装置 |
JP2007202033A (ja) | 2006-01-30 | 2007-08-09 | Elpida Memory Inc | タイミング調整回路及び半導体装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570944B2 (en) | 2001-06-25 | 2003-05-27 | Rambus Inc. | Apparatus for data recovery in a synchronous chip-to-chip system |
JP2923860B2 (ja) | 1990-07-06 | 1999-07-26 | 石川島播磨重工業株式会社 | 熱可塑性樹脂frp |
TW401539B (en) * | 1997-08-04 | 2000-08-11 | Matsushita Electric Ind Co Ltd | Delay time adjuster and adjusting method between multiple transmission lines |
US6918048B2 (en) * | 2001-06-28 | 2005-07-12 | Intel Corporation | System and method for delaying a strobe signal based on a slave delay base and a master delay adjustment |
US7543172B2 (en) * | 2004-12-21 | 2009-06-02 | Rambus Inc. | Strobe masking in a signaling system having multiple clock domains |
US7698589B2 (en) * | 2006-03-21 | 2010-04-13 | Mediatek Inc. | Memory controller and device with data strobe calibration |
US8122275B2 (en) * | 2006-08-24 | 2012-02-21 | Altera Corporation | Write-leveling implementation in programmable logic devices |
JP5119828B2 (ja) * | 2007-09-25 | 2013-01-16 | 株式会社デンソー | タイミング調整装置 |
-
2010
- 2010-05-27 CN CN2010800023484A patent/CN102124451A/zh active Pending
- 2010-05-27 EP EP10780290A patent/EP2437175A1/en not_active Withdrawn
- 2010-05-27 US US13/056,020 patent/US8363492B2/en not_active Expired - Fee Related
- 2010-05-27 JP JP2011515902A patent/JPWO2010137330A1/ja active Pending
- 2010-05-27 WO PCT/JP2010/003568 patent/WO2010137330A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154907A (ja) * | 1999-11-29 | 2001-06-08 | Nec Kofu Ltd | 遅延調整回路及び情報処理装置 |
US6593930B1 (en) * | 1999-12-16 | 2003-07-15 | Intel Corporation | Method and apparatus to execute a memory maintenance operation during a screen blanking interval |
WO2002001363A1 (fr) * | 2000-06-27 | 2002-01-03 | Matsushita Electric Industrial, Co., Ltd. | Dispositif et procede de commande de memoire |
JP2003099321A (ja) * | 2001-09-21 | 2003-04-04 | Ricoh Co Ltd | メモリ制御装置 |
JP2006134196A (ja) * | 2004-11-09 | 2006-05-25 | Hitachi Ltd | ディスクアレイ装置 |
JP2007202033A (ja) | 2006-01-30 | 2007-08-09 | Elpida Memory Inc | タイミング調整回路及び半導体装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168665A (ja) * | 2011-02-13 | 2012-09-06 | Ricoh Co Ltd | メモリ制御装置、画像処理装置、メモリ制御方法、メモリ制御プログラム及び記録媒体 |
JP2013058209A (ja) * | 2011-09-08 | 2013-03-28 | Apple Inc | ダイナミックデータストローブ検出 |
JP2013183381A (ja) * | 2012-03-02 | 2013-09-12 | Nec Network Products Ltd | 半導体装置、半導集積回路の制御方法およびそのプログラム |
JP2015532488A (ja) * | 2012-10-05 | 2015-11-09 | クアルコム,インコーポレイテッド | 外部メモリチューニングシーケンスの最適使用のためのアルゴリズム |
JP2020166874A (ja) * | 2015-08-24 | 2020-10-08 | エスアールシー ラボス、エルエルシー | メモリモジュールまたはサブシステムと併置されたデータメンテナンスブロックを組み込んだdramメモリコントローラを用いて再構成可能なデバイスを再プログラミングする場合にdramデータを保持するシステムおよび方法 |
JP2019536136A (ja) * | 2016-10-21 | 2019-12-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | プラットフォームマージニング及びデバッグのためのソフトウェアモードレジスタアクセス |
JP7181863B2 (ja) | 2016-10-21 | 2022-12-01 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | データ処理システム、データプロセッサ及び方法 |
KR20190120440A (ko) * | 2017-03-21 | 2019-10-23 | 마이크론 테크놀로지, 인크. | 입력 수신기를 위한 타이밍 제어 |
KR102287130B1 (ko) * | 2017-03-21 | 2021-08-09 | 마이크론 테크놀로지, 인크. | 입력 수신기를 위한 타이밍 제어 |
JP2018173782A (ja) * | 2017-03-31 | 2018-11-08 | ルネサスエレクトロニクス株式会社 | 半導体装置およびタイミング較正方法 |
CN113781463A (zh) * | 2021-09-17 | 2021-12-10 | 成都理工大学 | 一种定量评价碳酸盐岩烃源岩眼皮的方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2437175A1 (en) | 2012-04-04 |
CN102124451A (zh) | 2011-07-13 |
US8363492B2 (en) | 2013-01-29 |
JPWO2010137330A1 (ja) | 2012-11-12 |
US20110128060A1 (en) | 2011-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010137330A1 (ja) | 遅延調整装置、遅延調整方法 | |
US8533521B2 (en) | Method for adjusting phase of a clock in a host based upon comparison of first and second pattern signals from a memory and the first and the second pattern signals pre-stored in the host | |
US11003240B2 (en) | Systems and methods for frequency mode detection and implementation | |
US10990322B2 (en) | Memory buffer chip, memory system and method of controlling the memory buffer chip | |
US9218860B2 (en) | Multiple data rate memory with read timing information | |
US9740556B2 (en) | Semiconductor memory apparatus and operating method thereof | |
JP5653177B2 (ja) | メモリインターフェース回路及び半導体装置 | |
JPWO2006030904A1 (ja) | 半導体装置、及び通信制御方法 | |
US7949080B2 (en) | Phase adjusting function evaluating method, transmission margin measuring method, information processing apparatus and computer readable information recording medium | |
CN101013883A (zh) | 数据延迟控制电路及方法 | |
JP5331902B2 (ja) | 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 | |
JP5807952B2 (ja) | メモリコントローラ及びメモリ制御方法 | |
JP2011170516A (ja) | メモリコントローラ、半導体記憶装置およびこれらを備えるメモリシステム | |
WO2012059985A1 (ja) | 集積回路、電圧値取得方法および送受信システム | |
US8842485B2 (en) | Delay circuit, delay controller, memory controller, and information terminal | |
JP2007087467A (ja) | データ転送動作終了検知回路及びこれを備える半導体記憶装置 | |
US20130070829A1 (en) | Sampling phase calibrating method, storage system utilizing the sampling phase calibrating method | |
JP2007094603A (ja) | プログラマブルデバイス制御装置およびプログラマブルデバイス制御方法 | |
US8254189B2 (en) | Method for tuning control signal associated with at least one memory device | |
KR100695485B1 (ko) | 테스트 모드 진입 회로 | |
US20050281128A1 (en) | Semiconductor memory apparatus and method for operating a semiconductor memory apparatus | |
WO2023064729A1 (en) | Dynamic setup and hold times adjustment for memories | |
TW202431257A (zh) | 半導體裝置及半導體裝置之控制方法 | |
JP2015035229A (ja) | 半導体装置 | |
JP2006294146A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080002348.4 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10780290 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2011515902 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010780290 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13056020 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |