一種靈活的包含嵌入式存儲器的FPGA結構
1.引言
傳統上 FPGA只能實(shí)現相對較小的邏輯電路,隨著(zhù)工藝技術(shù)的提高, FPGA的容量和性能也不斷提高,如今 FPGA已經(jīng)被用于實(shí)現大的邏輯電路甚至整個(gè)系統。這些大的系統相對于傳統上一直作為 FPGA市場(chǎng)目標的小邏輯分支電路有著(zhù)很大的不同。其中一個(gè)最重要的不同就是這些大的系統中包含存儲器。所以,要有效的在 FPGA中實(shí)現存儲器,結構的支持至關(guān)重要。包含大的存儲器陣列的 FPGA芯片已經(jīng)有生產(chǎn)商推出,例如 Xilinx和 Altera。
然而,多數學(xué)術(shù)性的 FPGA CAD工具只針對于同質(zhì)的 FPGA,即只包含邏輯模塊和布線(xiàn)資源的 FPGA。本文中我們提出了一種靈活的包含嵌入式存儲器的 FPGA的結構以及一種建立RRG(布線(xiàn)資源圖)的方法。在 FPGA的研究中,我們通常用實(shí)驗的方法來(lái)評估新結構特性的實(shí)用性。因此,我們需要靈活的 CAD工具來(lái)對多種結構進(jìn)行比較。 VPR即是這種類(lèi)型的 FPGA CAD工具,它適用于多種 FPGA結構。我們開(kāi)發(fā)了一種新的布局布線(xiàn)工具, VA。它增強了 VPR的功能,使得 VPR可以有效地處理包含嵌入式存儲器的 FPGA結構,而且保證了其靈活性。
2.結構
包含嵌入式存儲器的 FPGA結構如圖 1所示。整個(gè) FPGA由四種基本資源構成,邏輯模塊,I/O模塊,布局布線(xiàn)模塊和存儲器模塊。每個(gè)存儲器模塊的存儲容量是固定的,但是用戶(hù)可以對存儲器模塊進(jìn)行配置,以實(shí)現不同長(cháng)寬比的存儲器。我們假設存儲器模塊在整個(gè) FPGA芯片中按列排放,如同 Xilinx公司的 Spartan-3系列 FPGA。存儲器模塊的列數,每列存儲器所處的位置、每列存儲器模塊包含的存儲器模塊數目以及每列存儲器模塊中第一個(gè)存儲器模塊的起始物理位置都會(huì )在結構描述文件中定義,我們將在 3.1中詳細討論。
圖 2所示為我們的 FPGA布線(xiàn)結構,這是一種島式結構。邏輯模塊周?chē)鷩@了布線(xiàn)通道。每個(gè)邏輯模塊的輸入或輸出引腳可以通過(guò)一個(gè)由可配置開(kāi)關(guān)組成的連接模塊與靠近它的通道中的 8條連線(xiàn)相連。在每一個(gè)垂直通道和水平通道交叉處有一個(gè)開(kāi)關(guān)模塊。開(kāi)關(guān)模塊給每條輸入信號線(xiàn)提供了三個(gè)可能的連接選擇。同邏輯模塊相同,存儲器模塊也通過(guò)連接模塊與邏輯布線(xiàn)相連。在文獻 [4]中, S. J. E Wilton等人把模塊的靈活性定義為 Fm,即每個(gè)存儲器引腳可以連接的連線(xiàn)的數目。在圖 2中的結構中, Fm=3。Fm的最小值是 1,最大值為 V,這里的 V值即每個(gè)布線(xiàn)通道中的連線(xiàn)數目。從存儲器模塊和邏輯模塊之間的連接結構可以清楚的看到,每個(gè)存儲器模塊的引腳可以安排在模塊四周,同鄰近的布線(xiàn)通道連接。
3.具體實(shí)現方式
存儲器模塊相對于邏輯模塊,有一些不同之處,例如模塊引腳的分布方式、模塊高度等,這使得 RRG的設計非常復雜。在這一部分中,我們將討論一種簡(jiǎn)單而且靈活的 RRG設計方法。我們的 RRG設計方法基于 VPR,但是我們作了一些改進(jìn)使其能夠處理包含嵌入式存儲器的 FPGA的布線(xiàn)問(wèn)題。
評論