There is RAM that has:
A read/write control:
“1 bit per read, 1 bit per write” means there is one control signal for read and one for write.
These bits are asserted on the clock pulse, together with valid data and address.
The interviewer then asks two things:
“What issues in the system may fail the correct functionality?”
This means:
List all possible design / timing / logical / electrical problems that could cause the memory system not to work correctly.
For example, wrong timing between clock and data, wrong use of read/write bits, address decoding errors, etc. (the exact list is up to the candidate).
“Please develop an algorithm that will find all relevant issues, pre/post silicon.”
This means:
Propose a test method or verification algorithm that can detect these problems:
Pre-silicon: using simulation, formal verification, or other design-time methods.
Post-silicon: using real hardware tests, patterns, and read/write operations on the actual chip.
Under Candidate coding, they give you two abstract operations that you can use in your algorithm:
write(Address, RD/RW, Write_data)
read(Address, RD/RW, Read_data)
These are just function “primitives”:
write(...) performs a write transaction to a specific address with some data and read/write configuration.
read(...) performs a read transaction from a specific address and returns the data, using the RD/RW configuration.