Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

  1. #1
    Join Date
    Jan 2014
    Posts
    13
    Rep Power
    1

    Default Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Hello,

    I'm looking for is a substitute for a post-synthesis netlist in Quartus Pro, for the purpose of delivering IP cores. The Standard Edition has the QXP format, which works reasonably well for this purpose, but is not supported by Quartus Pro.

    Following section 7.4 in the Pro Edition's Handbook Volume 1, I've successfully managed to generate a post-synthesis QDB in Quartus Pro, and deploy it in a target design. However Quartus Pro will not accept the QDB file in the target design unless the IP core has been compiled for exactly the same FPGA part number.

    This means that if I deliver an IP core for Arria-10, the customer can't switch to another FPGA in the Arria-10 family without having me resynthesizing the IP core. There is no such problem with QXP files (let alone EDIF, which Quartus doesn't support).

    Attempting to compile a project with a QDB file that doesn't match the targeted part number exactly yields an error like

    Error(18097): Partition "|" contains assignment "DEVICE" with setting "10AX115S3F45E2SG", which is different from setting "10AX115S2F45I2VG" in partition "foo_ins|my_core_ins". Modify your design so all partitions use the same setting for the specified assignment.

    Is there a way to solve this? An QDB for a specific part number is pretty useless. Maybe allow the end users to change the target part number of the QDB somehow? Or a way to generate an QDB that covers an entire device family?

    Or maybe the QDB format isn't the way to go at all? But if so, what is? Encrypted sources is not an option.

    Software used: Quartus Prime Version 17.1.0 Build 240 SJ Pro Edition running on a Linux machine.

    Thanks in advance,
    Eli

  2. #2
    Join Date
    May 2013
    Posts
    902
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    When you generated the .qdb file in the developer project, are you sure you selected the "synthesized" snapshot? Using any other Fitter snapshot would cause the issue you mention. See slide 17 in this training:

    https://www.altera.com/support/train.../obbdr100.html

  3. #3
    Join Date
    Jan 2014
    Posts
    13
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Hello,

    Yes, I'm positive that it was the synthesized snapshot. For one, because I never ran the fitter on the design I exported from (it's not something you can do accidentally, given the time it takes to complete on Arria-10). And also because I did this directly with the command line:

    quartus_cdb my_core -c my_core --export_partition my_core --snapshot synthesized --file my_core.qdb

    So there's no doubt about that.

    Regards,
    Eli

  4. #4
    Join Date
    May 2013
    Posts
    902
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Hmm, that is very strange. Is my_core the top-level or a lower level partition? If it's the top-level, that may be the problem.

  5. #5
    Join Date
    Jan 2014
    Posts
    13
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    It was not the top-level partition. I was aware that the root partition should not be exported when I did this.

  6. #6
    Join Date
    May 2013
    Posts
    902
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Oof. Well then I'm not sure what is going on! I guess you could try trashing the project's qdb folder, resynthesize the design and try again. Very strange.

  7. #7
    Join Date
    Jan 2014
    Posts
    13
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Been there, done that. A few times.

    I saw that a different FPGA should be targetable with post-synthesis snapshots in the online course you referred to.

    However the Handbook [1] actually says the opposite, more or less. Section 7.4.1.4 of the Handbook [1] goes: "Because the exported .qdb includes compiled netlist information, the Consumer project must target the same FPGA device part number and use the same Intel Quartus Prime version as the Developer project."

    The examples around this section imply that it talks about post-fitting or finalized snapshots, but I didn't see any distinction between synthesized snapshot and the other variants in the text itself. And the part requiring the same Quartus version isn't all that encouraging.

    So it's not clear where this stands.

    Regards,
    Eli

    [1] Intel Quartus Prime Pro Edition Handbook Volume 1: Design and Compilation, 2017.11.06 (qts-qpp-handbook.pdf)

  8. #8
    Join Date
    May 2013
    Posts
    902
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Well, I just checked it out and the handbook is correct. The training is wrong. The devices have to match.

  9. #9
    Join Date
    Jan 2014
    Posts
    13
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Thank you.

    That brings me back to the original question: How can I deliver an IP core in a format that works as well as a netlist, for use with Quartus Pro?

    Regards,
    Eli

  10. #10
    Join Date
    Feb 2018
    Posts
    24
    Rep Power
    1

    Default Re: Quartus Pro and post-synth QDB for IP cores: Covering more than a single FPGA

    Quote Originally Posted by eli View Post
    Thank you.

    That brings me back to the original question: How can I deliver an IP core in a format that works as well as a netlist, for use with Quartus Pro?

    Regards,
    Eli
    I am interested in the answer to this as well. I see the same problem in Quartus 17.1 Pro.

Similar Threads

  1. Internal Error: Sub-system: OPT, File: /quartus/synth/opt/opt_ram.cpp, Line: 8319
    By aveekdutta in forum Quartus II and EDA Tools Discussion
    Replies: 1
    Last Post: November 10th, 2014, 03:32 AM
  2. Quartus II 13 synth. a SV comp. which uses an interface and attach to testbench, How?
    By evillase in forum Quartus II and EDA Tools Discussion
    Replies: 0
    Last Post: August 7th, 2013, 04:16 PM
  3. PLL Lock time in post synth sim
    By alain in forum Quartus II and EDA Tools Discussion
    Replies: 1
    Last Post: March 1st, 2012, 05:41 PM
  4. Code Coverage: covering a module within testbench
    By ltosone in forum Quartus II and EDA Tools Discussion
    Replies: 5
    Last Post: February 16th, 2012, 10:51 AM
  5. Replies: 1
    Last Post: October 14th, 2010, 08:23 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •