新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的SOC外部組件控制器IP的設計

        基于FPGA的SOC外部組件控制器IP的設計

        作者: 時間:2012-01-30 來源:網絡 收藏

        1 引言

        嵌入式系統已經發展成為應用最廣的計算機系統[1]。(System On a Chip)則是嵌入式系統的研究和開發熱點。 的核心概念是把整個系統集成到一片半導體芯片上。目前 的中文名稱還不統一,可被叫做集成系統芯片、系統芯片或片上系統等。基于可編程器件(Field programmable Gate Arrays)的SOC 可被稱作SOPC(System on a Programmable Chip)或PSOC(Programmable SOC) [2]。基于 的設計為可重配置(reconfigurable)的SOC 的開發帶來了方便[3]。SOC 運用現代計算機和微電子學的高技術,實現單片系統集成,減小了體積、提高了運行效率、增強了可靠性、降低了功耗、減少了成本,因此被稱作嵌入式系統應用的理想結構和高端形式。

        本文引用地址:http://www.104case.com/article/190804.htm

        IP(Intellectual Property)是SOC 設計不可或缺的部分。在某種程度上,可以說SOC=MP+IP。微處理器MP(Microprocessor)是SOC 的核心。IP 是SOC 各種功能實現的模塊。IP 模塊也被稱作IP 核,IP 核又可分為硬核、軟核、固核[4]。由于SOC 是針對某種應用或對象設計的專用系統,系統的實現很大程度上依賴于功能模塊的設計。此外,許多MP 核可以在市場上買到。因此,IP 模塊的開發已成為許多用戶設計SOC 的主要工作。

        本文側重于介紹IP 模塊中組件的設計和實現。一個基于 的LCD 設計作為例子被介紹。這個組件設計屬于固核IP 設計,也就是軟硬結合的方法。設計內容主要包括電路結構、VHDL 框架和仿真結果。該設計實現了面向可重配置SOC 的單指令驅動LCD 操作。

        2 SOC 組件與組件控制器

        SOC 組件是SOC 為實現某種操作功能所需要的器件或設備。這些組件可以是內部的也可以是外部的,如LCD、鍵盤、設備驅動器等是外部組件,電子轉換器、變換器、放大器等則屬于內部組件。無論是內部,還是外組件,其控制單元都要被設計在SOC 內部。作為一個系統的核心,SOC要完成運行、操作或控制功能,必須有相應的組件配合。而多數組件,尤其是外部組件在SOC 內都要有一個對應的控制器。所以,為了實現應用對象操作,SOC 要設計相當數量的組件控制器。組件控制器的設計,對SOC 而言就是一些IP 模塊的設計。

        SOC 與外部組件的基本關系見圖1。相對于外部組件而言,SOC 由微處理器核MP(microprocessor)和相關的控制器IP 構成。為了得到最優的控制效率,SOC 的MP 常常被設計成可重配置(reconfigurable)的MP[5]。這意味著用戶可對MP 的一些配置進行修改和添加以適應應用系統的需要,如用戶可以對MP 的指令系統進行重新配置,設計加入用戶需要的專用指令。為了區別于一般的MP,圖1 中的給出了SOC-MP 來代表用于SOC 的MP 核

        圖1 SOC 與外部組件的基本關系

        SOC的組件控制器與專用指令配合可以實現一些復雜操作的單指令運行,從而大大提高了SOC應用系統的操作速度和運行效率[6]。這也正是嵌入式系統的專用設計特性和高效控制優勢的體現。

        盡管SOC 的IP 核分為硬核、軟核、固核,對于非專業集成電路設計的用戶來說,多數采用基于FPGA 的設計方法。實際上也就是軟硬結合的IP 固核設計。本文介紹的是一種用VHDL 硬件描述語言在FPGA 上設計SOC 外部組件控制器IP 的方法。

        3 LCD 控制器的設計

        液晶顯示器 LCD(Liquid Crystal Display)是SOC 的一種外部組件,會經常被用到。為了實現SOC 對LCD 的高效管理,要設計一個LCD 控制器IP 模塊。這個模塊被命名為lcd_fct。外部組件LCD 與SOC 的關系與控制結構可參考圖2。

        對照圖1 可以看出,圖2 中的lcd_fct 是外部組件控制器IP,它位于LCD 和MP 之間,通過數據(data)、地址線(address)、控制(control, write_e)和信號線(lcd_busy)等與MP 和LCD 建立聯系。

        圖2 外部組件LCD 的SOC 控制結構

        在這個設計中對LCD 控制器lcd_fct 的要求是:lcd_fct 接受來自MP 的指令,如初始化、清屏和顯示等。lcd_fct 按照指令的要求產生一系列控制信號和相應的時序來控制LCD 模塊完成相應的操作。實際上,lcd_fct 對LCD 模塊的操控主要包括LCD 初始化、清屏、傳送顯示數據和地址。

        當lcd_fct 的輸入信號reset 是低電平時,復位電路(Reset Circuit)開始工作,進行初始化操作、對標志和狀態清零、設定相關常數等。

        時鐘調節電路(Clock Regulator)主要為定時器提供具有高質量波形的時鐘。為滿足運行中不同時序的需要, lcd_fct 中設計了微秒定時器(μs Timer)和毫秒定時器(ms Timer)。定時的時間常數被放在時間常數寄存器(Time Constant Register)中。

        從MP 來的地址(addrin)和控制(write_e)信息被送到譯碼器(Decoder)。譯碼器根據不同的地址和控制信息產生相應的指令標志,如復位、清零等。并把指令標志送給控制電路(Control Circuit)。


        上一頁 1 2 下一頁

        關鍵詞: FPGA SOC 控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 封丘县| 满洲里市| 名山县| 视频| 凉城县| 武山县| 麻江县| 洛南县| 育儿| 正安县| 儋州市| 正定县| 蒙自县| 文水县| 仲巴县| 建德市| 南召县| 临洮县| 香港| 遵义市| 昭苏县| 东丰县| 伊春市| 翼城县| 安福县| 金坛市| 禹城市| 汉阴县| 和硕县| 贡嘎县| 武陟县| 峨边| 简阳市| 东至县| 湟中县| 富裕县| 陇川县| 黎川县| 华坪县| 石嘴山市| 临清市|