基于FPGA芯片為核心實現通用實驗系統的軟硬件設計_第1頁
基于FPGA芯片為核心實現通用實驗系統的軟硬件設計_第2頁
基于FPGA芯片為核心實現通用實驗系統的軟硬件設計_第3頁
基于FPGA芯片為核心實現通用實驗系統的軟硬件設計_第4頁
基于FPGA芯片為核心實現通用實驗系統的軟硬件設計_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于FPGA芯片為核心實現通用實驗系統的軟硬件設計1引言隨著FPGA技術的不斷發展和EDA工具軟件的完善,在FPGA芯片上實現的各種復雜算法和構建SOPC系統成為研究的熱點。在很多科研和教學開展的實驗中,都需要為大規模FPGA芯片提供高速的計算機接口以及各種功能部件模塊。目前市場上有不少FPGA實驗系統,但由于受目標芯片容量、接口、功能部件模塊等方面的限制無法滿足科研和教學需要。針對研究項目以及對參與項目研究學生培訓的需求,我們設計了一套通用的FPGA實驗系統,該實驗系統以大規模FPGA芯片為核心,帶有通用的計算機接口以及豐富的板上功能擴展部件,能較好地滿足我們項目研究的需求,并可用于產品開發的原型驗證、IC前端設計驗證,IP核驗證以及EDA課程實驗教學等,同時也可作為高速多通道邏輯分析儀使用。2實驗系統的設計思想為使實驗系統達到通用性的目的,系統上的FPGA芯片應可通過PCI、USB、串行、RJ45(網絡)和計算機交換數據,并擴展FLASH、SRAM、SDRAM、JTAG、AS/PS口以及配置芯片等功能部件。為滿足學生研究和實驗的需要,我們把卡上的FPGA剩余IO引腳擴展到一塊教學實驗用板中,教學實驗板帶有A/D、D/A、LCD、數碼管、發光二極管、時鐘系統、鍵盤、VGA、PS/2、RAM/ROM、單片機等實驗功能模塊。圖1:FPGA實驗系統的整體框圖3系統的軟硬件設計本實驗系統有多種計算機接口,都采用了成熟的接口芯片,驅動程序由芯片廠家提供,直接調用其上的接口函數實現計算機和實驗系統的數據傳輸。RS232接口設計中用一塊LTC1386CS芯片實現電平轉換后TXD、RXD信號直接連接到FPGA的IO引腳,USB接口芯片用ISP1581BD,PCI橋接芯片用PLX9054,網絡接口芯片用LAN91C111,由于這些接口及相關程序的設計方法有很多共同的地方,因此我們主要介紹PC接口部分中的PCI-FPGA的設計。3.1PCI-FPGA硬件設計PCI-FPGA部分的電源包括3.3V和1.5V兩種電壓,1.5V(VCORE)用于EP1S20F672的內核電源(VCCINT),除此之外其它電源都由3.3V(VIO)提供。3.3V電源直接從PCI插槽獲取,1.5V電源則通過凌特公司的LT1764AEQ-1.5穩壓芯片獲得。PCI插槽部分的設計主要是如圖2所示把對應信號和9054連接好,另外還需注意把PRSNT1#和PRSNT2中的至少一個接地,目的是讓主機認出本PCI設備的存在。工作模式用C模式,配置芯片用的SPROM93CS66,配置信息參照廠家推薦[1]。3.2PCI接口軟固件及測試結果9054的SDK(軟件開發套件)提供9054的驅動程序和各種9054的接口訪問函數,在此基礎上我們開發了幾個應用程序接口函數(調用失敗返回0,否則返回非0):intOpenSGLDMAChannel_0(HANDLEhDevice);//打開傳輸通道intCloseSGLDMAChannel_0(HANDLEhDevice);//關閉傳輸通道intSglDma_Transfer(//用Dma方式傳輸數據HANDLEhDevice,//設備號U8*sendDmaBuffer,//傳輸緩沖區首地址U32LocalAddress,//局部總線首地址U32DataLength,//數據塊長度unsignedintdirection//0:PCtoCard;1:CardtoPc);intSingle_ReadWrite(//用單字節方式傳輸數據HANDLEhDevice,U8*pdata,intdatalength,DWORDlocaladdress,unsignedintdirection//0:PCtoCard;1:CardtoPc);9054局部總線中LHOLDA和READY是輸入信號(如圖3),其余都為輸出。當9054向局部總線寫時,LHOLD信號由低轉高,LHOLDA應由低轉高以響應9054,9054輸出ADS為低電平時表示LA上已經出現有效地址,當READY為低電平時,LD上每個周期傳輸一個數據。當傳輸到最后一個數據時9054輸出BLAST一個周期的低電平,接著LHOLD變為低電平,等LHOLDA也變低則一次DMA傳輸結束。我們按以上所述設計并加工了PCI卡,利用FPGA片上的RAM作為輸入和輸出FIFO,局部總線時鐘為50MHz,主機把內存中的數據通過DMA傳輸方式把數據寫入FPGA上的FIFO中。FIFO的深度為1KByte時PCI的傳輸速度為360Mbps,當FIFO的深度為100Kbytes時,其傳輸速度達到916Mbps。4實驗系統的應用實驗系統接口部分研制成功后,主要起以下作用。4.1邏輯分析儀以9054局部總線調試為例,本實驗系統(EP1S20F672C7)可作邏輯分析儀使用。首先用VHDL按9054局部總線時序設計好傳輸數據控制器并綜合,接著用QuartusII5.0建立SignalTap文件并設置監測信號及觸發條件,編譯下載到FPGA中,然后便可進行邏輯分析。以ADS上升沿作為觸發條件,BLAST上升沿作為結束條件,對地址線LA[31:0]、數據線LD[31:0]、ADS、LW/R、LHOLD、LHOLDA、READY、BLAST等70路數據DMA傳輸時進行邏輯分析,其結果如圖3所示。根據綜合結果,作為邏輯分析儀,本系統支持最高頻率超過220MHz,可對從預留的128個IO口輸入的數據進行邏輯分析,存儲深度超過1.6Mbits。除可通過QuartusII5.0提供的SignalTap功能對信號分析處理外,也可以把從IO口接收到的數據通過PCI或USB接口傳輸給主機,然后通過主機編程[3]實現對數據的分析處理。4.2密碼協處理器本實驗系統作為密碼算法協處理器使用的邏輯框圖如圖4所示。以用3DES對一段長消息加密為例,主機分別將控制、模式和密鑰等數據送到協處理器的指定寄存器中,接著把明文送到FIFO中,然后待協處理器處理好數據后接收結果。協處理器根據控制、模式等設定,把FIFO中的32位數據轉換成分組塊,然后啟動密碼運算模塊,處理完一個分組塊后再把結果轉換并寫到FIFO中,并設置狀態寄存器,一直到所有數據處理完畢。由于受到PCI接口傳輸速率的限制,作為協處理器本實驗系統的最大處理速度低于460Mbps(數據進和出)。通過對3DES、AES、SHA1等算法的研究與實現,本實驗系統可作為超過400Mbps的協處理器,用于GF(2163)上ECC點乘則可超過3400次/S。4.3LEON核的驗證LeonCPU核[4]是公開源代碼的32位RISC嵌入式處理器,完全實現了SPARCV8指令體系,可以根據用戶的需要對其功能進行剪裁。該處理器由可綜合的VHDL代碼描述,可在FPGA中實現,并且已經成功流片30次以上。其性能、功耗及配套工具雖比不上MIPS和ARM,但0.85MIPS/MHz的處理速度(Dhrystone2.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論