基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明屬于計算機系統(tǒng)設計領域,具體涉及基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng)。
【背景技術】
[0002]目前計算機外圍系統(tǒng)中PCIe總線廣泛應用,PCIe總線規(guī)范已成計算機系統(tǒng)外圍互連總線事實上的標準,幾乎所有的商業(yè)級或者工業(yè)級的計算機生產(chǎn)廠商都在其通用計算機系統(tǒng)中提供標準的PCIe總線。同時,AMBA (Advanced Microcontroller BusArchitecture)總線作為嵌入式系統(tǒng)的通用總線,在便攜、終端等電子產(chǎn)品中作為核心集成電路芯片的內(nèi)部總線使用也非常廣泛,但是要將AMBA總線直接接入通用計算機外圍系統(tǒng),目前在業(yè)界還沒有通用的規(guī)范來實現(xiàn),對比相關領域其他類似技術,他們都是基于單個設備實現(xiàn)AMBA接口接入PCIe總線。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術問題是針對現(xiàn)有技術中存在上述缺陷,提供一種虛擬PCIe-PCI橋技術,實現(xiàn)了將AMBA總線系統(tǒng)的所有10(輸入輸出)設備直接接入基于PCIe總線的通用計算機外圍系統(tǒng)。
[0004]根據(jù)本發(fā)明,提供了一種基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng),包括:配置讀寫模塊、中斷模塊、10請求模塊、10響應模塊、DMA請求模塊、DMA響應模塊、AMBA路由表模塊以及PCIe-PCI橋接口模塊。
[0005]優(yōu)選地,配置讀寫模塊用于接收來自PCIE-AMBA橋的PCIE接口的設備配置讀寫請求并且將設備配置讀寫請求發(fā)送到相應的目標寄存器,而且接收各設備配置寄存器的讀寫響應并且向PCIE-AMBA橋的PCIE接口發(fā)送讀寫響應。
[0006]優(yōu)選地,中斷模塊用于收集來自中斷控制器的中斷請求,并按照PCIE要求的方式發(fā)出PCIE中斷。
[0007]優(yōu)選地,10請求模塊用于接收來自PCIE-AMBA橋的PCIE接口的PCIE 10讀寫請求,生成AMBA請求事務標識號,寫ΡΙ0請求懸掛緩沖,根據(jù)PCIE請求地址偏移查詢AMBA路由表,獲得AMBA請求地址,形成發(fā)給AMBA接口的讀寫請求。
[0008]優(yōu)選地,10響應模塊用于接收來自AMBA接口的10讀寫請求響應,根據(jù)響應的AMBA標識號查詢ΡΙ0請求懸掛緩沖,并釋放緩沖條目,組成PCIE完成事務包,而且將組成的PCIE完成事務包發(fā)送至PCIE接口。
[0009]優(yōu)選地,DMA請求模塊用于接收來自AMBA接口的DMA讀寫請求,生成PCIE請求事務標簽,寫DMA讀請求懸掛緩沖,根據(jù)AMBA請求地址偏移和標識號查詢AMBA路由表以獲得對應的PCIE地址偏移和請求方標識號。
[0010]優(yōu)選地,DMA響應模塊用于接收來自PCIE接口的DMA讀事務請求,根據(jù)PCIE事務標簽索引查詢DMA讀請求懸掛緩沖以獲得該DMA讀事務請求對應的AMBA標識號和組建AMBA完成包所需要的其他信息。
[0011]優(yōu)選地,AMBA路由表模塊用于存儲AMBA地址偏移、PCIE地址偏移、AMBA標識號和PCIE請求方標識號,使得來自PCIE的10請求通過查詢該表而生成組建AMBA請求包所需的地址信息和PCIE完成符標識號,而且使得來自AMBA的DMA請求通過查詢該表而生成組建PCIE請求包所需的地址和PCIE請求方標識號信息。
[0012]優(yōu)選地,優(yōu)選地,PCIe-PCI橋接口模塊作為與PCIe開關互連的接口,用于接收系統(tǒng)10事務,通過執(zhí)行規(guī)則過濾將系統(tǒng)10事務分發(fā)給相應模塊,而且用于向系統(tǒng)發(fā)送DMA請求。
[0013]優(yōu)選地,對于DMA寫請求,DMA請求模塊查詢相關設備配置空間的最大有效載荷尺寸值,如果最大有效載荷尺寸小于DMA寫請求字節(jié)數(shù),將DMA寫請求拆分成多個PCIE存儲器寫事務。
[0014]根據(jù)本發(fā)明的基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng)能夠?qū)崿F(xiàn)AMBA系統(tǒng)總線的所有設備直接接入基于PCIe總線的通用計算機外圍系統(tǒng)。
【附圖說明】
[0015]結(jié)合附圖,并通過參考下面的詳細描述,將會更容易地對本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點和特征,其中:
[0016]圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng)的功能框圖。
[0017]需要說明的是,附圖用于說明本發(fā)明,而非限制本發(fā)明。注意,表示結(jié)構(gòu)的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標有相同或者類似的標號。
【具體實施方式】
[0018]為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結(jié)合具體實施例和附圖對本發(fā)明的內(nèi)容進行詳細描述。
[0019]圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng)的功能框圖。
[0020]如圖1所示,根據(jù)本發(fā)明優(yōu)選實施例的基于AMBA架構(gòu)的虛擬PCIe-PCI橋接系統(tǒng)包括:
[0021]配置讀寫模塊10:用于接收來自PCIE-AMBA橋的PCIE接口的設備配置讀寫請求并且將設備配置讀寫請求發(fā)送到相應的目標寄存器,而且接收各設備配置寄存器的讀寫響應并且向PCIE-AMBA橋的PCIE接口發(fā)送讀寫響應;實現(xiàn)系統(tǒng)可見的10設備的ΤΥΡΕ0配置的基本空間。
[0022]中斷模塊20:用于收集來自中斷控制器的中斷請求,并按照PCIE要求的方式(例如MSI方式或INTx方式)發(fā)出PCIE中斷。
[0023]10請求模塊30:用于接收來自PCIE-AMBA橋的PCIE接口的PCIE 10讀寫請求,生成AMBA請求事務標識號(例如,AMBA請求事務標識號的大小為4位),寫P1(Progra_ableInput/Output,可編程輸入輸出)請求懸掛緩沖(由此保存組建完成包所需信息,例如ΡΙ0請求懸掛緩沖的結(jié)構(gòu)為FIFO結(jié)構(gòu)),根據(jù)PCIE請求地址偏移查詢AMBA路由表,獲得AMBA請求地址,形成發(fā)給AMBA接口的讀寫請求。
[0024]10響應模塊40:用于接收來自AMBA接口的10讀寫請求響應,根據(jù)響應的AMBA標識號查詢ΡΙ0請求懸掛緩沖,并釋放緩沖條目,組成PCIE完成事務包,而且將組成的PCIE完成事務包發(fā)送至PCIE接口。
[0025]DMA請求模塊50:用于接收來自AMBA接口的DMA讀寫請求(優(yōu)選地,DMA請求模塊對DMA寫請求立即返回響應),生成PCIE請求事務標簽,寫DMA讀請求懸掛緩沖(由此保存組建AMBA讀響應包所需信息,索引是PCIE標簽),根據(jù)AMBA請求地址偏移和標識號(例如,[8:5]對應各個AXI主端口)查詢AMBA路由表以獲得對應的PCIE地址偏移和請求方標識號。更具體地,對于DMA寫請求,DMA請求模塊查詢相關設備配置空間的最大有效載荷尺寸(Max_Payload_Size)值,如