一、硬件設計
1、DDR3顆粒一側,控制線、地址線線序不能交換;
2、DDR3顆粒一側,數據線可隨意交換;
3、FPGA一側,控制線、地址線、數據線均有專用引腳,需全部按要求連接。
這樣一是為了硬件布線能通,二是保證了FPGA分配引腳時不會亂,按照專用引腳規定的分配即可。
如此設計,FPGA寫DDR3時,寫地址正常翻譯,寫入的數據是亂序的,但對應讀也是亂序的,所以FPGA讀出來的數據和寫入的數據相同,且和用戶邏輯設定值一樣,故不存在問題。
二、引腳分配
1、引腳分配時,差分引腳需特別注意,就算在 pin_planner 里正確設計了 pin 和 io 標准,綜合時還是可能會報錯,具體如下:
2、此時查看 qsf 文件,可看到報錯的這三個差分負端PIN並沒有IO標准,具體如下:
3、手動在 qsf 文件中添加如下約束,再編譯時不再報錯:
關於DDR3讀寫控制等,持續更新......