Talking about the collaborative design in pcb design
Collaborative design includes a series of great tools that enable clear visibility, difference comparison, and selection and merging. The functions and interactions seen by end users are just the tips of the iceberg of collaborative design. In fact, the back end of the collaborative design system determines its effectiveness. A well-organized core structure that lays the foundation for seamless collaboration.
Using a strict management system is a mandatory matter in software development companies. Since there are too many people working on code design and there are many versions every day, if there isn’t a management system to control them, then every development process will be a mess. In the software design industry, version control as a company’s document management has been fully validated, so we use it in electronic collaborative design systems is very meaningful.
Version control: just a simple summary
Anyone at Anyon who is familiar with the version control system knows about subjects, branches, merges, and tags.
The main body refers to the main line of development of the design or project, and the latest version of the main body is a revised version. According to different designers’ modifications to different fields of the project, multiple branches are generated. Therefore, it is very possible to have several parallel designs at the same time. In fact, it is inevitable in the collaborative design process. In the development process, they will eventually be integrated into the final design or milestone.
Figure 1: In a version control system, the development process is managed as the main body, and the parallel unfolded design is called a branch. Branches can be merged into the body or discarded, and each specific milestone can be marked.
Branches can be merged or discarded using a collaborative design comparison tool, depending on its relevance or usefulness to the final design. If some branches do not have any useful information added to the latest revision, they will be discarded. And if this branching process can affect the final design, then some of the design changes need to be merged into the body to generate the latest revision.
The revisions are marked periodically during the development of the project and a snapshot can be taken off the project. Tags are used to identify a milestone in the product development process. In the case of collaborative design, when the branch of the system design is merged into the body, it can serve as a good benchmark.
So, must collaborative design use version control?
Of course, understanding version control does not mean that design engineers can collaborate on design without error. Figure 1 helps us visualize parallel development. Even though the interface is more complex collaborative design tools, it seems to use a variety of complex, mysterious algorithms, but their core is a beautified version control system. The difference is that the type of structure discussed earlier is a collaborative design through a graphical user interface.
The design engineer individually modifies his version (ie, his own branch) in a project, and finally, these modifications are either merged or discarded. Collaborative design tools help design engineers avoid conflicts and handle conflicts efficiently.
Build a better system
Although version control is a good foundation for collaborative design, there are better implementations here. Let’s expand on the idea of designing a snapshot. What happens if we can take a design snapshot and put it into a larger data management system with lifecycle state change and approval? This is the ultimate goal, and version control retains an accurate version revision history to help maintain data integrity, but it does not maintain the data integrity of the product’s overall lifecycle. As shown in Figure 2, a product spans multiple areas, from a supply chain, electronic design, mechanical design to manufacturing. Version control in these separate areas preserves the revision history of the project, and the true data management system can be extended to the required areas to bring products to market.
Figure 2: Design release includes all information on design, as well as other related areas, bringing products to market at specific points in time.
Electronic designers worry about many different aspects and potential risks, and the life cycle seems to be a monster coming out of a horror film. Product Lifecycle Management (PLM) will manage all data for a product, from its birth to its delisting. And it doesn’t just manage the design release of the product. The best way to understand a design release is to start with the basics:
০ PCB package
• Pad cascading
∎ Assembly drawing
∎ 3D mechanical model
Rules and constraints
∎ Alternative view
∎ Supply chain information
∎ Data Sheet
Pin exchange data
০ Parameter data
∎ Lifecycle status
০ Supply chain information
Mechanical assembly file
০ 3D mechanical model
০ 3D output printing
০ 2D CAD drawing
০ Manufacturing output
০ List of materials
∎ Supply chain information
০ 3D output printing
This is a top-down structure, but there are a lot of connections and dependencies between different entries. Proper data management ensures independent management of all parent and child entries, as well as corresponding revision history data. Similarly, lifecycle management keeps track of all entries from start to finish. This may seem complicated. In the final analysis, each designer only needs to make changes to the changes themselves. The system ensures that each change and modification is visible and approved by the administrator at the time of approval. Project tracking is not a guessing game, and only when all the details are available, the product’s lifecycle state can move forward.
A powerful platform that enables data consolidation across multiple domains is far more collaborative and collaborative than a version control system. Therefore, we believe that the design release process is the best way to ultimately promote cooperation. Especially for cross-domain, another interesting topic is how end users handle data in these areas. In the next series of blogs, we will discuss together.