Hello to all readers,
I just want to inform the mailing list, that I found a way to use GHDL on Continuous Integration (CI) platforms like Travis-CI, which is already used by GHDL itself. A working example can be found in the current release branch of our PoC Library. https://github.com/VLSI-EDA/PoC/tree/release I couldn’t find any gratis CI platform with GitHub integration, which offers native HDL (VHDL, Verilog, …) support, so I investigated how it’s possible to install GHDL in such an environment. I’m using Travis-CI to build an example use case. First, I added a deployment process for GHDL, so it’s possible to push tagged commits to a GHDL repository, which trigger a GHDL build run. The compiled files are afterwards bundled in a tar.gz file and pushed as a release back to the GHDL repository. With this flow it’s possible to provide “weekly” builds. A Pull-Request is filed and waiting for a review. If one has forked GHDL into his own GitHub account, the follwoing Pull-Request adds all necessary files and settings to the repository: https://github.com/tgingold/ghdl/pull/59 The current deployment process supports GHDL with llvm backend. Because of the old build environment (Ubuntu 14.04 with gcc 4.8) it’s not suggested to use these builds outside of the Travis-CI platform. I have no knowledge how Debian/Ubuntu packages can be built on such a system, but I think it could be integrated too. (Or whatever other package format is wished.) The next step was to setup a Travis-CI system for my own repository. The *.yml file requests a sudo environment, because apt-get access is required to install libgnat-4.8. (libgnat is not in the list of trusted Ubuntu packages via the “addons.apt.packages” yaml key.) I added three Bash scripts to my repository, which are hooked into the Travis-CI flow: - ghdl.setup.sh -> wget GHDL, extract the files and do a short GHDL version test - poc.setup.sh -> setup some files in the PoC repository, after Travis-CI cloned it for me - poc.run.sh -> run the testbenches Here is my .travis.yml file https://github.com/VLSI-EDA/PoC/blob/release/.travis.yml Here are the scripts: https://github.com/VLSI-EDA/PoC/blob/release/tools/Travis-CI/ghdl.setup.sh https://github.com/VLSI-EDA/PoC/blob/release/tools/Travis-CI/poc.setup.sh https://github.com/VLSI-EDA/PoC/blob/release/tools/Travis-CI/poc.run.sh If anyone wants to try it by himself, until its integrated into GHDL, here is my current GHDL (llvm) build for Travis-CI: https://github.com/Paebbels/ghdl/releases/tag/v0.34dev-2016.04.20 Regards Patrick Lehmann ----------------------------------- Wissenschaftliche Hilfskraft Technische Universität Dresden Fakultät Informatik Institut für Technische Informatik Lehrstuhl VLSI-Entwurfssysteme, Diagnostik und Architektur 01062 Dresden Tel.: +49 351 463-38451 Fax: +49 351 463-38324 Raum: APB-1020 E-Mail: <mailto:patrick.lehm...@tu-dresden.de> patrick.lehm...@tu-dresden.de WWW: <http://vlsi-eda.inf.tu-dresden.de/> http://vlsi-eda.inf.tu-dresden.de
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Ghdl-discuss mailing list Ghdl-discuss@gna.org https://mail.gna.org/listinfo/ghdl-discuss