当六年前工程师Ales Hvezda决定编写自己的EDA软件时,他肯定没有预见到现在的结果:它已经成为一个活跃的开放源代码项目,拥有大量外部贡献者、数百名用户以及一套适合中低等复杂度PCB设计的工具。
这正是遵循GNU公共许可协议(GPL)的EDA项目,简称为gEDA,它博得了那些更喜欢以自己的方式工作而不愿依靠商业工具的工程师的欢心。它不会取代商业软件包,但确实提供了另一种设计途径。
该项目的支持者表示,gEDA工具最吸引人的地方并不是免费,而在于它提供了一个开放式的设计系统,包括总是可读的文件、随手可得的源代码,而且它没有许可证问题。但EDA供应商迅速指出开放源代码工具没有后续技术支持,并且缺少商业软件包具有的很多功能。
Hvezda的目标: 针对PCB的开放设计流程。 |
gEDA项目包括由Hvezda维护的一整套“核心”工具,如gschem原理图捕获工具、gnetlist网表生成工具、一个符号库和许多实用程序。此外,它还有一些由其它组织或个人维护的“相关”工具,如Icarus Verilog模拟器和ngspice电路模拟器。许多gEDA的参与者使用一个名为PCB的独立开放源码包进行电路版图设计。
目前,Hvezda是Cognex公司的一位实时软件开发员,他的日常工作既不需要设计电路板也不需要使用EDA工具。他称gEDA是有趣的业余项目,一周为此花费大约5到10小时。但事实上,它有一个严肃的使命。
“我的目标是提供一个完整的开放设计流程工具套件,”Hvezda说,“这组套件最吸引人的地方不只是免费,而且它所有的文件都是ASCII格式,所有源码都开放。此外,你很容易向该设计流程增加新的元素。”
gEDA的用户包括狂热的爱好者、学生以及一些小型企业或咨询公司的工程师。在大型公司,它也被“非正式”地用于快速构建原型,Hvezda表示。
Hvezda说,他并不清楚现在究竟有多少gEDA用户,但他强调去年11月份单gschem的下载次数就接近800,而且大多数gEDA用户从其它非gEDA官方网站的渠道获得此软件。
作为gEDA的积极用户和贡献者之一,Stuart Brorson是MKS仪器公司在线产品部的一名电气工程师。“我认为数年后gEDA将成为事实上的低端、甚至中端EDA环境,”他说,“如果我能下载 gEDA套件并马上投入设计,那么何必要为一套OrCAD而等经理批准价值数千美元的购买定单呢?”
“对于板级原理图设计,gschem易于使用且功能强大。”一家大型半导体公司的高级技术员Dan McMahill说,“我把它与我以往使用过的大多数商业工具列为同一等级的产品。”McMahill使用gEDA来设计评估板和特征板,但他表示,他可 能使用商业套件来完成带有1千个元件的产品板。
“与商业工具相比,gEDA工具还存在一些小问题,”仪器制造商MRA Tek LLC的总裁Steve Meier表示。尽管如此,他还是能使用开放源代码的gEDA和PCB工具包完成所有板级设计。他还使用Icarus Verilog模拟器进行FPGA设计。
灵感源于机器人项目
据Hvezda透露,他是因为一项个人机器人项目需要EDA软件,才开始开发gEDA工具的。“我调查了现有的产品,发现没有工具与我喜欢 的工作方式类似,因此我尝试编写一些东西,并在此基础上进行开发。”他说,“起初我并没有打算发布这套软件,但随着时间的推移和工作的进展,这看起来是个 好主意。”
因此,Hvezda在1998年建立了gEDA网站,并将他的软件置于GNU公共许可协议之下,该协议允许用户下载源代码,并利用这些代码做任何想做的事情。但如果有人想把它作为商业软件销售,那么必须满足某些基本原则。其中一条是,他们必须公开源代码。
几乎立刻开始有人为gEDA提供补丁,Hvezda表示。大约三年前,更大的贡献开始出现,其中包含一个gschem到PCB的网表分析 器,以及其它20多个针对商业电路板设计和仿真工具的网表分析器。McMahill为gEDA编写了几个网表后端工具,而Meier的新贡献将是为 gschem添加分层总线支持。
开放源代码EDA工具目录 |
Brorson贡献了一个名为gattrib的属性编辑器,能读取原理图文件,并允许用户管理面积值和供应商器件编号等属性。Brorson还为gnetlist编写了Scheme后端工具,可以输出Spice网表,同时他也为ngspice程序提供了一些补丁。
Hvezda负责发布和管理gEDA软件的贡献部分。来自业界的支持将通过电子邮件来发布,目前在邮件列表上大约有600位订户。
Hvezda表示,最大的用户群是小型公司或单人咨询工作室的工程师。“对于这些只想快些做事、而不想麻烦商业产品的工程师而言,gEDA正是他们需要的工具。”他说。
工程师们了解gEDA的途径各不相同。McMahill说,他是在网络浏览时碰巧发现gEDA的,后来当他被要求在一周内设计出一块电路板 时又想起了它。“我的进度表不允许我花时间去申请购买一个商业工具,因此,我觉得gEDA值得一试,”他说,“我的最初经验非常成功。我从计算机还没有装 gEDA的时候开始到定购PCB板,大约只花了36个小时。”
现在,McMahill利用gEDA和PCB进行所有的电路板设计,尽管PCB被限制在8层以内。“许可证问题不再让我头疼,”他说。
类似地,Meier表示他接触gEDA以及Icarus和PCB,多多少少也是因为数年前的一次巧遇。gEDA最吸引他的是“可编译”的输出文件、模型的源代码以及进入软件内部查看算法的能力。当需要设计8层以上的PCB时,他希望能找到时间对PCB程序进行修改。
Brorson是在2003年的咨询工作中认识gEDA的,此后他使用gschem和ngspice设计了一个500MHz的模拟光接收 器。他认为,gschem的功能与商业原理图输入工具一样强大,而且使用更容易,缺陷更少。他还指出了gEDA的许多优点,如没有许可证问题,开放源代码 程序采用文档性很强的ASCII文件格式,而且它们可以运行在Linux环境中。
此外,这些工具是免费的。“在每分钱都斤斤计较的经济环境下,开放源代码EDA工具将变得越来越有吸引力,”他说。
商业工具供应商的反应
然而,商业EDA工具供应商和分销商们认为开放源代码软件对他们几乎不构成威胁。“在大多数情况下,开放源代码软件不会成为主流,”分销 OrCAD工具的EMA设计自动化公司行销总监Greg Roberts表示,“我们的大多数用户只是工具的使用者。他们不想成为EDA软件的开发者。他们还是希望使用有技术支持和质量保证的工具来帮助他们完成 工作。”
“gEDA软件是一个非常有趣的项目,但并不专业化,”Electronics Workbench公司负责销售和行销的副总裁Ian Suttie指出,“虽然gEDA工具有许多基本功能,但它不能提供专业工程师们所需的简洁、优化的用户接口,也不能提供某些对专业用途而言很关键的功 能。”
Hvezda从未想过用gEDA替代商业工具。“当然,商业工具包都是非常优秀的,而且在它们背后有着公司的强大支持,”他说,“商业工具永远都会有自己的市场。”
但他确实希望传递一个信息,使人们关注开放设计流程的价值。“那才是我的真正目的:使人们意识到摆脱专有、封闭格式的价值,从而使工具更容易协同工作。”他说。
环境:Ubuntu 10.04 geda已安装 1、打开原理图绘制软件: 命令:gschem 2、在gschem中使用的快捷键: i 在绘制原理图的区域插入元件 er 选中元件后,可以使用此快捷键进行元件旋转 ei 选中元件后,可以使用此快捷键进行元件镜像 m 进行移动 n 进行连线 ee 进行元件属性进行编辑
Make SHED 等等。 当我们有了一个好的电子方面的想法之后,想把它制作成实物,这个时候 可以在多孔实验板上进行原型验证,如果要做得好一些,就要涉及到用软件绘 制原理图,画 PCB (Printed Circuit Board ,印制电路板 ) 等工作。 现在可以找到很多做电子设计的专业软件,大部分都是闭源的商业软件, 比如 Protel , Mentor, Candense ,德国 cads
原文在:http://hi.baidu.com/zyzpcsbivvbepyq/item/de294b0535bd1f15acdc7021 对于上文中提到的安装过程,我在Ubuntu10.04下实测,可用如下命令进行实现: sudo apt-get install geda sudo apt-get install geda-utils geda-e
大水题,英文太差,条件也不看清楚。。总之,上代码。 #include<iostream> #include<cstdio> #include<string.h> using namespace std; const int MAX_N=1e5+10; char p[MAX_N]; char s[MAX_N]; bool perfect(char str[]) { if(str[0]!=
软件绘图 术语绘图通常在Core Animation的上下文中指代软件绘图(意即:不由GPU协助的绘图)。在iOS中,软件绘图通常是由Core Graphics框架完成来完成。但是,在一些必要的情况下,相比Core Animation和OpenGL,Core Graphics要慢了不少。 软件绘图不仅效率低,还会消耗可观的内存。CALayer只需要一些与自己相关的内存:只有它的寄宿
导语 如果要绘制一个复杂的图形,尤其是要重复绘制这样的图形,那么可以使用QPainterPath类,然后使用QPainter::drawPath()来进行绘制。QPainterPath类为绘制操作提供了一个容器,可以用来创建图形并且重复使用。一个绘图路径就是由多个矩形、椭圆、线条或者曲线等组成的对象,一个路径可以是封闭的,例如矩形和椭圆;也可以是非封闭的,例如线条和曲线。 环境:Windows X
2D 绘制上下文支持很多在画布上绘制路径的方法。通过路径可以创造出复杂的形状和线条。要绘制路径,首先必须调用beginPath()方法,表示要开始绘制新路径。然后,再通过调用下列方法来实际地绘制路径。 arc(x, y, radius, startAngle, endAngle, counterclockwise):以(x,y)为圆心绘制一条弧线,弧线半径为radius,起始和结束角度(用弧度表示
操作步骤: ①进入编辑界面,选择线路图层,点击右上角线路,选择"添加线路"按钮。 ②在地图上进行添加,点击确定起点。 注意 ●添加线路不可少于2个点。 ③添加完成后,双击结束绘制。 ④点击"完成",线路添加成功。 操作动图: [查看原图]
本文向大家介绍python在openstreetmap地图上绘制路线图的实现,包括了python在openstreetmap地图上绘制路线图的实现的使用技巧和注意事项,需要的朋友参考一下 利用python进行经纬度轨迹展示 嘿!各位好久不见,距离第一次发博客已经过去两年多了,本人也从本科生变成了研究生,好了书归正传,最近在做一个关于航班滑行路径轨迹的项目,目的是将航班的经纬度数据在地图上显现出来并
除了绘制矢量图形和文本之外,canvas还提供了极为丰富的图像支持。开发者可以选择绘制某幅图像的全部或某个部分,在绘制时可以进行缩放或保持原样,可以把图像绘制到画布的任何地方。同时,还允许开发人员直接访问画布的像素数据。数据访问是双向的,既可以获取画布中的像素数据,也可以把像素重新绘制到画布中。 Canvas的API提供了如下4个用于绘制及操作图像的方法: drawImage():把图像、或另一个