DDR BIT (Build In Test)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

DDR BIT (Build In Test)

ソリューションへジャンプ
2,111件の閲覧回数
notshure
Contributor IV

Hi all I'm working with the LS1043a processor.
I wanted to know if this processor inside the DDR memory controller has a self test of the DDR memories a BIT test integrated into the hardware.

Is there a field of a register of the DDR Controller in which setting it to "1", is it possible to perform a Hardware test on the DDR?

Having the ability to perform a hardware-level test of this type, speeds up my boot process.
Otherwise I would have to test the DDR memory via software by writing and reading to each memory location in the DDR.
Considering that the memory is 2Gb the test done via Software becomes quite slow.

 

Thanks

0 件の賞賛
返信
1 解決策
2,107件の閲覧回数
ufedor
NXP Employee
NXP Employee

The test is explained under the register setting DDR_MTCR. These memory tests have 40-byte data test patterns repeated and used for the test. The data patterns are populated at the 10 DDR_MTP registers. The test can be read only, write only, or write-read-compare selectable with DDR_MTCR[MT_TYP]. If a range is enabled via DDR_MTCR[MT_ADDR_EN], then a range of starting and ending address should be programed via DDR_MT_ST_ADDR and DDR_MT_END_ADDR registers. If range is not enabled the test will be conducted through entire memory defined by the CSn_BNDS registers.
There is also a selection on how the write-read-compare test should be done, whether 1 write burst, then 1 read burst and then compare. Or 2W, 2R. or ..., or write the entire range, then read the entire range. This selection is done via setting at DDR_MTCR[MT_TRANRND].
To start the test set the DDR_MTCR[MT_EN]. If the test completes, then the DDR_MTCR[MT_EN] will be cleared by HW. If test completes and there are test fails because of a comparison failure then a failure flag is set in DDR_MTCR[MT_STAT]. A test is considered passed when MT_EN clears and MT_STAT = 0.

 

Please refer to the QorIQ LS1043A Reference Manual:

18.4.59 DDR Memory Test Control Register (DDR_MTCR)

18.4.60 DDR Memory Test Pattern n Register (DDR_MTP0 - DDR_MTP9)

18.4.61 DDR Memory Test Start Extended Address (DDR_MT_ST_EXT_ADDR)

18.4.62 DDR Memory Test Start Address (DDR_MT_ST_ADDR)

18.4.63 DDR Memory Test End Extended Address (DDR_MT_END_EXT_ADDR)

18.4.64 DDR Memory Test End Address (DDR_MT_END_ADDR)

 

 

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
2,108件の閲覧回数
ufedor
NXP Employee
NXP Employee

The test is explained under the register setting DDR_MTCR. These memory tests have 40-byte data test patterns repeated and used for the test. The data patterns are populated at the 10 DDR_MTP registers. The test can be read only, write only, or write-read-compare selectable with DDR_MTCR[MT_TYP]. If a range is enabled via DDR_MTCR[MT_ADDR_EN], then a range of starting and ending address should be programed via DDR_MT_ST_ADDR and DDR_MT_END_ADDR registers. If range is not enabled the test will be conducted through entire memory defined by the CSn_BNDS registers.
There is also a selection on how the write-read-compare test should be done, whether 1 write burst, then 1 read burst and then compare. Or 2W, 2R. or ..., or write the entire range, then read the entire range. This selection is done via setting at DDR_MTCR[MT_TRANRND].
To start the test set the DDR_MTCR[MT_EN]. If the test completes, then the DDR_MTCR[MT_EN] will be cleared by HW. If test completes and there are test fails because of a comparison failure then a failure flag is set in DDR_MTCR[MT_STAT]. A test is considered passed when MT_EN clears and MT_STAT = 0.

 

Please refer to the QorIQ LS1043A Reference Manual:

18.4.59 DDR Memory Test Control Register (DDR_MTCR)

18.4.60 DDR Memory Test Pattern n Register (DDR_MTP0 - DDR_MTP9)

18.4.61 DDR Memory Test Start Extended Address (DDR_MT_ST_EXT_ADDR)

18.4.62 DDR Memory Test Start Address (DDR_MT_ST_ADDR)

18.4.63 DDR Memory Test End Extended Address (DDR_MT_END_EXT_ADDR)

18.4.64 DDR Memory Test End Address (DDR_MT_END_ADDR)

 

 

0 件の賞賛
返信