以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  Allegro Cadence PCB设计  (http://sun4.cn/bbs/list.asp?boardid=42)
----  Cadence && FPGA  (http://sun4.cn/bbs/dispbbs.asp?boardid=42&id=1903)

--  作者:wangxinxin
--  发布时间:2010-11-30 10:43:32
--  Cadence && FPGA
最近实验室项目很忙,很久没有来更新博客了,由于项目需要,这段时间一直在做FPGA,自己还学习了用Cadence画电路板,做了一块FPGA开发板,前几天调试通过了,这几天还得继续编写控制程序(包括AD(型号AD9238)高速缓存控制程序,串口读写程序,DDS(型号AD9958)频率扫描配置程序,电子开关控制程序等),时间很紧,挑战还是比较大啊,呵呵,下面写点学习Cadence和FPGA的总结:

  Cadence 学习:
    关于Cadence的书籍不是很多,我看了以下几本:
  1、《Cadence高速电路板设计与仿真》:书很厚,内容最全,但感觉很多直接翻译Cadence的help文件,只讲怎么操作,没有讲清楚为什么这么操作,我主要在里面学习了orCAD(CIS,orCAD 是后来被Cadence收购的,现在已经被Cadence整合进去,和其他软件实现无缝连接)的基本操作。
  2、《Cadence Concept HDL&&Allegro 原理图和PCB设计》:EDA先锋工作室出的书我一直认为是比较不错的,这本也不例外,但是Cadence Concept HDL(HDL)这个原理图设计工具感觉没有orCAD(CIS)操作来的方便,所以我主要从这本书上学习了Allegro的操作,本书对Allegro的讲解感觉比上一本书好理解。
  3、《Cadence高速PCB设计与仿真分析》:Cadence功能强大,纯粹的画电路板功能只是其很小一部分功能,其还可以在高速电路设计,信号完整性(SI),电源完整性(PI)仿真等方面发挥强大的功能,这本书上涉及到一部分高速PCB仿真的内容,书的后面几章讲解model integrity(查看,编辑IBIS模型),PCB SI,SigXploer等工具。
  4、除了以上几本书外,网上一直流传着中兴公司内部的Cadence培训教程,共5个分册:原理图分册,PCB设计分册,约束管理器分册,自动布线器分册,仿真分册,里面的讲解也很详细,很多内容都是直接从实际出发开始讲解,需要的人可以给我留言,我会发给大家。
  5、在Cadence的学习中感觉这几个论坛不错:
       http://www.eda365.com/index.php
      http://www.eda365.com/index.php
  6、在Cadence的学习中我认为主要要把握一下几点:
        a、焊盘文件的建立(.pad),分清楚各种焊盘的区别,在各层中的结构,刚从protel直接转型用Cadence,这一点一定要注意。下面给一张比较详细的示意图,便于大家理解图片点击可在新窗口打开查看
      b、分清楚电路板上各个层的含义,一般两层板都会有顶层(底层)丝印层(silk),顶层(底层)阻焊层(soldermask)(阻焊层即为在电路板上不刷那层绿油的层),顶层(底层)布线层(etch),其它层根据具体要求再设置。
      c、Cadence的操作都是先选操作内容,再选操作对象,这一点刚开始很不习惯,用多了以后感觉这是它的一个优点。
      d、遗憾的一点是Cadence输出的钻孔文件不支持椭孔(olong),主要自己画多个圆过孔来模拟,不知道有没有其他方法。

下面讲讲FPGA的学习:

讲FPGA的学习之前不得不提硬件描述语言(HDL),我主要用的是Verilog语言,另外一种常用的就是VHDL语言,两种语言各有优劣,对于Verilog的学习我主要推荐以下两本书:
    1、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。
    2、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。

其实Verilog语言是相当容易上手的,主要是要建立一个硬件电路编程的概念,很多模块都是并行的,而不是软件编程中的串行。要先画电路模块方框图再进行程序的编写。
下面讲讲FPGA的学习,其实刚开始由于程序规模不是很大,我用的是CPLD(MAXII系列的),后来规模大了,尤其是AD高速缓存中要用到FIFO,CPLD中没有RAM,所以自己又做了FPGA(cycloneII系列)的板子。其实MAXII系列和FPGA的内部结构已经很像了,都是基于LUT的。CPLD 和FPGA的界限也越来越模糊。FPGA学习中也主要看了两本EDA先锋工作室出的书:
    1、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。
    2、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。
    3、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。
    4、FPGA的学习其实不难,刚开始看到他有这么多引脚,很多人就害怕,其实大部分引脚都是IO口,由你随意定义,真正的控制及配置管脚很少,一般书上都会说明这些脚怎么连接,自己对照着画个FPGA的板子,再在上面调试一些例程,这样学起来还是很快的。下面晒一下我自己画的FPGA开发板,FPGA是ep2c5,配置芯片是EPCS1,其实也不能叫做开发板,由于项目要求面积小,只接了几个开关和LED,其他引脚全部用插针连出来了,比较失败的是四个定位孔画的太大了,呵呵
图片点击可在新窗口打开查看