網(wǎng)絡信息服務(NIS)利用客戶機/服務器模式和遠程過程調(diào)用(RPC)接口在主機之間進行通訊。網(wǎng)絡信息服務由服務器、客戶機程序庫和一些管理工具組成。在FPGA開發(fā)平臺中,用戶一般需要在多臺Linux機器上工作,?臺機器上用相同的用戶名、屬于相同的組、使用相同的密碼。建立NIS服務器,將這些需要共享的信息存放在NIS服務器上統(tǒng)一管理,其他機器都從NIS服務器獲得信息,一旦要更改某個用戶的信息,只需要在NIS服務器上進行更改, 其他機器就自動收到更改后的信息。完成整個NIS網(wǎng)絡環(huán)境的建設之后,就能根據(jù)設計項目對設計人員進行分組管理,根據(jù)所做項目為其配置相應的EDA使用環(huán)境。
3.2 網(wǎng)絡文件系統(tǒng)(NFS)
網(wǎng)絡信息服務通常和網(wǎng)絡文件系統(tǒng)一起使用。NFS可用于不同類型計算機和操作系統(tǒng)之間通過網(wǎng)絡進行文件遠程訪問和共享。在FPGA開發(fā)平臺中,配置AutoFS Map文件來集中管理NIS域內(nèi)所有的NFS共享目?。AutoFS的工作流程是,當客戶端配置好AutoFS Map文件,在客戶端如果有NFS目?讀寫請求,系統(tǒng)進程automountd就自動把NFS服務器的資源掛接到客戶機上。所有機器通過NFS共用tools目?,不需要在?臺機器上安裝EDA工具軟件,使得整個EDA設計環(huán)境進行集中和統(tǒng)一管理。所有機器通過NFS共用home目?,用戶登?到NIS域中的任一臺機器,自己的home目?內(nèi)容都相同。
3.3 Modules軟件
隨著EDA工具的更新,系統(tǒng)中一定會存在同一工具的不同版本。版本不同,其·徑、庫和license等環(huán)境變量都有可能不同,如果用戶在使用中臨時修改環(huán)境變量會比較困難。FPGA開發(fā)平臺用Modules軟件進行EDA工具的環(huán)境變量管理。modules是一系列腳本的集合,簡化了shell的初始化,允許用戶在工作過程中很容易地修改環(huán)境變量,減少其維護難度,提供了一種動態(tài)修改應用環(huán)境的機制。modules使用以下方式工作,$ module avail列出可以加載的工具, $ module load加載工具,$ module list列出已加載的工具,$ module unload卸載工具。在腳本中還可以設置工具之間的依賴或沖突關(guān)系。
3.4 版本控制和缺陷追蹤軟件
在整個FPGA開發(fā)流程中,?個設計環(huán)節(jié)都需要團隊來完成。在多團隊緊密合作開發(fā)流程中,版本控制和缺陷追蹤等管理軟件是必不可少的。在FPGA開發(fā)平臺上,安裝了SVN、SOS版本管理軟件和bugzilla缺陷追蹤軟件。SVN是開源軟件,適合芯片設計流程中的文檔版本管理。SOS是ClioSoft公司開發(fā)的集成電·設計數(shù)據(jù)版本控制軟件,支持Cadence公司virtuoso平臺的DFII。 開源的Bugzilla是一個搜集缺陷的數(shù)據(jù)庫,它用于記?和管理產(chǎn)品缺陷從發(fā)現(xiàn)到修復的全流程。
3.5 EDA工具軟件
根據(jù)EDA工具對操作系統(tǒng)版本的要求,分別在兩臺tool server上安裝redhat enterprise 4 updat 8和redhat enterprise 5 updat 8兩個版本的操作系統(tǒng)。集成電·芯片設計集成環(huán)境需要滿足foundary廠家PDK庫的要求。PDK(process design kit)是溝通IC設計公司、代工廠與EDA廠商的橋梁。PDK用代工廠的語言定義了一套反映foundary工藝的文檔資料,包含了反映制造工藝的基本數(shù)據(jù)集。根據(jù)PDK對EDA工具及版本的要求,在兩臺tool server上按照FPGA芯片設計流程,集成了設計流程中各個階段所需要的Cadence、Synopsys、Mentor等公司的EDA工具。
4 SGD軟件部署
SGD軟件部署分為兩個部分,SGD網(wǎng)關(guān)和由多臺SGD服務器組成的陣列。SGD網(wǎng)關(guān)是一種代理服務器,部署在防火墻隔離區(qū)(DMZ)。在客戶端與陣列中的SGD服務器建立連接之前,通過SGD網(wǎng)關(guān)先在DMZ中對所有連接進行驗證。SGD服務器陣列和其他需要控制訪問權(quán)限的應用系統(tǒng)放置SGD網(wǎng)關(guān)后側(cè),λ于內(nèi)部網(wǎng)絡中。SGD服務器陣列由多臺SGD服務器組成一個負載均衡和故障轉(zhuǎn)移組,與管理服務器和tool server連接。
SGD利用遠程控制技術(shù)構(gòu)建一個可兼容異構(gòu)系統(tǒng)和工具的中間接口,是一種基于圖形模式的遠程控制技術(shù),將遠程主機桌面和應用程序完全地顯示到客戶端,使用戶能夠直觀地對服務端進行操作。在FPGA開發(fā)平臺中,EDA工具集成環(huán)境中的各種應用,如linux系統(tǒng)的EDA工具和windows系統(tǒng)的各種資源等應用程序,都可以通過SGD遠程顯示,遠程用戶用IE瀏覽器或Firefox瀏覽器通過互聯(lián)網(wǎng)就能夠使用FPGA開發(fā)平臺上的各種應用軟件。
5 FPGA開發(fā)平臺應用
本文介紹的大容量FPGA設計平臺已應用于全自主千萬門級FPGA芯片設計。30多λ設計工程師使用該平臺參與全自主千萬門級FPGA芯片設計。團隊中在異地工作的工程師使用SGD遠程登?到FPGA設計平臺共同參與設計工作。設計團隊采用中芯國際SMIC 40 nm CMOS設計技術(shù),用正向設計的方法,設計基于SRAM配置的面向高性能通用邏輯與信號處理的全自主千萬門級FPGA器件。器件含有數(shù)字ASCI電·、全定制電·、數(shù)?;旌想姟ひ约癿emory complier等。