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