Git for EDA Tool Flows - LIVE ONLINEPLC2 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- or 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 hardware and/or embedded system design teams is presented.
There are three fundamental objectives:
Firstly, it is aimed that the attendees will have an understanding and ability to use a version control system (Git) at the end of the course. Secondly, they will be capable of creating an agile and collaborative workflow in GitLab. Finally, the attendees will comprehend how to increase the code quality with the use of code reviews.
All tools and services used in this online training are well known and well tested such as cloud services. They enable ubiquitous access to the users. Moreover, these tools and 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.
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: Understand Git and create an agile, collaborative development process.
- Understand Git’s history and internals
- Using Git commands in command line or in a GUI
- Branching, conflict solving, handling corner cases
- Work flows and team work based on Git
- Taming EDA tools in an Git environment
- Versioning of third party files like IP cores
- Creating hierarchies of repositories (sub modules)
- Using Git on server side (GitLab)
- Issue handling, merge requests, code review, milestones, epics
- Prepare Git for continuous work flows like CI/CD
- Git Basics
- Introduction to version control systems
- Basic Git operations via CLI and GUI
- Git references: branches, tags, remotes
- Branching, merging
- Introduction to GitLab
- Issues, tags, milestones, issue boards
- Merge requests (pull requests)
- Code review
- GitLab integrations (extensions)
- Advanced Git
- Branching models and workflows
- Scripting for Git
- Continuous Workflows
- Continuous Building
- Continuous Integration
- Continuous Delivery / Deployment
- Continuous Documentation
- Git and EDA Tools
- Xilinx Vivado
- Aldec ActiveHDL, RivieraPRO
- Mentor Graphics ModelSim, QuestaSim
- Git with CLI and GUI
- Teamwork in GitLab
- Scripting for Git
- Git installation
- GitLab.com account (free)
- Source code editor (e.g. Notepad++)
Git, SmartGit, GitLab
Basic knowledge in using a shell