一種靈活的包含嵌入式存儲器的FPGA結構
3.1結構描述
VPR用布線結構描述語言定義 FPGA的布線結構【 5】。VPR通過一個內部的“結構產生器”來產生 RRG。我們擴展了布線結構描述語言來定義包含嵌入式存儲器的 FPGA的布線結構,然后我們改進了 VPR的結構產生器以適應這些擴展。
由于嵌入式存儲器模塊的存在,我們對布線結構描述語言的擴展主要包括:(1)存儲器模塊的列數,(2)每列存儲器模塊的相對位置,(3)存儲器模塊輸入和輸出引腳的 Fm值,(4)每列存儲器模塊中的存儲器模塊數目,(5)每列存儲器模塊中第一個存儲器模塊的起始位置,
(6)存儲器模塊的高度,(7)存儲器模塊輸入輸出引腳的數目,(8)存儲器模塊每個輸入或輸出引腳對應的邊( side)和群( cluster),例如如圖 2所示的 FPGA結構中,存儲器模塊的左邊和右邊共有 3個群,因為存儲器模塊的高度是 3個邏輯模塊的高度,而上下兩邊只有一個群。(9)每個存儲器模塊中的組合邏輯電路延遲和時序電路延時。本文引用地址:http://www.104case.com/article/152390.htm
圖 3所示為一個描述包含嵌入式存儲器的 FPGA布線結構的文件的一部分,其中邏輯模塊由一個 4輸入的查找表和一個寄存器構成。圖 1和圖 2示出了這種 FPGA的結構。VA產生的文件要滿足圖 3定義的結構,其中需要的布線通道寬度為 5,即 5條連線。這些描述 FPGA結構的圖形都是由我們的 VA產生。圖 1示出了整個 FPGA的結構,這種情況下,整個 FPGA包含 9x9個邏輯模塊,周圍圍繞 I/O模塊。黃色所示的為兩列存儲器模塊,每個存儲器模塊跨越 3個邏輯模塊的高度。圖 2所示僅為 FPGA近距離結構的一部分,這樣我們能清楚的看到布線結構。黑色線表示布線資源,小的藍紅色矩形分別表示模塊的輸入和輸出引腳,綠色的連線代表連接開關。
3.2布線資源圖
雖然上述所列的結構參數使得 FPGA的結構很容易就可以定義,但是對于布線器來說它并不是一個合適的表達方法。在 RRG中,連線、邏輯模塊的引腳以及存儲器模塊的引腳都被表示為節點,開關被表示為連接兩個節點的邊。
如前所述,我們對 VPR的結構產生器作了改進以建立包含嵌入式存儲器的 FPGA的 RRG。由于存儲器模塊在 Y方向跨越多個邏輯模塊,這就使得在 RRG中插入存儲器模塊的引腳變得復雜,同時連接從存儲器模塊輸出引腳到連線以及從連線到存儲器輸入引腳的邊也更加復雜。但幸運的是如圖 2所示,存儲器模塊的存在并不破壞布線通道的分布。為了方便建立 RRG,我們增加了虛構存儲器模塊的定義,在建立 RRG的過程中,存儲器模塊的位置由它的起始位置來表示。剩余的其它被占領的邏輯塊位置被分配給虛構存儲器模塊。當在建立 RRG對所有模塊進行掃描的時候,我們對存儲器模塊以及虛構存儲器模塊的處理方法和對邏輯塊的處理方法是一樣的。通過這樣的方法,我們簡化了創建異質 FPGA布線資源圖的過程。
4.結論
本文中,我們提出了一種包含嵌入式存儲器的 FPGA的靈活結構以及一種建立 RRG的簡化方法。我們對 VPR進行了改進,擴展了其功能,使得它可以處理包含嵌入式存儲器的 FPGA結構,同時保持了原有的靈活性。而 VPR原有的布局布線算法完全適用于我們的 FPGA結構。我們繼承 VPR的方法來描述包含嵌入式存儲器的 FPGA結構,并且擴充了 VPR的自動結構描述器功能。
縱觀整個工作,我們著重處理包含嵌入式存儲器模塊的 FPGA結構,我們假設存儲器模塊按列排放。我們的這種結構不僅適用于存儲器模塊,同時也適用于其他的按列排放的功能模塊,例如 Spartan-3系列 FPGA中的乘法器模塊以及 Stratix系列 FPGA中的 DSP模塊。
本文作者創新觀點:本文中,我們提出了一種靈活的包含嵌入式存儲器的 FPGA結構以及一種建立 RRG的簡化方法。我們對 VPR進行了改進,擴展了其功能,使得它可以處理包含嵌入式存儲器的 FPGA結構,同時保持了原有的靈活性。
評論