
因为前段时间自己用到一款Xilinx Virtex-Ii FPGA,
然而,作为一个懒人,在新建原理图封装(library)的时候,我遇到了麻烦。
对于Altera公司的FPGA来说,貌似都提供了现成的olb文件(这说明Altera在客户维持方面做得挺贴心的),
但经过仔细调研,发现Xilinx并不提供现成的的FPGA 原理图库。
由于现在FPGA管脚数越来越多(多的达1000个以上),一个一个地输入管脚名,简直是噩梦。
而且,即使你很勤劳地把所有管脚都输入,也难保其中不会出错。
所以,到勾狗上勾了两天,加上自己摸索,终于找到了一种相对来说比较便捷的方法。
第1步:当然是到Xilinx的官网上下载所谓pin out 文件。比如说我下载了一个virtex2_pkgs_zip.zip文件,
包含了V-II的所有型号FPGA的pin list。例如其中的2v500fg256就是我想要的。
第2步:打开2v500fg256.txt,会看到其中的
Package Name 、Bank name,IO Type这三列信息很有用。
新建一个excel表格,导入数据(文本文档格式),将2v500fg256.txt导入。
第3步:在capture中,选择file->new-> library。
第4步:单击新建的library,选择new part from spread sheet.
你将会看到一个原理图管脚分配表
第5步:将excel中的相关列的信息粘贴到该表中。
到了这一步,就OK了。剩下的,就是一些小修小补的事情,原理图库就建好了。
说起来,还是蛮简单的,最关键在于知道有第4步,其它就不是问题啦。
不管哪个软件,做PCB板需要以下几个步骤:
画原理图(当然,也有不画图直接画PCB的)
生成网络表(这才是目的)
PCB布局布板
以上三个步骤,第一步画原理图不管用什么EDA软件,都是为了最后生成一个网络表,Cadence也是。网络表是原理图中各个元器件直接的网络连接关系,说白了就是哪个引脚与引脚有连接。
下面说一下封装,封装可以理解为用于PCB板上的元件的表示符号。比如一个电阻,在原理图中只是一个符号R*表示了,但是到了电路板上,你这个电阻又大有小,直插的还是表贴,直插的孔多大,占用多大空间,表贴的是多大尺寸的。所以,封装就是你要最后用的实际元件的实物的一种图形表示。封装存在封装库library里面,一般软件都自带封装库,但是有些元件库里没有的时候,是需要自己画的。
封装在原理图中对应于元件的Footprint属性,在这个属性中填入库里对应的封装。比如,电阻的封装可以是0805,0603等。
封装的参数,一般在元件厂商的datasheet文档上给出的,比如引脚长宽,焊盘大小,外形尺寸等。你可以从网上或者元件厂商官网上获取这些资料。
顺便说一句,现在的学习,网络是个好东西,有很多东西你都可以从网络上找到资料。
一、理论知识
1、基础篇
电路(邱关源),模拟电子技术、数字电子技术(华成英或者康华光的),微机原理/计算机原理/数据结构(各种版本很多,内容大致相同),电子学(霍洛维茨),单片机教程(51、AVR的书都很多)
2、进阶篇:
高速数字设计(Howard Johnson),信号完整性分析(Eric Bogatin),嵌入式硬件系统(Jack Ganssle,内容比较可能旧,初学者还是不错的)
二、实用技能
精通开关电源设计(SanjayaManiktala),晶体管电路设计(铃木雅臣),Verilog数字系统设计教程(夏宇闻),高速数字设计实践(王剑宇),Cadence、Pads、Altium Designer等工具的教程书(京东上一搜一大把,网上也有视频教程),JEDEC、PCI-SIG、USB-ORG、IEEE等网站上给出的各类接口器件的标准,各大半导体厂商的datasheet(TI、Freescal、ST等官网上资料非常多),ARM官方网站给出的CPU架构手册。
作为一个硬件工程师,最主要的还是自己动手动脑实践,题主不如先给自己设定一个题目,比如做一个简单的电子产品(收音机、MP3),然后自己找元器件,画原理图,画PCB,学习焊接,调试,做一圈下来,比看书学到的要多得多。