官术网_书友最值得收藏!

1.2 可編程器件開發

PLD是可編程邏輯器件(Programable Logic Device)的簡稱,FPGA是現場可編程門陣列(Field Programable Gate Array)的簡稱,兩者的功能基本相同,只是實現原理略有不同,所以我們有時可以忽略這兩者的區別,統稱為可編程邏輯器件或PLD/FPGA。

PLD是電子設計領域中最具活力和發展前途的一項技術,它的影響絲毫不亞于20 世紀70年代單片機的出現和使用。可以毫不夸張地說,PLD能完成任何數字器件的功能,上至高性能CPU,下至簡單的74系列電路,都可以用PLD來實現。PLD如同一張白紙,工程師可以通過傳統的原理圖輸入法,或是硬件描述語言,自由地設計一個數字系統。通過軟件仿真,我們可以事先驗證設計的正確性。在PCB完成以后,還可以利用PLD的在線修改能力,隨時修改設計而不必改動硬件電路。使用PLD來開發數字電路,可以大大縮短設計時間,減少PCB面積,提高系統的可靠性。PLD的這些優點使得PLD技術在20世紀90年代以后得到飛速的發展,同時也大大推動了EDA軟件和硬件描述語言(HDL)的進步。

如何使用PLD呢?其實PLD的使用很簡單,學習PLD比學習單片機要簡單得多,有數字電路基礎,會使用計算機,就可以進行PLD的開發。不熟悉PLD的朋友,可以先看一看可編程邏輯器件的發展歷程。開發PLD需要PLD開發軟件和PLD芯片。

1.PLD開發軟件

由于PLD軟件已經發展得相當完善,用戶甚至可以不用詳細了解PLD的內部結構,就能用自己熟悉的方法,如原理圖輸入或HDL語言來完成相當優秀的PLD設計。所以對初學者來說,首先應了解PLD開發軟件和開發流程。了解PLD的內部結構,將有助于提高我們設計的效率和可靠性。

獲得PLD開發軟件的途徑非常多。許多PLD公司都提供免費試用版或演示版(當然商業版大都是收費的),例如可以免費從http://www.altera.com/ 上下載Altera公司的Maxplus II(Baseline版或E+MAX版),或向其代理商索取這套軟件。Xilinx公司也提供免費軟件:WebPack可以從Xilinx網站下載。Lattice、Actel等公司也都有類似的免費軟件提供。以上免費軟件都需要在網上注冊申請License文件。通常這些免費軟件已經能夠滿足一般設計的需要,要想軟件功能更強大一些,只能購買商業版軟件。

如果打算使用VHDL或Verilog HDL硬件描述語言來開發PLD/FPGA,通常還需要使用一些專業的HDL開發軟件,這是因為FPGA廠商提供的軟件的HDL綜合能力一般都不是很強,需要其他軟件來配合使用。

對于PLD產品,一般分為兩類:

(1)基于乘積項(Product-Term)技術,一般用于EEPROM(或Flash)工藝的中小規模PLD。

(2)基于查找表(Look-Up Table)技術,一般用于SRAM工藝的大規模PLD/FPGA。

EEPROM工藝的PLD密度小,多用于5000門以下的小規模設計,適合做復雜的組合邏輯,如譯碼。SRAM工藝的PLD(FPGA),密度高,觸發器多,多用于10000門以上的大規模設計,適合做復雜的時序邏輯,如數字信號處理和各種算法。

2.PLD開發

在PLD/FPGA開發軟件中完成設計以后,軟件會產生一個最終的編程文件(如.pof)。應如何將編程文件燒到PLD芯片中去呢?

對于基于乘積項(Product-Term)技術,EEPROM(或Flash)工藝的PLD(如Altera的MAX系列,Xilinx的XC9500系列),廠家提供編程電纜,如Altera公司的叫做Byteblaster。電纜一端裝在計算機的并行打印口上,另一端接在PCB板上的一個十芯插頭上,PLD芯片有4個引腳(編程腳)與插頭相連,如圖1-1所示。

圖1-1 PLD芯片與插頭相連

下載電纜向系統板上的器件提供配置或編程數據,這就是所謂的在線可編程(ISP)。下載電纜使用戶能夠獨立地配置PLD器件,而不需要編程器或任何其他編程硬件。編程電纜可以向代理商購買,也可以根據廠家提供的編程電纜的原理圖自己制作。早期的PLD是不支持ISP的,它們需要用編程器燒寫。目前的PLD都可以用ISP在線編程,也可用編程器編程。這種PLD可以加密,并且很難解密。具體應用步驟如圖1-2所示。

圖1-2 應用步驟

對于基于查找表技術(Look-Up Table)的SRAM工藝的FPGA(如Altera的所有FLEX、ACEX、APEX系列,Xilinx的Spartan、Virtex),由于SRAM工藝的特點,斷電后數據會消失,因此調試期間可以用下載電纜配置PLD器件,調試完成后,需要將數據固化在一個專用的EEPROM中(用通用編程器燒寫),上電時,由這片配置EEPROM先對PLD加載數據,十幾毫秒后,PLD即可正常工作(也可由CPU配置PLD)。但SRAM工藝的PLD一般不可以加密。

對于另一種反熔絲(Anti-fuse)技術的FPGA,如Actel、Quicklogic的部分產品就采用這種工藝,其用法與EEPOM的PLD一樣,但這種PLD不能重復擦寫,所以初期開發過程比較麻煩,費用也比較高昂。但反熔絲技術也有許多優點,例如,布線能力更強,系統速度更快,功耗更低,同時抗輻射能力強,耐高低溫,可以加密,所以在一些有特殊要求的領域中運用較多,如軍事及航空航天。

3.ISP技術與開發流程

20世紀90年代初,在系統可編程(In-System Programmability,ISP)技術首先應用于可編程邏輯器件,它改變了數字電子系統的設計和實現方法,為人們提供了更為方便的EDA手段。所謂“在系統可編程”,是指可編程器件在不脫離所在應用系統的情況下,能夠通過計算機對其進行編程,而不需要專用的編程器。

進行ASIC與FPGA/CPLD電路設計,通常可將設計流程歸納為以下7個步驟。

第1步:設計輸入。在傳統設計中,設計人員是應用傳統的原理圖輸入方法來開始設計的。自20世紀90年代初以后,Verilog、VHDL、AHDL等硬件描述語言的輸入方法得到了廣大工程設計人員的認可。

第2步:布線前仿真。所設計的電路必須在布局布線前進行驗證,主要目的是在仿真時,驗證電路功能是否有效。在ASIC設計中,這一步驟稱為第一次Sign-off。

第3步:設計輸入編譯。設計輸入之后就有一個從高層次系統行為設計向低層次門級邏輯電路的轉化翻譯過程,即把設計輸入的某種或某幾種數據格式(網表)轉化為底層軟件能夠識別的某種數據格式(網表),以求達到與其工藝無關。

第4步:設計輸入的優化。對于上述綜合生成的網表,根據布爾方程功能等效的原則,用更小更快的綜合結果替代一些復雜的單元,并與指定的庫映射生成新的網表。

第5 步:布局布線。當初步的仿真被驗證后,就開始布局布線。這一步可規劃出ASIC和FPGA/CPLD設計。

第6步:后仿真。設計人員需要利用在布局布線中獲得的更精確的RC參數再次驗證電路的功能和時序。在ASIC設計中,這一步驟稱為第二次Sign-off。

第7步:流片。在布局布線和后仿真完成之后,當需要大批量生產該芯片時,就可以開始ASIC芯片的投產了。

主站蜘蛛池模板: 龙门县| 扎囊县| 镇平县| 元谋县| 龙海市| 安顺市| 巴东县| 南涧| 上杭县| 甘孜县| 延安市| 翼城县| 庆元县| 旌德县| 绥滨县| 松江区| 五常市| 镇赉县| 呼伦贝尔市| 嘉定区| 辽宁省| 徐汇区| 胶南市| 墨江| 苍溪县| 遂川县| 唐山市| 正安县| 宣化县| 华蓥市| 巴林左旗| 出国| 称多县| 安仁县| 彩票| 和龙市| 茂名市| 荆门市| 雷山县| 北京市| 西藏|