Cadence的PCB工程如何做版本控制
本帖最后由 477748703 于 2015-4-11 04:40 编辑Cadence工程除了复制工程文件夹做备份,还有什么好方法?
比如Altium Designer 就集成了SVN的接口,并且自带有比较两个工程版本差异的功能, 可以很方便的对整个工程做版本控制(比如退回到某个版本查看某个版本更新的部分)。见本论坛很好的教程【AD系列教程】利用SVN进行版本控制设计
不懂是Cadence是没有类似功能还是我不知道, 如果没有类似功能,那么大的公司是如何对工程进行维护和跟踪的呢,有什么好的方法, 大家推荐一下。
这里不是讨论两个工具的优劣,各有各的优势和目标用户,也不要简单的回答 直接用AD就行了。 只是好奇用Cadence的用户如何更好地维护工程的:) git command memstone 发表于 2015-4-18 22:58
git command
Candence 支持 Git ?
还是 Cadence工程作为 普通二进制 文件保存到Git 仓库? 477748703 发表于 2015-4-20 05:41
Candence 支持 Git ?
还是 Cadence工程作为 普通二进制 文件保存到Git 仓库?
后者。
也就两条命令的事,集成也意义不大,自己加好提交注释就可以了。 memstone 发表于 2015-4-20 07:27
后者。
也就两条命令的事,集成也意义不大,自己加好提交注释就可以了。 ...
以后merge的时候, 遇到两个二进制文件冲突的情况, 怎么解决?
所以用Git管理二进制文件 是没什么意义的: ) 一个人的时候就有意义,多人就没意义了 是的,同意楼上,现在只是回溯用,协作就算了。 mark下,很有用的提问 PADS和AD都选用SVN,Pads VX的版本管理略为了解了一下,可以比较版本之间的差异,并在图形中显示出来,这样的功能还是很有用的。 wuyya 发表于 2015-4-21 07:45
PADS和AD都选用SVN,Pads VX的版本管理略为了解了一下,可以比较版本之间的差异,并在图形中显示出来,这样 ...
我只知道AD可以,Pads还没接触过。确实有这功能实在是方便很多。
Cadence的仿真和高速布线方面做很好,为什么没有实现这个相对简单但非常实用的功能呢?。
再说那么多用Cadence的大型企业和大的团队不可能没这方面需求的。
很好奇他们怎么跟踪项目版本的。 tuy0326 发表于 2015-4-21 02:21
一个人的时候就有意义,多人就没意义了
多人合作为什么会没有意义呢?
比如你想知道你同事对电路做了什么修改,软件用图形化的方法标注出他的版本和你版本的区别比文字的注释要明确很多吧。
或者一个新的工程接替老的的工程师维护一个项目,如果能随时查阅整个工程修改的历史。我想这样的交接也会轻松很多。
尤其是Github上那些开源项目,参与项目的人分布在世界不同地方,时区可能都不一样,如果想交流想法,有什么比直接修改各自的仓库工程版本,然后再推送给其他人方便呢?
总之,我觉得软件开发版本控制的需要和电路设计的版本控制需求大同小异,现在哪个程序员不使用Git或SVN,哪个流行的IDE不支持GIT。所以对于Cadence,我认为这个功能是必不可少的,我估计他们应该是提供了某种的企业版解决方案吧?只是我没了解到而已: ) 所以请用过的人解惑下 大公司有几个画PCB的知道GIT SVN。
反正我们这是原理图 cover页 list管理。
PCB excel 管理。 477748703 发表于 2015-4-21 10:09
多人合作为什么会没有意义呢?
比如你想知道你同事对电路做了什么修改,软件用图形化的方法标注出他的版 ...
当你俩都基于一个版本修改后再提交合并,这将是灾难性的 tuy0326 发表于 2015-4-21 16:55
当你俩都基于一个版本修改后再提交合并,这将是灾难性的
找到冲突再解决冲突再合并 用Git遇到这个不是很正常吗?总不可能因为这个不合作吧? Mecono 发表于 2015-4-21 11:33
大公司有几个画PCB的知道GIT SVN。
反正我们这是原理图 cover页 list管理。
PCB excel 管理。 ...
原理图 cover页 list管理
PCB excel 管理
能说具体点吗?没看懂: ) 477748703 发表于 2015-4-22 04:41
原理图 cover页 list管理
PCB excel 管理
能说具体点吗?没看懂: )
原理图 第一页的cover会标注 日期 修改点。 然后在相关页的修改处 标注日期 修改内容。
PCB 每个brd单独日期标注,同时excel里 标注具体日期 修改点。然后相关PCB 版本号变更。
最后整个工程上传服务器。 PCB的merge功能也就是多人协作吧,跟版本控制没有关系!
硬件的版本控制也就是为了归档,记录修改内容。 Yondyanyu1 发表于 2015-4-22 10:25
PCB的merge功能也就是多人协作吧,跟版本控制没有关系!
硬件的版本控制也就是为了归档,记录修改内容。 ...
不一样吧
你指的多人协作是不是candence可以将pcb划分给不同的区域分工给不同的工程师去画,然后最后放在一起合成最后一个完整的PCB的这个功能?
我指的merge是GIT里面你可以建不同的分支,然后用merge的命令可以将两个分支合并。 Mecono 发表于 2015-4-22 10:07
原理图 第一页的cover会标注 日期 修改点。 然后在相关页的修改处 标注日期 修改内容。
PCB 每个brd单独 ...
哦。学到了,很规范。
如果准备做新的修改,你们是将原有工程文件夹整个复制以后再修改吗? 477748703 发表于 2015-4-22 17:56
不一样吧
你指的多人协作是不是candence可以将pcb划分给不同的区域分工给不同的工程师去画,然后最后放在 ...
"merge是GIT里面你可以建不同的分支,然后用merge的命令可以将两个分支合并。"
硬件设计里很少用到这个功能吧!! 我使用 PADS , 用的是 SVN, 主要还是注释.
如果真的要比较差异, PADS 里有 Compare/ECO Tools
477748703 发表于 2015-4-22 18:01
哦。学到了,很规范。
如果准备做新的修改,你们是将原有工程文件夹整个复制以后再修改吗? ...
大的变化的话 会备份一下工程文件夹。
小的阻容值的改动 直接在原理图中标注。
其实主要是为了方便归档。 Yondyanyu1 发表于 2015-4-23 09:51
"merge是GIT里面你可以建不同的分支,然后用merge的命令可以将两个分支合并。"
硬件设计里很少用到这个 ...
在你想加实验性功能的时候还是挺有用的。硬件设计也一样吧,你想尝试另一种方案或者新的芯片,新建一个分支然后改动,如果效果满意直接和主分支合并(merge),如果效果不好,直接删掉新分支。我认为软件开发的很多思想很先进,不仅想用到硬件开发上,还可以用到生活的其他方面,思想的东西是相通的。如果PCB工程师是艺术家的话,那么软件工程师就是哲学家。 饭牛牛 发表于 2015-4-23 11:07
我使用 PADS , 用的是 SVN, 主要还是注释.
如果真的要比较差异, PADS 里有 Compare/ECO Tools
...
谢谢回复。
Pads我没接触过,看样子不错,有机会试试。
现在的情况是Altium designer和Pads都有类似功能,证明软件实现这功能不是很难(对于优秀的软件开发商),那么为什么Cadence不加入这功能呢,或许在等下一次大的版本更新放大招吧?:) Mecono 发表于 2015-4-23 19:28
大的变化的话 会备份一下工程文件夹。
小的阻容值的改动 直接在原理图中标注。
其实主要是为了方便归档。 ...
恩,谢谢。
我就是觉得备份文件夹实在是太占空间,所以才问这问题的:) 477748703 发表于 2015-4-23 20:52
谢谢回复。
Pads我没接触过,看样子不错,有机会试试。
现在的情况是Altium designer和Pads都有类似功能 ...
使用 SVN 版本控制软件, 管理起来还是非常有条理的, 方便很多. 饭牛牛 发表于 2015-4-23 21:22
使用 SVN 版本控制软件, 管理起来还是非常有条理的, 方便很多.
恩。赞同。 本帖最后由 饭牛牛 于 2017-4-17 11:57 编辑
477748703 发表于 2015-4-25 09:15
恩。赞同。
时隔多年,对 PADS 的版本管理我又有点改进。
将 PADS Logic 文件导出成 txt文件,然后通过 Git 来进行版本管理,每次修改后可以直接查看到差异。
目前 PADS Logic 已经做成了自动化导出 txt 文件,并删除不必要的信息,如 窗口中心,当前页,比例。
不知道 MENTOR 怎么想的, 为什么要把窗口中心,当前页和比例,也写到数据文件中。
下一步计划对 PADS Layout 也进行自动化处理,并使用 ASC 文件来比较,并版本管理。 文控需要公司的流程制度来保证 happy_andy 发表于 2017-4-17 11:54
文控需要公司的流程制度来保证
和这个没有关系。
两个不同的方向,不歪楼。 版本管理的确需要查看差异才好,kicad用ascii格式的,这方面有优势,似乎cadence没有 liurangzhou 发表于 2017-4-18 09:07
版本管理的确需要查看差异才好,kicad用ascii格式的,这方面有优势,似乎cadence没有 ...
是的,KiCAD 的比较很方便。 饭牛牛 发表于 2017-4-18 15:47
是的,KiCAD 的比较很方便。
PAD输出的txt文件(文本文件),怎么比较差异呢?文字的差异能看出PCB图形的差异吗?
没玩过,给描述一下? overheat 发表于 2017-6-22 16:16
PAD输出的txt文件(文本文件),怎么比较差异呢?文字的差异能看出PCB图形的差异吗?
没玩过,给描述一下 ...
可以看看我这个例子.
http://git.oschina.net/fanniu/t17tpl02g-pcb-main
画PCB的不会是一个大的团队,基本都是一个人,多的也是分模块而已。而且很多东西是由硬件主导的,原理图和结构做了修改或者别的问题才会被动的去修改PCB。而修改发起者不是太care你原先的东西,他们只在意本身的部分。 zjykwym 发表于 2017-6-24 17:44
画PCB的不会是一个大的团队,基本都是一个人,多的也是分模块而已。而且很多东西是由硬件主导的,原理图和 ...
建议无效.
理由无效. 477748703 发表于 2015-4-23 20:43
在你想加实验性功能的时候还是挺有用的。硬件设计也一样吧,你想尝试另一种方案或者新的芯片,新建一个分 ...
有个疑问,硬件的文件毕竟和代码的文本不同,两个有细微区别的pcb文件用git难道可以合并,合并出来的文件再打开会不会十个损坏的文件? zchong 发表于 2018-4-4 19:48
有个疑问,硬件的文件毕竟和代码的文本不同,两个有细微区别的pcb文件用git难道可以合并,合并出来的文件 ...
二进制合并不了的。
没必须要一定合并的。
有增量的历史记录已经非常不错了。
如果想再深入一点可以把原理图或 PCB 导出文本文件提交并比较。 使用git就好了;
原理图和PCB用版本管理远不如代码那么方便,但是小规模的修改记录还是可以用一下的;代码上SVN不如GIT,不过原理图无所谓,基本上不可能考虑分叉,merge的问题,一条干道管理记录修订就可以了;
这里想到一个问题,AD有 ascii格式和二进制格式的,我想如果用ascii格式的话,是不是就更接近代码管理了,会不会更方便一些,比较的时候可以用非常成熟的beyondcompare来比较,不必使用AD(AD的比较真是很烂啊)
但是不知道ascii的格式会有什么问题,能不能和二进制格式无损相互转换?如果可以的话,我觉得就用ascii格式来保存原理图和PCB,更加方便版本管理。
最近试了把AD的原理图用ASCII格式保存,再对比修订后的版本差异,基本上否定了ASCII格式更方便版本管理的说法,做了个实验,在一个元件上把它的PCB封装修改了,保存,然后用beyondcompare比较,发现差异多的超乎你的相像,虽然在原理图上的修改非常的小,仅仅只是一个元件的封装而以,也就是相当于只是修改了一个元件的其中一个参数,而导致的结果是整个原理图文件产生了巨大的差异,满屏都是红色(差异),让你无法从这比较结果中看出这个版本到底修改了什么;也就是管理AD的ASCII文件基本上没有什么意义。
AD其实自带有比较工具,但是不方便,而且我也试过,有时候明明是不同的原理图,用AD的2种比较方(physical 比较和 非physical比较)式居然是no difference....非常无语,,,
基本上可以看出,AD在对原理图文件的组织上没有对版本管理这一需求考虑,普通的比较工具是无法实用的,而它自己的比较功能我感觉比较垃圾,不可靠,用起来没安全感
另外,我也不觉得AD,cadence需要集成这种版本管理功能,第三方独立的版本管理功能已经很完善,EDA需要做的就是针对版本管理功能在文件内容的组织上对其进行优化,而不是一点点修改导致文件产生非常大的差异,另外一个就是提供比较功能,能在版本管理工具只直接配置调用它的比较功能;
AD用了2个月,从软件设计的角度,感觉是垃圾级别的存在,各种不一致性,各种不严谨,各种崩溃,各种卡顿,各种莫名其妙的问题,上一次使用AD是10年前了,至今感觉一点改进没有,2个月的使用过程中我至少能提出100条改进建议,记录了50多个问题,现在基本上想放弃转cadence了{:dizzy:} zjykwym 发表于 2017-6-24 17:44
画PCB的不会是一个大的团队,基本都是一个人,多的也是分模块而已。而且很多东西是由硬件主导的,原理图和 ...
你是没见过5个人或者以上同时换一个PCB的…
页:
[1]