T
Thomas Heller
Guest
I have VHDL code that creates a tapped delay line, using the carry
chain of a spartan3 chip. The cells (up to 128) are created in a
generate loop:
gen_delaychain: for i in 0 to N-1 generate
delaycell_inst : delaycell port map (
clock => clock,
cin => cy(i),
cout => cy(i+1),
cout_reg => cy_reg(i));
end generate;
As the delay chain has to run vertically through the chip (Spartan3E),
I have RLOC constraints in the UCF file:
INST "gen_delaychain[0].delaycell_inst/MUXCY_1" RLOC="X0Y0";
INST "gen_delaychain[1].delaycell_inst/MUXCY_1" RLOC="X0Y0";
INST "gen_delaychain[2].delaycell_inst/MUXCY_1" RLOC="X0Y1";
INST "gen_delaychain[2].delaycell_inst/MUXCY_1" RLOC="X0Y1";
.... and so on.
First question:
Is it possible to define these contraints in the VHDL code, in the
generate loop so that I don't have to write lots of these lines?
Second question:
Is it possible to have these RLOC constraints so that the carry chain
runs vertically through the chip, and have at the same time an absolute
LOC constraint for one of these cells to specify the absolute location
of the whole chain?
Third question:
If I want to use more than one of these carry chains, how can I specify
the relative location of the cells in each chain, but let ISE determine
the y-position of the chains itself?
Thanks,
Thomas
chain of a spartan3 chip. The cells (up to 128) are created in a
generate loop:
gen_delaychain: for i in 0 to N-1 generate
delaycell_inst : delaycell port map (
clock => clock,
cin => cy(i),
cout => cy(i+1),
cout_reg => cy_reg(i));
end generate;
As the delay chain has to run vertically through the chip (Spartan3E),
I have RLOC constraints in the UCF file:
INST "gen_delaychain[0].delaycell_inst/MUXCY_1" RLOC="X0Y0";
INST "gen_delaychain[1].delaycell_inst/MUXCY_1" RLOC="X0Y0";
INST "gen_delaychain[2].delaycell_inst/MUXCY_1" RLOC="X0Y1";
INST "gen_delaychain[2].delaycell_inst/MUXCY_1" RLOC="X0Y1";
.... and so on.
First question:
Is it possible to define these contraints in the VHDL code, in the
generate loop so that I don't have to write lots of these lines?
Second question:
Is it possible to have these RLOC constraints so that the carry chain
runs vertically through the chip, and have at the same time an absolute
LOC constraint for one of these cells to specify the absolute location
of the whole chain?
Third question:
If I want to use more than one of these carry chains, how can I specify
the relative location of the cells in each chain, but let ISE determine
the y-position of the chains itself?
Thanks,
Thomas