https://github.com/rfdonnelly/docker-questa
A Docker image for Mentor/Siemens Questa
https://github.com/rfdonnelly/docker-questa
docker docker-image mentor questa siemens
Last synced: 10 months ago
JSON representation
A Docker image for Mentor/Siemens Questa
- Host: GitHub
- URL: https://github.com/rfdonnelly/docker-questa
- Owner: rfdonnelly
- Created: 2016-11-14T01:33:42.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2023-09-26T16:36:04.000Z (over 2 years ago)
- Last Synced: 2023-09-26T22:25:23.109Z (over 2 years ago)
- Topics: docker, docker-image, mentor, questa, siemens
- Language: Shell
- Homepage:
- Size: 43.9 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
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.