Xilinx: LOC'd IO internal to VHDL Module

Hi All,

XILINX Sparten2e - ISE5.1i

Is is possible to created a LOC'd IO connection for signals internal to a VHDL module?

I've created a VHDL Module that has some normal port IO, however it also contains some signals that are specific only to the module. These signals need to be routed to FPGA pins - and therefore I'd like a LOC constraint on them.

If I declare these signals in the entity port desciption, then just apply the LOC attribute, the signals are still 'visible' on the module symbol. They do not need to be. So can I internally LOC these signals? Hope that makes sense. Here's an example with some VHDL of what I'm trying to do.

The input is dataIn - (Hopefully) LOC'd to pin 12. It's buffered, then connected to a synchronizer (just a double flip flop). The only 'visible' IO is dataOut and clk.

When I try this XST sees dataIn as unconnected, so ties it to ground. Then during translate, it get's all upset because the IBUF is drived from the IPAD, but is also tied :-( What's the official way of doing this?

Any help would really make my life A LOT easier. Cheers

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

library UNISIM; use UNISIM.VComponents.all;

entity interface is Port ( clk : in std_logic; dataOut : out std_logic);

end interface;

architecture Structural of interface is

component IBUF port ( O : out std_logic; I : in std_logic ); end component;

component SYNC port ( dataIn : in std_logic; dataOut : out std_logic; clk : in std_logic ); end component;

attribute box_type : string; attribute box_type of BUFG : component is "black_box";

attribute LOC : string; attribute LOC of dataBuf : label is "P12";

signal dataIn : std_logic; signal dataIn_b : std_logic; begin

------------

-- Buffer --

------------ dataBuf : IBUF port map ( I => dataIn, O => dataIn_b);

----------------

-- Syncronize --

---------------- dataSync : SYNC port map ( dataIn => dataIn_b, dataOut => dataOut, clk => clk);

end Structural;

Reply to
Andy Greensted
Loading thread data ...

I don't think there is any official way of doing it in VHDL. All I/O's need to be declared in the top-hierarchy file. The only way I can think of would be through adding a probe pin in the FPGA Editor, however this probably won't work either because your logic will get optimized out since if there is no port, there is no need to consider that signal...

/Mikhail

on

Reply to
MM

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.