Circuits
With only write(addr, data) and read(addr, &data) APIs at your disposal, how would you devise an algorithm to detect a shorted internal signal in a black box scenario?
Design Verification Engineer
ASUS
SpaceX
IBM
FLIR Systems
GE Aviation
ByteDance
Answers
Anonymous
8 months ago
A short circuit in an internal signal implies that this signal is electrically connected to another signal, possibly VCC or GND. This will cause unexpected behavior when either of the shorted signals is driven.
Algorithm
- Initialization Gather information about the device:Addressable memory range. Data width at each address. Any known 'safe' addresses (e.g., read-only registers that won't affect device operation when written to). If no safe addresses are known, start with the highest address and work downwards to minimize the risk of disrupting critical functionality early in the process.
- Write-Read-Verify Loop For each address addr in the memory range:read(addr, &original_data): Read the original data at the address. new_data = ~original_data: Invert the original data. write(addr, new_data): Write the inverted data to the address. read(addr, &read_back_data): Read back the data from the same address. Compare:If read_back_data == new_data, the write was successful, move to the next address. If read_back_data != new_data:write(addr, original_data): Restore the original data to minimize disruption Potential Short: There's a potential short circuit involving a signal affected by writing to this address. Further Investigation:Try writing different patterns to the address and observe the read-back data. If the read-back data consistently reflects an unexpected pattern or is stuck at a particular value regardless of the written data, it strengthens the possibility of a short circuit. Log the address and the observed behavior for further analysis.
- Analysis
- Correlate the addresses where unexpected behavior was observed.
- Look for patterns:Are the problematic addresses contiguous or spread out? Do specific bit patterns in the read-back data suggest a connection to VCC, GND, or another signal?
- Use your understanding of the device's functionality (even if limited) to hypothesize which internal signals might be shorted based on the affected addresses.
Try Our AI Interviewer
Prepare for success with realistic, role-specific interview simulations.
Try AI Interview NowInterview question asked to Design Verification Engineers interviewing at Dialog Semiconductor, Cisco, KTM AG and others: With only write(addr, data) and read(addr, &data) APIs at your disposal, how would you devise an algorithm to detect a shorted internal signal in a black box scenario?.