Continuous Integration for EDA Tools - LIVE ONLINE
Agile and collaborative software development flows are gaining popularity as they result in more builds, tests, and integrations as well as faster delivery and deployment. Hence the code is in a “release-at-anytime” state, the scratch/issue-to-production time is drastically reduced.
Hardware and embedded system designers who also have software background understand the need for such development style in the area of electronics hardware design. However, agile development is not available in EDA environments due to lack of software support. In this live online training, a complete set-up to create agile and collaborative workflow for small and midsized design teams is presented.
There are three fundamental objectives:
Firstly, Git basics are repeated and extended. Secondly, they will be capable of creating an agile and collaborative workflow in GitLab. This includes, that the attendees will comprehend how to increase the code quality with the use of code reviews. Finally, a Vivado example project will be fully embedded into a continuous integration flow.
All tools and services used in this live training are well known and well tested such as cloud services. They enable ubiquitous access to the users. Moreover, these services can be installed in a protected intranet environment to provide full security control to the IT department, while utilizing state-of-the art tools to the development teams.
VHDL coding and how to create assertion-based VHDL testbenches are not parts of this training. Attendees should be confident in understanding and writing VHDL testbenches as well as using VHDL simulators.
The theoretical content is supplemented by exercises carried out by the participant.
Duration: 4 mornings of 4 hours each
Times: 9.00 a.m. - 11.00 a.m. Lecture part 1
11.00 a.m. - 11.15 a.m. 15 minute break
11.15 a.m. - 1.15 p.m. Lecture part 2
Exercises: self paced by the participants. Estimated time for completion appr. 2-3 hours. At the end of a lecture, the exercises to be performed by participants are discussed. The results / sample solutions are presented by the trainer the next day.
After registration: The participant receives the presentation documents in electronic form (PDF) as well as the workbook for the exercises, the login data and a list of
requirements to be done in advanced.
Vision: Transform a local EDA flow into a remote flow running in a CI environment.
- Understand advantages of continuous flows
- Understand needed IT infrastructure and services
- Understand coupling and gearing of services
- Understand how to write CI pipeline descriptions
- Taming EDA tools in an Git + CI environment
- Git Basics
- Flashback for basic Git operations
- Branching, merging
- Flashback for GitLab basics
- Issues, Merge requests (pull requests), Code review
- Advanced Git
- Branching models and workflows
- CI Basics
- IT services and infrastructure
- Pipeline descriptions in YAML
- Jobs, Artifacts, Caching
- Containers, Docker, Docker registry
- Continues Workflows
- Continues Building / Integration
- Continuous Testing
- Continuous Delivery / Deployment
- Continuous Documentation
Simple CI pipeline
Adavanced pipelines for Vivado
GitLab.com account (free)
Source code editor (e.g. Notepad++)
- Git, SmartGit, GitLab
- Basic knowledge in using Vivado block designs
- Basic knowledge in using a shell and shell scripting (e.g. Bash)