Page 20

EETE JULAUG 2013

EDA & DESIGN TOOLS Fig. 2: Version control basics. changes made to the source code in real-time. This also meant that the system captured metadata for each change, including who made the change. This facilitated full traceability, meaning the ability to document which team member worked on which module, made what changes, and when. It also enabled improved reporting and monitoring so engineering managers could track productivity and design progress. All of these advances resulted in accountability by all team members. Version control for hardware design PCB design teams can typically range from one to 20 designers with an average of approximately five for mainstream design firms. Large semiconductor companies may employ FAE teams numbering in the hundreds who do reference design work. Commonly, small to medium hardware design teams maintain electronics design data on each designer’s individual hard drives. Unfortunately, no one then actually knows where all the data for the design is located. As companies have realized this shortcoming, they have committed to maintaining their corporate knowledge in a dedicated database. Electronics hardware design teams have had some difficulty implementing version control because the process and tools are still largely based on software engineering principles. Without an integrated version control system in their EDA tools, hardware designers have tried freestanding version control programs with check-in and check-out capabilities. However, non-integrated solutions fall down because the individual designer and/or the manager can make no visual comparisons to the schematic and the PCB from one version to the next. In EDA software with fully integrated version control, team members see the status of all templates, updates to relevant regulatory standards, and changes to any designs. As a result all team members are automatically notified when a change occurs. In software, a manager or team member can run a “differencing tool” in the software under development to identify, resolve and commit changes between versions. However, EDA tools produce binary and graphical output, not text based output as in software code. This makes identifying hardware changes via a text-based, non-integrated tool extremely difficult and error-prone. Managers and designers need to see the changes graphically, merge them into the design, and commit to the change. Simply put, none of these capabilities are possible with non-integrated version control systems. Adjusting hardware design best practices Hardware design practices need to change due to competitive pressures as noted in the Aberdeen Group’s research report, “Need to Save PCB Design Time?” The report is based on interviews and surveys of 133 electronics companies. Once the research team gathered all of the data, they assembled a competitive assessment of the surveyed companies. They established three categories of survey participants; best-in-class, average, and laggards. As shown in the survey, each of the three categories of companies exhibited common performance levels for five key parameters: Process (the approaches they take to manage PCB data) Organization (who data is exposed to) Knowledge Management (how the knowledge in the PCB data is managed) Performance Management (the ability of the organization to measure its results to improve its PCB data management practices) Technology (the appropriate tools used to support PCB data management) Version control, as noted in the Aberdeen report, falls into the category of “Knowledge Management”. Note that the “Knowledge” category in figure 1 cites three items: Schematics and PCB layout are synchronized Schematics and BOM are synchronized A nd there is version control for each data element on the PCB Any stand-alone version control software can perform basic check-in and check-out. However, design teams quickly discover that they can’t automatically lock a checked-out item. This results in either overwritten or lost design work. Team participants are also unable to visually compare revisions in the schematic or the PCB. They also painfully learn that the solution lacks built-in data management functionality. Merging collaborative work performed on different parts of the project poses further time-consuming challenges. EDA tools with an integrated version control system (VCS) deliver full check-in and check-out functionality including locking of checked-out items. Like their software counterparts, an integrated VCS establishes a single repository for all projects. All design modules and components are checked into the Version Control Repository. Each individual file contains extensive meta data including a record of design changes, the designer, date of change, etc see figure 2. When two (or more) team members simultaneously check out an item, the file is formally checked out to the first user. Depending on the actual version control backend, the user either automatically or manually locks the file from any other team members. When a second user checks out the same file, this designer can work on it only as a copy. Once the first designer completes work on the file and saves it to the repository, that action releases the lock. When the second designer reopens the now unlocked file, his work will be marked “out of date”. He or she can review the changes made by the first designer and merge the work previously done as a copy into the file and check it back in if appropriate. To establish an Incremental history, the project’s engineering manager performs the initial check-in and labels the project as REV 0. This becomes the starting point for the design. 18 Electronic Engineering Times Europe July/August 2013 www.electronics-eetimes.com


EETE JULAUG 2013
To see the actual publication please follow the link above