AGM的部分料號跟Altera 硬件Pin to Pin兼容,映射關系表如下:
EPM240T100CxN—>AG256SL100(CPLD)
EPM240T100IxN---->AG256SL100(CPLD)
EPM570T100CxN—>AG576SL100(CPLD)
EPM570T100IxN---->AG576SL100(CPLD)
EPM570T144CxN—>AG576SL144(CPLD)
EPM570T144IxN---->AG576SL144(CPLD)
EP3C5E144—>AG6KL144
EP4CE6E22—>AG6KL144
EP3C5F256—>AG6KF256
EP4CE6F17—>AG6KF256
EP3C10E144—>AG10KL144
EP4CE10E22—>AG10KL144
EP3C10F256—>AG10KF256
EP4CE10F17—>AG10KF256
EP3C16F256—>AG16KF256
EP4CE15F17—>AG16KF256
Also for Lattice chip
ICE40LP1K-CM36, AGM also have Pin to Pin part " AG1KLPBGA36".
針對幾顆用量廣泛的CPLD料號,如AG256以及AG576系列,移植方法如下:
? 軟件流程選擇
Supra 共有 3 種開發 Mode:Native 選項(AGM 自有 EDA 綜合工具),Synplicity 選項(第三方綜合工具,例如 Synplify,Mentor 等),Compatible 選項(兼容 Altera Quartus II 的綜合工具)。
文檔中的 Supra 主要基于 Quartus II 綜合的設計流程,其它工具設計流程類似。
? AG576 IO
AG576SL100 的可用 IO 與 AG256SL100 一致,比 Altera EPM570T100 多 4 個 IO,分別為:
如果 PCB 兼容 EPM570,39/88 接 3.3V 供電的話,有可能會使芯片輸入 IO 電流較大。可以通過設置,使 AG576 的未用 IO 為三態模式。請在 EPM570 的原設計中設置 Unused Pin 選項為
AS input tri-stated with weak pull-up。如下圖:
如果希望利用 AG576 多的 4 個 IO,可以在 asf 文件中加入對這 4 個 pin 的分配,如:
set_location_assignment PIN_88 -to abc
? 安全位設置
AG256/576 安全位(SECURITY_BIT)可以使 CPLD 燒寫好后,無法讀取出內部程序,只能擦除或覆蓋,從而實現用戶設計的安全性。
設置方法:
方法一:Quartus MAX II 工程中,選 Assignment-Device 菜單,點 Device and Pin Options,選 General 類別,選中 Enables security bit support。重新編譯。運行 Supra 轉換流程。
方法二:在 Supra 生成的 asf 文件中,加入一行:
set_global_assignment -name SECURITY_BIT “ON”
? PLL 的使用
AG576 內部帶有 1 個 PLL,可通過以下方法調用:
在 Supra 中進入 Tools -> Create IP,選擇 PLL 或 Memory。
PLL 類型選擇 PLL,填寫輸入頻率(MHz),輸出頻率,相移等數據。
注意:PLL 的輸入時鐘應是芯片的全局輸入時鐘 IO 管腳。
完成后點擊 Generate,目錄中會產生比如 pll0.v、pll0.ip 兩個文件。在 Quartus II 設計代碼中即可調用產生的模塊(.v)。
新生成的 Quartus II 工程中編輯源文件(如.v)加入 pll 模塊(這樣,原 MAX II 工程就不能正確編譯了,請留好備份)
Verilog 文件方式:
在 Supra Migrate 時需要將產生好的 IP 加入 IP Files(.ip)。
如果在設計過程中添加或修改 IP 文件,Supra project 需要重新再新建一次并覆蓋原工程,并執行 Migrate 一次,和運行 af_quartus.tcl。
應用 AGM IP 的 Quartus II 工程中需要注意并確認下面信息,正確執行 Tcl 后會出現:
由于 IP 聲明包含在 alta_sim.v 的庫文件中,這個文件默認在 supra 的安裝目錄中,如:
C:Supraetcarchrodinia,Quartus II project 應包含這個文件。
同時,alta_pll 應設為 Design Partition,如圖:
注意:
如果 Supra 編譯出錯,有可能是新加入 PLL 使得 clk 時鐘線布線不成功,說明 576 的全局時鐘不夠,可修改新項目中的下面設置:
Settings->Fitter Settings,More Settings, Maximum number of global clocks allowed,改為 2或 3(一共是 4,PLL 用 2 個或 1 個時鐘)。
? UFM 的使用
需要調用 alta_ufms 模塊:
使用 USER FLASH,需要通過 SPI 口控制輸入輸出。
同時提供內部晶振 OSC,可輸出 4MHz 左右時鐘,用于精度不高的時鐘設計。
在設計中加入后,轉換好的項目中,alta_ufms 需要在 Quartus II 中設為 Design Partition,如下圖,然后進行正常編譯。
總的來說,硬件無需過多調試;
軟件按上述流程移植,絕大部分情況下均能成功。
審核編輯 黃宇
-
芯片
+關注
關注
454文章
50460瀏覽量
421964 -
cpld
+關注
關注
32文章
1247瀏覽量
169226 -
AGM
+關注
關注
0文章
86瀏覽量
17064
發布評論請先 登錄
相關推薦
評論