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: 
Highlighted
Visitor laomar
Visitor
122 Views
Registered: ‎05-12-2019

ucf file to xdc file vivado syntax

Hello,

im working on artix7 board and i want to attribute to each LUT an specific adress so i have an example of vhdl code and ucf file.

and i just want to know how i have to write this line ( INST "Chain[0].inst_lut" LOC=SLICE_X0Y60; ) in the xdc file in vivado.

vhdl code:

Library UNISIM;
use UNISIM.vcomponents.all;
------------------------------------------------------------------------------------------
entity lut is
port ( O_1: out std_logic ;
a: in std_logic ;
b: in std_logic ;
c: in std_logic ;
d: in std_logic ;
e: in std_logic ;
f: in std_logic
);

end entity ;

architecture behavior of lut is

--type S_TYPE is array (0 to 4) of std_logic;

signal S : std_logic_vector(14400 downto 0);


--signal inv_array : std_logic_vector(4 downto 0) ;
--attribute RLOC: string;
----attribute RLOC of S: signal is "X1Y0 X0Y0 X3Y0 X2Y0 X5Y0";
--attribute RLOC of S: signal is "X0Y0 X1Y0 X2Y0 X3Y0";

begin

S(0) <= a;
Chain: for i in 0 to 14400-1 generate

inst_lut : LUT6
generic map (

INIT => X"5555555555555555")

port map(
S(i+1), S(i), b, c, d, e, f
);

end generate Chain;
O_1 <= S(14400);
end architecture ;

example of line from UCF file:

INST "Chain[0].inst_lut" LOC=SLICE_X0Y60;
INST "Chain[1].inst_lut" LOC=SLICE_X0Y60;
INST "Chain[2].inst_lut" LOC=SLICE_X0Y60;
INST "Chain[3].inst_lut" LOC=SLICE_X0Y60;
INST "Chain[4].inst_lut" LOC=SLICE_X1Y60;
INST "Chain[5].inst_lut" LOC=SLICE_X1Y60;
INST "Chain[6].inst_lut" LOC=SLICE_X1Y60;
INST "Chain[7].inst_lut" LOC=SLICE_X1Y60;
INST "Chain[8].inst_lut" LOC=SLICE_X2Y60;

 

Thanks,

 

 

0 Kudos
4 Replies
Moderator
Moderator
95 Views
Registered: ‎11-04-2010

Re: ucf file to xdc file vivado syntax

Hi, @laomar ,

Example for you:

set_property BEL D5LUT [get_cells {Chain[0].inst_lut}]
set_property LOC SLICE_X0Y60 [get_cells {Chain[0].inst_lut}]

It will be helpful for you to read "Converting UCF to XDC in the PlanAhead Tool" in UG911.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Xilinx Employee
Xilinx Employee
81 Views
Registered: ‎05-14-2008

Re: ucf file to xdc file vivado syntax

One thing you need to consider is that the cell name ("Chain[0].inst_lut" for example) given by Vivado Synthesis may not be the same as in ISE.

So you may need to check the cell names of those LUTs after running Synthesis in Vivado.

-vivian

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 Kudos
Visitor laomar
Visitor
25 Views
Registered: ‎05-12-2019

Re: ucf file to xdc file vivado syntax

hello,

thanks for your answers.

I tried what you said and i put this in vhdl  code:

---------- lut134600.vhd ------------- /8 =16825 or/10 13460
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;

Library UNISIM;
use UNISIM.vcomponents.all;
-----------------------------------------------------------------------
entity artix is
port ( O_1: out std_logic ;
a: in std_logic ;
b: in std_logic ;
c: in std_logic ;
d: in std_logic ;
e: in std_logic ;
f: in std_logic
);
end artix;
architecture behavior of artix is

signal S : std_logic_vector(20800 downto 0);
begin
S(0) <= a;
Chain: for i in 0 to 20799 generate
inst_lut : LUT6
generic map (

INIT => X"5555555555555555")

port map(
S(i+1), S(i), b, c, d, e,f);
end generate Chain;
O_1 <= S(20800);
end behavior ;

and in the xdc file:

set_property BITSTREAM.SEU.ESSENTIALBITS yes [current_design]
set_property BITSTREAM.GENERAL.UNCONSTRAINEDPINS Allow [current_design]

set_property INIT_A 64'h5555555555555555 [get_cells LUT6 ]
set_property DONT_TOUCH true [get_cells -hier -filter {REF_NAME=~ LUT6}]
set_property BEL LUT6 [get_cells { Chain[0].inst_lut}]
set_property LOC=SLICE_X0Y0 Chain[0].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[1].inst_lut}]
set_property LOC=SLICE_X0Y0 Chain[1].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[2].inst_lut}]
set_property LOC=SLICE_X0Y0 Chain[2].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[3].inst_lut}]
set_property LOC=SLICE_X0Y0 Chain[3].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[4].inst_lut}]
set_property LOC=SLICE_X0Y1 Chain[4].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[5].inst_lut}]
set_property LOC=SLICE_X0Y1 Chain[5].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[6].inst_lut}]
set_property LOC=SLICE_X0Y1 Chain[6].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[7].inst_lut}]
set_property LOC=SLICE_X0Y1 Chain[7].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[8].inst_lut}]
set_property LOC=SLICE_X0Y2 Chain[8].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[9].inst_lut}]
set_property LOC=SLICE_X0Y2 Chain[9].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[10].inst_lut}]
set_property LOC=SLICE_X0Y2 Chain[10].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[11].inst_lut}]
set_property LOC=SLICE_X0Y2 Chain[11].inst_lut}]

.

.

.

.

.

.

etc ....

set_property BEL LUT6 [get_cells { Chain[20798].inst_lut}]
set_property LOC=SLICE_X163Y49 Chain[20798].inst_lut}]
set_property BEL LUT6 [get_cells { Chain[20799].inst_lut}]
set_property LOC=SLICE_X163Y49 Chain[20799].inst_lut}]

 the result:

Sythesis failed:

INFO: [Synth 8-638] synthesizing module 'artix' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:20]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
INFO: [Synth 8-113] binding component instance 'inst_lut' to cell 'LUT6' [C:/Users/ap93330/ARTIX/ARTIX.srcs/sources_1/new/ARTIX.vhd:26]
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101

Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101
Parameter INIT bound to: 64'b0101010101010101010101010101010101010101010101010101010101010101

How to solve this?

thanks,

 

 

 

0 Kudos
Moderator
Moderator
18 Views
Registered: ‎11-04-2010

Re: ucf file to xdc file vivado syntax

Hi, @laomar ,

What's error message you intend to resolve?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos