[Open-graphics] Multipliers in oga1hq

André Pouliot andre.pouliot at gmail.com
Sun Aug 19 14:07:52 EDT 2007


Farhan Mohamed Ali wrote:
> On Sun, August 19, 2007 11:20 am, Timothy Normand Miller said:
>   
>> On 8/19/07, Mark <mark at jarvin.net> wrote:
>>
>>     
>>> It doesn't appear as though Synplify for Lattice will do so.  I get
>>> the same timing with 1, 2, or 3 stages of registers after the
>>> multiplier and the number of registers in the map report goes up as
>>> expected.
>>>       
>> Ok.  That's fine.  We can manually pipeline things as necessary.
>>
>>     
>>> Is it possible Xilinx doesn't automatically pipeline multipliers in 
>>> general, only hard multipliers?  My guess is that they push those 
>>> registers during mapping, not during synthesis.
>>>       
>> Yeah.  Somehow, it must mark the registers as movable.  Obviously, it 
>> can't affect hard multipliers, but the soft ones can be manipulated.
>>
>> Separate from that, there's automatic register balancing.  This is done
>> during synthesis (that's when all the messages come out about them being
>> moved).  I find this a bit odd because until P&R is done, timings are
>> only gross estimates.  This didn't used to be the case when transistors
>> dominated circuit delays; but ever since wire delay became dominant,
>> physical synthesis has become progressively more necessary.
>>
>>     
An option is available in the xillinx tool in map : timing driven 
mapping. It take more time running but when working with a design who 
have timing problem it's usually a good help. It usually can get you the 
few missing nanosecond for the design to pass the timing constraint.
> I don't think wire delay is that much of a problem yet with circuits this
>  size if it was an ASIC, either full custom or using a P&R tool (though 
> custom is usually a LOT better than using a tool for circuits like ALUs). 
> It's easily possible to make ALUs that are much faster and smaller (for 
> the given speed) than using a FPGA, and they tend to be transistor delay 
> dominated because your logic blocks aren't static and if you do a decent 
> job (or your P&R tools aren't crappy) you won't have critical path wires 
> that are long. I've only done hand layouts for my circuits up till now, so I am naturally quite suspicious of these P&R tools :p
>
>   
Actually most of the delay present in the fpga or asic is caused by the 
wiring and not by the logic. FPGA is even worse than asic for wire delay 
because of the routing logic that add resistivity on the line. And with 
the dimension in the chip the fringe capacity of the line is already 
causing more problem than surface capacity.  The P&R tool do a good 
enough job for standard cells design, custom is the best but the time 
need to do it is prohibitive for large design. An actual approach is for 
some part of design to be made of standard cell and the timing critical 
part to be custom made. That help balance somewhat the time and cost 
requirement for the design.
>   
>> I would LOVE to be involved in a project that was developing a good Free
>> Software physical synthesis tool.  I have the background in AI, so I
>> could help develop the algorithms for P&R (on top of the other stuff I
>> know about chip design).
>>
>> I would be amazed if we couldn't get enough info out of Xilinx and 
>> Lattice to be able to target their devices.  Obviously, they'd hold some
>> stuff back, but it would come out eventually.  The ideal situation would
>> be if we could officially replace their commercial tools because ours
>> turned out to be better.  That would take years, but we could manage it.
>> Stephen Williams would probably be interested in this.
>>
>>     
> My university teaches some classes on P&R algorithms, according to a 
> friend of mine who took it the algos are not very complex. Don't know if 
> that is really true. But i think this is for ASICs, not FPGAs, maybe it's 
> harder for FPGAs because there are more restrictions.
>   
The algorithms for P&R are rather simple and basically the same in ASIC 
or FPGA, but in the asic world they are a lot more complex than what 
they taught in class. Actually the algorithms for fpga are more simple 
than asic because of the fixed position of the component and routing 
present in the FPGA.


More information about the Open-graphics mailing list