Forum Discussion

Nikolay_Rognlien's avatar
Nikolay_Rognlien
Icon for Occasional Contributor rankOccasional Contributor
6 years ago

Advanced .jbc files with normal compilation flow

Hi.

From the Programmer Utility you can create an advanced .jbc file from a .pof file. (E.g. program configuration and user flash partitions in Max10)

If you enable .jbc file generation through the Device&Pin Options => Programming Files settings, the .jbc file is generated from the .sof file only and only capable of configuring a Max10.

Is there a way to make an advanced .jbc file as part of the normal compilation flow?

Best regards

Nikolay

8 Replies

  • ShafiqY_Intel's avatar
    ShafiqY_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Nikolay,

    You can create .jbc file using Quartus Programmer.

    Add your .pof file. Choose which CFM/UFM you want to program. (My case I choose CFM0 and UFM)

    Then, go to file --> Create JAM, JBC, SVF and ISC file.

    Then, choose .jbc file.

    I hope this will help.

    Cheers.

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

      This is not what Nikolay asked about. He already stated that he knows how to do it using the programmer..

      The question was

      "Is there a way to make an advanced .jbc file as part of the normal compilation flow?"

  • ShafiqY_Intel's avatar
    ShafiqY_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Nikolay,

    You can use quartus_cpf command to convert input file (.sof or .pof or .cdf file) to .jbc file.

    Here the example the command:

    • quartus_cpf -c <input_sof_file> <output_jbc_file>
    • quartus_cpf -c <input_pof_file> <output_jbc_file>
    • quartus_cpf -c <input_cdf_file> <output_jbc_file>

    I hope this will help.

    Cheers

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

      Hi Shafiq

      I have tried that and that, both with pof and cdf and it dosn't work. It is as if some option are missing. The messages from the JAM pplayer is also different from when the jbc file is generated be the programmer. The programmer makes more of those DO_*********** (optional)

      jbc generated by quartus_cpf

      CRC matched: CRC value = 0000FC76h

      File format is Jam STAPL ByteCode format

      NOTE "CREATOR" = "QUARTUS PRIME JAM COMPOSER 18.1"

      NOTE "DATE" = "2020/03/05"

      NOTE "DEVICE" = "10M02SC"

      NOTE "NEED_FREQUENCY_CONTROL" = "0"

      NOTE "FILE" = "ctx_mbf7332D201_ic1.pof"

      NOTE "TARGET" = "1"

      NOTE "IDCODE" = "031810DD"

      NOTE "USERCODE" = "000BAF3E"

      NOTE "CHECKSUM" = "006DC5C8"

      NOTE "SAVE_DATA" = "DEVICE_DATA"

      NOTE "SAVE_DATA_VARIABLES" = "V0, A12, A13, A25, A42, A93, A43, A92, A94, A95, A105, A109, A111"

      NOTE "STAPL_VERSION" = "JESD71"

      NOTE "JAM_VERSION" = "2.0"

      NOTE "ALG_VERSION" = "68"

      Actions available in this file:

      PROGRAM

      DO_BLANK_CHECK (optional)

      DO_VERIFY (recommended)

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      DO_READ_USERCODE (optional)

      BLANKCHECK

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      VERIFY

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      DO_READ_USERCODE (optional)

      CONFIGURE

      DO_READ_USERCODE (optional)

      DO_HALT_ON_CHIP_CC (optional)

      DO_IGNORE_IDCODE_ERRORS (optional)

      DO_IGNORE_INTOSC_BYPASS (recommended)

      DO_BYPASS_SECOND_IDCODE_READ (optional)

      ERASE

      DO_BLANK_CHECK (optional)

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      READ_USERCODE

      CHECK_IDCODE

      Device #1 IDCODE is 031810DD

      configuring SRAM device(s)...

      Device programming failure

      Device configuration failure

      jbc generated by programmer

      CRC matched: CRC value = 00003C83h

      File format is Jam STAPL ByteCode format

      NOTE "CREATOR" = "QUARTUS PRIME JAM COMPOSER 16.1"

      NOTE "DATE" = "2020/02/25"

      NOTE "DEVICE" = "10M02SC"

      NOTE "NEED_FREQUENCY_CONTROL" = "0"

      NOTE "FILE" = "ctx_mbf7332D201_ic1_version_2.pof"

      NOTE "TARGET" = "1"

      NOTE "IDCODE" = "031810DD"

      NOTE "USERCODE" = "000FA60E"

      NOTE "CHECKSUM" = "00702D4F"

      NOTE "SAVE_DATA" = "DEVICE_DATA"

      NOTE "SAVE_DATA_VARIABLES" = "V0, A12, A13, A25, A43, A92, A94, A95, A105, A109, A111"

      NOTE "STAPL_VERSION" = "JESD71"

      NOTE "JAM_VERSION" = "2.0"

      NOTE "ALG_VERSION" = "67"

      Actions available in this file:

      PROGRAM

      DO_BLANK_CHECK (optional)

      DO_VERIFY (recommended)

      DO_DISABLE_ISP_CLAMP (optional)

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_REAL_TIME_ISP (optional)

      DO_FORCE_SRAM_DOWNLOAD (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      DO_READ_USERCODE (optional)

      DO_INIT_CONFIGURATION (optional)

      BLANKCHECK

      DO_DISABLE_ISP_CLAMP (optional)

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_REAL_TIME_ISP (optional)

      DO_FORCE_SRAM_DOWNLOAD (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      VERIFY

      DO_DISABLE_ISP_CLAMP (optional)

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_REAL_TIME_ISP (optional)

      DO_FORCE_SRAM_DOWNLOAD (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      DO_READ_USERCODE (optional)

      ERASE

      DO_BLANK_CHECK (optional)

      DO_DISABLE_ISP_CLAMP (optional)

      DO_BYPASS_CFM (optional)

      DO_BYPASS_UFM (optional)

      DO_REAL_TIME_ISP (optional)

      DO_FORCE_SRAM_DOWNLOAD (optional)

      DO_BYPASS_ICB (optional)

      DO_BYPASS_CFM1 (optional)

      READ_USERCODE

      CHECK_IDCODE

      Device #1 IDCODE is 031810DD

      full-chip erasing Max 10 FPGA device(s) ...

      programming Max 10 FPGA CFM0 block at sector 5 ...

      programming Max 10 FPGA UFM block at sector 1 ...

      programming Max 10 FPGA UFM block at sector 2 ...

      verifying Max 10 FPGA CFM0 block at sector 5 ...

      verifying Max 10 FPGA UFM block at sector 1 ...

      verifying Max 10 FPGA UFM block at sector 2 ...

      programming Max 10 FPGA DSM block ...

      DONE

      • ShafiqY_Intel's avatar
        ShafiqY_Intel
        Icon for Frequent Contributor rankFrequent Contributor

        Hi JChri1,

        I send you a forum private message.

        Please follow up there.

        Thanks