C
cruzin
Guest
Hi,
I have a chain of registers to delay a certain wide signal 5 clocks.
Quartus infers altshifttaps from this, which is fine because it saves
me LEs.
Unfortunately the M512 where it places the inferred shift register
causes a long delay to and from the rest of logic. I want to manually
assign this inferred shift register to a specific M512 for timing
purposes.
My question is two-fold:
1/ I tried assigned the affected registers to an M512 using Assignment
Editor. Quartus ends up telling me this is an invalid location. This
leads me to my next question:
2/ Does quartus look at location assignments before inferring shift
regs, DSP blocks, etc? If not, this would explain #1 because LEs can
obviously not be assigned to TriMatrix memory.
So is it possible to assign a location to something that I know will
be inferred by Quartus to use a specialized resource? Or do I have to
write my code to explicitely use the altshifttaps megafunction?
I have a chain of registers to delay a certain wide signal 5 clocks.
Quartus infers altshifttaps from this, which is fine because it saves
me LEs.
Unfortunately the M512 where it places the inferred shift register
causes a long delay to and from the rest of logic. I want to manually
assign this inferred shift register to a specific M512 for timing
purposes.
My question is two-fold:
1/ I tried assigned the affected registers to an M512 using Assignment
Editor. Quartus ends up telling me this is an invalid location. This
leads me to my next question:
2/ Does quartus look at location assignments before inferring shift
regs, DSP blocks, etc? If not, this would explain #1 because LEs can
obviously not be assigned to TriMatrix memory.
So is it possible to assign a location to something that I know will
be inferred by Quartus to use a specialized resource? Or do I have to
write my code to explicitely use the altshifttaps megafunction?