UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
7,717 Views
Registered: ‎08-13-2010

key words for bidirectional ports in MPD file

I am trying to write a mpd file of my local IP, which has few bidirectional IO ports. Felling confused to define those ports in mpd. I started to search for few example, then found few Xilinx IP like QSPI flash which has few bidertional ports. Here the port defination of QSPI flash in its mpd file

"PORT SCK_I = "", DIR = I, ISVALID = (C_USE_STARTUP==0), IO_IF = qspi_0, IO_IS = clk_out_I
PORT SCK_O = "", DIR = O, ISVALID = (C_USE_STARTUP==0), IO_IF = qspi_0, IO_IS = clk_out_O
PORT SCK_T = "", DIR = O, ISVALID = (C_USE_STARTUP==0), IO_IF = qspi_0, IO_IS = clk_out_T"

here SCK is bidirectioanal port, but IO_IF and IO_IS words were unknown for me as I have very little knowledge in this subject.

I found few defination in xilinx refernces like

IO_IF

A unique, user-defined label assigned an IO_INTERFACE. All ports and parameters
declared in an MPD file that are associated with the name IO_INTERFACE have the same
IO_IF value assigned to them. This keyword is expressed in the following format, in which
io_label is the name of the IO_INTERFACE. This is a user-defined string:

 

IO_IS
The IO_IS keyword defines an XBD relationship marker. IO_IS implies that the parameter
value can be dictated by a feature on the external hardware to which this IP is connected.
Without a corresponding XBD value the tag has no effect.

 

but really I could make my concept clear. I could not understand what I need to write for my local IPs, and are IO_IF and IO_IS key words essential to declare for IO ports?

0 Kudos
4 Replies
Moderator
Moderator
7,712 Views
Registered: ‎04-17-2011

Re: key words for bidirectional ports in MPD file

http://www.xilinx.com/support/documentation/sw_manuals/edk10_psf_rm.pdf
This should help clear your concepts
Regards,
Debraj
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Explorer
Explorer
7,709 Views
Registered: ‎08-13-2010

Re: key words for bidirectional ports in MPD file

The definations that i have posted was copied from that pdf. I could not find my answers from pdf, that why I post this @debrajr

0 Kudos
Explorer
Explorer
7,688 Views
Registered: ‎08-13-2010

Re: key words for bidirectional ports in MPD file

my query is the local ip has an inout port, how I would describe that inout port in mpd file, 'DIR=IO' did not work.

I wrote in mpd

"PORT TMDS_TX_SCL = "", DIR = IO "

the errors message is

"Line 226: Formal port <TMDS_TX_SCL_I> does not exist in entity <vmod_cam>.  Please compare the definition of block <vmod_cam> to its component declaration and its instantion to detect the mismatch.

Line 227: Formal port <TMDS_TX_SCL_O> does not exist in entity <vmod_cam>.  Please compare the definition of block <vmod_cam> to its component declaration and its instantion to detect the mismatch.

Line 228: Formal port <TMDS_TX_SCL_T> does not exist in entity <vmod_cam>.  Please compare the definition of block <vmod_cam> to its component declaration and its instantion to detect the mismatch."

0 Kudos
Moderator
Moderator
7,640 Views
Registered: ‎04-17-2011

Re: key words for bidirectional ports in MPD file

To use bidirectional ports in EDK, custom IP cores need the signal_I (input), signal_O (output), and signal_T (tri-state) ports in the HDL and MPD files. XPS then automatically connects these individual signals to an IOBUF at the top level.

The Platform Specification Format Reference Manual (psf_rm.pdf) has a detailed description of this situation.

See Chapter 3 MPD -> Design Considerations -> Tri-state signals. (Page 72)

Example:
VHDL Example
entity tri_state_single is
generic (C_WIDTH: integer:= 9);
port (
-- tri-state signal
ITRI: in std_logic_vector(0 to C_WIDTH-1);
OTRI: out std_logic_vector(0 to C_WIDTH-1);
TTRI: out std_logic);
end entity tri_state_single;
MPD Example
BEGIN tri_state_single
OPTION IPTYPE=IP
PARAMETER C_WIDTH=9, DT=integer
PORT IPIO=“”, DIR=IO,VEC=[0:C_WIDTH-1],THREE_STATE=TRUE, TRI_I=ITRI,
TRI_O=OTRI, TRI_T=TTRI
PORT ITRI=””, DIR=I, VEC=[0:C_WIDTH-1]
PORT OTRI=””, DIR=O, VEC=[0:C_WIDTH-1]
PORT TTRI=””, DIR=I
END
Regards,
Debraj
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos