Forum Discussion

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

Locate Design File does not work on a restored project from a .qar file in TimeQuest

When I restore a .qar file that has been generated in by our build in the cloud, I can't use Locate Design File from Timequest.

The problem is that the .qar file contains absolute paths, which exist in the cloud, but not on my local computer.

How can we generate a .qar file with relative paths?

This is the command line we use to generate the .qar file. We can't use the GUI, as this is automated:

quartus_sh --archive -use_file_set full_db -common_dir /workspace/hardware/foo_top -output foo.qar top

We're using Quartus 19.3

14 Replies

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

    Normally, when you archive a project that includes files outside the project directory, the archiver copies the external files into the .qar and gives them a virtual drive letter to make the .qar portable. I don't know if the -common_dir option (which I haven't seen before) is affecting this. Have you tried creating the .qar without this option?

    #iwork4intel

    • OHarb1's avatar
      OHarb1
      Icon for Occasional Contributor rankOccasional Contributor

      Excluding "-common_dir", has no effect: Quartus still tries to use absolute paths on the restored project and TimeQuest fails to locate the design file.

      The absolute path is to a folder within the folder where top.qsf is located.

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

    What you can do is have a quartus gui opened in any computer. Then project -> archive project -> try to include the files the relative path and archive it.

    After that, from they, you should see the command that is being used in the Quartus itself and you can copy and make used of it.

    • OHarb1's avatar
      OHarb1
      Icon for Occasional Contributor rankOccasional Contributor

      How, exactly, do I "try to include the files the relative path"?

      I don't see an option to do this...

      All the files that I can see in the "add" requester, have relative paths.

      When I add a custom file, then I get a command line which uses "arc_file_list_temp.tmp.txt", which, presumably lists all files.

      It has absolute paths for the files that I explicitly selected and relative paths for the files that Quartus knows to include in the archive.

      Info: Command: quartus_sh --archive -revision top -output /home/oyvind/Desktop/ascenium_restored/top_19_3_0_222.qar -use_file_set custom -input /home/oyvind/Desktop/ascenium_restored/arc_file_list_temp.tmp.txt -use_file_subset qsf -use_file_subset auto top

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

    Here are the list available for the project archive.

    https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/qts/archives/qts-qpp-5v1-17-1.pdf?wapkw=QPp5V1

    Page 82,

    -all_revisions - Includes all revisions of the current project in the archive.

    • -auto_common_directory - Preserves original project directory structure in archive

    • -common_directory / - Preserves original project directory structure in specified subdirectory

    • -include_libraries - Includes libraries in archive

    • -include_outputs - Includes output files in archive

    • -use_file_set - Includes specified fileset in archive

    If it still not work, let me know. We will have to enhance the feature on this.

    • OHarb1's avatar
      OHarb1
      Icon for Occasional Contributor rankOccasional Contributor

      I tried with "-auto_common_directory", but it still doesn't work. The .qar still contains aboslute paths.

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

    When you mention that you use cloud, which cloud that you were using? I would like to test it there as well.

    • OHarb1's avatar
      OHarb1
      Icon for Occasional Contributor rankOccasional Contributor

      We're using github pull requests to drive Google Cloud Build.

      It's a fair amount to set up....

      Fully automated:

      1. Create pull request
      2. All unit-tests are run
      3. All
      4. P&R is run (using Quartus in docker image)
      5. Timing checks (our own script as P&R will not return non-zero exit code even if there's no timingclosure)
      6. (Not in the cloud, but on a local Jenkins slave) The bitfile is uploaded to the FPGA
      7. (Not inthe cloud) Various tests are run on the FPGA
      8. The pull request is marked as correct
      9. Mergify on github merges the pull request
    • OHarb1's avatar
      OHarb1
      Icon for Occasional Contributor rankOccasional Contributor

      I've given it a try, I've got an account, but it seemed like a half-hearted attempt at checking the FPGA cloud box for Intel/Nimbix.

      It doesn't seem to start with an understanding of what problems FPGA developers need solved, there's not much documentation, no working examples of how to integrate with e.g. github pull requests, there's no way to upload my own bit files to the Arria 10 FPGAs, etc.

      Also, I would still need the Google Cloud Build to get the github plugin for pull requests.

    • OHarb1's avatar
      OHarb1
      Icon for Occasional Contributor rankOccasional Contributor

      This documentation is 3 years old... Also, the workflow is pretty much pointless to us: I don't want to replicate my local workflows in the cloud

      II want to do something different in the cloud: automate P&R and testing workflows.

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

    I had requested developer to support google cloud in the near future. They will evaluate it and if it supported, we should have documentation and your problem should be resolve.