FPGARelated.com
Forums

How to assign inferred logic to resource in Quartus

Started by cruzin December 7, 2003
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?
Hi cruzin,

    At present it is not possible to assign a location to something that
will be inferred by Quartus to use a specialized resource. In this case the
code should be written to explicitly use the altshifttaps function, so that
you can assign a location assignment.

- Subroto Datta
Altera Corp.

"cruzin" <cruiser144@hotmail.com> wrote in message
news:775730eb.0312070911.715c659e@posting.google.com...
> 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?
Hi,
you might want to try to write a .vqm netlist "Settings/Compiler
Settings/Synthesis/Save a node-level netlist into a persistent source file
(Verilog Quartus Mapping File)" after synthesis and use this netlist as your
source file for place & route. All elements in the .vqm netlist will be
persistent and it will be possible to do floorplanning based on this
netlist. You can find more information on this flow in AN161.

- Wolfgang Loewer
El Camino GmbH

"Subroto Datta" <sdatta@altera.com> schrieb im Newsbeitrag
news:g1KAb.39062$v%7.8625@newssvr31.news.prodigy.com...
> Hi cruzin, > > At present it is not possible to assign a location to something that > will be inferred by Quartus to use a specialized resource. In this case
the
> code should be written to explicitly use the altshifttaps function, so
that
> you can assign a location assignment. > > - Subroto Datta > Altera Corp. > > "cruzin" <cruiser144@hotmail.com> wrote in message > news:775730eb.0312070911.715c659e@posting.google.com... > > 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? > >