# docker-questa **Repository Path**: dxx_open/docker-questa ## Basic Information - **Project Name**: docker-questa - **Description**: docker 构建 qustasim imag; - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-26 - **Last Updated**: 2024-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README = Docker Images for Questa // Settings :doctype: book :chapter-label: :idprefix: :idseparator: - :sectanchors: :sectnums: :sectnumlevels: 4 :toclevels: 4 :source-highlighter: pygments :toc: left :icons: font :imagesdir: images :xrefstyle: full :title-page: :stem: This repository provides Docker images for Questa. These images were created for running UVM testbenches via a continuous integration service with a FLEXnet license server. == Usage . Build the base image . Push to registry . Copy the example Dockerfile template into user testbench . Setup continuous integration service to use the example Dockerfile == Example See link:example/[example/]. == Notes on Packaging === Questa Questa is large but can be pruned. Both the Questa GCC and the system GCC must be installed. The system GCC is required for DPI compilation (e.g. UVM). Questa GCC is required for Questa VIP. It may be possible to use just one but I haven't dug any deeper. Install: * System GCC * Questa 64-bit * Questa provided GCC 64-bit Do not install: * Questa 32-bit * Questa provided GCC 32-bit Prune: * The Questa provided GCC installs several versions. Remove all but the latest GCC from `$QUESTA_ROOT`. * AVM, OVM, and old versions of UVM may be pruned. See https://github.com/rfdonnelly/docker-questa/blob/68c9f73136aa959ef42273f03ccf30718bd1c491/2019.1/base/prune-install.sh[prune-install.sh]. But note, these must also be removed from `modelsim.ini`. See https://github.com/rfdonnelly/docker-questa/blob/68c9f73136aa959ef42273f03ccf30718bd1c491/2019.1/base/prune-install.sh#L61[prune-install.sh:61]. Additional savings may be had by using a smaller base image (e.g. https://hub.docker.com/_/alpine[Alpine]). === Questa VIP The Questa VIP install includes all available Questa VIP. When packaging, only the VIP used should be packaged. The QVIP has common components and protocol specific components. Package all common components but only include the protocol components needed. Exclude: * 32-bit components * Versions compiled with older GCCs Common components: * `include/` * `linux_x86_64/` * `questa_mvc_core/include/` * `questa_mvc_core/lib/` * `questa_mvc_core/linux_x86_64_gcc-7.4.0/libquesta*` * `questa_mvc_src/sv/mvc_*` Protocol components: * `questa_mvc_core/linux_x86_64_gcc-7.4.0/lib*` * `questa_mvc_src/sv/` See the `contrib/package-qvip` script for automating this.