一種基于FPGA的高性能運(yùn)算PCI-e加速卡的制作方法
【專利摘要】本實(shí)用新型公開(kāi)了一種基于FPGA的高性能運(yùn)算PCI?e加速卡,包括PCI?e總線橋接模塊,所述PCI?e總線橋接模塊的通信端通過(guò)接口邏輯模塊與FPGA核心運(yùn)算模塊連接,所述FPGA核心運(yùn)算模塊的通信端分別與應(yīng)用程序存儲(chǔ)模塊和同步靜態(tài)隨機(jī)存取模塊連接。本實(shí)用新型的加速卡采用目前應(yīng)用廣泛的PCI?e總線接口,技術(shù)成熟,傳輸速度塊,可滿足當(dāng)前高速運(yùn)算的應(yīng)用。
【專利說(shuō)明】
一種基于FPGA的高性能運(yùn)算PC卜e加速卡
技術(shù)領(lǐng)域
[0001 ]本實(shí)用新型涉及一種基于FPGA的高性能運(yùn)算PC1-e加速卡。
【背景技術(shù)】
[0002]目前,為了提高普通的PC的運(yùn)算能力及處理能力,業(yè)界大都是采用基于多個(gè)CPU的加速方式來(lái)完成數(shù)據(jù)和加密運(yùn)算,其中算法的實(shí)現(xiàn)和加密的程度及運(yùn)算能力都已達(dá)到相當(dāng)高的程度?;诙鄠€(gè)CHJ的加速方式是利用軟件的并行性,將任務(wù)同時(shí)分配給多個(gè)不同的節(jié)點(diǎn)處理,從而縮短整個(gè)任務(wù)的處理時(shí)間。在軟件編程過(guò)程中需要考慮程序的并行執(zhí)行問(wèn)題,然后通過(guò)編譯器的優(yōu)化,才可以得到線程級(jí)并行的可執(zhí)行程序。這種方式的瓶頸主要來(lái)自緩存,即cache失效。而單CPU的處理能力有限,其加速比的提升主要依靠CPU個(gè)數(shù)的增加,需要很高的成本。而伴隨(PU個(gè)數(shù)的增加,增長(zhǎng)的不僅是性能,還有功耗和發(fā)熱。
[0003]針對(duì)目前主流PC運(yùn)算能力薄弱,實(shí)施性差等因素;需要一種具有高穩(wěn)定性的、計(jì)算加速比更高,低功耗,低成本,使用范圍廣,可編程的高性能運(yùn)算PC1-e加速卡。
【實(shí)用新型內(nèi)容】
[0004]本實(shí)用新型目的是針對(duì)現(xiàn)有技術(shù)存在的缺陷提供一種基于FPGA的高性能運(yùn)算PC1-e加速卡。
[0005]本實(shí)用新型為實(shí)現(xiàn)上述目的,采用如下技術(shù)方案:一種基于FPGA的高性能運(yùn)算PC1-e加速卡,包括PC1-e總線橋接模塊,所述PC1-e總線橋接模塊的通信端通過(guò)接口邏輯模塊與FPGA核心運(yùn)算模塊連接,所述FPGA核心運(yùn)算模塊的通信端分別與應(yīng)用程序存儲(chǔ)模塊和同步靜態(tài)隨機(jī)存取模塊連接;其中,
[0006]所述PC1-e總線橋接模塊用于將PC1-e總線接口及時(shí)序轉(zhuǎn)化為通用的局部總線接口和時(shí)序;所述接口邏輯模塊用于在PC1-e總線橋接模塊與局部總線接口之間進(jìn)行時(shí)序控制;
[0007]所述FPGA核心運(yùn)算模塊用于將需要運(yùn)算的數(shù)據(jù)通過(guò)算法將其轉(zhuǎn)化為數(shù)據(jù)結(jié)果,并進(jìn)行處理與存儲(chǔ),并提供查詢和控制用的局部總線接口;
[0008]所述應(yīng)用程序存儲(chǔ)模塊用于存儲(chǔ)用戶自己的算法及應(yīng)用程序;
[0009]所述同步靜態(tài)隨機(jī)存取模塊用于存放用戶的臨時(shí)變量。
[00?0]進(jìn)一步的,所述PC1-e總線橋接模塊插入計(jì)算機(jī)的PC1-e插槽,由計(jì)算機(jī)上的驅(qū)動(dòng)程序提供Windows應(yīng)用程序訪問(wèn)PC1-e卡的接口,實(shí)現(xiàn)打開(kāi)、關(guān)閉、讀、寫以及控制系統(tǒng)調(diào)用;所述Windows應(yīng)用程序使用驅(qū)動(dòng)程序提供的系統(tǒng)調(diào)用控制PC1-e卡硬件進(jìn)行運(yùn)算,并為用戶提供操作界面,數(shù)據(jù)下傳及數(shù)據(jù)上傳功能。
[0011]進(jìn)一步的,所述FPGA核心運(yùn)算模塊至少采用一個(gè)由Altera公司生產(chǎn)的CycloneV、ArriaV或ArrialO系列的FPGA核心運(yùn)算芯片;或者由乂丨^虹公司生產(chǎn)的六代丨義了或燈社一義了系列的FPGA核心運(yùn)算芯片;或者由Lattice公司生產(chǎn)的ECP5、ECP3或ECP2系列的FPGA核心運(yùn)算芯片。
[0012]進(jìn)一步的,所述FPGA核心運(yùn)算模塊共有4個(gè)功能完全相同的FPGA核心運(yùn)算芯片;所述同步靜態(tài)隨機(jī)存取模塊采用8個(gè)功能完全相同的SSRAM芯片;且每個(gè)所述FPGA核心芯片分別連接2個(gè)1獨(dú)立的所述SSRAM芯片。
[0013]進(jìn)一步的,所述應(yīng)用程序存儲(chǔ)模塊采用型號(hào)為PC28F640P30B85的FLASH存儲(chǔ)芯片。
[0014]進(jìn)一步的,所述接口邏輯模塊采用Altera公司生產(chǎn)的MAX I1、MaxlO、MaxV系列的CPLD可編程邏輯芯片,或者采用Xilinx公司生產(chǎn)的CoolRunner-1I系列的CPLD可編程邏輯芯片。
[0015]本實(shí)用新型的有益效果:
[0016]1.本實(shí)用新型的加速卡采用目前應(yīng)用廣泛的PC1-e總線接口,技術(shù)成熟,傳輸速度塊,可滿足當(dāng)前高速運(yùn)算的應(yīng)用。
[0017]2.本實(shí)用新型的加速卡可編程性強(qiáng),硬件接口采用計(jì)算機(jī)外設(shè)通用的控制寄存器、狀態(tài)寄存器的方式定義,接口明確,可以根據(jù)不同的操作系統(tǒng)設(shè)計(jì)驅(qū)動(dòng)程序,具有良好的移植性。
[0018]3.本實(shí)用新型的加速卡功能可擴(kuò)展性強(qiáng),可根據(jù)不同的應(yīng)用,設(shè)計(jì)相應(yīng)的應(yīng)用程序,方便應(yīng)用到其他領(lǐng)域中。
[0019]4.本實(shí)用新型的加速卡性能優(yōu)越,硬件平臺(tái)采用SSRAM,F(xiàn)LASH和可編程邏輯門陣列組成了一個(gè)擁有高處理能力的CPU控制系統(tǒng)。
[0020]5.本實(shí)用新型的加速卡的FPGA芯片存儲(chǔ)容量大,可存儲(chǔ)更多數(shù)據(jù)量。多方并行處理流水線,提升性能。
[0021]6.本實(shí)用新型的加速卡的每塊FPGA采用2片1獨(dú)立的SSRAM芯片,在應(yīng)用中可批量下載數(shù)據(jù),提升性能。
【附圖說(shuō)明】
[0022]圖1為本實(shí)用新型的功能不意圖。
【具體實(shí)施方式】
[0023]圖1所示,涉及一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,包括PCI_e總線橋接模塊,所述PC1-e總線橋接模塊的通信端通過(guò)接口邏輯模塊與FPGA核心運(yùn)算模塊連接,所述FPGA核心運(yùn)算模塊的通信端分別與應(yīng)用程序存儲(chǔ)模塊和同步靜態(tài)隨機(jī)存取模塊連接;其中,
[0024]所述PC1-e總線橋接模塊用于將PC1-e總線接口及時(shí)序轉(zhuǎn)化為通用的局部總線接口和時(shí)序;
[0025]所述接口邏輯模塊用于在PC1-e總線橋接模塊與局部總線接口之間進(jìn)行時(shí)序控制;同時(shí)實(shí)現(xiàn)核心運(yùn)算模塊配置多元化,支持PS,F(xiàn)PS,F(xiàn)PP配置模式。
[0026]所述FPGA核心運(yùn)算模塊用于將需要運(yùn)算的數(shù)據(jù)通過(guò)算法將其轉(zhuǎn)化為數(shù)據(jù)結(jié)果,并進(jìn)行處理與存儲(chǔ),并提供查詢和控制用的局部總線接口。
[0027]另外,上述FPGA核心運(yùn)算模塊采用65-nm、TSMC的低功耗工藝技術(shù),多方并行處理流水線,提升破解性能??蓪?shí)現(xiàn)高性能、提供更高邏輯密度、更多的存儲(chǔ)器資源,并且有安全特性。同時(shí),其還具有4Mbits嵌入式存儲(chǔ)器、288個(gè)嵌入式18位xl8位乘法器、專用外部存儲(chǔ)器接口電路、鎖相環(huán)(PLL)和高速差分I/O。
[0028]所述應(yīng)用程序存儲(chǔ)模塊用于存儲(chǔ)用戶自己的算法及應(yīng)用程序;
[0029]所述同步靜態(tài)隨機(jī)存取模塊用于存放用戶的臨時(shí)變量。
[°03°]在具體實(shí)施時(shí),所述PC1-e總線橋接模塊可插入計(jì)算機(jī)的PC1-e插槽內(nèi),由計(jì)算機(jī)上的驅(qū)動(dòng)程序提供Windows應(yīng)用程序訪問(wèn)PC1-e卡的接口,實(shí)現(xiàn)打開(kāi)、關(guān)閉、讀、寫以及控制系統(tǒng)調(diào)用。而所述Windows應(yīng)用程序則使用驅(qū)動(dòng)程序提供的系統(tǒng)調(diào)用控制PC1-e卡硬件進(jìn)行運(yùn)算,并為用戶提供操作界面,數(shù)據(jù)下傳及數(shù)據(jù)上傳功能。
[0031]在本實(shí)用新型中,所述FPGA核心運(yùn)算模塊至少采用一個(gè)由Altera公司生產(chǎn)的CycloneV、ArriaV或ArrialO系列的FPGA核心運(yùn)算芯片;或者由Xi I inx公司生產(chǎn)的Artix7或Kintex7系列的FPGA核心運(yùn)算芯片;或者由Lattice公司生產(chǎn)的ECP5、ECP3或ECP2系列的FPGA核心運(yùn)算芯片。
[0032]優(yōu)選的方案是,所述FPGA核心運(yùn)算模塊共有4個(gè)功能完全相同的FPGA核心運(yùn)算芯片;所述同步靜態(tài)隨機(jī)存取模塊采用8個(gè)功能完全相同的SSRAM芯片;且每個(gè)所述FPGA核心芯片分別連接2個(gè)1獨(dú)立的所述SSRAM芯片。
[0033]另外,所述應(yīng)用程序存儲(chǔ)模塊采用型號(hào)為PC28F640P30B85的FLASH存儲(chǔ)芯片。
[0034]另外,所述接口邏輯模塊采用Altera公司生產(chǎn)的MAX I1、MaxlO、MaxV系列的CPLD可編程邏輯芯片,或者采用Xilinx公司生產(chǎn)的CoolRunner-1I系列的CPLD可編程邏輯芯片。
[0035]運(yùn)行時(shí),由PC1-e總線橋接模塊、核心運(yùn)算模塊、同步靜態(tài)隨機(jī)存取模塊、接口邏輯模塊和應(yīng)用程序存儲(chǔ)模塊構(gòu)成的硬件插在計(jì)算機(jī)的PC1-e插槽上,在Windows操作系統(tǒng)下的驅(qū)動(dòng)和應(yīng)用軟件的控制下,以實(shí)現(xiàn)算法和方案的高速運(yùn)算。
[0036]另外,本實(shí)用新型的FPGA高性能運(yùn)算PC1-e加速卡整板電源為12V電源通過(guò)DC器件及LDO生成轉(zhuǎn)換為5V,12V電源可從PCIe插槽或者外部接入,兩組電源通過(guò)肖特基二極管SS34隔離,無(wú)需開(kāi)關(guān)切換。
[0037]本方案實(shí)現(xiàn)了 PC1-e總線空間用于讀寫5CEFA9F23C8N芯片,將5CEFA9F23C8N芯片的8個(gè)控制寄存器,16個(gè)數(shù)據(jù)寄存器和8個(gè)狀態(tài)寄存器都映射到該空間。
[0038]另外,本實(shí)用新型設(shè)計(jì)的FPGA高性能運(yùn)算PC1-e加速卡基于PC機(jī),但是不依賴于PC機(jī),之所以是高性能運(yùn)算加速卡,是其擁有自己的硬件加速器(由于采用了 FPGA硬件模塊依靠其高效和并行執(zhí)行運(yùn)算多任務(wù)管理的特性,擺脫P(yáng)C機(jī)單線程的執(zhí)行速度慢的等問(wèn)題,達(dá)到硬件加速),及開(kāi)放式的應(yīng)用平臺(tái),很好的解決了速度問(wèn)題。
[0039]以上所述僅為本實(shí)用新型的較佳實(shí)施例,并不用以限制本實(shí)用新型,凡在本實(shí)用新型的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本實(shí)用新型的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,包括PCI_e總線橋接模塊,所述PC1-e總線橋接模塊的通信端通過(guò)接口邏輯模塊與FPGA核心運(yùn)算模塊連接,所述FPGA核心運(yùn)算模塊的通信端分別與應(yīng)用程序存儲(chǔ)模塊和同步靜態(tài)隨機(jī)存取模塊連接;其中, 所述PC1-e總線橋接模塊用于將PC1-e總線接口及時(shí)序轉(zhuǎn)化為通用的局部總線接口和時(shí)序;所述接口邏輯模塊用于在PC1-e總線橋接模塊與局部總線接口之間進(jìn)行時(shí)序控制; 所述FPGA核心運(yùn)算模塊用于將需要運(yùn)算的數(shù)據(jù)通過(guò)算法將其轉(zhuǎn)化為數(shù)據(jù)結(jié)果,并進(jìn)行處理與存儲(chǔ),并提供查詢和控制用的局部總線接口 ; 所述應(yīng)用程序存儲(chǔ)模塊用于存儲(chǔ)用戶自己的算法及應(yīng)用程序; 所述同步靜態(tài)隨機(jī)存取模塊用于存放用戶的臨時(shí)變量。2.如權(quán)利要求1所述的一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,所述PC1-e總線橋接模塊插入計(jì)算機(jī)的PC1-e插槽,由計(jì)算機(jī)上的驅(qū)動(dòng)程序提供Windows應(yīng)用程序訪問(wèn)PC1-e卡的接□,實(shí)現(xiàn)打開(kāi)、關(guān)閉、讀、寫以及控制系統(tǒng)調(diào)用;所述Windows應(yīng)用程序使用驅(qū)動(dòng)程序提供的系統(tǒng)調(diào)用控制PC1-e卡硬件進(jìn)行運(yùn)算,并為用戶提供操作界面,數(shù)據(jù)下傳及數(shù)據(jù)上傳功能。3.如權(quán)利要求1所述的一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,所述FPGA核心運(yùn)算模塊至少采用一個(gè)由Altera公司生產(chǎn)的CycloneV、ArriaV或ArrialO系列的FPGA核心運(yùn)算芯片;或者由Xilinx公司生產(chǎn)的Artix7或Kintex7系列的FPGA核心運(yùn)算芯片;或者由Lattice公司生產(chǎn)的ECP5、ECP3或ECP2系列的FPGA核心運(yùn)算芯片。4.如權(quán)利要求1所述的一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,所述FPGA核心運(yùn)算模塊共有4個(gè)功能完全相同的FPGA核心運(yùn)算芯片;所述同步靜態(tài)隨機(jī)存取模塊采用8個(gè)功能完全相同的SSRAM芯片;且每個(gè)所述FPGA核心芯片分別連接2個(gè)1獨(dú)立的所述SSRAM芯片。5.如權(quán)利要求1所述的一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,所述應(yīng)用程序存儲(chǔ)模塊采用型號(hào)為PC28F640P30B85的FLASH存儲(chǔ)芯片。6.如權(quán)利要求1所述的一種基于FPGA的高性能運(yùn)算PC1-e加速卡,其特征在于,所述接口邏輯模塊采用Altera公司生產(chǎn)的MAX I1、MaxlO、MaxV系列的CPLD可編程邏輯芯片,或者采用Xi I inx公司生產(chǎn)的CoolRunner-1 I系列的CPLD可編程邏輯芯片。
【文檔編號(hào)】G06F1/16GK205507633SQ201620262359
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】辛建平
【申請(qǐng)人】無(wú)錫市同威軟件有限公司