This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can someone elaborate the Redundant Address Decode works in functional mode?

Dear All

According to my understanding, there is a comparator, and there are always two inputs into it. And the inputs will be compared, if mismatch. CPU may think something is wrong,here are my questions.

1.what are the two inputs, what were compared exactly?

2.if mismatch, any interrupt will be generated, esm channel will be signalled?

3 what  Redundant Address Decode protects on earth?

Regards

Leo

 

  • Hi Leo,

    Please tell us what you are referring to exactly (for example -- which document or literature number and which section or page #).
    Just want to make sure we understand what logic you are asking about.  Difficult to be sure just from the original post.

    Thanks and Best Regards,

    Anthony

  • Hi Leo,

    cc liu said:
    1.what are the two inputs, what were compared exactly?

    All output signals except debug related signals from both the CPUs are compared.

    cc liu said:
    2.if mismatch, any interrupt will be generated, esm channel will be signalled?

    If mismatch, a CCM compare error is asserted to the ESM GP2.2 and becomes an NMI interrupt to the CPU

    cc liu said:
    3 what  Redundant Address Decode protects on earth?

    For RAM wrapper the address decode logic is replicated. The CPU sends a request command to the RAM wrapper to access the SRAM. The command is routed to two different address decode logic in parallel. Both address decode logic are compared to each other to ensure the same physical address, chip select are decoded the same to the SRAM modules. This is an built in safety diagnostic feature. 

  • Dear Anthony
    Thanks for the reply and sorry for the ambiguous question. Charles is helping me with that.
    Regards
    Leo
  • Charles Hi
    Thanks for the answer. May I ask more about Address Decode, you say the logic is replicated, and it is called "Redundant Address Decode"?
    How to understand this, what this logic replicated from?
    And why we need to encode and decode "address"? who encodes that? encode what into what?
    Thanks
    Leo
  • Hi Leo,

     I don't know which device you use. We have slightly different SRAM controller for different architectures. But the redundant address decode logic is pretty much the same regardless of which SRAM controller. Below is a diagram to illustrate the redundant decode. The address coming from the bus master (i.e. CPU or DMA) passes through two different address decoders. The decoder's job is to decode the incoming address and generate the chip select to the intended memory bank which stores the data the bus master wants to retrieve. The outputs of the two decoders are compared to each other. Basically this is what the redundant address decode does. There is nothing you need to do from a user stand point. You don't encode/decode anything as a programmer. 

  • Dear Charles
    Thank you so much for the help. The illustration makes much clear.
    Regards
    Leo
  • Glad it is clear to you now.