Forum Discussion

CHatz's avatar
CHatz
Icon for New Contributor rankNew Contributor
17 days ago
Solved

MAX10 Dual Configuration

I am using the MAX10 Dual Configuration. The device settings in the Quartus are shown in the image below.

The settings for the generation of the .pof file and the .rpd files are shown below:

The CONFIG_SEL file is set by a jumper via a 10K resistors either high or low.

I can update the flash memory, but it appears that both CFM0 and CFM1 are programmed with the same image.

Also, when I use JTAG to program CFM0 and CFM1 with two different images, it seems that the programming of CFM1 overwrites the CFM0 image.

What could be wrong?

 

  • Hi CHatz,

    A couple of items commonly cause this behavior:

    1. CONFIG_SEL is only sampled at power up or when you force reconfiguration (power cycle, or pulse nCONFIG). If you change the jumper while running, the device will keep loading the previous image. Check : Try Dual Configuration with MAX® 10 FPGAs
    2. In Convert Programming Files > Option/Boot Info, please confirm “Configure device from CFM0 only” is unchecked. If it is enabled, the device will ignore the physical CONFIG_SEL pin. Check: Generating .pof using Convert Programming Files
    3. If you are programming with RPD, make sure you are using the per-partition RPDs (CFM0 vs CFM1) and not a combined file, otherwise it can look like one image overwrites the other. 

    Could you share:

    • Your MAX10 part number
    • Whether you power cycle or pulse nCONFIG after changing CONFIG_SEL
    • A screenshot of Quartus Programmer showing the flash partitions and which file is assigned to CFM0 and CFM1
       

    Regards,
    Fakhrul

5 Replies

  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    Hi,
    not quite clear how you are trying to program the configuration.

    Dual configuration .pof file is usually generated with CPF tool combining .sof data of factory and application image.

    When loaded into Quartus programmer, flash partitions are shown separately and can be individually programmed.

    Regards
    Frank

  • CHatz's avatar
    CHatz
    Icon for New Contributor rankNew Contributor

    My problem is that the setting of the CONFIG_SEL bit does not work. When set High, the CFM1 image is loaded. When set Low, the CFM1 image is again loaded.

    I can program the Flash memory using JTAG with two different images or I can program CFM1 with an image,but I cannot use the CONFIG_SEL input to select the image in CFM0.

    • FakhrulA_altera's avatar
      FakhrulA_altera
      Icon for Regular Contributor rankRegular Contributor

      Hi CHatz,

      A couple of items commonly cause this behavior:

      1. CONFIG_SEL is only sampled at power up or when you force reconfiguration (power cycle, or pulse nCONFIG). If you change the jumper while running, the device will keep loading the previous image. Check : Try Dual Configuration with MAX® 10 FPGAs
      2. In Convert Programming Files > Option/Boot Info, please confirm “Configure device from CFM0 only” is unchecked. If it is enabled, the device will ignore the physical CONFIG_SEL pin. Check: Generating .pof using Convert Programming Files
      3. If you are programming with RPD, make sure you are using the per-partition RPDs (CFM0 vs CFM1) and not a combined file, otherwise it can look like one image overwrites the other. 

      Could you share:

      • Your MAX10 part number
      • Whether you power cycle or pulse nCONFIG after changing CONFIG_SEL
      • A screenshot of Quartus Programmer showing the flash partitions and which file is assigned to CFM0 and CFM1
         

      Regards,
      Fakhrul

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    Initially, the factory and application image should be the same as Frank shows.  The application image is changed when you initiate an upgrade and replace CFM1/2 with a .rpd via a state machine or whatever control mechanism you use.

  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    Hi CHatz,

    according to my knowledge, CONFIG_SEL pin is always sampled after POR and decides which image is initially loaded. A transition to other image can happen automatically on load error or programmatically. Seeing the "wrong" image may just indicate an unexpected transition.

    Regards Frank