[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] Peripheral instance DDR2_SDRAM is not a valid IP for PARAMETER main_memory !
Hi,
I am adapting Spartan3E1600's design to ML505 board using EDK 9.2i. The older version is required to support special utilities developed for it. I did a number of changes to the provided example from the user-platforms folder including the DDR ram update to DDR2. As a reference I am using the Xilinx-ML505-ll_temac-sgdma-edk101 example that I got working earlier. Here is the error I receive in EDK 9.2i while making the libraries:
Question 1:
//petalinux-v0.40-rc4/hardware/user-platforms/Xilinx
-Spartan3E1600-RevA-edk92_boardchange/system.mss line 12 - Peripheral
instance DDR2_SDRAM is not a valid IP for PARAMETER main_memory !
What am I missing?
I checked //petalinux-v0.40-rc4/hardware/edk_user_repository/PetaLogix/bsp/petalinux_v1_00_b/data/petalinux_v2_1_0.mld file and found mpmc controller in the 'range=' list. I am using MPMC 3.00.a. Previously it complained that the main_memory PARAMETER was missing so I added the DDR2_SDRAM to the OS part of the MSS file (i.e. PARAMETER main_memory = DDR2_SDRAM).
petalinux_v2_1_0.mld:
PARAMETER name = main_memory, desc ="Name of Main Memory used with PetaLinux", type = peripheral_instance, range=(opb_ddr,opb_emc,plb_ddr,plb_emc,opb_sdram,plb_sdram,mch_opb_sdram,mch_opb_ddr, mch_opb_ddr2, mch_opb_emc, plb_ddr2, mpmc), default = none;
Because petalinux_v1_00_b referred to standalone_v2_00_a BSP that 9.2i does not have, I had to switch to petalinux_v1_00_a that supports //Xilinx/9.2i/edk/sw/lib/bsp/standalone_v1_00_a/. By the way this is another question (Question 2): whether it is possible to run EDK 9.2i and still use petalinux_v1_00_b (i.e. for 2.6 kernel support)?
Thanks,
Victor
Here is my MHS file:
-------------------------------------------------------------
PARAMETER VERSION = 2.1.0
PORT fpga_0_RS232_DTE_RX_pin = fpga_0_RS232_DTE_RX, DIR = I
PORT fpga_0_RS232_DTE_TX_pin = fpga_0_RS232_DTE_TX, DIR = O
PORT fpga_0_FLASH_emc_ben_gnd_pin = net_gnd, DIR = O
PORT fpga_0_DDR2_SDRAM_DDR2_Addr_pin = fpga_0_DDR2_SDRAM_DDR2_Addr, DIR = O, VEC = [12:0]
PORT fpga_0_DDR2_SDRAM_DDR2_BankAddr_pin = fpga_0_DDR2_SDRAM_DDR2_BankAddr, DIR = O, VEC = [1:0]
PORT fpga_0_DDR2_SDRAM_DDR2_CAS_n_pin = fpga_0_DDR2_SDRAM_DDR2_CAS_n, DIR = O
PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000
PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST
PORT fpga_0_DDR2_SDRAM_DDR2_DM_pin = fpga_0_DDR2_SDRAM_DDR2_DM, DIR = O, VEC = [7:0]
PORT fpga_0_DDR2_SDRAM_DDR2_Clk_pin = fpga_0_DDR2_SDRAM_DDR2_Clk, DIR = O, VEC = [1:0], SIGIS = CLK
PORT fpga_0_DDR2_SDRAM_DDR2_Clk_n_pin = fpga_0_DDR2_SDRAM_DDR2_Clk_n, DIR = O, VEC = [1:0], SIGIS = CLK
PORT fpga_0_DDR2_SDRAM_DDR2_DQ = fpga_0_DDR2_SDRAM_DDR2_DQ, DIR = IO, VEC = [63:0]
PORT fpga_0_DDR2_SDRAM_DDR2_DQS = fpga_0_DDR2_SDRAM_DDR2_DQS, DIR = IO, VEC = [7:0]
PORT fpga_0_DDR2_SDRAM_DDR2_CE_pin = fpga_0_DDR2_SDRAM_DDR2_CE, DIR = O, VEC = [1:0]
PORT fpga_0_DDR2_SDRAM_DDR2_ODT_pin = fpga_0_DDR2_SDRAM_DDR2_ODT, DIR = O, VEC = [1:0]
PORT fpga_0_FLASH_Mem_A_pin = fpga_0_FLASH_Mem_A, DIR = O, VEC = [7:30]
PORT fpga_0_FLASH_Mem_DQ = fpga_0_FLASH_Mem_DQ, DIR = IO, VEC = [0:7]
PORT fpga_0_FLASH_Mem_WEN_pin = fpga_0_FLASH_Mem_WEN, DIR = O
PORT fpga_0_FLASH_Mem_OEN_pin = fpga_0_FLASH_Mem_OEN, DIR = O, VEC = [0:0]
PORT fpga_0_FLASH_Mem_CEN_pin = fpga_0_FLASH_Mem_CEN, DIR = O, VEC = [0:0]
PORT fpga_0_FLASH_Mem_ADV_LDN_pin = fpga_0_FLASH_Mem_ADV_LDN, DIR = O
PORT fpga_0_DDR2_SDRAM_DDR2_WE_n_pin = fpga_0_DDR2_SDRAM_DDR2_WE_n, DIR = O
PORT fpga_0_DDR2_SDRAM_DDR2_RAS_n_pin = fpga_0_DDR2_SDRAM_DDR2_RAS_n, DIR = O
PORT ExternalPort_0 = net_ExternalPort_0, DIR = O, VEC = [0:1]
BEGIN microblaze
PARAMETER HW_VER = 7.00.a
PARAMETER INSTANCE = microblaze_0
PARAMETER C_USE_ICACHE = 1
PARAMETER C_USE_DCACHE = 1
PARAMETER C_DEBUG_ENABLED = 1
PARAMETER C_ICACHE_BASEADDR = 0x20000000
PARAMETER C_ICACHE_HIGHADDR = 0x2fffffff
PARAMETER C_DCACHE_BASEADDR = 0x20000000
PARAMETER C_DCACHE_HIGHADDR = 0x2fffffff
PARAMETER C_USE_BARREL = 1
PARAMETER C_USE_HW_MUL = 2
PARAMETER C_USE_DIV = 1
PARAMETER C_NUMBER_OF_PC_BRK = 2
PARAMETER C_FAMILY = virtex5
PARAMETER C_INSTANCE = microblaze_0
PARAMETER C_FSL_LINKS = 1
PARAMETER C_PVR = 2
PARAMETER C_CACHE_BYTE_SIZE = 2048
PARAMETER C_DCACHE_BYTE_SIZE = 4096
BUS_INTERFACE DPLB = mb_plb
BUS_INTERFACE IPLB = mb_plb
BUS_INTERFACE ixcl = ixcl
BUS_INTERFACE dxcl = dxcl
BUS_INTERFACE DEBUG = microblaze_0_dbg
BUS_INTERFACE SFSL0 = download_link
BUS_INTERFACE DLMB = dlmb
BUS_INTERFACE ILMB = ilmb
PORT RESET = mb_reset
PORT Interrupt = Interrupt
END
BEGIN plb_v46
PARAMETER INSTANCE = mb_plb
PARAMETER HW_VER = 1.00.a
PARAMETER C_ADDR_PIPELINING_TYPE = 1
PORT PLB_Clk = sys_clk_s
PORT SYS_Rst = sys_bus_reset
END
BEGIN lmb_v10
PARAMETER INSTANCE = ilmb
PARAMETER HW_VER = 1.00.a
PORT LMB_Clk = sys_clk_s
PORT SYS_Rst = sys_bus_reset
END
BEGIN lmb_v10
PARAMETER INSTANCE = dlmb
PARAMETER HW_VER = 1.00.a
PORT LMB_Clk = sys_clk_s
PORT SYS_Rst = sys_bus_reset
END
BEGIN lmb_bram_if_cntlr
PARAMETER INSTANCE = dlmb_cntlr
PARAMETER HW_VER = 2.10.a
PARAMETER C_BASEADDR = 0x00000000
PARAMETER C_HIGHADDR = 0x00001fff
BUS_INTERFACE SLMB = dlmb
BUS_INTERFACE BRAM_PORT = dlmb_port
END
BEGIN lmb_bram_if_cntlr
PARAMETER INSTANCE = ilmb_cntlr
PARAMETER HW_VER = 2.10.a
PARAMETER C_BASEADDR = 0x00000000
PARAMETER C_HIGHADDR = 0x00001fff
BUS_INTERFACE SLMB = ilmb
BUS_INTERFACE BRAM_PORT = ilmb_port
END
BEGIN bram_block
PARAMETER INSTANCE = lmb_bram
PARAMETER HW_VER = 1.00.a
BUS_INTERFACE PORTA = ilmb_port
BUS_INTERFACE PORTB = dlmb_port
END
BEGIN xps_uartlite
PARAMETER INSTANCE = RS232_DTE
PARAMETER HW_VER = 1.00.a
PARAMETER C_BAUDRATE = 115200
PARAMETER C_DATA_BITS = 8
PARAMETER C_ODD_PARITY = 0
PARAMETER C_USE_PARITY = 0
PARAMETER C_SPLB_CLK_FREQ_HZ = 50000000
PARAMETER C_BASEADDR = 0x40600000
PARAMETER C_HIGHADDR = 0x4060ffff
BUS_INTERFACE SPLB = mb_plb
PORT Interrupt = RS232_DTE_Interrupt
PORT RX = fpga_0_RS232_DTE_RX
PORT TX = fpga_0_RS232_DTE_TX
END
BEGIN xps_timer
PARAMETER INSTANCE = xps_timer_1
PARAMETER HW_VER = 1.00.a
PARAMETER C_BASEADDR = 0x41C00000
PARAMETER C_HIGHADDR = 0x41C0FFFF
BUS_INTERFACE SPLB = mb_plb
PORT Interrupt = xps_timer_1_Interrupt
END
BEGIN xps_mch_emc
PARAMETER INSTANCE = FLASH
PARAMETER HW_VER = 1.00.a
PARAMETER C_NUM_CHANNELS = 0
PARAMETER C_MCH_PLB_CLK_PERIOD_PS = 20000
PARAMETER C_NUM_BANKS_MEM = 1
PARAMETER C_MAX_MEM_WIDTH = 8
PARAMETER C_MEM0_WIDTH = 8
PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 1
PARAMETER C_SYNCH_MEM_0 = 0
PARAMETER C_TCEDV_PS_MEM_0 = 110000
PARAMETER C_TWC_PS_MEM_0 = 110000
PARAMETER C_TAVDV_PS_MEM_0 = 110000
PARAMETER C_TWP_PS_MEM_0 = 70000
PARAMETER C_THZCE_PS_MEM_0 = 35000
PARAMETER C_TLZWE_PS_MEM_0 = 15000
PARAMETER C_MEM0_BASEADDR = 0x89000000
PARAMETER C_MEM0_HIGHADDR = 0x89ffffff
BUS_INTERFACE SPLB = mb_plb
PORT Mem_A = fpga_0_FLASH_Mem_A_split
PORT Mem_DQ = fpga_0_FLASH_Mem_DQ
PORT Mem_OEN = fpga_0_FLASH_Mem_OEN
PORT Mem_WEN = fpga_0_FLASH_Mem_WEN
PORT Mem_CEN = fpga_0_FLASH_Mem_CEN
PORT Mem_ADV_LDN = FLASH_Mem_ADV_LDN
END
BEGIN util_bus_split
PARAMETER INSTANCE = FLASH_util_bus_split_0
PARAMETER HW_VER = 1.00.a
PARAMETER C_SIZE_IN = 32
PARAMETER C_LEFT_POS = 0
PARAMETER C_SPLIT = 8
PORT Sig = fpga_0_FLASH_Mem_A_split
PORT Out2 = fpga_0_FLASH_Mem_A
END
BEGIN mpmc
PARAMETER INSTANCE = DDR2_SDRAM
PARAMETER HW_VER = 3.00.a
PARAMETER C_NUM_PORTS = 4
PARAMETER C_PIM0_BASETYPE = 1
PARAMETER C_PIM1_BASETYPE = 1
PARAMETER C_MEM_PARTNO = mt4htf3264h-53e
PARAMETER C_NUM_IDELAYCTRL = 3
PARAMETER C_IDELAYCTRL_LOC = IDELAYCTRL_X0Y5-IDELAYCTRL_X0Y1-IDELAYCTRL_X0Y0
PARAMETER C_MEM_CE_WIDTH = 2
PARAMETER C_MEM_CS_N_WIDTH = 2
PARAMETER C_MEM_CLK_WIDTH = 2
PARAMETER C_MEM_ODT_WIDTH = 2
PARAMETER C_MEM_ODT_TYPE = 1
PARAMETER C_XCL0_WRITEXFER = 0
PARAMETER C_PIM2_BASETYPE = 2
PARAMETER C_PIM3_BASETYPE = 3
PARAMETER C_MPMC_CLK0_PERIOD_PS = 8000
PARAMETER C_SDMA3_PI2LL_CLK_RATIO = 1
PARAMETER C_MPMC_BASEADDR = 0x20000000
PARAMETER C_MPMC_HIGHADDR = 0x2FFFFFFF
PARAMETER C_SDMA_CTRL_BASEADDR = 0x84600000
PARAMETER C_SDMA_CTRL_HIGHADDR = 0x8460FFFF
BUS_INTERFACE XCL0 = ixcl
BUS_INTERFACE XCL1 = dxcl
BUS_INTERFACE SPLB2 = mb_plb
BUS_INTERFACE SDMA_CTRL3 = mb_plb
PORT DDR2_ODT = fpga_0_DDR2_SDRAM_DDR2_ODT
PORT DDR2_Addr = fpga_0_DDR2_SDRAM_DDR2_Addr
PORT DDR2_BankAddr = fpga_0_DDR2_SDRAM_DDR2_BankAddr
PORT DDR2_CAS_n = fpga_0_DDR2_SDRAM_DDR2_CAS_n
PORT DDR2_CE = fpga_0_DDR2_SDRAM_DDR2_CE
PORT DDR2_WE_n = fpga_0_DDR2_SDRAM_DDR2_WE_n
PORT DDR2_Clk = fpga_0_DDR2_SDRAM_DDR2_Clk
PORT DDR2_DM = fpga_0_DDR2_SDRAM_DDR2_DM
PORT DDR2_DQS = fpga_0_DDR2_SDRAM_DDR2_DQS
# PORT DDR2_DQS_n = fpga_0_DDR2_SDRAM_DDR2_DQS_n
PORT DDR2_DQ = fpga_0_DDR2_SDRAM_DDR2_DQ
PORT MPMC_Clk0 = sys_clk_s
PORT MPMC_Clk90 = DDR2_SDRAM_mpmc_clk_90_s
PORT SDMA3_Clk = sys_clk_s
PORT MPMC_Clk_200MHz = clk_200mhz_s
PORT MPMC_Rst = sys_bus_reset
PORT SDMA3_Rx_IntOut = DDR2_SDRAM_SDMA3_Rx_IntOut
PORT SDMA3_Tx_IntOut = DDR2_SDRAM_SDMA3_Tx_IntOut
PORT DDR2_Clk_n = fpga_0_DDR2_SDRAM_DDR2_Clk_n
PORT DDR2_RAS_n = fpga_0_DDR2_SDRAM_DDR2_RAS_n
PORT DDR2_CS_n = fpga_0_DDR2_SDRAM_DDR2_CS_n
END
BEGIN clock_generator
PARAMETER INSTANCE = clock_generator_0
PARAMETER HW_VER = 1.00.a
PARAMETER C_EXT_RESET_HIGH = 1
PARAMETER C_CLKIN_FREQ = 100000000
PARAMETER C_CLKOUT0_FREQ = 125000000
PARAMETER C_CLKOUT0_PHASE = 0
PARAMETER C_CLKOUT0_GROUP = GROUP0
PARAMETER C_CLKOUT2_FREQ = 125000000
PARAMETER C_CLKOUT2_PHASE = 90
PARAMETER C_CLKOUT2_GROUP = GROUP0
PARAMETER C_CLKOUT3_FREQ = 62500000
PARAMETER C_CLKOUT3_PHASE = 0
PARAMETER C_CLKOUT3_GROUP = NONE
PARAMETER C_CLKOUT4_FREQ = 200000000
PARAMETER C_CLKOUT4_PHASE = 0
PARAMETER C_CLKOUT4_GROUP = NONE
PORT CLKOUT0 = sys_clk_s
PORT CLKOUT2 = DDR2_SDRAM_mpmc_clk_90_s
PORT CLKIN = dcm_clk_s
PORT LOCKED = Dcm_all_locked
PORT RST = net_gnd
PORT CLKOUT3 = DDR2_SDRAM_MPMC_Clk_Div2
PORT CLKOUT4 = clk_200mhz_s
END
BEGIN mdm
PARAMETER INSTANCE = debug_module
PARAMETER HW_VER = 1.00.a
PARAMETER C_BASEADDR = 0x41400000
PARAMETER C_HIGHADDR = 0x4140ffff
PARAMETER C_WRITE_FSL_PORTS = 1
BUS_INTERFACE SPLB = mb_plb
BUS_INTERFACE MBDEBUG_0 = microblaze_0_dbg
BUS_INTERFACE MFSL0 = download_link
PORT Debug_SYS_Rst = Debug_SYS_Rst
END
BEGIN proc_sys_reset
PARAMETER INSTANCE = proc_sys_reset_0
PARAMETER HW_VER = 2.00.a
PARAMETER C_EXT_RESET_HIGH = 0
PORT Slowest_sync_clk = sys_clk_s
PORT Dcm_locked = Dcm_all_locked
PORT Ext_Reset_In = sys_rst_s
PORT MB_Reset = mb_reset
PORT Bus_Struct_Reset = sys_bus_reset
PORT MB_Debug_Sys_Rst = Debug_SYS_Rst
END
BEGIN xps_intc
PARAMETER INSTANCE = xps_intc_0
PARAMETER HW_VER = 1.00.a
PARAMETER C_BASEADDR = 0x41200000
PARAMETER C_HIGHADDR = 0x4120FFFF
BUS_INTERFACE SPLB = mb_plb
PORT Irq = Interrupt
PORT Intr = xps_timer_1_Interrupt&RS232_DTE_Interrupt&DDR2_SDRAM_SDMA3_Rx_IntOut&DDR2_SDRAM_SDMA3_Tx_IntOut
END
BEGIN fsl_v20
PARAMETER INSTANCE = download_link
PARAMETER HW_VER = 2.11.a
PORT SYS_Rst = sys_bus_reset
PORT FSL_Clk = sys_clk_s
END
MSS FILE:
--------------------------------------------------------------
PARAMETER VERSION = 2.2.0
BEGIN OS
PARAMETER OS_NAME = petalinux
PARAMETER OS_VER = 1.00.a
PARAMETER PROC_INSTANCE = microblaze_0
PARAMETER lmb_memory = dlmb_cntlr
PARAMETER stdin = RS232_DTE
PARAMETER stdout = RS232_DTE
PARAMETER main_memory = DDR2_SDRAM
PARAMETER main_memory_bank = 0
PARAMETER flash_memory_bank = 0
END
# PARAMETER microblaze_exception_vectors = ((XEXC_NONE,default,1))
BEGIN PROCESSOR
PARAMETER DRIVER_NAME = cpu
PARAMETER DRIVER_VER = 1.11.a
PARAMETER HW_INSTANCE = microblaze_0
PARAMETER COMPILER = mb-gcc
PARAMETER ARCHIVER = mb-ar
PARAMETER CORE_CLOCK_FREQ_HZ = 125000000
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = bram
PARAMETER DRIVER_VER = 1.00.a
PARAMETER HW_INSTANCE = dlmb_cntlr
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = bram
PARAMETER DRIVER_VER = 1.00.a
PARAMETER HW_INSTANCE = ilmb_cntlr
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = generic
PARAMETER DRIVER_VER = 1.00.a
PARAMETER HW_INSTANCE = lmb_bram
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = uartlite
PARAMETER DRIVER_VER = 1.12.a
PARAMETER HW_INSTANCE = RS232_DTE
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = mpmc
PARAMETER DRIVER_VER = 1.01.a
PARAMETER HW_INSTANCE = DDR2_SDRAM
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = generic
PARAMETER DRIVER_VER = 1.00.a
PARAMETER HW_INSTANCE = clock_generator_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = uartlite
PARAMETER DRIVER_VER = 1.12.a
PARAMETER HW_INSTANCE = debug_module
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = generic
PARAMETER DRIVER_VER = 1.00.a
PARAMETER HW_INSTANCE = proc_sys_reset_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = tmrctr
PARAMETER DRIVER_VER = 1.10.b
PARAMETER HW_INSTANCE = xps_timer_1
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = intc
PARAMETER DRIVER_VER = 1.10.c
PARAMETER HW_INSTANCE = xps_intc_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = emc
PARAMETER DRIVER_VER = 2.00.a
PARAMETER HW_INSTANCE = FLASH
END