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

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