999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的計算機系統接口實驗平臺的設計與研制

2013-12-23 05:18:16周悅芝董代潔
實驗技術與管理 2013年5期
關鍵詞:實驗設計學生

周悅芝,董代潔

(清華大學計算機科學與技術系,北京 100084)

FPGA 可編程器件在硬件設計中的應用越來越廣泛,特別是隨著FPGA 器件性能不斷提高、容量和密度的不斷增大,其應用覆蓋到了通信、電子、多媒體處理、汽車、醫療等行業。我校開設的計算機系統接口硬件實驗課程從90 年代就采用了EDA 的設計方法。隨著計算機接口技術的不斷發展和演化,原來基于低端FPGA 芯片的實驗平臺已經不能滿足教學的需求,亟須更新換代。之前作者使用自制的以XC2S300E為主芯片的實驗裝置能夠滿足大部分接口設計的需求,包括網絡和USB接口設計,但是在用EDK 嵌入式開發系統設計USB接口時,片內存儲器的容量和邏輯單元已用到了極限,不可能再做更多的擴展,因為綜合性的設計有時需要更多的邏輯密度和存儲空間。在這樣的背景下,需要將實驗平臺的FPGA 片內邏輯密度和存儲容量提高;其次,FPGA 也需要增加更多的特性和功能,如更強的DSP處理的能力等;同時,還需要對一些外圍器件進行更換,使接口功能更接近目前的功能需求。因此,新的實驗平臺除了夠讓學生用一般邏輯設計接口以外,還能夠讓學生在使用EDK 方式做系統一級的綜合設計時不受到邏輯資源和存儲資源的限制,同時也可以做DSP 信號處理方面的設計。因此,作者重新設計并開發了新一代的基于高性能的計算機系統接口實驗平臺。

1 系統設計與研制方案

1.1 系統平臺設計

1.1.1 功能設計

FPGA 的生產廠家在提供硬件芯片的同時還會與合作商推出配套的開發設計平臺。FPGA 生產廠商Xilinx公司提供的新一代軟件設計平臺Xilinx ISE Design Suite 12支持3種設計方式:一種是在集成環境Xilinx ISE Design Suite 12 下的軟件平臺ISE Design Tools,它支持用HDL 硬件描述語言來設計硬件;第二種是EDK 嵌入式開發工具,支持設計片上系統,可以將系統的模塊或自設計的模塊調入其中;第三種是DSP 開發工具,采用System Generator 工具與Matlab 工具綁定,進行信號處理、數據算法方面的開發,然后形成HDL 模塊。另外還集成了仿真工具ModelSim、在線邏輯分析儀ChipScope、嵌入式固件調試工具SDK 等。作者在設計實驗時進行了多方面的考慮:首先讓學生通過一些基本的訓練來熟悉各種工具的使用,HDL 語言的用法等;然后再增加一些比較基本的接口設計,這些設計可以采用HDL 邏輯設計也可以用EDK 的方式進行,如LCD 顯示、RS232串行通信和SRAM 輸入輸出等,這些模塊是常用的接口,在后來設計的實驗中可能要用到,使學生得到階梯形的訓練;最后,由學生選做一個大實驗,綜合運用EDK和上述的小模塊完成一個綜合性的接口設計,加深對接口技術的理解,提高自己的接口設計和實現能力。據此,作者共設計并驗證了8 類實驗,每類實驗的內容、實驗目的和設計方法如表1[1]所示。

表1 目前已驗證的實驗

1.1.2 平臺模塊設計

總體設計方案的確定要根據教學的需求決定實驗裝置包含哪些待設計接口及這些接口具備的性能參數。根據教學的需求,最復雜的接口設計是嵌入式主USB,需要54 767個邏輯單元、1.08 MB的存儲容量。首先確定主芯片的型號是 Spartan6 系列的XC6SLX45T,該芯片系統時鐘可達1GHz,有150 000個邏輯單元,片內存儲器BRAM 最高為4.8MB,內含1個PCI Express硬核,以及足夠的硬DSP處理片[2]。這種芯片不但能夠滿足實驗平臺的參數需求,并且Spartan6系列的FPGA 在成本上也是屬于商業型高性價比的產品。每一個接口的設計基本上都是一個外圍接口器件與FPGA 的結合,外圍器件的選擇主要根據接口性能的要求。在主芯片和接口器件選定的情況下,決定供電方案和系統時鐘。板上還需要設計配置電路,以供編程FPGA 用。

實驗平臺和實驗設計是在原有的實驗裝置上進行改進的,并且新開發的實驗一般會在廠家推出的對應主芯片的開發板上先做相近的驗證,因此Xilinx 公司推出的SP605開發板也是作者方案設計及實驗驗證的參考平臺,新實驗平臺的型號定為EDK-SP6ADSPTXMFI00。

實驗板上主要的功能分為5個部分:供電、系統時鐘、配置電路、主FPGA 器件和接口(如圖1 所示)。供電部分對板上所有電路提供電源;系統時鐘主要是對FPGA 提供時鐘源;配置電路用于對FPGA 編程;接口部分一般采用專用接口器件和FPGA 連接,通過對FPGA 內部的設計與外部接口器件共同組成一個完整的接口電路,每一個接口都配有一個外部接口器件。這些功能模塊的詳細設計將在后面闡述。

圖1 實驗裝置硬件結構框圖

1.2 平臺研制

1.2.1 主芯片、供電及系統時鐘

這部分的設計如圖2 所示,前面已經提及XC6SLX45T 作為主FPGA 芯片,這種FPGA 內部包含4個BANK,各個BANK 的IO 可以單獨供電,但一個BANK 內部的IO 供電必須一致,IO 供電與外部接口器件的供電要求必須一致。所以需要將供電要求一致的接口安排在一個BANK 上,這里以IO 電壓3.3 V 為主,只有BANK2采用了3.3V 和2.5V 可選的設計。BANK2上主要連接FMC擴展接口,實際上是待定的接口。

在設計上電源部分采用了220V 交流轉12V 電源模塊,然后用4個TPS54620器件將12V 分別轉換成5V、3.3V、2.5V 和1.2V 電壓;FPGA 的IO 和配置供電選擇3.3V;核電壓為1.2V,2.5V 作為備用;5V 用作音頻接口放大電路的供電。

FPGA 內部提供了大量的時鐘網絡,包括全局和局部時鐘布線,內部有6個CMT 時鐘管理器,能夠進行0°~270°移相、倍頻和2~16分頻。在設計中作者選用了100 MHz的主頻時鐘輸入到FPGA 的全局時鐘輸入端,同時還設計了一個備用時鐘連接接口。各個外部接口器件上的時鐘輸入都是通過FPGA 分頻后再接入的。

圖2 主芯片、供電及系統時鐘結構圖

1.2.2 配置電路

系統設計了3個配置通道:通過主機經USB/Jtag編程;先將配置文件下載到SPI Flash,然后上電自動編程FPGA;ACE配置控制器,通過它的控制外部CF卡可以配置FPGA 或與之通信[3]。3個可配置器件以菊鏈方式串接,其結構如圖3所示。

圖3 FPGA配置電路結構圖

1.2.3 接口

系統包含各種較通用的接口,如VGA、音頻、網絡、USB 接口等,詳見表1。VGA 和音頻接口分別選用了較簡潔的器件AD7125 和AK4520,AD7125 器件的RGB各顏色分量最高可以采用8位數據寬度,像數點時鐘可以高達240 MHz,支持顯示多種高清模式[4]。音頻器件AK4520可以有3種主頻模式和4種串行數據流模式,采用雙聲道播放[5]。在USB接口的設計方案中,保留了以往的PDIUSBD12作為從設備接口設計外圍器件。該器件的好處是體積小,器件內包含了USB底層的部分硬件協議,如串行接口引擎、端點FIFO、基本數據包的接收、發送,以及針對不同數據包發出不同的中斷指示,這些功能都通過2個寄存器及1個MPU 接口與外部控制器通信,并且廠商還提供了對該器件底層訪問的命令代碼[6]。而FPGA承擔了初始化外部USB控制器、接收并識別從主機經PDIUSBD12傳來的命令或數據,并作相應的回應,使用這種器件作外圍器件可以讓學生在設計中接觸到USB協議的具體細節。同時還增加了另一款Cypress公司的嵌入式USB 器件,作為嵌入式主USB 接口設計。該器件具有USB2.0及以下協議的功能,器件內部包含一個CPU 和配套的軟硬件體系[7]。設計包含對Cy7c67300的編程和FPGA 內部硬件搭建以及軟件的編程,這是一種綜合性較強的設計,且可以不涉及USB協議的細節。網絡接口采用88E1111,該器件可以用于千兆網絡傳輸,具有網絡物理層的硬件功能[8]。PCIE接口是采用了FPGA 內部的PCIE硬核,外部連接只是連線接口。

1.2.4 布線

FPGA 是484管腳的BGA 封裝,88E1111是96管腳的BCC封裝,其他的器件有LQFP、TQFP等封裝,PCB布線采用了8 層板工藝。在上述設計和研制方案完成后,作者完成了邏輯圖的設計,并委托依元素科技有限公司進行了布線和生產。圖4是研制完成的EDK-SP6ADSP-TXMFI00 實驗平臺實物樣機。

圖4 實驗平臺實圖(實物尺寸:34cm×17cm×12cm)

2 2種典型的接口實驗

2.1 基于HDL邏輯設計的網絡接口實驗

網絡接口實驗是以一個IP 協議棧為基礎的、用VHDL實現的工程,該工程具有多層次的結構,基本上是以功能來劃分,功能模塊分為3個層次:傳輸層、網絡層和以太層。實驗一般根據學生的情況設計1個或2個層次的內容,多數情況是完成以太層的設計,包括接收和發送模塊。可以1個學生單獨設計或2~3個學生協作完成,最后把各自的部分連接起來,通過Ping命令檢測實現的正確性。

網絡接口設計較復雜,以設計以太層為例:首先要把該層次的輸入輸出模塊與其他層次的接口關系給出來;然后再給學生一個參考設計流程,學生在此基礎上進行設計和仿真。該模塊與物理層的關系是通過FPGA 的IO 輸入輸出與外部網絡物理層器件88E1111的管腳連接,與IP 協議棧的其他模塊有關聯的有IP層的輸入輸出模塊、差錯檢測CRC模塊、ARP地址解析模塊以及SRAM 存儲器模塊。

在以太網發送接收模塊的設計時,因為要和其他模塊銜接,相互之間的接口關系至關重要,如果只是通過對協議的了解,那么就需要完全讀懂其他模塊的程序,因此在給出待設計模塊與其他模塊的信號關聯時,同時將仿真波形直觀表達給學生,這樣在設計的時候更便利一些,也更有利于學生對網絡協議的認識。圖5和圖6分別是以太層接收和發送模塊的流程圖[9]。

2.2 基于SOPC設計的USB接口實驗

USB接口實驗是利用嵌入式開發平臺EDK 在實驗板上實現USB 主設備的設計,在實驗板上連接了USB鍵盤以后能在LCD 上顯示USB鍵盤的輸入值。

2.2.1 硬件設計

硬件設計的方案是在FPGA的內部、采用SOPC的方式搭建一個帶有軟核CPU 的片內系統,以及能夠和外部Cy67300通信、顯示從Cy67300傳來的鍵盤輸入數據的接口控制器,另外還有幾個基本的IP,比如時鐘分頻器、RS232、中斷控制器等,這個工程的各個控制模塊采用的是系統提供的IP。FPGA 與Cy67300通信通過Cy67300的HPI接口,HPI包含4個對外通信的端口,這4個端口分別是地址、數據、命令和狀態端口。FPGA片內硬件系統構成如圖7所示。

圖5 以太層接收模塊流程圖

圖6 以太層發送模塊流程圖

系統建好以后每個模塊需要進行信號連接和參數配置。模塊之間的信號連接只需定義相同的信號名,信號從FPGA 輸入和輸出需要一個后綴為UCF的文件來定義。

圖7 FPGA片內硬件系統構成

2.2.2 軟件設計

軟件分為2個部分:一部分是FPGA 片內CPU 的指令,負責控制xps_epc與CY7C67300進行通信,以及控制LCD的顯示等;另一部分的代碼就是USB控制芯片的代碼,包括BIOS的匯編代碼和應用程序,匯編代碼存入與cy7c67300相連接的eeprom 中。應用程序先要編譯成BIN 文件,再通過一個轉換程序轉換成文本文件,把它作為FPGA 固件程序的頭文件,這個應用程序是通過FPGA 內部的固件程序再經xps_epc控制器送到cy7c67300的RAM 中。CY7C67300在啟動后會從自己的BIOS中調用基本的任務,包括初始化任務、空閑任務和回收任務,然后進入等待中斷狀態,當有中斷發生時會啟動相應的中斷程序和應用程序。

上述只是簡述了2個典型實驗的基本過程,詳細的實驗介紹可參見文獻[10]。

3 結束語

作者在研究生的微型計算機系統接口技術課程的教學中使用該平臺已經2個學期,收到了良好的效果。該平臺目前已在全國各大學進行推廣,配套的教材被列入“十一五”國家級規劃教材。通過在該平臺上的教學和實驗過程,學生一方面接觸了如何用硬件編程語言設計接口,另一方面也從全局的角度理解了FPGA嵌入式設計的流程,包括軟件層次和硬件層次,熟悉了最新的EDA 開發工具以及仿真、測試的方法,能夠更加透徹地理解各種接口技術。因為新平臺提供了更大的容量、速度以及更多的軟硬資源,改善了學生創新實驗的條件,在培養學生的動手能力和擴大了學生知識面的同時,能夠激發他們的創新能力。有的學生將自己所學專業的知識應用到了接口設計中,每一次課程實驗完成后都有很多創新點,學生感覺收獲很大,這也推進了實驗課程的不斷改革和深化。

[1]全成斌,管曉培,李山山,等.計算機硬件實驗統一平臺設計[J].計算機教育,2008(18):3.

[2]Xilinx.Spartan-6 Family Overview[EB/OL].(2011-10-25).http://www.xilinx.com/support/documentation/data_sheets/ds160.pdf.

[3]Xilinx.System ACE CompactFlash Solution[EB/OL].(2008-10-1).http://www.xilinx.com/support/documentation/data_sheets/ds080.pdf.

[4]Analog Devices.CMOS,330 MHz Triple 8-Bit High Speed Video DAC ADV7125/(Rev.C)[EB/OL].(2002—2011).http://www.analog.com/static/imported-files/data_sheets/ADV7125.pdf.

[5]ASAHI KASEI.AK4520A/100dB 20Bit Stereo DS ADC & DAC[EB/OL].[2012-07-07].http://www.ic5.cn/p_AK4520A_ausM.html.

[6]Philips.PDIUSBD12 USB interface device with parallel bus[EB/OL]. (2001-12).http://www.gaw.ru/pdf/Philips/usb/PDIUSBD12.pdf.

[7]Cypress.EZ-Host?Programmable Embedded USB Host/Peripheral Controller[EB/OL].(2003-05-28).http://www.cypress.com/?docID=30079.

[8]Marvell Semiconductor.88E1111 Datasheet Integrated 10/100/1000Ultra Gigabit Ethernet Transceiver[EB/OL].(2006-02-10).http://www.marvell.com/transceivers/assets/Marvell-Alaska-Ultra-88E1111-GbE.pdf.

[9]史蒂文斯.TCP/IP 詳解(卷1:協議)[M].范建華,譯.北京:機械工業出版社,2007.

[10]周悅芝,董代潔.微型計算機系統接口技術實驗教程:基于FPGA設計[M].北京:清華大學出版社,2011.

猜你喜歡
實驗設計學生
記一次有趣的實驗
做個怪怪長實驗
趕不走的學生
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
學生寫話
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
學生寫的話
主站蜘蛛池模板: 最近最新中文字幕在线第一页| 亚洲区第一页| 免费xxxxx在线观看网站| 国产99在线| 中文字幕永久视频| 精品国产中文一级毛片在线看 | 久久天天躁夜夜躁狠狠| 人妻丰满熟妇αv无码| 成·人免费午夜无码视频在线观看| 久久精品波多野结衣| 欧美怡红院视频一区二区三区| 伊人色综合久久天天| 久久精品人人做人人| 国产成人高精品免费视频| 91精品啪在线观看国产91| 福利在线不卡一区| 日韩精品资源| 操美女免费网站| 色欲国产一区二区日韩欧美| 亚洲精品第一页不卡| 久久久无码人妻精品无码| 日本黄色不卡视频| 色成人综合| 91亚洲精品第一| 69精品在线观看| 第一页亚洲| swag国产精品| 91福利在线观看视频| 久久无码av三级| 国产成人亚洲欧美激情| 真实国产乱子伦视频| 2021国产在线视频| 亚洲国产成人超福利久久精品| 国产欧美日韩在线一区| 香蕉久久国产精品免| 久久免费视频播放| 狠狠躁天天躁夜夜躁婷婷| 欧美一区精品| 99热国产这里只有精品无卡顿"| 亚洲va在线观看| 91小视频在线| 中国一级特黄大片在线观看| 国产视频你懂得| 国产激情在线视频| 91青草视频| 激情無極限的亚洲一区免费| 亚洲最猛黑人xxxx黑人猛交| 国内精品久久人妻无码大片高| 欧美日韩国产在线观看一区二区三区| 亚洲一区国色天香| 欧美色亚洲| 亚洲精品中文字幕午夜| AV无码一区二区三区四区| 亚洲人成影视在线观看| 97se亚洲| 高清精品美女在线播放| 97se亚洲综合不卡| 亚洲三级网站| 欧美成人精品在线| 国产本道久久一区二区三区| 久久无码高潮喷水| 日本一本正道综合久久dvd| 国产网友愉拍精品| 久久国产精品波多野结衣| 91在线丝袜| 老司机久久99久久精品播放| 老司机aⅴ在线精品导航| 国产成人三级在线观看视频| 香蕉蕉亚亚洲aav综合| 日本久久久久久免费网络| 尤物国产在线| 亚洲自偷自拍另类小说| 毛片网站在线看| 成人日韩欧美| 国产成+人+综合+亚洲欧美| 国产成人久久综合777777麻豆| 亚洲欧美综合精品久久成人网| 国产在线日本| 精品免费在线视频| 精品国产亚洲人成在线| 中日韩一区二区三区中文免费视频| 国产性猛交XXXX免费看|