3 FPGA器件XCS05XL的編程實現原理
所謂編程就是利用單片機μPD78F0034將事先設計好的數據通過某種方式裝入XCS05XL中,以確定XCS05XL內部的CLB和IOB的功能以及布線通道的連接方式,數據的寫入只在編程過程中完成。在正常工作期間,存儲單元只用來提供固定的控制信號,編程存儲單元以陣列形式分布在XCS05XL中。每個CLB有幾百個編程數據位,每個編程數據位定義了一個靜態存儲單元的狀態,該存儲單元可以控制一個邏輯函數查找表位、一個數據選擇器輸入或一個互連開關晶體管。Xilinx開發系統可以將邏輯設計轉換成網絡表文件,它自動將邏輯電路分區、設置和布線,以PROM格式產生編程數據,并將數據存入PROM中。XCS05XL有三種編程模式:從串模式、主串模式和快速模式。編程開始前,芯片會自動檢測M1和M2腳以確定編程模式,編程結束后,這些腳就沒有用了。當M1和M2腳為高電平時,選從串模式,這也是目前最常用的一種編程模式。實際上,此時M1和M2腳可懸空。如果要選擇主串模式,則M1和M2腳必須與相連或通過1k℃的下拉電阻接地。
圖4所示為μPD78F0034單片機對FPGA器件XCSO5XL裝載編輯數據的示意圖。XCS05XL的編程模式選從串模式,因而其M1、M2腳懸空(即相當于接高電平)。XCS05XL的編輯數據存儲在單片機的FLASH ROM里,上電復位后,單片機通過P30腳將數據串行傳送到XCSO5XL中。XCS05XL所需的編程時鐘(CCLK)信號由單片機產生,在每個CCLK的上升沿,XCS05XL通過DIN腳接收輸入數據。