上期我們介紹了關於fpga內部最基本的結構,在quartus下可以看到整體的結構。
這是在平面規劃圖下看到的結構,其中藍色的小格代表乙個lab。四周邊上淺棕色的小格代表io口。
這是乙個lab的內部結構,其中藍色小格和紅色小格就是乙個le,乙個lab有16個le組成。
從上圖可以看到,乙個le包含乙個4輸入的lut,乙個進製邏輯和乙個輸出暫存器。
接下來我們介紹一下fpga與外部通訊的介面,io口。fpga內部有豐富的資源,乙個很重要的資源就是可程式設計輸入輸出單元(iob)。是晶元與外界電路的介面部分,完成不同電氣特性下對輸入/輸出訊號的驅動與匹配要求, fpga內的i/o按組分類,每組都能夠獨立地支援不同的i/o標準。
通過軟體的靈活配置,可適配不同的電氣標準與i/o物理特性,可以調整驅動電流的大小,可以改變上、下拉電阻。目前,i/o口的頻率也越來越高,一些高階的fpga通過ddr暫存器技術可以支援高達2gbps的資料速率。
在quartus下我們可以看到io口的ddr暫存器。
外部輸入訊號可以通過iob模組的儲存單元輸入到fpga的內部,也可以直接輸入fpga 內部。fpga內部有輸入、輸出緩衝,可以提高訊號的驅動力。
如上圖我們可以看到,io_ibuf是輸入緩衝,載入在系統時鐘和系統復位輸入引腳上,提高這兩個訊號的負載能力。在altera fpga內部,對於系統時鐘的輸入緩衝是系統自己加入的。當使用普通io口時,這個緩衝需要人為加入。當外部輸入訊號經過iob模組的儲存單元輸入到fpga內部時,其保持時間(hold time)的要求可以降低,通常預設為0。
為了便於管理和適應多種電器標準,fpga的iob被劃分為若干個組(bank),每個bank的介面標準由其介面電壓vcco決定,乙個bank只能有一種vcco,但不同bank的vcco可以不同。只有相同電氣標準的埠才能連線在一起,vcco電壓相同是介面標準的基本條件。
如上圖,通常iob分為8個bank,每個bank都可以獨立的支援不同的電氣標準。
linux前世今生(二)
標籤 空格分隔 linux 我們帶著幾個問題來學習linux?首先linux是作業系統還是軟體?linux來自 linux為啥不用錢?答案是的。還記得一裡面我們講的作業系統的概念嗎。核心 驅動所有硬體資源,統一硬體資源分配,提供計算機執行支援功能,系統呼叫 提供給軟體工程師開發軟體呼叫。那麼linu...
LinkedList前世今生
1 linkedlist元素在內部儲存的實現,節點定義即指向前一元素的指標,後一元素的指標,當前元素的值。private static class entry 2 建立乙個空鍊錶。預設有個頭指標header。private transient entryheader new entry null,n...
前世今生 STL
嘛,string就是乙個用於字串處理的標準類庫,但是需要注意的是其速度可能會比直接操縱char陣列要慢一些。reverse這個方法是我一直都想找到但是沒有找到的,在判斷回文的時候格外好用。string s abcdef string ss s ss abcdef reverse ss.begin s...