最近實驗室項目很忙,很久沒有來更新博客了,由于項目需要,這段時間一直在做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,其他引腳全部用插針連出來了,比較失敗的是四個定位孔畫的太大了,呵呵