ISE/EDK8.2iでビルドする際、付属CD-ROM(2006/8/18以前)に含まれているSUZAKU-V(SZ310-U00)のFPGAプロジェクトは、エラーになります。
以下の修正により、ISE/EDK8.2iに対応することができます。
●プロジェクトのフォルダの名前がsz310-********の場合
以下の修正により、ISE/EDK8.2iに対応することができます。
・plb_sdramの修正
・エラー例コアの仕様が変更になり、ビルド時に以下のようなエラー等が出ます。
ERROR:HDLParsers:3014 - "・・・Library unit counter_f is not available in library proc_common_v2_00_a.
・PAOファイルの修正
sz310-********\pcores\plb_sdram\data\plb_sdram_v2_1_0.paoを開き、
以下の記述を追加してください。
lib proc_common_v2_00_a family
lib proc_common_v2_00_a family_support <-- 追加
・
・
lib proc_common_v2_00_a counter
lib proc_common_v2_00_a counter_f <-- 追加
・
・
●プロジェクトのフォルダの名前がsuzaku-v-********の場合 以下の修正により、ISE/EDK8.2iに対応することができます。
1.plb_sdramの修正
・エラー例 コアの仕様が変更になり、ビルド時に以下の様なエラー等が出ます。
ERROR:HDLParsers:3014 - "・・・Library unit counter_f is not available in library proc_common_v2_00_a.
・PAOファイルの修正
suzaku-v-********\xps_proj\pcores\plb_sdram\data\plb_sdram_v2_1_0.paoを開き、
以下の記述を追加してください。
lib proc_common_v2_00_a family
lib proc_common_v2_00_a family_support <-- 追加
・
・
lib proc_common_v2_00_a counter
lib proc_common_v2_00_a counter_f <-- 追加
・
・
・MPDファイルの修正
suzaku-v-********\xps_proj\pcores\plb_sdram\data\plb_sdram_v2_1_0.mpdを開き、
一番下の行に以下の記述を追加してください。
PORT SDRAM_DQ_I = "", DIR = I, VEC = [0:(C_SDRAM_DWIDTH-1)]
PORT SDRAM_DQ_O = "", DIR = O, VEC = [0:(C_SDRAM_DWIDTH-1)]
PORT SDRAM_DQ_T = "", DIR = O, VEC = [0:(C_SDRAM_DWIDTH-1)]
以下の記述を探し、赤色の部分を追加してください。
PORT SDRAM_DQ = "", DIR = IO, VEC = [0:(C_SDRAM_DWIDTH-1)], THREE_STATE = TRUE,
ENABLE = MULTI, PERMIT = BASE_USER, DESC = SDRAM Data IO, IO_IF = sdram_0, IO_IS = sdram_data
, TRI_I = SDRAM_DQ_I, TRI_O = SDRAM_DQ_O, TRI_T = SDRAM_DQ_T <-- 追加
・MHSファイルの修正
suzaku-v-********\xps_proj\xps_proj.mhsを開いてください。
plb_sdram記述部分のSDRAM_DQを削除し、SDRAM_DQ_I、SDRAM_DQ_O、SDRAM_DQ_Tを追加してください。
BEGIN plb_sdram
・
・
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 <-- 追加
2.plb_emcの修正
・エラー例 コアの仕様が変更になりSynthesize時に以下の様なエラー等が出ます
ERROR:Xst:2585 - Port of instance does not exist in definition .
・MPDファイルの修正
suzaku-v-********\xps_proj\pcores\plb_emc\data\plb_emc_v2_1_0.mpdを開き、
一番下の行に以下の記述を追加してください。
PORT Mem_DQ_I = "", DIR = I, VEC = [0:(C_MAX_MEM_WIDTH-1)]
PORT Mem_DQ_O = "", DIR = O, VEC = [0:(C_MAX_MEM_WIDTH-1)]
PORT Mem_DQ_T = "", DIR = O, VEC = [0:(C_MAX_MEM_WIDTH-1)]
以下の記述を探し、赤色の部分を追加してください。
PORT Mem_DQ = "", DIR = IO, VEC = [0:(C_MAX_MEM_WIDTH-1)], THREE_STATE = TRUE,
ENABLE = MULTI, PERMIT = BASE_USER, DESC = Memory Data Bus, IO_IF = emc_0, IO_IS = emc_data
, TRI_I = Mem_DQ_I, TRI_O = Mem_DQ_O, TRI_T = Mem_DQ_T
・MHSファイルの修正
suzaku-v-********\xps_proj\xps_proj.mhsを開き、
plb_emc記述部分のMEMCON_DQを削除し、MEMCON_DQ_I、MEMCON_DQ_O、MEMCON_DQ_Tを追加してください。
BEGIN plb_emc
・
・
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 <-- 追加
3.GPIOの修正
・エラー例 opb-gpio 1.00.aが廃版になり、使用できなくなりました。ビルド時に以下の様なエラーが出ます。
ERROR:MDT - Ip opb_gpio 1.00.a is marked OBSOLETE
・MHSファイルの修正
suzaku-v-********\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 = 0xF0FFA000
PARAMETER C_HIGHADDR = 0xF0FFA1FF <-- 変更
PARAMETER C_GPIO_WIDTH = 8
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:7], DIR = I <-- 追加
PORT GPIO_IO_0_O = GPIO_IO_0_O, VEC = [0:7], DIR = O <-- 追加
PORT GPIO_IO_0_T = GPIO_IO_0_T, VEC = [0:7], DIR = O <-- 追加