最近實(shí)驗(yàn)室項(xiàng)目很忙,很久沒有來更新博客了,由于項(xiàng)目需要,這段時(shí)間一直在做FPGA,自己還學(xué)習(xí)了用Cadence畫電路板,做了一塊FPGA開發(fā)板,前幾天調(diào)試通過了,這幾天還得繼續(xù)編寫控制程序(包括AD(型號(hào)AD9238)高速緩存控制程序,串口讀寫程序,DDS(型號(hào)AD9958)頻率掃描配置程序,電子開關(guān)控制程序等),時(shí)間很緊,挑戰(zhàn)還是比較大啊,呵呵,下面寫點(diǎn)學(xué)習(xí)Cadence和FPGA的總結(jié):
Cadence 學(xué)習(xí):
關(guān)于Cadence的書籍不是很多,我看了以下幾本:
1、《Cadence高速電路板設(shè)計(jì)與仿真》:書很厚,內(nèi)容最全,但感覺很多直接翻譯Cadence的help文件,只講怎么操作,沒有講清楚為什么這么操作,我主要在里面學(xué)習(xí)了orCAD(CIS,orCAD 是后來被Cadence收購(gòu)的,現(xiàn)在已經(jīng)被Cadence整合進(jìn)去,和其他軟件實(shí)現(xiàn)無縫連接)的基本操作。
2、《Cadence Concept HDL&&Allegro 原理圖和PCB設(shè)計(jì)》:EDA先鋒工作室出的書我一直認(rèn)為是比較不錯(cuò)的,這本也不例外,但是Cadence Concept HDL(HDL)這個(gè)原理圖設(shè)計(jì)工具感覺沒有orCAD(CIS)操作來的方便,所以我主要從這本書上學(xué)習(xí)了Allegro的操作,本書對(duì)Allegro的講解感覺比上一本書好理解。
3、《Cadence高速PCB設(shè)計(jì)與仿真分析》:Cadence功能強(qiáng)大,純粹的畫電路板功能只是其很小一部分功能,其還可以在高速電路設(shè)計(jì),信號(hào)完整性(SI),電源完整性(PI)仿真等方面發(fā)揮強(qiáng)大的功能,這本書上涉及到一部分高速PCB仿真的內(nèi)容,書的后面幾章講解model integrity(查看,編輯IBIS模型),PCB SI,SigXploer等工具。
4、除了以上幾本書外,網(wǎng)上一直流傳著中興公司內(nèi)部的Cadence培訓(xùn)教程,共5個(gè)分冊(cè):原理圖分冊(cè),PCB設(shè)計(jì)分冊(cè),約束管理器分冊(cè),自動(dòng)布線器分冊(cè),仿真分冊(cè),里面的講解也很詳細(xì),很多內(nèi)容都是直接從實(shí)際出發(fā)開始講解,需要的人可以給我留言,我會(huì)發(fā)給大家。
5、在Cadence的學(xué)習(xí)中感覺這幾個(gè)論壇不錯(cuò):
http://www.eda365.com/index.php http://www.eda365.com/index.php 6、在Cadence的學(xué)習(xí)中我認(rèn)為主要要把握一下幾點(diǎn):
a、焊盤文件的建立(.pad),分清楚各種焊盤的區(qū)別,在各層中的結(jié)構(gòu),剛從protel直接轉(zhuǎn)型用Cadence,這一點(diǎn)一定要注意。下面給一張比較詳細(xì)的示意圖,便于大家理解
b、分清楚電路板上各個(gè)層的含義,一般兩層板都會(huì)有頂層(底層)絲印層(silk),頂層(底層)阻焊層(soldermask)(阻焊層即為在電路板上不刷那層綠油的層),頂層(底層)布線層(etch),其它層根據(jù)具體要求再設(shè)置。
c、Cadence的操作都是先選操作內(nèi)容,再選操作對(duì)象,這一點(diǎn)剛開始很不習(xí)慣,用多了以后感覺這是它的一個(gè)優(yōu)點(diǎn)。
d、遺憾的一點(diǎn)是Cadence輸出的鉆孔文件不支持橢孔(olong),主要自己畫多個(gè)圓過孔來模擬,不知道有沒有其他方法。
下面講講FPGA的學(xué)習(xí):
講FPGA的學(xué)習(xí)之前不得不提硬件描述語言(HDL),我主要用的是Verilog語言,另外一種常用的就是VHDL語言,兩種語言各有優(yōu)劣,對(duì)于Verilog的學(xué)習(xí)我主要推薦以下兩本書:
1、《verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程》,這本書對(duì)于入門是一本很好的書,通俗易懂,讓人很快上手,它里面的例子也不錯(cuò)。但本書對(duì)于資源優(yōu)化方面的編程沒有多少涉及到。
2、《設(shè)計(jì)與驗(yàn)證Verilog HDL》,這本書雖然比較薄,但是相當(dāng)精辟,講解的也很深入,很多概念看了這本書有種豁然開朗的感覺,呵呵。
其實(shí)Verilog語言是相當(dāng)容易上手的,主要是要建立一個(gè)硬件電路編程的概念,很多模塊都是并行的,而不是軟件編程中的串行。要先畫電路模塊方框圖再進(jìn)行程序的編寫。
下面講講FPGA的學(xué)習(xí),其實(shí)剛開始由于程序規(guī)模不是很大,我用的是CPLD(MAXII系列的),后來規(guī)模大了,尤其是AD高速緩存中要用到FIFO,CPLD中沒有RAM,所以自己又做了FPGA(cycloneII系列)的板子。其實(shí)MAXII系列和FPGA的內(nèi)部結(jié)構(gòu)已經(jīng)很像了,都是基于LUT的。CPLD 和FPGA的界限也越來越模糊。FPGA學(xué)習(xí)中也主要看了兩本EDA先鋒工作室出的書:
1、《Altera FPGA/CPLD 設(shè)計(jì)(基礎(chǔ)篇)》:講解一些基本的FPGA設(shè)計(jì)技術(shù),以及QuartusII中各個(gè)工具的用法(IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),對(duì)于入門非常好。
2、《Altera FPGA/CPLD 設(shè)計(jì)(高級(jí)篇)》:講解了一些高級(jí)工具的應(yīng)用,LogicLock,時(shí)序約束很分析,設(shè)計(jì)優(yōu)化,也講述了一些硬件編程的思想,作為提高用。
3、《FPGA設(shè)計(jì)指南--器件,工具和流程》:這本書看了他的目錄忍不住就買了,這本書講述了FPGA設(shè)計(jì)的各個(gè)方面,雖然每個(gè)方面都是點(diǎn)到為止,但能讓你有個(gè)整體的概念,了解FPGA的所有設(shè)計(jì)功能,了解FPGA開發(fā)的整個(gè)流程。
4、FPGA的學(xué)習(xí)其實(shí)不難,剛開始看到他有這么多引腳,很多人就害怕,其實(shí)大部分引腳都是IO口,由你隨意定義,真正的控制及配置管腳很少,一般書上都會(huì)說明這些腳怎么連接,自己對(duì)照著畫個(gè)FPGA的板子,再在上面調(diào)試一些例程,這樣學(xué)起來還是很快的。下面曬一下我自己畫的FPGA開發(fā)板,F(xiàn)PGA是ep2c5,配置芯片是EPCS1,其實(shí)也不能叫做開發(fā)板,由于項(xiàng)目要求面積小,只接了幾個(gè)開關(guān)和LED,其他引腳全部用插針連出來了,比較失敗的是四個(gè)定位孔畫的太大了,呵呵