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