一種可靈活配置的可編程片上系統(tǒng)芯片及其啟動配置方法
【專利摘要】本發(fā)明公開了一種可靈活配置的可編程片上系統(tǒng)芯片及其啟動配置方法,芯片包括內(nèi)核模塊、片上總線、啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA。本發(fā)明通過內(nèi)嵌存儲模塊或外設(shè)存儲器可以實現(xiàn)對FPGA的多樣配置,能有效提高FPGA配置模式的多樣化。而且還可以依托總線資源上掛載的通用接口的任意外設(shè),來完成對FPGA的靈活配置,有效解決了配置方式單一、無法面向?qū)ο蟾鶕?jù)實際應(yīng)用來進行配置的問題。本發(fā)明可在內(nèi)核模塊啟動后,可以主導(dǎo)FPGA配置的方式,控制FPGA配置的過程,有效提高配置過程的可控性。本發(fā)明可廣泛應(yīng)用于集成電路領(lǐng)域中。
【專利說明】—種可靈活配置的可編程片上系統(tǒng)芯片及其啟動配置方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路【技術(shù)領(lǐng)域】,尤其涉及一種可靈活配置的可編程片上系統(tǒng)芯片及其啟動配置方法。
【背景技術(shù)】
[0002]隨著微電子技術(shù)的發(fā)展,SOC已經(jīng)成為IC設(shè)計業(yè)界的焦點。SOC性能越來越強,規(guī)模越來越大。SOC芯片的規(guī)模一般遠大于普通的ASIC,同時由于深亞微米工藝帶來的設(shè)計困難等,使得SOC設(shè)計的復(fù)雜度大大提高。特別地,對于一些僅為小批量應(yīng)用或出于開發(fā)階段的S0C,若馬上投入流片生產(chǎn),需要投入較多的資金,承擔(dān)較大的試制風(fēng)險。SOPCXSystemon a Programmable Chip,可編程片上系統(tǒng))技術(shù)則提供了一種有效的解決方案。
[0003]相對傳統(tǒng)的設(shè)計技術(shù),SOPC可以更好的滿足系統(tǒng)化、網(wǎng)絡(luò)化、高速度、低功耗等實際需求,它將處理器、存儲器、外設(shè)接口和多層次用戶電路等系統(tǒng)設(shè)計需要的功能模塊集成到一塊芯片上,大量采用IP復(fù)用、軟硬件協(xié)同設(shè)計、自頂向下和自底向下混合設(shè)計的方法。因其靈活、高效、設(shè)計可重用特性,SOPC已經(jīng)成為集成電路未來的發(fā)展方向,廣泛應(yīng)用到汽車、軍事、航空航天、測試測量、消費電子、無線通信、醫(yī)療等領(lǐng)域。
[0004]由于SOPC內(nèi)部集成了 FPGA,需對FPGA進行適當(dāng)?shù)呐渲?,傳統(tǒng)的配置模式主要包括并行主模式、主從模式、串行模式和外設(shè)模式等。這幾種配置模式的配置方式都比較單一,無法面向?qū)ο蟾鶕?jù)實際應(yīng)用來進行配置。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種配置方式多樣化,能根據(jù)實際應(yīng)用來進行配置的一種可靈活配置的可編程片上系統(tǒng)芯片。
[0006]本發(fā)明的另一個目的是提供一種能根據(jù)實際應(yīng)用來進行配置,且能提高配置過程可控性的一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法。
[0007]本發(fā)明所采用的技術(shù)方案是:
一種可靈活配置的可編程片上系統(tǒng)芯片,包括內(nèi)核模塊、片上總線、啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA,所述片上總線分別與啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊和內(nèi)核模塊連接,所述啟動配置模塊分別與內(nèi)核模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA連接,所述DMA控制模塊與通用外設(shè)接口控制模塊連接。
[0008]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述內(nèi)核模塊包括有嵌入式系統(tǒng)內(nèi)核、高速緩存模塊、存儲管理模塊和片上總線接口控制模塊,所述嵌入式系統(tǒng)內(nèi)核分別與啟動配置模塊、高速緩存模塊、存儲管理模塊和片上總線接口控制模塊連接,所述片上總線接口控制模塊與片上總線連接。
[0009]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述內(nèi)嵌FPGA包括可配置邏輯模塊和輸入輸出模塊,所述可配置邏輯模塊通過輸入輸出模塊與啟動配置模塊連接。
[0010]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述內(nèi)嵌存儲模塊為SPI FLASH芯片。
[0011]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述存儲控制模塊還連接有外部存儲器。
[0012]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述外部存儲器為NOR FLASH芯片或NAND FLASH芯片或SPI FLASH芯片。
[0013]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述通用外設(shè)接口控制模塊包括1553B接口控制器、LVDS接口控制器、UART接口控制器、429接口控制器、SPI接口控制器、I2C接口控制器和CAN接口控制器。
[0014]本發(fā)明所采用的另一技術(shù)方案是:
一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法,包括以下步驟:
A、所述啟動配置模塊從內(nèi)嵌存儲模塊或外部存儲器中的內(nèi)核啟動數(shù)據(jù)搬移至內(nèi)核模塊的高速緩存模塊中;
B、根據(jù)內(nèi)核啟動數(shù)據(jù),讀取指令并執(zhí)行上電啟動程序;
C、將FPGA配置數(shù)據(jù)的存放位置通知至啟動配置模塊;
D、根據(jù)FPGA配置數(shù)據(jù)的存放位置,啟動配置模塊通過DMA方式將FPGA配置數(shù)據(jù)加載至內(nèi)嵌FPGA中。
[0015]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法的進一步改進,所述存放位置包括內(nèi)嵌存儲模塊、外部存儲器和通用外設(shè)接口控制模塊控制片上總線連接的相關(guān)接口外設(shè)。
[0016]本發(fā)明的有益效果是:
本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片通過內(nèi)嵌存儲模塊或外設(shè)存儲器可以實現(xiàn)對FPGA的多樣配置,能有效提高FPGA配置模式的多樣化。而且還可以依托總線資源上掛載的通用接口的任意外設(shè),來完成對FPGA的靈活配置,有效解決了配置方式單一、無法面向?qū)ο蟾鶕?jù)實際應(yīng)用來進行配置的問題。
[0017]本發(fā)明的另一個有益效果是:
本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法通過內(nèi)嵌存儲模塊或外設(shè)存儲器可以實現(xiàn)對FPGA的多樣配置,能有效提高FPGA配置模式的多樣化。而且還可以依托總線資源上掛載的通用接口的任意外設(shè),來完成對FPGA的靈活配置,有效解決了配置方式單一、無法面向?qū)ο蟾鶕?jù)實際應(yīng)用來進行配置的問題。本發(fā)明可在內(nèi)核模塊啟動后,可以主導(dǎo)FPGA配置的方式,控制FPGA配置的過程,有效提高配置過程的可控性。
【專利附圖】
【附圖說明】
[0018]下面結(jié)合附圖對本發(fā)明的【具體實施方式】作進一步說明:
圖1是本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片的原理方框圖;
圖2是本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片中內(nèi)核模塊的原理方框圖;
圖3是本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片中內(nèi)嵌FPGA的原理方框圖; 圖4是本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法的步驟流程圖。
【具體實施方式】
[0019]參考圖1,本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片,包括內(nèi)核模塊、片上總線、啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA,所述片上總線分別與啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊和內(nèi)核模塊連接,所述啟動配置模塊分別與內(nèi)核模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA連接,所述DMA控制模塊與通用外設(shè)接口控制模塊連接。
[0020]參考圖2,作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述內(nèi)核模塊包括有嵌入式系統(tǒng)內(nèi)核、高速緩存模塊、存儲管理模塊和片上總線接口控制模塊,所述嵌入式系統(tǒng)內(nèi)核分別與啟動配置模塊、高速緩存模塊、存儲管理模塊和片上總線接口控制模塊連接,所述片上總線接口控制模塊與片上總線連接。所述內(nèi)核模塊主要功能是完成本發(fā)明的可編程片上系統(tǒng)的整體控制。
[0021]參考圖3,作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述內(nèi)嵌FPGA包括可配置邏輯模塊和輸入輸出模塊,所述可配置邏輯模塊通過輸入輸出模塊與啟動配置模塊連接。功能用途上包括數(shù)個時鐘管理單元、數(shù)十萬等效邏輯門、100多個輸入輸出端口,還通過嵌入式的片上總線與內(nèi)核模塊互連,支持多路中斷,實現(xiàn)本發(fā)明的硬件可編程能力。
[0022]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述內(nèi)嵌存儲模塊為SPI FLASH芯片。所述的內(nèi)嵌存儲模塊主要完成對內(nèi)核啟動數(shù)據(jù)和內(nèi)嵌FPGA配置數(shù)據(jù)的存儲,在本發(fā)明中的具體實施例中為傳輸速率和讀寫頻率均可配置的SPI Flash芯片。
[0023]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述存儲控制模塊還連接有外部存儲器。
[0024]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述外部存儲器為NOR FLASH芯片或NAND FLASH芯片或SPI FLASH芯片。
[0025]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片的進一步改進,所述通用外設(shè)接口控制模塊包括1553B接口控制器、LVDS接口控制器、UART接口控制器、429接口控制器、SPI接口控制器、I2C接口控制器和CAN接口控制器。所述的通用外設(shè)接口控制模塊可以作為主控端通過寄存器設(shè)置所述片上總線上掛載的相應(yīng)接口的外部設(shè)備,并且發(fā)送命令進行數(shù)據(jù)的讀寫操作。
[0026]所述的啟動配置模塊主要完成兩個部分的功能。首先,在上電的時候自動加載所述內(nèi)嵌存儲模塊或外部存儲器中的啟動數(shù)據(jù)到內(nèi)核模塊,然后釋放復(fù)位信號,使內(nèi)核模塊取指令運行啟動程序;其次,內(nèi)核正常啟動之后,根據(jù)內(nèi)核模塊的配置從相應(yīng)的模塊搬移FPGA配置數(shù)據(jù)到所述的內(nèi)嵌FPGA中。
[0027]所述的浮點運算加速模塊,支持正弦函數(shù)、余弦函數(shù)、開方等運算功能,包含向零取整、向偶取整等多種舍入模式,會產(chǎn)生無效操作、非規(guī)格數(shù)輸入等多種中斷,有利于提高本發(fā)明的運算處理能力。
[0028]所述的系統(tǒng)控制模塊主要用于對系統(tǒng)的時鐘頻率設(shè)置、時鐘分頻設(shè)置、端口復(fù)用、門控時鐘使能等功能進行配置。
[0029]所述的DMA控制模塊主要完成對所述片上總線掛載的各模塊的數(shù)據(jù)和寄存器進行DMA操作,包含優(yōu)先級可配置的多個數(shù)據(jù)通道,支持內(nèi)存到內(nèi)存、內(nèi)存到外部存儲器、夕卜部存儲器到內(nèi)存、外部存儲器到外部存儲器等多種傳輸模式。
[0030]所述的存儲控制模塊可以支持SDRAM接口、SRAM接口和Flash接口的存儲器,主要功能包括產(chǎn)生存儲器訪問的地址、數(shù)據(jù)和控制等信號,控制存儲器和相關(guān)寄存器的讀寫。
[0031]參考圖4,本發(fā)明一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法,包括以下步驟:
A、所述啟動配置模塊從內(nèi)嵌存儲模塊或外部存儲器中的內(nèi)核啟動數(shù)據(jù)搬移至內(nèi)核模塊的高速緩存模塊中;
B、根據(jù)內(nèi)核啟動數(shù)據(jù),讀取指令并執(zhí)行上電啟動程序;
C、將FPGA配置數(shù)據(jù)的存放位置通知至啟動配置模塊;
D、根據(jù)FPGA配置數(shù)據(jù)的存放位置,啟動配置模塊通過DMA方式將FPGA配置數(shù)據(jù)加載至內(nèi)嵌FPGA中。
[0032]作為所述的一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法的進一步改進,所述存放位置包括內(nèi)嵌存儲模塊、外部存儲器和通用外設(shè)接口控制模塊控制片上總線連接的相關(guān)接口外設(shè)。
[0033]實施例1,本實施例中,芯片內(nèi)核啟動數(shù)據(jù)存放在內(nèi)嵌存儲模塊中,所述的內(nèi)嵌存儲模塊在本實施例中為SPI Flash芯片,F(xiàn)PGA配置數(shù)據(jù)存放在外部存儲器中,所述的外部存儲器在本實施例中為NOR Flash芯片。
[0034]S11、啟動配置模塊先將內(nèi)核啟動數(shù)據(jù)從SPI Flash芯片搬移到芯片內(nèi)核模塊的內(nèi)存中,所述的內(nèi)存為內(nèi)核集成的高速緩存。數(shù)據(jù)搬移完成之后,芯片內(nèi)核從內(nèi)存中取指令執(zhí)行上電啟動程序;
512、在內(nèi)核模塊完成啟動之后,內(nèi)核模塊會通知啟動配置模塊,F(xiàn)PGA配置數(shù)據(jù)存放在外部存儲器中,所述的外部存儲器在本實施例中為NOR Flash芯片。同時,內(nèi)核模塊還會配置FPGA配置數(shù)據(jù)在NOR Flash芯片中的偏移地址;
513、啟動配置模塊啟動后,根據(jù)內(nèi)核模塊對NORFlash芯片偏移地址的配置,通過DMA的方式將FPGA配置數(shù)據(jù)從NOR Flash芯片搬移到內(nèi)嵌FPGA內(nèi)的配置接口部分,實現(xiàn)對內(nèi)嵌FPGA的配置。
[0035]實施例2,本實施例中,芯片內(nèi)核啟動數(shù)據(jù)存放在外部存儲器中,所述的外部存儲器在本實施例中為NAND Flash芯片,F(xiàn)PGA配置數(shù)據(jù)存放在通過通用外設(shè)接口控制模塊控制的片上總線掛載著的相關(guān)接口外設(shè)上,所述的外部存儲器在本實施例中為通過SPI控制器控制的SPI Flash。
[0036]S21、啟動配置模塊先將內(nèi)核啟動數(shù)據(jù)從NAND Flash芯片通過片上總線搬移到芯片內(nèi)核模塊的內(nèi)存中,所述的內(nèi)存為內(nèi)核集成的高速緩存。數(shù)據(jù)搬移完成之后,芯片內(nèi)核從內(nèi)存中取指令執(zhí)行上電啟動程序;
S22、在內(nèi)核完成啟動之后,內(nèi)核模塊會通知啟動配置模塊,F(xiàn)PGA配置數(shù)據(jù)存放在通用外設(shè)接口控制模塊控制的外設(shè)中,所述的外設(shè)在本實施例中為SPI控制器控制的SPIFlash芯片。同時,內(nèi)核模塊還會配置FPGA配置數(shù)據(jù)在SPI Flash芯片中的偏移地址;
S23、啟動配置模塊啟動后,根據(jù)內(nèi)核模塊對SPI Flash芯片偏移地址的配置,通過DMA的方式將FPGA配置數(shù)據(jù)從SPI Flash芯片搬移到內(nèi)嵌FPGA內(nèi)的配置接口部分,實現(xiàn)對內(nèi)嵌FPGA的配置。
[0037]以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。
【權(quán)利要求】
1.一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:包括內(nèi)核模塊、片上總線、啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA,所述片上總線分別與啟動配置模塊、系統(tǒng)控制模塊、存儲控制模塊、浮點運算加速模塊、DMA控制模塊、通用外設(shè)接口控制模塊和內(nèi)核模塊連接,所述啟動配置模塊分別與內(nèi)核模塊、內(nèi)嵌存儲模塊和內(nèi)嵌FPGA連接,所述DMA控制模塊與通用外設(shè)接口控制模塊連接。
2.根據(jù)權(quán)利要求1所述的一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:所述內(nèi)核模塊包括有嵌入式系統(tǒng)內(nèi)核、高速緩存模塊、存儲管理模塊和片上總線接口控制模塊,所述嵌入式系統(tǒng)內(nèi)核分別與啟動配置模塊、高速緩存模塊、存儲管理模塊和片上總線接口控制模塊連接,所述片上總線接口控制模塊與片上總線連接。
3.根據(jù)權(quán)利要求1所述的一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:所述內(nèi)嵌FPGA包括可配置邏輯模塊和輸入輸出模塊,所述可配置邏輯模塊通過輸入輸出模塊與啟動配置模塊連接。
4.根據(jù)權(quán)利要求1所述的一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:所述內(nèi)嵌存儲模塊為SPI FLASH芯片。
5.根據(jù)權(quán)利要求1所述的一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:所述存儲控制模塊還連接有外部存儲器。
6.根據(jù)權(quán)利要求5所述的一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:所述外部存儲器為NOR FLASH芯片或NAND FLASH芯片或SPI FLASH芯片。
7.根據(jù)權(quán)利要求1所述的一種可靈活配置的可編程片上系統(tǒng)芯片,其特征在于:所述通用外設(shè)接口控制模塊包括1553B接口控制器、LVDS接口控制器、UART接口控制器、429接口控制器、SPI接口控制器、I2C接口控制器和CAN接口控制器。
8.—種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法,其特征在于:包括以下步驟: A、所述啟動配置模塊從內(nèi)嵌存儲模塊或外部存儲器中的內(nèi)核啟動數(shù)據(jù)搬移至內(nèi)核模塊的高速緩存模塊中; B、根據(jù)內(nèi)核啟動數(shù)據(jù),讀取指令并執(zhí)行上電啟動程序; C、將FPGA配置數(shù)據(jù)的存放位置通知至啟動配置模塊; D、根據(jù)FPGA配置數(shù)據(jù)的存放位置,啟動配置模塊通過DMA方式將FPGA配置數(shù)據(jù)加載至內(nèi)嵌FPGA中。
9.根據(jù)權(quán)利要求8所述的一種可靈活配置的可編程片上系統(tǒng)芯片啟動配置方法,其特征在于:所述存放位置包括內(nèi)嵌存儲模塊、外部存儲器和通用外設(shè)接口控制模塊控制片上總線連接的相關(guān)接口外設(shè)。
【文檔編號】G06F15/76GK104298645SQ201410529305
【公開日】2015年1月21日 申請日期:2014年10月9日 優(yōu)先權(quán)日:2014年10月9日
【發(fā)明者】孫長江, 劉建新, 胡華鋒, 王文青, 吳煜 申請人:深圳市國微電子有限公司