Demo Data from EDBT 2026 / reviewers in the wild / expert
Ajay Kumar Verma
dblp:34/9716
· DBLP profile ↗
22ranked-venue papers
12as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 21 · 11 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorTheory of computation · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
7 papers |
Electronic design automation · 71% Processor architecture and microarchitecture · 15% Reconfigurable computing and FPGAs · 12% | |
| Theoretical computer science
1 paper |
Graph algorithms and graph theory · 100% |
Topics — the 13 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Electronic design automation
logic synthesis |
0.3 | 4 | 2008 | Data-Flow Transformations to Maximize the Use of Carry-Save Representation in Arithmetic Circuits · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 Architectural improvements for field programmable counter arrays: enabling efficient synthesis of fast compressor trees on FPGAs · FPGA 2008 Progressive Decomposition: A Heuristic to Structure Arithmetic Circuits · DAC 2007 |
Electronic design automation › logic synthesis › circuit optimization
arithmetic circuit optimization |
0.1 | 2 | 2008 | Data-Flow Transformations to Maximize the Use of Carry-Save Representation in Arithmetic Circuits · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 Towards the automatic exploration of arithmetic-circuit architectures · DAC 2006 |
Electronic design automation
high-level synthesis |
0.1 | 2 | 2010 | An Optimal Linear-Time Algorithm for Interprocedural Register Allocation in High Level Synthesis Using SSA Form · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2010 Fast, Nearly Optimal ISE Identification With I/O Serialization Through Maximal Clique Enumeration · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2010 |
Processor architecture and microarchitecture › instruction set architecture
application-specific instruction-set processor |
0.1 | 1 | 2010 | Fast, Nearly Optimal ISE Identification With I/O Serialization Through Maximal Clique Enumeration · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2010 |
Processor architecture and microarchitecture › instruction set architecture
instruction set extension |
0.1 | 1 | 2010 | Fast, Nearly Optimal ISE Identification With I/O Serialization Through Maximal Clique Enumeration · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2010 |
Electronic design automation › high-level synthesis › resource binding
register allocation |
0.1 | 1 | 2010 | An Optimal Linear-Time Algorithm for Interprocedural Register Allocation in High Level Synthesis Using SSA Form · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2010 |
Electronic design automation › high-level synthesis
static single assignment form |
0.1 | 1 | 2010 | An Optimal Linear-Time Algorithm for Interprocedural Register Allocation in High Level Synthesis Using SSA Form · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2010 |
Electronic design automation
carry-save representation |
0.1 | 1 | 2008 | Data-Flow Transformations to Maximize the Use of Carry-Save Representation in Arithmetic Circuits · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 |
Electronic design automation › logic synthesis › datapath optimization
compressor tree synthesis |
0.1 | 1 | 2008 | Architectural improvements for field programmable counter arrays: enabling efficient synthesis of fast compressor trees on FPGAs · FPGA 2008 |
Reconfigurable computing and FPGAs
FPGA arithmetic |
0.1 | 1 | 2008 | Architectural improvements for field programmable counter arrays: enabling efficient synthesis of fast compressor trees on FPGAs · FPGA 2008 |
Electronic design automation › logic synthesis
arithmetic circuit synthesis |
0.1 | 1 | 2007 | Progressive Decomposition: A Heuristic to Structure Arithmetic Circuits · DAC 2007 |
Reconfigurable computing and FPGAs
FPGA architecture |
0.1 | 1 | 2007 | Enhancing FPGA Performance for Arithmetic Circuits · DAC 2007 |
Integrated circuit design › digital circuit design
arithmetic circuit design |
0.0 | 1 | 2008 | Data-Flow Transformations to Maximize the Use of Carry-Save Representation in Arithmetic Circuits · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 |
Methods — techniques the papers use, named apart from their topics
graph coloring · 0.2boolean factorization · 0.1maximal clique enumeration · 0.1i/o serialization · 0.1multi-input addition · 0.1dataflow graph restructuring · 0.1compressor trees · 0.1progressive decomposition · 0.1counter-based lattice · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Synthesis of Floating-Point Addition Clusters on FPGAs Using Carry-Save ArithmeticabstractA new method to synthesize clusters of floating-point addition operations on FPGAs is presented. Similar to Altera's floating-point data path compiler, it performs normalization once, at the output of the cluster operation. All significands in the clustered operation are denormalized in parallel with respect to the largest exponent: a fixed-point compressor tree then sums the aligned significands, followed by normalization and rounding. Compared to Altera's floating-point datapath compiler, our method reduces the critical path delay by as much as 20%, and area by as much as 29% on Altera Stratix III FPGAs. Amit Verma 0002, Ajay Kumar Verma, Hadi Parandeh-Afshar, Philip Brisk, Paolo Ienne |
FPL | 2 |
| 2010 | An Optimal Linear-Time Algorithm for Interprocedural Register Allocation in High Level Synthesis Using SSA FormabstractAn optimal linear-time algorithm for interprocedural register allocation in high level synthesis is presented. Historically, register allocation has been modeled as a graph coloring problem, which is nondeterministic polynomial time-complete in general; however, converting each procedure to static single assignment (SSA) form ensures a chordal interference graph, which can be colored in O(V + E) time; the interprocedural interference graph (IIG) is not guaranteed to be chordal after this transformation. An extension to SSA form is introduced which ensures that the IIG is chordal, and the conversion process does not increase its chromatic number. The resulting IIG can then be colored in linear-time. Philip Brisk, Ajay Kumar Verma, Paolo Ienne |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 2 |
| 2010 | Fast, Nearly Optimal ISE Identification With I/O Serialization Through Maximal Clique EnumerationabstractThe last decade has witnessed the emergence of the application-specific instruction-set processor (ASIP) as a viable platform for embedded systems. Extensible ASIPs allow the user to augment a base processor with instruction set extensions (ISEs) that execute on dedicated hardware application-specific functional units (AFUs). Due to the limited number of read and write ports in the register file of the base processor, the size and complexity of AFUs are generally limited. Recent papers have focused on overcoming these constraints by serializing access to the register file. Exhaustive ISE enumeration methods are not scalable and generally fail for larger applications and register files with a large number of read and write ports. To address this concern, a new approach to ISE identification is proposed. The approach presented in this paper significantly prunes the list of the best possible ISE candidates compared to previous approaches. Experimentally, we observe that the new approach produces optimal results on larger applications where prior approaches either fail or produce inferior results. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 2010 | Improving FPGA Performance for Carry-Save ArithmeticabstractThe selective use of carry-save arithmetic, where appropriate, can accelerate a variety of arithmetic-dominated circuits. Carry-save arithmetic occurs naturally in a variety of DSP applications, and further opportunities to exploit it can be exposed through systematic data flow transformations that can be applied by a hardware compiler. Field-programmable gate arrays (FPGAs), however, are not particularly well suited to carry-save arithmetic. To address this concern, we introduce the ¿field programmable counter array¿ (FPCA), an accelerator for carry-save arithmetic intended for integration into an FPGA as an alternative to DSP blocks. In addition to multiplication and multiply accumulation, the FPCA can accelerate more general carry-save operations, such as multi-input addition (e.g., add k > 2 integers) and multipliers that have been fused with other adders. Our experiments show that the FPCA accelerates a wider variety of applications than DSP blocks and improves performance, area utilization, and energy consumption compared with soft FPGA logic. Hadi Parandeh-Afshar, Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
IEEE Trans. Very Large Scale Integr. Syst. | 2 |
| 2009 | Challenges in Automatic Optimization of Arithmetic CircuitsabstractDespite the impressive progress of logic synthesis in the past decade, finding the best architecture for a given circuit still remains an open and largely unsolved problem, especially for arithmetic circuits. In many cases, the outcome of even the most advanced synthesis techniques is highly dependent on the input description of the circuit, and the optimizations themselves barely modify the architecture of the circuit itself. Once the input description is converted to an appropriate architecture, logic synthesis performs local optimizations quite effectively; however, finding the best architecture up front is a nontrivial problem. This paper reviews recent results in arithmetic logic synthesis that the authors have published in recent years. Progress has clearly been made, but much further work is still needed to narrow the gap between the effectiveness of logic synthesis techniques for arithmetic and control-oriented circuits. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
IEEE Symposium on Computer Arithmetic | 1 |
| 2009 | Hybrid LZA: a near optimal implementation of the leading zero anticipatorabstractThe Leading Zero Anticipator (LZA) is one of the main components used in floating point addition. It tends to be on the critical path, so it has attracted the attention of many researchers in the past. Most LZAs used today can be classified in two categories: exact and inexact. Inexact LZAs are normally preferred due to their shorter critical paths and reduced complexity; however, the inexact LZA requires an additional correct stage. In this paper we present a new LZA architecture that combines ideas taken from prior exact and inexact LZAs. Our new LZA improves the delay of floating point addition by 7-10% compared to state of art techniques as well as reduces hardware area in most cases. We also establish theoretical lower bounds on the delay of an LZA and we show that our LZA is very close to these bounds. Amit Verma 0002, Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
ASP-DAC | 2 |
| 2009 | Iterative layering: Optimizing arithmetic circuits by structuring the information flowabstractCurrent logic synthesis techniques are ineffective for arithmetic circuits. They perform poorly for XOR-dominated circuits, and those with a high fan-in dependency between inputs and outputs. Many optimizers, therefore employ libraries of hand-optimized arithmetic components, but cannot optimize across component boundaries. To remedy this situation, we introduce a new logic synthesis algorithm which analyzes the input circuit based on its behavior on a set of random assignments of input variables, and outputs a structural implementation of the input circuit. The method presented here is similar to the covering algorithm used in multi-level optimizations [4]; however, it is not based on Sum-of-Product form, or any specific input representation. Our experiments show that our approach is not only capable of automatically reproducing some known architectural implementations without any prior knowledge about the functionality of the circuit, but also, in some cases, it is able to discover completely new designs which we have not seen described in literature. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
ICCAD | 1 |
| 2009 | Field Programmable Compressor Trees: Acceleration of Multi-Input Addition on FPGAsabstractMulti-input addition occurs in a variety of arithmetically intensive signal processing applications. The DSP blocks embedded in high-performance FPGAs perform fixed bitwidth parallel multiplication and Multiply-ACcumulate (MAC) operations. In theory, the compressor trees contained within the multipliers could implement multi-input addition; however, they are not exposed to the programmer. To improve FPGA performance for these applications, this article introduces the Field Programmable Compressor Tree (FPCT) as an alternative to the DSP blocks. By providing just a compressor tree, the FPCT can perform multi-input addition along with parallel multiplication and MAC in conjunction with a small amount of FPGA general logic. Furthermore, the user can configure the FPCT to precisely match the bitwidths of the operands being summed. Although an FPCT cannot beat the performance of a well-designed ASIC compressor tree of fixed bitwidth, for example, 9×9 and 18×18-bit multipliers/MACs in DSP blocks, its configurable bitwidth and ability to perform multi-input addition is ideal for reconfigurable devices that are used across a variety of applications. Alessandro Cevrero, Panagiotis Athanasopoulos, Hadi Parandeh-Afshar, Ajay Kumar Verma, Seyed-Hosein Attarzadeh-Niaki, Chrysostomos Nicopoulos, Frank K. Gürkaynak, Philip Brisk, Yusuf Leblebici, Paolo Ienne |
ACM Trans. Reconfigurable Technol. Syst. | 4 |
| 2008 | Fast, quasi-optimal, and pipelined instruction-set extensionsabstractNowadays many customised embedded processors offer the possibility of speeding up an application by implementing it using application-specific functional units (AFUs). However, the AFUs must satisfy certain constraints in terms of read and write ports between AFU and processor register file. Due to these restrictions the size and complexity of AFUs remain small. However, in recent some work has been done on relaxing the register file port constraints by serialising register file access (i.e., by allowing multi cycle read and write). This makes the problem of selecting best AFU significantly more complex. Most previous approaches use a two staged process to solve this problem, i.e., first selecting AFUs under some higher I/O constraints and then serialise them under the actual register file port constraints. Not only these methods are complex but also lead to suboptimal solutions. In this paper we formulate the AFU selection problem as an integer linear programming and solve it optimally. We show experimentally that our methodology produces significantly better results compared to state of art techniques. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
ASP-DAC | 1 |
| 2008 | Variable Latency Speculative Addition: A New Paradigm for Arithmetic Circuit DesignabstractAdders are one of the key components in arithmetic circuits. Enhancing their performance can significantly improve the quality of arithmetic designs. This is the reason why the theoretical lower bounds on the delay and area of an adder have been analysed, and circuits with performance close to these bounds have been designed. In this paper, we present a novel adder design that is exponentially faster than traditional adders; however, it produces incorrect results, deterministically, for a very small fraction of input combinations. We have also constructed a reliable version of this adder that can detect and correct mistakes when they occur. This creates the possibility of a variable-latency adder that produces a correct result very fast with extremely high probability; however, in some rare cases when an error is detected, the correction term must be applied and the correct result is produced after some time. Since errors occur with extremely low probability, this new type of adder is significantly faster than state-of-the-art adders when the overall latency is averaged over many additions. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
DATE | 1 |
| 2008 | Architectural improvements for field programmable counter arrays: enabling efficient synthesis of fast compressor trees on FPGAsabstractThe Field Programmable Counter Array (FPCA) was introduced to improve FPGA performance for arithmetic circuits. An FPCA is a reconfigurable IP core that can be integrated into an FPGA. To exploit the FPCA, a circuit is transformed by merging disparate addition and multiplication operations into large multi-input addition operations, which are synthesized as compressor trees on the FPCA; the remaining portion of the circuit is synthesized on the FPGA. This paper presents a series of architectural improvements to the FPCA that reduce routing delay, increase flexibility and component utilization, and simplify the integration process. Using an FPGA containing six FPCAs, we observed average and maximum speedups of 1.60x and 2.40x on a set of arithmetic benchmarks Alessandro Cevrero, Panagiotis Athanasopoulos, Hadi Parandeh-Afshar, Ajay Kumar Verma, Philip Brisk, Frank K. Gürkaynak, Yusuf Leblebici, Paolo Ienne |
FPGA | 4 |
| 2008 | Data-Flow Transformations to Maximize the Use of Carry-Save Representation in Arithmetic CircuitsabstractThe increasing importance of datapath circuits in complex systems-on-chip calls for special arithmetic optimizations. The goal is to automatically achieve the handcrafted results which escape classic logic optimizations. Some work has been done in the recent years to infer the use of the carry-save representation in the synthesis of arithmetic circuits. Yet, many cases of practical interest cannot be handled due to the scattering of logic operations among the arithmetic ones - particularly in arithmetic computations which are originally described at the bit level in high-level languages such as C. We therefore introduce an algorithm to restructure dataflow graphs so that they can be synthesized as high-quality arithmetic circuits, close to those that an expert designer would conceive. On typical embedded software benchmarks which could be advantageously implemented with hardware accelerators, our technique always reduces tangibly the critical path by up to 46% and generally achieves the quality of manual implementations. In many cases, our algorithm also manages to reduce the cell area by up to 10%-20%. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 2007 | Improving XOR-Dominated Circuits by Exploiting Dependencies between OperandsabstractLogic synthesis has made impressive progress in the last decade and has pervaded digital design replacing almost universally manual techniques. A remarkable exception is computer arithmetic and datapath design, where designers still rely mostly on well studied architectures; on datapaths, in most cases, logic synthesis plays at most a minor role in the optimisation of netlists. A case in point is multiple additions performed in carry-save form, such as those fundamentally constituting parallel multipliers: column compressors are usually built exploiting the regularity of the circuit and, due to the very large number of XOR operations, are hardly optimised further by logic synthesisers. In fact, due to the shortcomings of algebraic factoring, XOR operations are usually left untouched by logic synthesisers. In this paper we show a general technique to optimise XOR dominated circuits and we demonstrate its effectiveness on multiplier-like circuits. We show that it optimises significantly the best parallel multipliers by exploiting complex dependencies between the addenda which escape known manual optimisations. Netlists corresponding to top arithmetic architectures can either be synthesised directly or preprocessed through our technique before standard logic synthesis: our preprocessing stage makes it possible to achieve some 20% speed improvement. To our best knowledge, optimisations of the type we show for multiplier-like structures have never been reported - neither manually derived, in computer arithmetic literature, nor automatically derived, in design automation literature. Ajay Kumar Verma, Paolo Ienne |
ASP-DAC | 1 |
| 2007 | An optimistic and conservative register assignment heuristic for chordal graphsabstractThis paper presents a new register assignment heuristic for procedures in SSA Form, whose interference graphs are chordal; the heuristic is called optimistic chordal coloring (OCC). Previous register assignment heuristics eliminate copy instructions via coalescing, in other words, merging nodes in the interference graph. Node merging, however, can not preserve the chordal graph property, making it unappealing for SSA-based register allocation. OCC is based on graph coloring, but does not employ coalescing, and, consequently, preserves graph chordality, and does not increase its chromatic number; in this sense, OCC is conservative as well as optimistic. OCC is observed to eliminate at least as many dynamically executed copy instructions as iterated register coalescing (IRC) for a set of chordal interference graphs generated from several Mediabench and MiBench applications. In many cases, OCC and IRC were able to find optimal or near-optimal solutions for these graphs. OCC ran 1.89x faster than IRC, on average. Philip Brisk, Ajay Kumar Verma, Paolo Ienne |
CASES | 2 |
| 2007 | Rethinking custom ISE identification: a new processor-agnostic methodabstractThe last decade has witnessed the emergence of the Application Specific Instruction-set Processor (ASIP) as a viable platform for embedded systems. Extensible ASIPs allow the user to augment a base processor with Instruction Set Extensions (ISEs) that execute on Application Specific Functional Units (AFUs)-dedicated hardware that executes the ISEs. Due to the limited number of read and write ports in the register file of the base processor, the size and complexity of AFUs are generally limited. Recent work has focused on overcoming these constraints by serialising access to the register file. Apart from these complications, the primary challenge in the identification and selection of the best AFU is the modelling of AFU performance in the context of different base processors: once the base processor changes, the ISE identification and AFU selection process must be re-done from scratch. Exhaustive ISE/AFU enumeration methods are not scalable and generally fail for larger applications. To address this concern, a new approach to ISE/AFU identification is proposed. In particular, we show that the speedup model of ISEs/AFUs is independent of the specific details of the base processor, under fairly reasonable assumptions. The approach presented here significantly prunes the list of best ISE/AFU candidates compared to previous approaches. Experimentally, we observe the new approach produces optimal results on larger applications where prior approaches either fail or produce inferior results. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
CASES | 1 |
| 2007 | Enhancing FPGA Performance for Arithmetic CircuitsabstractFPGAs offer flexibility and cost-effectiveness that ASICs cannot match; however, their performance is quite poor in comparison, especially for arithmetic dominated circuits. To address this issue, this paper introduces a novel reconfigurable lattice built from counters rather than look-up tables that can effectively accelerate the arithmetic portions of a circuit. We intend to integrate this novel lattice onto the same die as an FPGA. Philip Brisk, Ajay Kumar Verma, Paolo Ienne, Hadi Parandeh-Afshar |
DAC | 2 |
| 2007 | Progressive Decomposition: A Heuristic to Structure Arithmetic CircuitsabstractDespite the impressive progress of logic synthesis in the past decade, finding the best architecture for a given circuit still remains an open problem and largely unsolved. In most of the arithmetic circuits the outcome of the synthesis tools depends on the input description of the circuit. In other words, logic synthesis optimisations hardly change the architecture of the given circuit. However, once the input description belongs to the right architecture, logic synthesis does an excellent job in optimising the circuit locally. This is the reason why designers still rely on well studied architectures. The main difficulty in finding the suitable architecture for an arithmetic circuit is the high fan-in dependencies between inputs and outputs (i.e., each output bit depends on a large portion of input bits). Hence, imposing hierarchy and structure is the key to find the best architecture. Although factorisation is one potential solution for this problem, the computational complexity of Boolean factorisation and poor performance of algebraic factorisation make this solution impractical in most cases of interest. In this paper we present a novel approach which progressively decomposes the input circuits into building blocks and constructs hierarchy among these blocks. We show that our approach optimises the critical path delay by 15--30% at the cost of marginal or no area penalty. In some cases, it even improves the area. Qualitatively we observed that our approach found the best known architecture for some circuits without any a priori knowledge about the functionality of the circuit. Ajay Kumar Verma, Philip Brisk, Paolo Ienne |
DAC | 1 |
| 2007 | Automatic synthesis of compressor trees: reevaluating large countersabstractDespite the progress of the last decades in electronic design automation, arithmetic circuits have always received way less attention than other classes of digital circuits. Logic synthesisers, which play a fundamental role in design today, play a minor role on most arithmetic circuits, performing some local optimisations but hardly improving the overall structure of arithmetic components. Architectural optimisations have been often studied manually, and only in the case of very common building blocks such as fast adders and multi-input adders, ad-hoc techniques have been developed. A notable case is multi-input addition, which is the core of many circuits such as multipliers, etc. The most common technique to implement multi-input addition is using compressor trees, which are often composed of carry-save adders (based on (3 : 2) counters, i.e., full adders). A large body of literature exists to implement compressor trees using large counters. However, all the large counters were built by using full and half adders recursively. In this paper we give some definite answers to issues related to the use of large counters. We present a general technique to implement large counters whose performance is much better than the ones composed of full and half adders. Also we show that it is not always useful to use larger optimised counters and sometimes a combination of various size counters gives the best performance. Our results show 15% improvement in the critical path delay. In some cases even hardware area is reduced by using our counters Ajay Kumar Verma, Paolo Ienne |
DATE | 1 |
| 2007 | Optimal polynomial-time interprocedural register allocation for high-level synthesis and ASIP designabstractRegister allocation, in high-level synthesis and ASIP design, is the process of determining the number of registers to include in the resulting circuit or processor. The goal is to allocate the minimum number of registers such that no scalar variable is spilled to memory. Previously, an optimal polynomial-time algorithm for this problem has been presented for individual procedures represented in Static Single Assignment (SSA) Form. This result is now extended to complete programs (or sub-programs), as long as: (1) each procedure is represented in SSA Form; and (2) at every procedure call, all live variables are split at the call point. With this representation, it is possible to ensure that the interprocedural interference graph (IIG) is chordal, and can therefore be colored optimally in polynomial time. An optimal coloring of the IIG can be achieved by allocating registers for each procedure individually. Previous work has shown that optimal register allocation in SSA Form does not require an interference graph. Optimal interprocedural register allocation, therefore, is achieved without constructing an interference graph, giving the optimal algorithm a significant runtime advantage over prior sub-optimal heuristics. Philip Brisk, Ajay Kumar Verma, Paolo Ienne |
ICCAD | 2 |
| 2006 | Towards the automatic exploration of arithmetic-circuit architecturesabstractThe optimization of arithmetic circuits has always been essentially a manual task: arithmetic experts study the best architectures for arithmetic components and write libraries of generators, and designers instantiate library components and rely on logic synthesizers to obtain good implementations. In this paper we look at the capabilities of commercial synthesizers when it comes to arithmetic circuits, and observe that they are essentially unable to switch from one arithmetic architecture to another (e.g., from a ripple-carry to a carry-lookahead adder). Therefore, users relying on logic synthesis miss most optimization potentials. We therefore investigate algorithms for factorization which can prepare structured VHDL or Verilog for synthesizers to implement, and show first steps into pruning the search space from many irrelevant or equivalent solutions. Our results are still very limited in complexity but we show that our techniques successfully concentrate on the automatic exploration of very different solutions, and discover architectures known and unknown to expert designers, such as different types of adders, the carry-save representation, or improved multipliers. This is a first step toward a class of arithmetic optimizers which sit on top of classic logic synthesizers. Ajay Kumar Verma, Paolo Ienne |
DAC | 1 |
| 2006 | Combining algorithm exploration with instruction set design: a case study in elliptic curve cryptographyabstractIn recent years, processor customization has matured to become a trusted way of achieving high performance with limited cost/energy in embedded applications. In particular, instruction set extensions (ISEs) have been proven very effective in many cases. A large body of work exists today on creating tools that can select efficient ISEs given an application source code: ISE automation is crucial for increasing the productivity of design teams. In this paper, we show that an additional motivation for automating the ISE process is to facilitate algorithm exploration: the availability of ISE can have a dramatic impact on the performance of different algorithmic choices to implement identical or equivalent functionality. System designers need fast feedbacks on the ISE-ability of various algorithmic flavors. We use a case study in elliptic curve (EC) cryptography to exemplify the following contributions: (I) ISE can reverse the relative performance of different algorithms for one and the same operation, and (2) automatic ISE, even without predicting speed-ups as precisely as detailed simulation can, is able to show exactly the trends that the designer should follow Johann Großschädl, Paolo Ienne, Laura Pozzi 0001, Stefan Tillich, Ajay Kumar Verma |
DATE | 5 |
| 2004 | Improved use of the carry-save representation for the synthesis of complex arithmetic circuitsabstractThe increasing importance of datapath circuits in complex systems-on-chip calls for special arithmetic optimisations. The goal is to achieve automatically the handcrafted results which escape classic logic optimisations. Some work has been done in the recent years to infer the use of the carry-save representation in the synthesis of arithmetic circuits. Yet, many cases of practical interest cannot be handled due to the scattering of logic operations among the arithmetic ones - especially in arithmetic computations which are originally described at the bit level in high-level languages such as C. We therefore introduce an algorithm to restructure dataflow graphs so that they can be synthesized in high-quality arithmetic circuits, close, to those that an expert designer would conceive. On typical embedded software benchmarks which could be advantageously implemented with hardware accelerators, our technique always reduces tangibly the critical path by up to 46% and generally achieves the quality of manual implementations. In many cases, our algorithm also manages to reduce the cell area by up to 10-20%. Ajay Kumar Verma, Paolo Ienne |
ICCAD | 1 |