Handling negation by synthesis tools
Hi everyone,
I have noticed, that sometimes synthesis tools (including Quartus) use direct negation in the VQM synthesis output file:
assign Q = ~ A;
or
.dataa(!A),
It seems that this negation is not counted as additional logic utilization in the .rpt implementation summary file. The first code snippet generated:
Logic utilization (in ALMs) : 0 / 933,120 ( 0 % )
This raises the question, since negator is not implemented on the logic, how it is implemented? Is there some dedicated resource for negation like Hyper-Register for specific flip flops? Or can I use signals negations without worring about the logic resources?
In Xilinx there were LUT1/INV located in CLB for such operations.
Thanks,
Oskar
From what I get from Quartus is that there is no logic resources (ALMs) were used to implement the negation.
You may test it out by using negation on every bit in your project or bigger design and see if it generate any additional logic resources.