DSP peripheral memory marching test technology based on navigation receiver

Publisher:幸福如意Latest update time:2011-05-11 Source: 电子技术应用 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

DSP peripheral memory marching test technology based on navigation receiver

DSP is the core of digital computing in electronic systems. The correctness of the data it operates is the basic guarantee for the normal operation of the system. Taking the DSP application in the navigation receiver as an example, real-time tasks such as capture and tracking, signal demodulation, message format conversion, multipath suppression, and anti-interference are interacting with bit information all the time. As a transit station for system data, any physical failure of the memory may cause serious abnormalities in the system. Therefore, a fast and effective memory test algorithm is needed to perform real-time functional verification and detection on the DSP peripheral memory to ensure that the device has no physical failures [1]. This method is specifically designed for the detection of AF, SAF, SOF, TF, and CF failures in the memory, as shown in the dotted box in Figure 1.

Among the existing fault detection algorithms, the test vectors of the Checkerboard algorithm are similar to the black and white checkerboards in chess. The test sequence with intervals of 0-1 is written into the memory. The running time is O(N), but the fault coverage is low[2]. The Galpat algorithm traverses the influence of each bit on other bits and can detect all non-linked static faults, but the running time is O(N2)[3]. Under the current process conditions, it takes hundreds of years to complete the Galpat test of a megabyte memory. The marching algorithm is a memory test algorithm commonly used in industry, such as MATS++, March X, March C-, etc.[4]. Its running time is O(N) and has a high fault coverage, but it usually cannot cover all static non-linked faults.

Based on the consideration of static non-link faults of memory, this paper takes words as the basic detection unit and proposes a progressive test scheme that can detect all SAF, TF, AF, SOF, and CF faults. The amount of calculation is (11N+5v)/u+2N, where each word is u bits and u=2v.

1 Fault Model and Definition

This paper adopts the common terminology definitions in reference [2].

1.1 Definition of terms

In order to facilitate the description of the fault detection method using words as the basic detection unit, the following terms are defined:

u: the number of bits in a word, u=2v (v is a non-negative integer).

· P: u-bit test vector word.

P0: All-0 test vector word. P0=bu…b2b1, bu=…=b2=b1=0.

· M: A bit-based march test algorithm consisting of a series of march sequences.

MP: M corresponds to the word-based marching test algorithm, P is a u-bit test vector word.

1.2 Memory Fault Model

Memory static non-link faults include single unit faults and coupling faults.

(1) Single unit failure

Single unit faults include: SAF, SOF, AF and TF, and their classification and detection sequence are shown in Table 1.

(2) Coupling failure

A coupling fault is when the logic value of a unit is affected by another unit. It includes: ①CFin fault (inversion coupling fault) means that the flip of unit i will cause the flip of unit j; ②CFid fault (idempotent coupling fault) means that the flip of unit i will cause the logic value of unit j to be a certain value (0 or 1); ③CFst fault (state coupling fault) means that when unit i is assigned a certain value, it will cause the logic value of unit j to be a certain value (0 or 1). The coupling fault list is shown in Table 2.

2 Word-based marching algorithm

2.1 Bit-based marching vs. word-based marching

The bit-based march traverses all bit units, while the word-based march traverses all word units. For an N-bit memory, the difference between the two marching methods is shown in Table 3.

Currently, most memory read and write operations are based on words. For an N-bit memory, if a word is u bits, then for the same marching sequence, the test time of word-based marching is reduced to 1/u of the original compared to bit-based marching; the disadvantage of word-based marching testing is that the fault detection rate will decrease, and more test vector words are needed to improve the fault detection rate.

2.2 Intra-word coupling faults and inter-word coupling faults

Coupling faults are divided into two types: intra-word coupling and inter-word coupling, as shown in Figure 2. Intra-word coupling faults refer to two bits i and j in the same word, where the state change or operation of bit i will cause a logic value fault in bit j; inter-word coupling faults refer to bits i and j being in two different words, where the state change or operation of bit i will cause a logic value fault in bit j.

As can be seen from FIG. 2 , if M can detect all CF faults, then MP0 can detect all inter-word coupling faults, but usually can only detect a portion of intra-word coupling faults.

[page]

2.3 Word-based fault detection

In order to detect all SAF, TF, AF, SOF, and CF faults, consider using words as the basic detection unit and use the following progress sequence for fault detection:

in:

The memory has a total of N bits, each word is u bits, u=2v.

P0=bu…b2b1, then bu=…=b2=b1=0

PAj=bu...b2b1, then when i mod 2j>2j-1, bi=1, i=1, 2,...,u.

PBj=bu…b2b1, then when i≤j, bj=1; when i>j, bi=0.

Conclusion 1: M0 can detect all SAF, TF, AF faults, and all <↑;→>, <↓;→>, <;←>, <↑;←>, <↓;←>, <;←>, <↑;>, <↓;>, <↑;1/0>, <↓;0/1>, <0;0/1>, <1;1/0> faults.

Proof: The bit-based marching algorithm corresponding to M0 is March C-. March C- can detect all SAF, TF, AF, CFin, CFst, and CFid[4], so M0 can detect all SAF, TF, AF, inter-word CFin, inter-word CFst, and inter-word CFid. Next, we examine M0's detection of CF faults in words.

Since M0 contains the marching sequence , it is possible to detect the <↓;0/1> and <0;0/1> faults caused by the coupled bits in the word flipping from 0 to 1. Since M0 undergoes two bit flipping operations of writing 0 , writing 1, and writing 0, it is possible to detect all unidirectional flip CFin faults (including <↑;→>, <↓;→>, < ;←>, <↑;←>, <↓;←>, < ;←>) and single flip CFin faults (including <↑; > and <↓; >). Conclusion 1 is proved.

Conclusion 2: March-CW (i.e., M0+M1) can detect all SAF, TF, AF, SOF, CFid, CFst faults, and all CFin faults except < >.

Proof: Since M1 contains the marching sequence , M1 can detect all SOF faults.

Since M1 includes a marching sequence ), a test vector word with a 0-1 interval is used, so it can detect coupling faults in the words <↑;1/0>, <↓;0/1>, <0;0/1>, <1;1/0> caused by the inversion of all odd bits to the even bits, as well as the above faults caused by the inversion of all even bits to the odd bits. The intervals between the test vector words 0-1 used in other marching sequences of M1 increase by powers of 2, so it can detect coupling faults in the words <↑;1/0>, <↓;0/1>, <0;0/1>, <1;1/0> caused by the inversion of all odd bits to the odd bits, as well as the above faults caused by the inversion of all even bits to the even bits. Therefore, M1 can detect coupling faults in the words <↑;1/0>, <↓;0/1>, <0;0/1>, <1;1/0>.

Combined with Conclusion 1, Conclusion 2 is proved.

Conclusion 3: M0+M1+M2 can detect all SAF, TF, AF, SOF, and CF faults.

Proof: The test vector word used by the M2 marching sequence traverses the possible faults caused by each bit in the word , so M2 can detect all coupled faults in the word.

Combined with Conclusion 2, Conclusion 3 is proved.

3 Analysis and Application

3.1 Analysis of computational complexity

The amount of computation is an important indicator for real-time memory detection, as shown in Table 4.

It can be seen from Table 4 that, under the premise of having the same fault detection capability, the detection time of M0+M1+M2 is much shorter than that of March-17N and Galpat; when u is larger, the detection time of M0, M0′, March-CW, and M0+M1+M2 will be greatly shortened.

3.2 Example Application

For 1 MB RAM, one word consists of 32 bits, so u=32, v=5, 50 MHz bus read and write rate, DSP processing speed is calculated as 500 MHz. The above detection algorithm is used to verify and detect the real-time function of DSP peripheral memory, and the results are shown in Table 5.

It can be seen that M0+M1+M2 can complete the detection of 1 MB memory within 2 s, and the faults cover all SAF, SOF, TF, AF, CFin, CFst, and CFid. Although the detection time of M0+M1+M2 is longer than that of M0, M0′, and March-CW, it can detect more types of faults; M0+M1+M2 can detect all detectable faults, and the detection time is reduced from 15 s to 1.6 s.

This paper considers all static non-link faults of the memory and proposes a progressive test scheme that can detect all SAF, TF, AF, SOF, and CF to complete DSP peripheral memory testing efficiently and quickly.

Compared with March-CW, , and March-17N, the results show that the proposed method can detect the faults missed by March-CW, and the computational complexity of the proposed method is (11N+5v)/u+2N (where each word is u bits, u=2v), which is much faster than 's 11N and March-17N's 17N/u+10N. This method is used in the functional verification of DSP peripheral memory, and the detection of megabyte memory is completed within a few seconds, so that the resource verification of DSP peripheral memory can be completed in real time. In addition, this method can also be extended to the peripheral memory test of other embedded processors.

Reference address:DSP peripheral memory marching test technology based on navigation receiver

Previous article:Direct Torque Control System of Asynchronous Motor Using DSP
Next article:Application of Programmable System-on-Chip (PSC) in Intelligent Battery Management

Recommended ReadingLatest update time:2024-11-17 03:40

STM32 View FLASH and RAM usage
1. Information after KEIL MDK compilation Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116  1) Code is the space occupied by the code; 2) RO-data is the size of a Read Only constant, such as a const type; 3) RW-data is the size of the initialized readable and writable variable (Read Write); 4) ZI-data is (
[Microcontroller]
Honor 9X joins the network, providing 8GB of memory
Honor 9X will be officially released in Xi'an on the 23rd of this month, and now the phone has been successfully connected to the network. The page shows that in terms of appearance, the Honor 9X uses a 6.59-inch TFT screen with a resolution of 2340X1080, a body size of 163.1×77.2×8.8 (mm), and a weight of 206g. The b
[Mobile phone portable]
Honor 9X joins the network, providing 8GB of memory
Lenovo Legion Pro, the first gaming phone with 16GB memory, appears on AnTuTu
      On July 8, Lenovo Legion gaming phone Pro appeared in the AnTuTu database.   The Lenovo Legion gaming phone Pro is equipped with Qualcomm Snapdragon 865 Plus flagship platform, with a main frequency of 3.09GHz. The total score currently detected by AnTuTu has reached 648871 points, including CPU score of 187401,
[Mobile phone portable]
MCS-51 MCU On-chip RAM Space Allocation
Briefly describe the space allocation of the internal RAM of the MCS-51 microcontroller. What are the main parts of the lower 128 bytes of internal RAM? What are the main functions of each part? The on-chip data memory can be divided into three parts according to the addressing mode: the lower 128-byte data area, th
[Microcontroller]
OK6410A Development Board (VIII) 32 linux-5.11 OK6410A A brief analysis of the entire boot process from the memory perspective
From stext in arch/arm/kernel/head.S to kernel rest_init system_state = SYSTEM_SCHEDULING; Analyze the entire memory startup process As for why it does not analyze the start in arch/arm/boot/compressed/head.S to the stext in arch/arm/kernel/head.S Because if this process doesn't run, Linux can still run Previously,
[Microcontroller]
OK6410A Development Board (VIII) 35 linux-5.11 OK6410A Memory Management Phase III
C setup_arch- paging_init- bootmem_init- memblock_allow_resize returns - mm_init- mem_init returns ----At this time, memblock disappears, buddy initialization is completed, and the era of buddy memory manager based on virtual memory era begins process setup_arch(&command_line);- paging_init bootmem_init find_lim
[Microcontroller]
Micron LPDDR5 memory obtains ISO 26262 safety standard ASIL-D level certification
As the development of autonomous vehicles continues to accelerate, people are paying more attention to the functional safety of vehicles. Since the components and systems of many emerging advanced driver assistance system (ADAS) platforms are very complex, even more so than those in data centers, it is c
[Embedded]
Micron LPDDR5 memory obtains ISO 26262 safety standard ASIL-D level certification
C51 Two methods of writing data to memory space addresses
method one: unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* I/O address of CH375 command port */ CH375_CMD_PORT = Data;   Method Two: *((unsigned char xdata *) 0xBDF1) = Data;   Similar: DSP2407 header file voatile unsigned int * IMR = (volatile unsigned int *)0x0004;   *IMR = value;  
[Microcontroller]
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号