Xilinx HardMacro "configurable" ?

Hi,

I have a hardmacro that's quite small (2 slices) and that have 2 LUTs in them and I'd like to be able to choose the INIT string of theses two luts when I instanciate them. Is this somehow possible ?

I have to instanciate quite a few of them with different parameters and I'd _hate_ to have to make as many hardmacro as I need different LUT4 config ...

Sylvain

Reply to
Sylvain Munaut
Loading thread data ...

"Sylvain Munaut" schrieb im Newsbeitrag news:43f72795$0$18969$ snipped-for-privacy@news.skynet.be...

convert .NMC to XDL and back, maybe it works that way

(NMC is same format as NCD)

Antti

Reply to
Antti Lukats

How is that gonna help me ?

What I'd like to do is when I instanciate in my VHDL code, be able to use generic to pass the INIT string of my two LUT4 like

inst_I: my_hard_macro generic map ( INIT_LUT4_1 => x"0123", INIT_LUT4_2 => x"1234" ) port map ( -- my ports, ... );

Sylvain

Reply to
Sylvain Munaut

you cant do that ASFAIK, so XDL may be the only possibility to change an existing hardmacro, sure it involves some scripting to be done, etc,

Antti

Reply to
Antti Lukats

Oh ... that sucks ...

And if I remove the two lut4 out of the blackbock, and instanciate them separatly, will the tool we smart enough ? The thing is that these two lut4's output must go the the F5 of the slice, then to the FX on that same slice (and I have to keep the FX in that slice because the other FX input comes from the slice above and that one must be 'hardcoded' ...).

Well, I guess I'm gonna have to try ... Damn sometimes the tools really get in the way of gettng things done ...

Sylvain

Reply to
Sylvain Munaut

"Sylvain Munaut" schrieb im Newsbeitrag news:43f752c9$0$27776$ snipped-for-privacy@news.skynet.be...

ha ! you dont need a hardmacro for this, make a module where you instantiate the lut and muxf5 directly and place LOC constraints on them, its a little playing around but you should be able to get it all constrained properly!!

Antti

Reply to
Antti Lukats

Yes I do (or at least I didn't figure how to do without it ...)

Look at my thread "Xilinx Tight Packing : ..."

formatting link

Sylvain

Reply to
Sylvain Munaut

workaround:

you divide into 2 macros and create the 16 possible macros for LUT1 and same for LUT2.

Then you instanciate a component that will "if ... generate" the right macros...

sure that's not smart but can be useful if part of an automated flow.

Antti Lukats wrote:

Reply to
Stephane

I understand that a 16 bit ram can hold 2^16 different values, not 16. Of course, many of them are trival, and don't really count as distinct logic functions of four inputs. It's still an impractically large number though.

Regards, Allan

Reply to
Allan Herriman

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.