Сразу к делу.
Я пытаюсь создать свой борд под ЕДК.
Первой проблемой для меня было то, что моя периферия не добавляется в визард. Порывшись немного в документации, я нашел опцию (MPD файла) OPTION USAGE_LEVEL = BASE_USER, которая разрешает добавлять оную в проект с помощью BSB.
После этого встала проблема, над которой я бьюсь и поныне. Перепробовав все варианты, прибегаю к вашей помощи, так как сам весь иссяк. Проблема следующая:
Так как всякого рода визарды в том числе и BSB созданы для максимального облегчения и упрощения жизни пользователя то моя проблема особенно актуальна. Дело в том что я не могу в самом визарде менять параметры своей периферии. То есть я вижу только название перефирии и все. Все параметры остаются за кадром, их как бы просто нет (но если задать их жестко в самом тексте xbd, то значения нормально присваиваются, тока мне не хочется каждый раз как решил поменять параметры для нового назначения платы лезть и править xbd). Хотя в самой среде они замечательно видны и правятся. Порывшись немного в документации, я нашел атрибут для параметра (MPD файла) PERMIT = BASE_USER, который якобы разрешает править в BSB параметры периферии. Бился, бился как рыба о бетонную стену, но все напрасно моих параметров в BSB так и не появилось. А еще я нашел разницу в названия параметров, когда делаешь проект через Custom Board параметры периферии называются по одному, когда же цепляешь Xilinx Board то у той же периферии меняются хоть и немного имена этих параметров. Это проиллюстрировано на рисунках
Нажмите для просмотра прикрепленного файла
рис BSB1 – Xilinx Board
Нажмите для просмотра прикрепленного файла
рис BSB2 – Custom Board
Причем для Custom Board имена всех параметров строго соответствуют атрибуту DESC (MPD файла). Откуда же берутся имена для Xilinx Board для меня так и осталось загадкой я даже скачал прогу которая ищет текст в файлах и папках. Нулевой результат нет такого текста (bit per seconds) и все.
Если есть какие либо предположения, советы, замечания, сорцы то жду вашей помощи!!!
ЗАРАНИЕ СПАСИБО!!!!!
вот MPD
Код
###################################################################
##
## Name : man_ext_port
## Desc : Microprocessor Peripheral Description
## : Automatically generated by PsfUtility
##
###################################################################
BEGIN man_ext_port
## Peripheral Options
OPTION RUN_NGCBUILD = TRUE
OPTION IMP_NETLIST = TRUE
OPTION STYLE = HDL
OPTION HDL = VHDL
OPTION IPTYPE = PERIPHERAL
OPTION USAGE_LEVEL = BASE_USER
OPTION DESC = Manually Configured External Port
OPTION LONG_DESC = Manually Configured External Port for Generel Purpose.
OPTION IP_GROUP = MICROBLAZE:PPC:Utils
OPTION ARCH_SUPPORT_MAP = (OTHERS=PREFERRED)
IO_INTERFACE IO_IF = MAN_EXT_PORT, IO_TYPE = MAN_EXT_PORT_V1
## Generics for VHDL or Parameters for Verilog
PARAMETER C_EXT_PIN_VAL = 0, DT = INTEGER, RANGE = (0,1), DESC = Value, PERMIT = BASE_USER, VALUES = (1=High, 0=Low)#, IO_IS = VAL
## Ports
PORT MEP = "", DIR = O, IO_IS = CONF_PIN#, INITIALVAL = GND
END
##
## Name : man_ext_port
## Desc : Microprocessor Peripheral Description
## : Automatically generated by PsfUtility
##
###################################################################
BEGIN man_ext_port
## Peripheral Options
OPTION RUN_NGCBUILD = TRUE
OPTION IMP_NETLIST = TRUE
OPTION STYLE = HDL
OPTION HDL = VHDL
OPTION IPTYPE = PERIPHERAL
OPTION USAGE_LEVEL = BASE_USER
OPTION DESC = Manually Configured External Port
OPTION LONG_DESC = Manually Configured External Port for Generel Purpose.
OPTION IP_GROUP = MICROBLAZE:PPC:Utils
OPTION ARCH_SUPPORT_MAP = (OTHERS=PREFERRED)
IO_INTERFACE IO_IF = MAN_EXT_PORT, IO_TYPE = MAN_EXT_PORT_V1
## Generics for VHDL or Parameters for Verilog
PARAMETER C_EXT_PIN_VAL = 0, DT = INTEGER, RANGE = (0,1), DESC = Value, PERMIT = BASE_USER, VALUES = (1=High, 0=Low)#, IO_IS = VAL
## Ports
PORT MEP = "", DIR = O, IO_IS = CONF_PIN#, INITIALVAL = GND
END
а вот и XBD
Код
# -------------------------------------------------------------
# Copyright(C) 2005 by Xilinx, Inc. All rights reserved. --
# --
# This copyright notice must be retained as part --
# of this text at all times. --
# -------------------------------------------------------------
ATTRIBUTE VENDOR = ya
ATTRIBUTE SPEC_URL = www.xilinx.com
ATTRIBUTE CONTACT_INFO_URL=http://www.xilinx.com/support/techsup/tappinfo.htm
ATTRIBUTE NAME = --
ATTRIBUTE REVISION = 1
ATTRIBUTE DESC = --
ATTRIBUTE LONG_DESC = 'DSE 4000 utilizes Xilinx Spartan-3 XC3S4000-4FG676 device. The board includes 1 CAN serial ports, 1 RS232 serial ports, 8 RS485 serial ports, 10/100 Ethernet port, 2MB SSRAM. Push button X5:1 is used as system reset. '
BEGIN IO_INTERFACE
ATTRIBUTE IOTYPE = MAN_EXT_PORT_V1
ATTRIBUTE INSTANCE=RS485_1_Config
# PARAMETER C_EXT_PIN_VAL = 1, IO_IS=VAL если так, то нормально выставляется
PORT RS485_1_Conf = CONN_RS485_1_Conf, IO_IS = CONF_PIN#, INITIALVAL = GND
END
BEGIN FPGA
ATTRIBUTE INSTANCE = fpga_0
ATTRIBUTE FAMILY = spartan3
ATTRIBUTE DEVICE = XC3S4000
ATTRIBUTE PACKAGE = FG676
ATTRIBUTE SPEED_GRADE = -4
ATTRIBUTE JTAG_POSITION = 2
PORT RS485_1_Conf = CONN_RS485_1_Conf, UCF_NET_STRING=("LOC=M13", "IOSTANDARD = LVCMOS33")
END
# Copyright(C) 2005 by Xilinx, Inc. All rights reserved. --
# --
# This copyright notice must be retained as part --
# of this text at all times. --
# -------------------------------------------------------------
ATTRIBUTE VENDOR = ya
ATTRIBUTE SPEC_URL = www.xilinx.com
ATTRIBUTE CONTACT_INFO_URL=http://www.xilinx.com/support/techsup/tappinfo.htm
ATTRIBUTE NAME = --
ATTRIBUTE REVISION = 1
ATTRIBUTE DESC = --
ATTRIBUTE LONG_DESC = 'DSE 4000 utilizes Xilinx Spartan-3 XC3S4000-4FG676 device. The board includes 1 CAN serial ports, 1 RS232 serial ports, 8 RS485 serial ports, 10/100 Ethernet port, 2MB SSRAM. Push button X5:1 is used as system reset. '
BEGIN IO_INTERFACE
ATTRIBUTE IOTYPE = MAN_EXT_PORT_V1
ATTRIBUTE INSTANCE=RS485_1_Config
# PARAMETER C_EXT_PIN_VAL = 1, IO_IS=VAL если так, то нормально выставляется
PORT RS485_1_Conf = CONN_RS485_1_Conf, IO_IS = CONF_PIN#, INITIALVAL = GND
END
BEGIN FPGA
ATTRIBUTE INSTANCE = fpga_0
ATTRIBUTE FAMILY = spartan3
ATTRIBUTE DEVICE = XC3S4000
ATTRIBUTE PACKAGE = FG676
ATTRIBUTE SPEED_GRADE = -4
ATTRIBUTE JTAG_POSITION = 2
PORT RS485_1_Conf = CONN_RS485_1_Conf, UCF_NET_STRING=("LOC=M13", "IOSTANDARD = LVCMOS33")
END