9 Replies Latest reply on Aug 19, 2010 10:27 PM by daniel.wiermans

    Revision Control for schmeatic / PCB design

    hsoli

      Maintain multiple versions of my design (Revision control system)

       

      In old Dxedesinger engineers was keeping a revision of their design for each milestone during design process and before design release.

      Running revision control system was an easy task because design was consisting of multiple schematic files and configuration files

       

       

      Does anyone use Revision control system for hardware design flow?

       

      If yes, how does it work with Expedition2007.7?

        • 1. Re: Revision Control for schmeatic / PCB design
          joe_krolla

          DxDesigner 2005 (and earlier) was a file (and ascii) based environment. Each sheet was a separate file. The most common "integration" with the backend was a netlist, which was dependent on a specific set of schematic sheets to be packaged to forwardannotate into the layout. This made it important to have a versioning system for each file to ensure consistency.

           

          With DxDesigner 2007.x the schematic and the connectivity are an integrated database. No single schematic files are needed to be managed. This allows concurrent access to the same schematic and constraint data set for every team member (through the RSCM server).

          Certainly, this does not make revision control obsolete, especially since you are referring to milestones and release management.

          There are archive capabilities available with DxArchiver, which can help to copy an entire design container as a snapshot and put it under version control in a conventional document management system.

           

          We are sure this is solving the initial problem of configuring a valid data set.

          But are these the real design management problems that need to be addressed?

           

          We would like to understand the use cases better:

          What data need to be managed

          - why and at what level of granularity?

          - by whom? Which user in the design process is responsible?

          - when in the design process

          - when do you manage different configurations and what-if scenarios of the design data? For which design data?

          - How do you validate data integrity between design tools and users? How much time does this cost per design?

          - How do you analyze that the data in the design is error free, valid and complete?


          - What would help to simplify this process significantly?

           

          Thanks for a good discussion and dialog

           

          Joe

          • 2. Re: Revision Control for schmeatic / PCB design
            david.canfield

            Hi Joe,

            I'm with Intel at Oregon.

            Page by page revision control has been our methodology from the start.

            We've engaged with Matthew Killinger, Tammie Warner, Sean Palacio and others over the last year regarding the need for this.

            This is the primary reason why we haven't started using 2007 binary release.

            I know our needs have been noted amongst your team mates are you aware of this?

             

            Granularity:  page level ownership - We might have 5 guys splitting a design by FUBs or individual pages.

            We have always been able to control who changes a page, anybody else viewing that page is read only.

             

            Who is Responsible:  If one person has to be the admin, then the project manager would be the most likely candidate.  What if the project lead is not available, that would be an issue.

             

            We manage flat schematics designs and stay away from the hierarchical method.

             

            Our schematics cover one board at a time.  So if a project platform incorporates 4 boards, then there would be 4 schematics and 4 teams.

             

            hope that helps

             

            David Canfield

            Intel Validation Platforms

            • 3. Re: Revision Control for schmeatic / PCB design
              hsoli

               

               

              Hello David

              We have the same concerns as you David.

              I have to ideas listed for these issues.

              1- First idea about revision control for schematic and pcb design

              2- The second idea about schematic sheet control " Read/Write for schematic sheet and design level- ICDB flow"

              https://na5.brightidea.com/ct/ct_a_view_idea.bix?c=4A483461-DF62-4727-A124-E53A6E3A46E5&idea_id={8356C16C-8A6A-4FD2-A74B-6BEFD6586AF6}

               

              Can you vote for the second idea, please?

              I discussed these ideas with mentor ( Joe) and I hope I can see solution in both areas within the next release.

              Can I communicate with through emails separate from Mentor Ideas?

              My email is hany.soliman at dolby.com

              Thanks

              Hany

              • 4. Re: Revision Control for schmeatic / PCB design
                david.canfield

                I finally got around to reading an email from Sean P. at mentor, I posted this on your Ideas blog as well.

                "With regards to the 'basic revision control' this functionality is available today in 2007.8. This functionality is the File..Backup and File..Rollback options. DxDesigner ReadOnly - The capability is in the tool today where you can open the entire database read-only. a /readonly flag is set on invoke time. example (viewdraw.exe /readonly). We can setup a tool icon to invoke readonly.

                 

                We are also proposing that we look at a scripting solution that would follow the following use case and add options to the DxDesigner Menu.
                1) User opens schematic project and all sheets are ReadOnly
                2) User must select option to change to Edit Mode
                3) User exits sheet and the sheet reverts to ReadOnly mode or User selects the 'Change to ReadOnly' menu option This is a visual basic scripting exercise that I feel would not take long to validate. "

                 

                I hope that helps and we will be testing this backing up and rollback option to see if it can replace our current methdology for revision control.
                • 5. Re: Revision Control for schmeatic / PCB design
                  artsiom.shchatsko

                  Well, correct me if I'm wrong but "backup/rollback" in DxD has very little to do with real revision control, it's rather a more intelligent replacement of "save/load". For revision control the DxD Archiver is a tool to use (as it was suggested earlier).

                  • 6. Re: Revision Control for schmeatic / PCB design
                    hsoli

                    Yes , You are correct .DxArchive is the proper tool used for revision control.

                    The only downside within this tool is you will archive the whole project instead of certain folders or schematic sheets.

                     

                    • 7. Re: Revision Control for schmeatic / PCB design
                      joe_krolla

                      David,

                      thanks for responding to this post and the answers to the questions.

                       

                      Yes the Intel use cases were shared with us and should be captured inhouse.

                      We also understand that the limited control in schematic today is a barrier for you (and maybe others).

                       

                      Opening the design read-only and the use of scripting might be a temporary solution that is being investigated, making sure we understand the issues and limitations as well.

                       

                      What I hear you saying is that you are using DxDesigner one board at a time, but each platform has four boards.

                       

                      This raises another interesting question, independent of the sheet-level management per design:

                      How do you coordinate the 4 designs per platform, including nets (naming conventions, constraints), parts (or blocks) among these boards as well as the mating connectors, locations, geometry checking between the boards?

                      • 8. Re: Revision Control for schmeatic / PCB design
                        joe_krolla

                        Hany, All,

                         

                        Thanks for the post as well as the idea at the BrightIdeas platform.

                         

                        Your points are good input and indeed we do not anticipate the DxArchiver as the ultimate solution. The Archiver is what its name says: its intended to create a static snapshot of the design, which can be stored in a directory as backup or in a vault as milestone, snapshot - to name a few scenarios.

                         

                        Please allow a couple of days to coordinate a comprehensive response to this thread, reflecting correctly what we are working on and how we will provide different solutions for the challenges mentioned above.

                         

                        Joe

                        • 9. Re: Revision Control for schmeatic / PCB design
                          daniel.wiermans

                          Any news on this item yet? We are also eagerly waiting for a solution to perform true revision control on our schematics and PCB design data. We have always done this by keeping the individual design files under revision control, but this is no longer possible with the iCDB based flow. The lack of this functionality is holding us back in adopting the iCDB based flow.

                           

                          We filed  https://mentorideas.brightidea.com/ct/ct_a_view_idea.bix?c=FDA2FA5D-237C-48D7-A66F-5DA754706D6C&idea_id=BD4DB22C-1757-478C-AC66-B565B3452310 for this issue.

                           

                          An update on the status of this issue would be appreciated.