Setting the environment variable in ISE 7.1?

How does one set the environmental variable in ISE 7.1? The following error message was obtained:

ERROR:Place:645 - A clock IOB clock component is not placed at an optimal clock IOB site The clock IOB component is placed at site IOB_X1Y48. The clock IO site can use the fast path between the IO and the Clock buffer/GCLK if the IOB is placed in the master Clock IOB Site. If this sub optimal condition is acceptable for this design you may set the environment variable XIL_PLACE_ALLOW_LOCAL_BUFG_ROUTING to demote this message to a WARNING and allow your design to continue.

The Xilinx support solution is:

This error warns that you are not using optimal clock resources.

The error occurs when the Clock input is Locked to either the N side of a Differential Pair of Clock Capable I/O or to a Low Capacitance input, because this results in a local route and causes additional delay.

If this routing is acceptable, then the XIL_PLACE_ALLOW_LOCAL_BUFG_ROUTING environment variable should be set; this will relegate the error to a warning.

If this routing is not acceptable, then the Clock should use either the P input of a Clock Capable I/O or a Global Clock input.

Reply to
Andrew Lohbihler
Loading thread data ...

Hi Andrew, from the start menu go in Settings-> control panel in control panel click on system in system select the Advanced tab and then click on Envirable variable. press new and on the name write XIL_PLACE_ALLOW_LOCAL_BUFG_ROUTING and on the value write 1

Francesco

Reply to
francesco_poderico

Just another note. I'm not using 7.1 yet, but in earlier versions I found that you need to set the environment variable in the user rather than system variables list. I think this is the default if you click new before browsing the variables in either list.

Reply to
Gabor

Thanks, I use XP so setting the EV's is slightly different but I can add to user or system. I initially added to the user Ev's but there was no effect. Later I added to the system and restarted ISE and found it to work. Although I got through PAR there was still a problem getting the clock to work.

Another possible solution suggested by Xilinx is to "insert clock buffers" using the "insert pads" command. I have no idea where this command is applied. Any ideas??

-Andrew

Reply to
Andrew Lohbihler

-- Creates an ERROR:Place:645 if UCF file LOCs pins to non clock inputs

-- cam1_xclk_ibufd_inst : IBUFDS

-- port map (

-- O => cam1_xclk, -- to DCM input

-- I => gpio_exp_hdr2(7),

-- IB => gpio_exp_hdr2(6) );

-- This code didn't help the ERROR:Place:645 / WARNING:Place:644 problem

-- Does improve the route if one moves the pins to a clock input

-- cam1_xclk_ibufgds_inst : IBUFGDS

-- generic map (

-- -- DIFF_TERM => "FALSE", -- Differential Termination (Virtex-4 only)

-- -- Above line created a TYPE error

-- -- Language Template differs from v4ldl libraries guide.

-- -- IBUF_DELAY_VALUE => "0",

-- -- Specify the amount of added input delay for buffer,

-- -- "0"-"16" (Spartan-3E only)

-- IOSTANDARD => "DEFAULT")

-- port map (

-- O => cam1_xclk,

-- I => gpio_exp_hdr2(7),

-- IB => gpio_exp_hdr2(6));

-- This code does not get rid of WARNING:Place:644 but

-- does improve the appearance of the internal clock route

-- even though the UCF file has the pins LOC to non clock inputs

cam1_xclk_ibufd_inst : IBUFDS port map ( O => cam1_xclk_intermediate, I => gpio_exp_hdr2(7), IB => gpio_exp_hdr2(6) );

cam1_xclk_bufg : BUFG port map ( O => cam1_xclk, -- to DCM input I => cam1_xclk_intermediate );

Brad Smallridge aivision.com

Reply to
Brad Smallridge

And then there is this:

cam1_dcmfx2 : dcmfx2 port map( clkin_n_in => gpio_exp_hdr2(6), -- cam1_xclk, clkin_p_in => gpio_exp_hdr2(7), -- cam1_xclk, rst_in => reset, clkfx_out => cam1_clk7x, clkin_ibufgds_out => open, clk0_out => cam1_xclk, locked_out => cam1_lock7x );

generated clock with external differential inputs selected

Reply to
Brad Smallridge

And this:

cam1_dcmfx2 : dcmfx2 port map( clkin_n_in => gpio_exp_hdr2(6), -- cam1_xclk, clkin_p_in => gpio_exp_hdr2(7), -- cam1_xclk, rst_in => reset, clkfx_out => cam1_clk7x, clkin_ibufgds_out => open, clk0_out => cam1_xclk, locked_out => cam1_lock7x );

Reply to
Brad Smallridge

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.