Optimized production of hardware from source programs involving multiplications

   
   

A method of compiling a source program to produce hardware is provided. The method includes the steps of carrying out data flow analysis of the source program to produce a data flow representation of the source program, where the data flow representation includes a number of multipliers each arranged to accept first and second input arguments having first and second input bit widths respectively, and to produce an output having a bit width; optimizing the data flow representation so that the input and output bit widths are minimised, even if this results in them being different for some or all of the multipliers; and carrying out high level synthesis on the optimised data flow representation, including sharing functional units between the multipliers in such a way that the area of silicon required to produce the functional units is minimised, even if this results in the functional unit input and output bit widths being different.

Een methode om een bronprogramma wordt te compileren om hardware te produceren verstrekt. De methode omvat de stappen van het uitvoeren van de analyse van de gegevensstroom van het bronprogramma om een vertegenwoordiging van de gegevensstroom van het bronprogramma te veroorzaken, waar de vertegenwoordiging van de gegevensstroom een aantal multiplicatoren elk geschikt om eerst respectievelijk goed te keuren en tweede inputargumenten eerst en de tweede breedten die van het inputbeetje omvat hebben, en een output te veroorzaken die een beetjebreedte hebben; het optimaliseren van de vertegenwoordiging van de gegevensstroom zodat de input en outputbeetjebreedten worden geminimaliseerd, zelfs als dit in hen resulteert die voor wat of de elk van multiplicatoren verschillend zijn; en uitvoerend synthese op hoog niveau op de geoptimaliseerde vertegenwoordiging van de gegevensstroom, met inbegrip van het delen van functionele eenheden tussen de multiplicatoren zodanig dat het gebied van silicium dat wordt vereist om de functionele eenheden te veroorzaken wordt geminimaliseerd, zelfs als dit in de functionele van de eenheidsinput en output beetjebreedten resulteert die verschillend zijn.

 
Web www.patentalert.com

< Safe language static variables initialization in a multitasking system

< Method of automatically selecting program and data updates based upon versions

> Service framework with local proxy for representing remote services

> Ambient calculus-based modal logics for mobile ambients

~ 00144