ISE/EDK8.2iでビルドする際、付属CD-ROM(2006/04/27以前)に含まれているSUZAKU-S(SZ010-U00, SZ030-U00)のFPGAプロジェクトは、エラーになります。
以下の修正により、ISE/EDK8.2iに対応することができます。
SZ010-U00, SZ030-U00の場合1.ファイルのコピー
opb_sdram、opb_emcの仕様が変更になり、エラーが出るようになりました。コアを置き換えることで対応します。- sz010-030-replacement-files-for-8.2i-compatibility.zipをダウンロードしてください。
- 解凍後 opb_emc_wとopb_sdram_wの2つのフォルダを、suzaku-s-********\xps_proj\pcoresにコピーしてください。
- Xilinx Platform Studioを立ち上げて(既に立ち上げている場合は再起動)IP CatalogのリストのProject Repositoryにopb_sdram_wとopb_emc_wが追加されていることを確認してください。
2.opb_sdramの修正
・エラー例 ビルド時に以下の様なエラーが出ます。
ERROR:MDT - Ip opb_sdram 1.00.c is marked OBSOLETE
・MHSファイルの修正
suzaku-s-********\xps_proj\xps_proj.mhsを開いてください。
opb_sdramのコアを先ほどコピーしたopb_sdram_wに置き換え、信号を変更します。
BEGIN opb_sdram_w # 変更
PARAMETER INSTANCE = sdram_controller
PARAMETER HW_VER = 1.00.a # 変更
・
・
PORT SDRAM_DQ = SDRAM_DQ # 削除
PORT SDRAM_DQ_I = SDRAM_DQ_I # 追加
PORT SDRAM_DQ_O = SDRAM_DQ_O # 追加
PORT SDRAM_DQ_T = SDRAM_DQ_T # 追加
・
・
END
ExternalPort記述部分のSDRAM_DQを削除し、SDRAM_DQ_I、SDRAM_DQ_O、SDRAM_DQ_Tを追加してください。
PORT SDRAM_DQ = SDRAM_DQ, VEC = [0:15], DIR = IO # 削除
PORT SDRAM_DQ_I = SDRAM_DQ_I, VEC = [0:15], DIR = I # 追加
PORT SDRAM_DQ_O = SDRAM_DQ_O, VEC = [0:15], DIR = O # 追加
PORT SDRAM_DQ_T = SDRAM_DQ_T, VEC = [0:15], DIR = O # 追加
3.opb_emcの修正
・エラー例 Synthesize時に以下の様なエラー等が出ます。
ERROR:Xst:2585 - Port of instance does not exist in definition .
・MHSファイルの修正
suzaku-s-********\xps_proj\xps_proj.mhsを開いてください。
opb_emcのコアを先ほどコピーしたopb_emc_wに置き換え、信号を変更します。
BEGIN opb_emc_w # 変更
PARAMETER INSTANCE = system_memcon
PARAMETER HW_VER = 1.00.a # 変更
・
・
PORT Mem_DQ = MEMCON_DQ # 削除
PORT Mem_DQ_I = MEMCON_DQ_I # 追加
PORT Mem_DQ_O = MEMCON_DQ_O # 追加
PORT Mem_DQ_T = MEMCON_DQ_T # 追加
・
・
END
ExternalPort記述部分のMEMCON_DQを削除し、MEMCON_DQ_I、MEMCON_DQ_O、MEMCON_DQ_Tを追加してください。
PORT MEMCON_DQ = MEMCON_DQ, VEC = [0:15], DIR = IO # 削除
PORT MEMCON_DQ_I = MEMCON_DQ_I, VEC = [0:15], DIR = I # 追加
PORT MEMCON_DQ_O = MEMCON_DQ_O, VEC = [0:15], DIR = O # 追加
PORT MEMCON_DQ_T = MEMCON_DQ_T, VEC = [0:15], DIR = O # 追加
4.GPIOの修正
・エラー例 opb-gpio 1.00.aが廃版になり、使用できなくなりました。ビルド時に以下の様なエラーが出ます。
ERROR:MDT - Ip opb_gpio 1.00.a is marked OBSOLETE
・MHSファイルの修正
suzaku-s-********\xps_proj\xps_proj.mhsを開いてください。GPIOのコアのバージョンを上げ、設定を行います。
C_BASEADDRおよびC_HIGHADDRはご自身の環境にあわせて設定してください。その際、アドレス空間が256byte→512byteに増えているのでご注意ください。
BEGIN opb_gpio
PARAMETER INSTANCE = opb_gpio_0
PARAMETER HW_VER = 3.01.b # 変更
PARAMETER C_BASEADDR = 0xFFFFA000
PARAMETER C_HIGHADDR = 0xFFFFA1FF # 変更
PARAMETER C_GPIO_WIDTH = 3
PARAMETER C_IS_BIDIR = 0 # 追加
BUS_INTERFACE SOPB = opb_0
PORT OPB_Clk = SYS_CLK
PORT GPIO_IO = GPIO_IO_0 # 削除
PORT GPIO_in = GPIO_IO_0_I # 追加
PORT GPIO_d_out = GPIO_IO_0_O # 追加
PORT GPIO_t_out = GPIO_IO_0_T # 追加
END
ExternalPort記述部分のGPIO_IO_0を削除し、GPIO_IO_0_I、GPIO_IO_0_O、GPIO_IO_0_Tを追加します。
PORT GPIO_IO_0 = GPIO_IO_0, VEC = [0:7], DIR = IO # 削除
PORT GPIO_IO_0_I = GPIO_IO_0_I, VEC = [0:2], DIR = I # 追加
PORT GPIO_IO_0_O = GPIO_IO_0_O, VEC = [0:2], DIR = O # 追加
PORT GPIO_IO_0_T = GPIO_IO_0_T, VEC = [0:2], DIR = O # 追加