?

基于FPGA的SOC技術在微機原理中的應用

2017-03-09 23:26李海玲
微型電腦應用 2017年12期
關鍵詞:微機器件原理

李海玲

(西安航空學院 計算機學院, 西安 710077)

基于FPGA的SOC技術在微機原理中的應用

李海玲

(西安航空學院 計算機學院, 西安 710077)

隨著FPGA技術和SOC技術的發展,已經能夠設計出性能價格比很高的片上系統,而且成為當今的重要發展方向。因此,計算機科學與技術專業很多課程將面臨重大改革與挑戰,尤其是實踐環節。以微機原理課程為例,介紹如何將傳統教學內容融入FPGA和SOC技術,實現現代技術方法在原理課程中的應用,從而在更廣闊的視野和更大的深度上提升課程的學習效果及對先進技術的應用能力。

FPGA; SOC; EDA; 微機原理; 應用

0 引言

隨著大規模集成電路技術的飛速發展,專用集成電路ASIC(Application Specific Integrated Circuit)的設計與實現已不再必須依靠專門的廠商了[1]。人們可以直接將自己的設計實現于手頭的FPGA中,高效率地完成產品開發。尤其是SOC技術的出現,設計出性能價格比很高的片上系統已經實現,而且成為當今的重要發展方向。這對于計算機科學與技術專業很多課程來說,將面臨重大的改革與挑戰,尤其是在實踐環節。本文以微機原理課程為例,介紹如何將傳統教學內容融入FPGA和SOC技術,使傳統的微機原理知識在一個全新的平臺上與大量的新知識新方法新技術新工具完成有機整合,實現現代技術方法在原理課程中的應用。

1 FPGA簡介

FPGA(Field Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物[2]。它是作為專用集成電路ASIC領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

現場可編程門陣列(FPGA)是可編程器件,允許無限次的編程,結合成熟的數字系統設計軟件(如Quartus II)和標準化的硬件描述語言(如Verilog和VHDL),完成幾乎所有的數字電路的設計,并且能當場在FPGA中實現其硬件電路。

目前全球知名的FPGA生產廠商有Altera、Xilinx、Actel、Lattice和Atmel。其中Altera作為世界老牌可編程邏輯器件的廠家,是可編程邏輯器件的發明者,開發軟件是MAX+PLUS II和Quartus II。Xilinx是FPGA的發明者,擁有世界一半以上的市場,提供90%的高端65nmFPGA產品,開發軟件為ISE。Altera和Xilinx主要生產一般用途FPGA,其主要產品采用RAM工藝。Actel主要提供非易失性FPGA,產品主要基于反熔絲工藝和FLASH工藝,主要用于軍用和宇航。Lattice提供業界最廣范圍的FPGA、PLD及其相關軟件,包括現場可編程系統芯片(FPSC)、復雜的可編程邏輯器件(CPLD)、可編程混合信號產品(ispPAC?)和可編程數字互連器件(ispGDX?),最終用戶主要是通訊、計算機、工業、汽車、醫藥、軍事及消費品市場的原始設備生產商。Atmel在系統級集成方面所擁有的世界級專業知識和豐富的經驗使其產品可以在現有模塊的基礎上進行開發,保證最小的開發延期和風險。憑借業界最廣泛的知識產權(IP)組合,Atmel是提供電子系統完整的系統解決方案的廠商。Atmel集成電路主要集中在消費、工業、安全、通信、計算和汽車市場。

2 SOC技術

2.1 SOC概述

SOC(System on Chip)被我國專業研究的學者譯為片上系統,是指以嵌入式系統為核心,集軟、硬件于一體,并追求產品系統最大包容的集成芯片[3]。SOC又可以譯為“系統集成芯片”,意指它是一個產品,是一個有專用目標的集成電路,其中包含完整系統并有嵌入軟件的全部內容;SOC也可以譯為“系統芯片集成”,意指它是一種技術,用以實現從確定系統功能開始,到軟/硬件劃分,并完成設計的整個過程[4]。

SOC使傳統電子系統全面進入了現代電子系統,作為電子系統追求的目標就是最大限度地簡化電路設計,并獲得整體產品系統的可靠性、精度、穩定性等品質指標。SOC將電路系統設計的可靠性、低功耗等都解決在IC設計之中,把過去許多需要系統設計解決的問題集中在IC設計中解決。

2.2 IP核

IP核,在集成電路的可重用設計方法學中,全稱知識產權核(Intellectual Property Core),是指某一方提供的、形式為邏輯單元、芯片設計的可重用模塊。IP核通常已經通過了設計驗證,設計人員以IP核為基礎進行設計,可以縮短設計所需的周期。IP核不僅指數字IP核,同時還包括模擬IP核。IP核分為軟核(Soft Core)、硬核(Hard Core)、固核(Firm Core)[5]。

軟核是用VHDL等硬件描述語言描述的功能塊,但是并不涉及用什么具體電路元件實現這些功能。軟IP通常是以硬件描述語言HDL源文件的形式出現,應用開發過程與普通的HDL設計也十分相似,只是所需的開發硬軟件環境比較昂貴。軟IP的設計周期短,設計投入少。由于不涉及物理實現,為后續設計留有很大的發揮空間,增大了IP的靈活性和適應性。其主要缺點是在一定程度上使后續工序無法適應整體設計,從而需要一定程度的軟IP修正,在性能上也不可能獲得全面的優化。由于軟核是以源代碼的形式提供,盡管源代碼可以采用加密方法,但其知識產權保護問題不容忽視。

硬核是基于半導體工藝的物理設計,已有固定的拓撲布局和具體工藝,并已經過工藝驗證,具有可保證的性能。其提供給用戶的形式是電路物理結構掩模版圖和全套工藝文件,是可以拿來就用的全套技術。這種硬核既具有可預見性,同時還可以針對特定工藝或購買商進行功耗和尺寸上的優化。盡管硬核由于缺乏靈活性而可移植性差,但由于無須提供寄存器轉移級(RTL)文件,因而更易于實現IP保護。

固核是軟核和硬核的折衷。除了完成軟核所有的設計外,還完成了門級電路綜合和時序仿真等設計環節。一般以門級電路網表的形式提供給用戶。

大多數應用于FPGA的IP核均為軟核,軟核有助于用戶調節參數并增強可復用性。軟核通常以加密形式提供,這樣實際的RTL對用戶是不可見的,但布局和布線靈活。

在SOC技術中IP核是關鍵,CICC 1997年會議文集的“單元建庫”分冊已有IP的報導[6],1998年CICC的文集關于IP的報道就增加到3個分冊,1999年美國ICE(IC Engineering)編輯的“ASIC Status 99”討論IP的篇幅占到了1/3。在“ASIC Status 99”中對IP有這樣的描述:“Yesterday’s chips are today’s reusable IP blocks and can be combined with other functions like Video, Audio,Analog,and I/O,to formulate what we now know as system on chip(SOC) ”[7],該描述清楚地說明IP核對于SOC技術發展的重要性,IP核是SOC技術的支撐。

2.3 SOC設計方法

傳統芯片的設計都是專注于某個特定功能模塊的設計,比如:CPU、存儲器、I/O接口等,即使是這樣的一些芯片在以往的設計中已經是很復雜的問題了,需要很多高級設計人員花費大量的時間和精力,然而SOC要完成的功能通常包括了多個傳統芯片功能的功能,甚至還要復雜。因此片上系統SOC一般采用基于核的設計,軟件部分采用構建重用,硬件部分采用IP核重用,即將一個系統按照功能劃分為若干個模塊,然后直接利用設計好的IP核搭建成一個具有特定功能的芯片。SOC的設計重用使系統設計者可以更多地考慮系統結構,而不必深陷于模塊實現,從而達到降低系統設計復雜性的目的[8]。

利用電路設計自動化(EDA)工具和硬件描述語言(HDL)以及標準單元庫中的智能模塊(IP)核,根據產品的特定要求設計出性能價格比很高的片上系統,是目前國際上使用的最新設計方法[9]?,F代電子設計技術可以將所開發產品中的幾乎所有功能模塊集成在一個芯片中,從而縮小了體積,降低了功耗和成本,并提高了系統的可靠性和整機設計效率。

3 SOC技術在微機原理中的應用

微機原理課程在計算機、通信、電子工程、工業自動化、機械制造等多個專業具有十分重要的地位,對于本課程的教學長期以8086/8088微機系統及其接口作為學習的基本內容,包括微處理器結構、指令系統、匯編語言程序設計、存儲器系統、總線技術、并行接口技術、定時/計數器接口技術、中斷技術、串行接口技術、DMA技術、模擬接口技術和其他實用的接口技術。而這些傳統內容都有相應的IP軟核支持,比如8088IP、8255IP、8254IP、16550IP、8237IP、8259IP等。

在系統設計中,可以利用Quartus II開發平臺,調用各種器件模塊,包括IP軟核、各種功能基本邏輯元件、74LS系列的小規模邏輯模塊,邏輯規模較大的參數可以設置功能模塊(如嵌入式的RAM、ROM、鎖相環、各類計數器等),然后將它們按電路要求連接起來構成一個完整的系統,通過綜合和仿真測試,沒有問題后將此系統的目標文件下載于指定的FPGA,即可進行對應此SOC系統的硬件測試,硬件系統的測試同時也包含對此系統中的CPU的軟件運行測試,直至完成設計。

整個軟硬件構建和測試過程便捷其透明,任何一個器件、一個細節、一個信號、一根引線的內在行為都可以在Qu-artus II提供的各種功能強大的自動化測試工具中全方位地展示出來,包括展示CPU上任何一個引腳上的信號時序、數據總線上任何一個時刻流動的數據或指令,甚至任何一組指令的流水線執行情況等。

這樣即將微機原理課程中的傳統內容與EDA技術、FPGA開發技術和SOC片上系統技術有機地融合起來,全方位強化和拓展這一傳統教學領域中的知識,使其在一個全新的平臺上與大量新知識新方法新技術新工具有機整合,從而在微機的基本原理方面、接口技術方面、完整系統構建方面以及現代技術的應用方面有更好的理解和掌握[10]。

4 總結

隨著EDA技術和SOC技術的發展,計算機科學與技術專業很多課程都能采用新技術新方法進行學習。由于8086/8088系統的HDL描述完整透明,可以在單片FPGA上重構8086/8088系統,使教學內容更易于與SOC技術整合,從而提高教學成效,開拓實用領域。本文以微機原理課程為例,在教學與實踐中做到與新技術的有機融合,特別是使用IP軟核完成設計和實驗,在整個過程中不但可以更完整、更高效深入地學習和掌握相關環節的原理和知識,更重要的是,通過理論和實踐的良好結合,能學習并掌握現代SOC數字系統設計的先進技術。

[1] 孟李林.FPGA和ASIC設計特點及應用探討[J].半導體技術,2006(7):526-529.

[2] 楊海鋼,孫嘉斌,王慰. FPGA器件設計技術發展綜述[J]. 電子與信息學報,2010,32(3):714-727.

[3] 何立民. 以SoC為中心的多學科融合與滲透[J].單片機及嵌入式系統設計,2001(5):5-6+11.

[4] 吉利久.SoC的技術支持及嵌入式系統設計[J]. 單片機及嵌入式系統設計,2001(10):5-11.

[5] 賴祥宇.SOC技術及國內發展現狀[J].世界電子元器件,2002(8):40-41.

[6] JOE PUMO.Core-based chip design[C]∥Session 6,IEEE CICC 97,1997,87-111.

[7] MEAF BUTY. Intellectual properties issues[C]∥ICE,ASIC Status 99,1999,4-8.

[8] 馬國俊. SoC技術及設計方法研究[J].自動化與儀器儀表,2012,159(1):6-8.

[9] 馬占卿,陳同忠.SoC技術及其形成基礎[J].信陽師范學院學報(自然科學版),2002(3):367-369.

[10] 潘松,潘明,黃繼業. 微機原理與接口技術—基本原理、實用技術和基于FPGA的SOC技術[M].北京:清華大學出版社,2015:41-44.

TheApplicationofSOCTechnologyinMicrocomputerPrincipleBasedonFPGA

Li Hailing

(Department of Computer Engineering, Xi’an Aeronautical University 710077, China)

With the development of FPGA and SOC technologies, the design of high performance and price ratio on a chip has been realized, and has become an important direction of development. Therefore, many courses in computer science and technology will face major reforms and challenges, especially in practice. Taking the microcomputer principle and interface technology curriculum as an example, this paper introduces how to integrate the traditional teaching contents into FPGA and SOC technologies. We realize the application of modern technology in principle course, so as to improve the learning effect and advanced technology in a broader vision and greater depth.

FPGA; SOC; EDA; Microcomputer principle; Applications

1007-757X(2017)12-0036-02

2017年度校級科研基金項目(2017KY0207);2017年校級高等教育研究項目(2017GJ1012)

李海玲(1980-),女,講師,碩士,研究方向:基于FPGA的SOC技術的教學和研究。

TP301

A

2017.08.28)

猜你喜歡
微機器件原理
基于包絡解調原理的低轉速滾動軸承故障診斷
了解咳嗽祛痰原理,有效維護健康
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
平均場正倒向隨機控制系統的最大值原理
TDJ微機可控頂調速系統在平頂山東站的應用
化學反應原理全解讀
電力系統微機保護裝置的抗干擾措施
旋涂-蒸鍍工藝制備紅光量子點器件
基于 OLED 顯示單元的紅外上轉換器件研究進展
一種加載集總器件的可調三維周期結構
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合