盤承軍
(柳州職業技術學院電子信息工程系,廣西 柳州 545006)
EDA技術是一種以計算機為載體工具,設計者在它的軟件平臺上,利用VHDL硬件描述語言完成設計文件,然后通過計算機自動地完成整個目標芯片的邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真工作。該技術的出現,極大地提高了電路設計的效率和可操作性,提供芯片的設計速度,大大減輕了設計者的勞動強度,是高校電子信息類專業實驗的很受歡迎的工具。但是隨著 EDA綜合實驗對實驗平臺的要求越來越高,過去傳統的EDA實驗往往僅限于一些簡單的FPGA程序設計,如顯示燈的控制、譯碼器的設計、簡單組合邏輯或時序邏輯設計。這種針對一些簡單的 EDA實驗所開發的實驗平臺,結構相對簡單,實驗平臺中所能夠提供可編程邏輯資源和外圍接口都較為簡單。因此,這種相對簡單的 EDA實驗平臺只能滿足一些入門的 EDA實驗需求。然而,近年來隨著可編程邏輯器件的應用越來越廣泛,在可編程邏輯芯片中的邏輯資源越來越豐富,使得人們可以應用高端的FPGA芯片開發和實現越來越多的非常復雜的應用場合。也能夠利用可編程邏輯器件完成一些專用的高性能密集計算。極大地拓展了可編程邏輯器件的應用場合。為了能夠針對這種復雜的應用提供相應的 EDA實驗平臺,傳統的基于相對簡單的可編程邏輯器件構成的 EDA實驗平臺已經不能夠滿足應用的需求。必須根據當前 EDA應用的現狀和發展趨勢設計及構造新型的EDA實驗平臺,使其能夠為用戶開發和設計功能強大、結構復雜的EDA應用提供良好的實驗平臺。
目前,傳統型的實驗平臺往往是給用戶提供一種驗證性的實驗平臺,這種實驗平臺在功能上主要是能夠為用戶提供各種 EDA常見的以及典型的開發和應用的設計平臺,使得用戶利用這種 EDA實驗平臺能夠完成諸如簡單組合邏輯控制電路設計、簡單時序邏輯控制電路設計、低速的存儲芯片訪問時序設計以及相對復雜一些(如交通信號燈)的控制實驗。這種EDA實驗的目的僅僅是為了讓使用者掌握EDA設計的一些基本設計原理和基本開發工具的應用,即不涉及高速、高性能的EDA應用設計。因此,傳統的EDA實驗平臺往往只能夠滿足一些初級用戶的應用需求。本文設計平臺的目的是為一些高性能、綜合性的EDA應用提供與之相適應的EDA實驗平臺。使用戶通過在這種綜合型的 EDA實驗平臺上進行試驗和訓練之后能夠較快地滿足 EDA綜合設計及應用人才培養的需求。本發明設計的 EDA綜合實驗平臺目的是為了給用戶進行一些復雜、高性能的 EDA開發及設計提供相應的實驗及練習平臺,使得用戶在該實驗平臺中能夠實現與真實的高性能EDA開發及設計的應用環境相類似的模擬訓練平臺。
根據上述的設計思想,本文所設計的平臺的設計原理如下:
首先,選用高性能的可編程邏輯芯片構建 EDA實驗核心處理器(如圖1所示)。在此基礎上,在可編程邏輯器件FPGA芯片的外圍設計一些常用的應用接口,如LED接口、LCD接口、VGA接口、存儲器接口、PCIE接口等等,給用戶進行一些常用的 EDA訪問控制實驗提供硬件條件。另一方面,在所構建EDA實驗平臺中設計大量的標準的 I/O控制接口。所有這些I/O控制接口可以通過邏輯復用重新定義的方式對每一個I/O端口賦予不同的含義,使得通過這些標準的 I/O接口能夠在EDA實驗板的外圍連接多種不同的外設單元,使得該EDA實驗平臺能夠針對一些椅子甚至位置的外圍控制器實現數據的交換及命令的控制。同時,由于該實驗平臺采用的FPGA芯片是高性能的FPGA芯片,因此在該實驗平臺中能夠為用戶開發及設計一些高性能密集計算的實驗提供硬件資源。

從該圖中可以看出,本文構建的 EDA綜合實驗平臺在結構上主要包括基于Xilinx VertexV6-240t芯片為實驗平臺的處理核心。用戶所開展的各種 EDA實驗內容都將在該芯片內通過硬件描述語言設計的程序進行實現,在FPGA芯片外部設計了存儲芯片陣列。存儲芯片能夠為用戶開展各種存儲訪問實驗提供硬件條件。除此之外,還有 LED模塊、LCD模塊和VGA模塊,這三個模塊都是可以作為顯示控制的EDA實驗硬件資源。通過用戶在FPGA中開發相應的訪問控制程序,能夠分別實現對這三類外圍顯示模塊的控制及信號的顯示。除此之外,FPGA芯片通過硬布線的方式直接與PCIE接口相連,使得用戶能夠在該EDA實驗平臺中直接開發面向高速PCIE傳輸的試驗程序,設計及實現與PCIE接口的數據交換程序。同時,利用PCIE接口還能夠為用戶開發及設計DMA程序提供硬件資源。在(如圖1)所示實驗平臺的另一側,設計了大量的標準通用接口。標準通用接口由24位的數據線、16位的地址線、8位的控制線以及一個時鐘信號線所組成,所有這些連線一端直接與FPGA芯片相連。通過這一標準的接口復用定義,用戶可以在接口的外圍連接多種不同型號、不同類型的外圍電路。實現該綜合實驗平臺對外部不同接口電路的訪問與控制。
根據上述的設計原理,我們結合 EDA綜合實驗平臺的應用實例分析該實驗平臺的內部結構和實現方法。
(1)首先,用戶使用該實驗平臺,進行高性能密集計算的時候,通過 JTAG接口將用戶編好的 EDA實驗程序加載至FPGA芯片中。利用FPGA中豐富的計算資源完成預期設計的高性能密集計算任務。由于高性能密集計算與外圍電路基本沒有關聯,因此,對高性能密集計算的 EDA實驗只需要用戶對高性能密集計算的程序進行科學地設計,并通過仿真測試,則即可在該實驗平臺進行實驗驗證。當用戶需要進行PCIE接口程序的開發并進行實驗驗證時,可以將用戶編寫的 EDA實驗程序加載至FPGA中之后,在FPGA內部開發PCIE接口程序。也可以直接在FPGA芯片中加載PCIE核,由PCIE核完成PCIE接口通訊的主要任務。用戶在FPGA芯片中可以開發FPGA與PCIE的數據及通訊交換的程序,在PCIE中設計不同的通訊模式(如PIO模式、DMA模式)。采用不同的通訊模式,使用戶獲得對PCIE的不同訪問速度。從而實現針對PCIE程序開發的實驗與驗證。
(2)其次, 當用戶需要應用該實驗平臺進行存儲訪問實驗時,可以由用戶編寫FPGA測試程序,加載至EDA實驗平臺,并通過實驗平臺中所提供的存儲器陣列實現從FPGA到存儲陣列的訪問與控制。當用戶需要進行數據輸出實驗測試時,可以由用戶選擇需要使用的輸出設備,在該實驗平臺中通過FPGA程序的執行將用戶運行的數據結果輸出至 LED、LCD或VGA終端接口。選擇不同的輸出設備時,用戶需要針對不同的設備開發相應的FPGA程序。使得FPGA輸出的數據能夠符合其所連接的輸出顯示設備要求的數據格式。
(3)之后,當用戶需要在EDA實驗平臺中連接其他的一些用戶自定義的外圍電路,并實現對外圍功能電路的連接與測試時,首先需要將所連接的外圍設備的接口連接至 EDA實驗平臺的標準I/O接口上。由于該實驗平臺提供了24 bit的數據接口、16 bit的地址線、8 bit的控制線和一個時鐘線。因此,在外圍電路模塊連接在EDA標準I/O接口上時,需要根據外圍電路接口的信號線類型不同,分別連接至 EDA實驗平臺的數據、地址、時鐘或控制線上。如果外圍電路的接口連線少于EDA實驗平臺所提供的I/O接口線的數目,此時,只需要在EDA實驗平臺中針對實際使用的I/O端口線進行功能定義即可。當外圍功能模塊的接口電路連接至 EDA實驗平臺的標準 I/O接口之后,根據外圍功能電路模塊的接口信號線的定義要求,對EDA實驗平臺標準I/O接口進行相關的定義。
Xilinx(賽靈思)是全球領先的可編程邏輯完整解決方案的供應商,成立于 1984年。Xilinx研發、制造并銷售范圍廣泛的高級集成電路、軟件設計工具以及作為預定義系統級功能的 IP(Intellectual Property)核。客戶使用 Xilinx及其合作伙伴的自動化軟件工具和IP核對器件進行編程,從而完成特定的邏輯操作。公司首創了現場可編程邏輯陣列(FPGA)的技術,并于1985年首次推出商業化產品,它的可編程邏輯解決方案縮短了電子設備制造商開發產品的時間并加快了產品面市的速度,從而減小了制造商的風險。本文平臺設計中采用的 Virtex系列芯片是 Xilinx的高端產品,Virtex-4系列均采用統一架構,工藝均為28nm,使客戶在功能方面收放自如,既能降低成本和功耗,也能提高性能和容量,從而降低低成本和高性能系列產品的開發部署投資,從而進一步提高平臺性能。具體表現如下:基于 Xilinx VertexV6-240t的綜合實驗平臺,其特征是由 Xilinx VertexV6-240t FPGA芯片作為EDA實驗平臺的核心芯片。EDA綜合實驗平臺可以利用該芯片內部豐富的可編程邏輯資源和存儲資源能夠實現對各種復雜外圍接口電路的迅速與準確的控制。EDA綜合實驗平臺中包括存儲陣列,存儲陣列的數據線、地址線、時鐘和訪問控制線,分別連接至FPGA芯片上。由FPGA向存儲陣列發出各種訪問操作命令,能夠快速實現對存儲陣列的數據直接讀、寫等各種訪問操作。
本文詳細介紹了一種基于Xilinx VertexV6-240t芯片的EDA 教學實驗平臺的設計與實現方案。該實驗平臺的擴展性好,功能齊全、使用方便,平臺為 EAD相關課程實驗提供了豐富的外圍設備及各種常用外部設備的端口, 平臺的投入應用不僅可用于與電子應用技術專業、通信專業、計算機專業相關的各類EDA 教學的實驗與演示, 還可用于相關電子信息類專業基于CPLD 的各種復雜數字系統的開發,為高校電子信息類實驗平臺的開發與應用提高先進的指導思想與開發理念,大大改善學生的創新能力培養水平。
[1] 于海濤,王玉松.電子技術課程設計中引入 EDA技術探討[J].實驗科學與技術,2008,Vol.6(04):14-16.
[2] 陳學平.高職院校 EDA專業課程開發探索[J].職業技術教育,2009,Vol.30(17):24-25.
[3] 黃力,賴兆磬,葛祥友.高職嵌入式系統教學與實踐研究[J].柳州職業技術學院學報,2010,Vol.10(01):81-84.
[4] 朱奕丹.VHDL設計課程教學改革實踐[J].電氣電子教學學報,2007,Vol.29(02):22-23.
[5] 梁洪衛,高丙坤,王秀芳,闞玲玲. EDA技術與應用課程實驗與實踐教學研究[J].實驗室科學,2010,Vol.13(03):40-41.
[6] 胡桂,張艷.EDA技術對實驗教學的影響[J].高等教育研究,2006,(03):38-39.
[7] 邱軍興,郭東道. EDA技術在電路設計中的地位和作用[J].西安文理學院學報(自然科學版),2005,Vol.8 (01):64-67.
[8] 艾明晶,康光宇.EDA 教學實驗平臺的設計與實現[J].計算機應用,2002,(11):19-23.