關(guān)于FPGA邏輯引腳分配錯誤:Can't place multiple pins assigned to pin location Pin ...
今天無聊,分享一下最近遇到的問題,解決方法,供大家遇到同樣的問題時,快速解決。
調(diào)試485板卡,編寫邏輯,用的控制芯片是EP3C16F484I7,當(dāng)時硬件的原理圖不是我畫的,但是我需要編寫FPGA邏輯,編寫一部分邏輯后,我想簡單調(diào)試一下,所以分配了一下引腳,運行邏輯的時候。

開始以為是引腳分配有問題,后來仔細(xì)核對硬件后發(fā)現(xiàn)硬件引腳分配并沒有出現(xiàn)錯誤。排除了引腳非配錯誤的情況,我們仔細(xì)看上邊的報錯信息,意思是除了io_id[30]用到了引腳Pin_K22外,同時nCEO也用到了這個引腳Pin_K22,為什么會出現(xiàn)這樣的情況,我們知道FPGA基本上都是由SDRAM組成的,使用的時候必須將.sof當(dāng)成proram進(jìn)FPGA才能夠使用,所以FPGA保留了一些pin作為programming用,一旦FPGA經(jīng)過program之后,這些pin就可以當(dāng)成一般的I/O來使用,這些pin就是dual-purpose pin,所以遇到的問題就是我們用到的這個引腳是dual-purpose pin。
那么nCEO有什么用,每個FPGA都有nCE與nCEO兩個pin,在多個FPGA級聯(lián)的系統(tǒng)中,第一個FPGA的nCE接GND,而第一個FPGA的nCEO將連接到下一個FPGA的nCE,如此連接下來,直到最后一個FPGA時,可以將nCEO floating 或者當(dāng)成普通I/O pin使用。而單片F(xiàn)PGA中, nCE直接接GND, nCEO可以直接floating或者直接當(dāng)I/O pin使用。
既然我們用的是單片F(xiàn)PGA為什么當(dāng)成普通pin會報錯呢,主要是需要進(jìn)行一下設(shè)置。
將nCEO設(shè)置為普通I/O pin這樣我們使用的時候,就不會報錯了。
|