一直有听说“Cadence是这个星球上第一好用的EDA软件”,便想着找机会来学学。正好BeagleboneBlack是用Cadence设计的,而且是开源硬件,原理图和PCB文件可以直接在Wiki上下载到,拿它来学习是最好的啦~

画原理图

>>收集datasheet。大致了解一下用了哪些芯片,各个芯片的主要功能,然后照着官方给出的设计画。

>>在制作引脚比较多的芯片的原理图库时,Cadence家的LibraryBuilder也帮了很大的忙,可以从芯片的datasheet上直接做出原理图库和PCB封装。

>>感觉Orcad Capture的原理图编辑功能相对来说要弱一点点:

  • 没有发现类似Altium Designer中相似查找的功能,好遗憾。不过批量修改元器件属性它也是很在行的了,感觉它用的是类似excel的形式管理元件属性,批量修改也挺方便。
  • 没有发现智能粘贴,不过F4键耍起来还不错。
  • 它貌似没有harness一说?

做封装

>>LP Wizard软件是必备的吧,它直接给出了零件封装的焊盘形状,引脚位置,做封装的时候参照它会非常方便,而且它也可以直生成Allegro需要的封装。

>>如果零件在LP Wizard自带的库里面没有,也可以尝试它的Calculator功能。

>>如果library里面没有,calculator也不好算(主要是一些连接器),那就只好参照厂家给出的一点点画了。

>>封装做好之后可以给它加上3D模型,可以去这个网站找。

画PCB

>>导入网表,设置绘图参数,画出板框和禁布区(导入网表之后发现有1200根飞线,担心布不通把板框稍微画大了一点╮(╯▽╰)╭)。

>>设置层叠结构。BeagleboneBlack是6层板: sig1,gnd,sig2,sig3,pwr,sig4。

>>摆放零件,布局。我所用Cadence版本是17.2,貌似直接可以按照Page摆放,不需要设置额外的Page属性。按照官方PCB的布局大致摆放好。

>>设置约束。照着官方的板子设置各项约束规则。里面有两个Region规则,适用于板子上的三个BGA零件,不过他们好像并没有采用区域规则?

>>布线。话说看到这一团一团的飞线真不知道该从哪里开始啊,但总得开始,于是大致按照:电源->DDR->EMMC->Ethernet->HDMI->Connector的顺序布下去了。

>>电源层分割。板子上电源挺多,很难一次性完美地分好,官方的板子上用了layer3和layer4的铺铜将各个电源布通。

最后我就把它布成了这个样子,板子上DDR和差分线还没绕等长,实在太难受了≧ ﹏ ≦

Allegro拉线感觉还是比较爽的,而且修线能力挺强,我好像一直在点slide。。。。

后续处理

>>调整丝印。主要调整Component/Ref,logo什么的就不加了。

>>回注。

>>输出光绘。将gnd和pwr层设成了负片,第一次输出时说是polarity不匹配。因为设置层叠结构时并没有指定这两层使用negative输出。于是回去设置层叠,在层叠设置窗口点击view->show all columns便可看到negative artwork的复选框了。

这块板子对于以前只布过两层4、5百根线的我来说真是吃不消,搞得现在看到马路上的白线都是走线,井盖都是过孔。。。。。。

3D视图看起来还是挺有感觉的

画一画BeagleboneBlack的PCB的更多相关文章

  1. 画一画javascript原型链

    在javascript中,几种数据类型String,Number,Boolean,Object,Function都是函数,可称之为函数对象. 可以说拥有prototype属性的都是函数. 所有对象都拥 ...

  2. [置顶]PADS PCB功能使用技巧系列之NO.006- 如何实现OrCAD与PADS Layout同步?

    很多同仁都喜欢用OrCAD画原理图,而PCB Layout则用PADS/PowerPCB,这两者被有些人誉为“黄金组合”,但由于两者并非一套软件,因此如何实现同步亦是需要急待解决的问题... (未完待 ...

  3. 优动漫结合Photoshop怎么画草地?

    今天继续技法教学~草地的技法,PS教学~但是很简单,都是默认工具,而且是常用工具VS常用设置.你肯定会学会的! 草地教程,就到这里啦!有兴趣的可以尝试画一画哦,想要Get到更多有关优动漫的信息包括软件 ...

  4. KPROCESS IDT PEB Ldr 《寒江独钓》内核学习笔记(3)

    继续上一篇(2)未完成的研究,我们接下来学习 KPROCESS这个数据结构. 1. 相关阅读材料 <深入理解计算机系统(原书第2版)> 二. KPROCESS KPROCESS,也叫内核进 ...

  5. Bubble Cup 8 finals E. Spectator Riots (575E)

    题意: 一个长宽是100000单位的球场上有很多暴动的观众,每个观众都有一个速度v, 在一秒内,观众会等概率地移动到与原位置的曼哈顿距离<=v的地方(不会移动到界外). 你需要选取三个位置,这三 ...

  6. 白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现

    离去年“马尔可夫链进行彩票预测”已经一年了,同时我也计划了一个彩票数据框架的搭建,分析和预测的框架,会在今年逐步发表,拟定了一个目录,大家有什么样的意见和和问题,可以看看,留言我会在后面的文章中逐步改 ...

  7. JavaScrip之对象与继承

    这章主要学习对象.原型.原型链和继承,比较核心,所以单独整理这一章的内容. 理解对象:一组名值对,值可以是数据或函数. 属性类型:1数据属性:包含一个数据值的位置.在这个位置可以读取和写入值,4个描述 ...

  8. 利用Kinect将投影变得可直接用手操控

    Finally 总算是到了这一天了!假期里算法想不出来,或者被BUG折磨得死去活来的时候,总是YY着什么时候能心情愉快地坐在电脑前写一篇项目总结,今天总算是抽出时间来总结一下这神奇的几个月. 现在回过 ...

  9. 【转】最长回文子串的O(n)的Manacher算法

    Manacher算法 首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长.这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文 ...

随机推荐

  1. UVA - 120 Stacks of Flapjacks(煎饼)

    题意:一叠煎饼,每个煎饼都有一个数字,每次可以选择一个数k,把从锅底开始数第k张以及其上面的煎饼全部翻过来,最终使煎饼有序排列(锅顶最小,锅底最大). 分析:依次从锅底向上,优先排数字最大的煎饼.每次 ...

  2. C++编程学习(五) C++ 存储类

    一.auto 存储类 根据初始化表达式自动推断被声明的变量的类型. auto f=3.14; //double auto s("hello"); //const char* aut ...

  3. dd if= of= MBR

    1.备份分区表信息 sudo fdisk -l >hda.txt  #分区表信息重定向输出到文件中 2.备份MBR sudo dd if=/dev/sda of=mbr bs=512 count ...

  4. nginx常用内置变量

    $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为 ...

  5. h5-web字体和字体图标

    想要使用可以在: https://www.iconfont.cn/webfont?spm=a313x.7781069.1998910419.d81ec59f2#!/webfont/index :是we ...

  6. C语言中getopt()和getopt_long()函数的用法

    一.参考文章 1.C语言中getopt()和getopt_long()函数的用法 2.linux 中解析命令行参数 (getopt_long用法) 二.调试经验

  7. ThinkCMF后台地址加密忘记了无法打开后台怎么办?

    ThinkCMF后台地址加密忘记了无法打开后台怎么办?笔者为了网站安全把ThinkCMF后台的安全模式打开后忘了保存加密地址,导致无法登陆后台,找了些网上的资料,不太靠谱,只好从代码入手,找到/app ...

  8. php对象:get_object_vars(), get_parent_class(),is_subclass_of(),interface_exists()

    get_object_vars():获得对象的属性,以关联数组形式返回 get_parent_class():获得对象的父类 is_subclass_of():判断对象是否某类(参数2)的子类实例出的 ...

  9. vue累加计数器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. tomcat用户配置

    1.tomcat-user.xml 添加以下内容<role rolename="manager-gui"/> <role rolename="manag ...