This is a series of container images for Intel Quartus Prime Pro v24.1
All images provided are built on top of Ubuntu 22.04
It currently includes the following images:
agilex7: run the full compile flow for an Agilex7 design. docker pull intel/quartuspro-v24.1:agilex7
agilex7-synthonly: run only the synthesis flow (including IP Generation) for an Agilex7 design. docker pull intel/quartuspro-v24.1:agilex7-synthonly
agilex7-fitteronly: run the post synthesis flow (starting with the fitter) for an Agilex7 design. docker pull intel/quartuspro-v24.1:agilex7-fitteronly
agilex5: run the full compile flow for an Agilex5 design. docker pull intel/quartuspro-v24.1:agilex5
agilex5-synthonly: run only the synthesis flow (including IP Generation) for an Agilex5 design. docker pull intel/quartuspro-v24.1:agilex5-synthonly
agilex5-fitteronly: run the post synthesis flow (starting with the fitter) for an Agilex5 design. docker pull intel/quartuspro-v24.1:agilex5-fitteronly
Running using docker run
A few docker run arguments are required to run these images.
One of the following flows can be used to run Quartus:
Tcl script flow
Run any Tcl script provided with Quartus (when selecting specialized images like intel/quartuspro-v24.1:agilex7-synthonly make sure everything called by the script is available, when in doubt used the full image)
qsf flow
Run the appropriate steps using a .qsf project
qar flow
Run the appropriate steps using a .qar file
A local copy of the data inside the QAR file is used and results are returned in a .qar file
Useful to combine a single run of intel/quartuspro-v24.1:agilex7-synthonly with multiple runs of intel/quartuspro-v24.1:agilex7-fitteronly (like in a seed sweep)
Required (docker run options required by all flows)
--net=host
This is required by the Quartus licensing. The run will fail without it.
--mount type=bind,source=<local path to Quartus design>,target=<path inside container>
Design needs to be mounted inside the container. By default the Quartus images use /data as the target
--env LM_LICENSE_FILE
Your current environment must have LM_LICENSE_FILE defined pointing to your Quartus license
Using the Tcl script flow
Required- Image specific options (must be specified after the image specification on the docker run command-line)
-t|--tcl <path to tcl script inside the container> <args to tcl script>
Enable the flow by specifying the script to run along with its arguments
Examples
To run a script called run.tcl located in /quartus/project1 with the arguments val1 val2 and using the intel/quartuspro-v24.1:agilex7 image use:
docker run \
--net=host \
--env LM_LICENSE_FILE \
--mount type=bind,source=/quartus/project1,target=/data \
intel/quartuspro-v24.1:agilex7 \
--tcl run.tcl val val2
Using the qsf flow
Optional - Image specific options (must be specified after the image specification on the docker run command-line when used)
-d|--design-dir <path to your design inside the container>
defaults to /data
-p|--project <top level> <design name>
name of the Quartus .qsf file (without extension)
Examples
To run a project called top located in /quartus/project1 using the intel/quartuspro-v24.1:agilex7 image use:
Required - Image specific options (must be specified after the image specification on the docker run command-line)
-q|--qarfile <path to the .qar file inside the container>
Enable the QAR flow by specifying the absolute location of the .qar file (without extension) inside the container
-r|--result <name for the results .qar file>
name of the results .qar file (without extension)
Optional - Image specific options (must be specified after the image specification on the docker run command-line when used)
-d|--design-dir <path to your design inside the container>
defaults to /data
-p|--project <top level> <design name>
name of the Quartus .qsf file (without extension)
--qarqsfdir <path for the qsf file inside the .qar file>
defaults to the top-level directory '.'
Enable the QAR flow by specifying the location of the .qsf file within the .qar file located inside the container'
Examples
To run an archived project called top.qar located in /quartus/project1 and name the results .qar file top_result.qar using the intel/quartuspro-v24.1:agilex7 use: