EDBT 2026 Demo / reviewers in the wild / expert
Steven W. K. Tjiang
dblp:43/169
· DBLP profile ↗
11ranked-venue papers
1as first author
0since 2021 · last 1998
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6Software engineering, systems software and programming languages · 4 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1
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
5 papers |
Electronic design automation · 59% Performance modeling and evaluation · 17% Integrated circuit design · 12% | |
| Software engineering, system software, and programming languages
5 papers |
Compilers and program optimization · 94% Program analysis · 6% |
Topics — the 24 heaviest of 25, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
code size reduction |
0.0 | 2 | 1996 | Storage Assignment to Decrease Code Size · ACM Trans. Program. Lang. Syst. 1996 Storage Assignment to Decrease Code Size · PLDI 1995 |
Compilers and program optimization
storage assignment |
0.0 | 2 | 1996 | Storage Assignment to Decrease Code Size · ACM Trans. Program. Lang. Syst. 1996 Storage Assignment to Decrease Code Size · PLDI 1995 |
Electronic design automation › logic synthesis › circuit optimization
arithmetic circuit optimization |
0.0 | 1 | 1998 | Circuit optimization using carry-save-adder cells · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1998 |
Electronic design automation › high-level synthesis
arithmetic-level optimization |
0.0 | 1 | 1998 | Arithmetic Optimization Using Carry-Save-Adders · DAC 1998 |
Electronic design automation
high-level synthesis |
0.0 | 1 | 1998 | Arithmetic Optimization Using Carry-Save-Adders · DAC 1998 |
Electronic design automation
logic synthesis |
0.0 | 1 | 1998 | Circuit optimization using carry-save-adder cells · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1998 |
Compilers and program optimization
code generation |
0.0 | 2 | 1995 | Code Optimization Techniques for Embedded DSP Microprocessors · DAC 1995 Code Generation Using Tree Matching and Dynamic Programming · ACM Trans. Program. Lang. Syst. 1989 |
Performance modeling and evaluation › simulation
discrete-event simulation |
0.0 | 1 | 1997 | An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment · DAC 1997 |
Electronic design automation
hardware description language |
0.0 | 1 | 1997 | An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment · DAC 1997 |
Electronic design automation
hardware verification and test |
0.0 | 1 | 1997 | An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment · DAC 1997 |
Performance modeling and evaluation
simulation |
0.0 | 1 | 1997 | An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment · DAC 1997 |
Compilers and program optimization › loop optimization
address arithmetic optimization |
0.0 | 1 | 1996 | Storage Assignment to Decrease Code Size · ACM Trans. Program. Lang. Syst. 1996 |
Compilers and program optimization
instruction scheduling |
0.0 | 1 | 1995 | Code Optimization Techniques for Embedded DSP Microprocessors · DAC 1995 |
Compilers and program optimization
register allocation |
0.0 | 1 | 1995 | Code Optimization Techniques for Embedded DSP Microprocessors · DAC 1995 |
Processor architecture and microarchitecture › instruction set architecture › ISA specification
addressing modes |
0.0 | 1 | 1995 | Storage Assignment to Decrease Code Size · PLDI 1995 |
Integrated circuit design
digital circuit design |
0.0 | 2 | 1998 | Circuit optimization using carry-save-adder cells · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1998 Arithmetic Optimization Using Carry-Save-Adders · DAC 1998 |
Integrated circuit design › digital system design
register-transfer level design |
0.0 | 2 | 1998 | Circuit optimization using carry-save-adder cells · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1998 Arithmetic Optimization Using Carry-Save-Adders · DAC 1998 |
Compilers and program optimization
compiler infrastructure |
0.0 | 1 | 1992 | Sharlit - A Tool for Building Optimizers · PLDI 1992 |
Program analysis
data flow analysis |
0.0 | 1 | 1992 | Sharlit - A Tool for Building Optimizers · PLDI 1992 |
Electronic design automation
hardware/software co-design |
0.0 | 1 | 1997 | An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design Environment · DAC 1997 |
Processor architecture and microarchitecture
address calculation |
0.0 | 1 | 1995 | Storage Assignment to Decrease Code Size · PLDI 1995 |
Embedded and real-time systems › embedded processor
digital signal processor architecture |
0.0 | 1 | 1995 | Storage Assignment to Decrease Code Size · PLDI 1995 |
Embedded and real-time systems
embedded processor |
0.0 | 1 | 1995 | Code Optimization Techniques for Embedded DSP Microprocessors · DAC 1995 |
Compilers and program optimization
compiler construction |
0.0 | 1 | 1989 | Code Generation Using Tree Matching and Dynamic Programming · ACM Trans. Program. Lang. Syst. 1989 |
Methods — techniques the papers use, named apart from their topics
operation-split · 0.0operation-duplication · 0.0storage assignment · 0.0mode selection · 0.0address arithmetic subsumption · 0.0accumulator spilling optimization · 0.0lambdas · 0.0delayed expression objects · 0.0c++ · 0.0heuristic algorithm · 0.0NP-completeness proof · 0.0data flow analysis · 0.0c++ metaprogramming · 0.0tree pattern matching · 0.0dynamic programming · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1998 | Arithmetic Optimization Using Carry-Save-AddersabstractCarry-save-adder(CSA) is the most often used type of operation in implementing a fast computation of arithmetics of register-transfer level design in industry. This paper establishes a relationship between the properties of arithmetic computations and several optimizing transformations using CSAs to derive consistently better qualities of results than those of manual implementations. In particular, we introduce two important concepts, operation-duplication and operation-split, which are the main driving techniques of our algorithm for achieving an extensive utilization of CSAs. Experimental results from a set of typical arithmetic computations found in industry designs indicate that automating CSA optimization with our algorithm produces designs with significantly faster timing and less area. Taewhan Kim 0001, William Jao, Steven W. K. Tjiang |
DAC | 3 |
| 1998 | Circuit optimization using carry-save-adder cellsabstractCarry-save-adder (CSA) is the most often used type of operation in implementing a fast computation of arithmetics of register-transfer-level design in industry. This paper establishes a relationship between the properties of arithmetic computations and several optimizing transformations using CSAs to derive consistently better qualities of results than those of manual implementations. In particular, we introduce two important concepts, operation duplication and operation split, which are the main driving techniques of our algorithm for achieving an extensive utilization of CSAs. Experimental results from a set of typical arithmetic computations found in industry designs indicate that automating CSA optimization with our algorithm produces designs with up to 53% faster timing and up to 42% smaller area. Taewhan Kim 0001, William Jao, Steven W. K. Tjiang |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 3 |
| 1998 | A new viewpoint on code generation for directed acyclic graphsabstractWe present a new viewpoint on code generation for directed acyclic graphs (DAGs). Our formulation is based on binate covering , the problem of satisfying, with minimum cost, a set of disjunctive clauses, and can take into account commutativity of operators and of the machine model. An important contribution of this work is a set of necessary and sufficient conditions for a valid schedule to be derived, based on the notion of worms and worm-partitions . This set of conditions can be compactly expressed with clauses that relate scheduling to code selection. For the case of one-register machines, we can derive clauses that lead to generation of optimal code for the DAG. Recent advances in exact binate covering algorithms allows us to use this strategy to generate optimal code for large basic blocks. The optimal code generated by our algorithm results in significant reductions in overall code size. Stan Y. Liao, Kurt Keutzer, Steven W. K. Tjiang, Srini Devadas |
ACM Trans. Design Autom. Electr. Syst. | 3 |
| 1997 | An Efficient Implementation of Reactivity for Modeling Hardware in the Scenic Design EnvironmentabstractReactivity is one of the key features of hardware description languages. We present an efficient implementation of reactivity in the Scenic framework that allows the system designer to model hardware blocks. Scenic allows the designer to use C++ to model mixed hardware--software systems with a C++ compiler and a small library and without the need of a complex event-driven run-time kernel often found embedded in hardware description languages (HDL) such as VHDL and Verilog. Moreover, Scenic hardware descriptions can be easily mapped to HDL and synthesized into hardware implementations using commercially available tools. In this paper we present Scenic's implementation of concurrency (signals and processes) and reactivity (waiting and watching). When C++ is used as an HDL, context-switching overhead can become a significant performance issue during simulation. We introduce the notion of delayed expression objects, or lambdas, to reduce context-switching. Examples and experimental results ... Stan Y. Liao, Steven W. K. Tjiang, Rajesh K. Gupta 0001 |
DAC | 2 |
| 1997 | Optimization of embedded DSP programs using post-pass data-flow analysisabstractWe investigate the problem of code generation for DSP systems on a chip. Such systems devote a limited quantity of silicon to program ROM, so application software must be maximally dense. Additionally, the software must be written so as to meet various high-performance constraints, which may include hard real-time constraints. Unfortunately, current compiler technology is unable to generate dense, high-performance code for DSPs, whose architectures are highly irregular. Consequently, designers often resort to programming application software in assembly-a Time-consuming, error-prone, and non-portable task. Thus, DSP compiler technology must be improved substantially. We describe some optimizations that significantly improve the quality of compiler-generated code. Our optimizations are applied globally and even across procedure calls. Additionally, they are applied to the machine-dependent assembly representation of the source program. Our target architecture is the Texas Instruments' TMS320C25 DSP. Ashok Sudarsanam, Sharad Malik, Steven W. K. Tjiang, Stan Y. Liao |
ICASSP | 3 |
| 1996 | Storage Assignment to Decrease Code SizeabstractDSP architectures typically provide indirect addressing modes with autoincrement and decrement. In addition, indexing mode is generally not available, and there are usually few, if any, general-purpose registers. Hence, it is necessary to use address registers and perform address arithmetic to access automatic variables. Subsuming the address arithmetic into autoincrement and decrement modes improves the size of the generated code. In this article we present a formulation of the problem of optimal storage assignment such that explicit instructions for address arithmetic are minimized. We prove that for the case of a single address register the decision problem is NP-complete, even for a single basic block. We then generalize the problem to multiple address registers. For both cases heuristic algorithms are given, and experimental results are presented. Stan Y. Liao, Srini Devadas, Kurt Keutzer, Steven W. K. Tjiang, Albert R. Wang |
ACM Trans. Program. Lang. Syst. | 4 |
| 1995 | Code Optimization Techniques for Embedded DSP MicroprocessorsabstractWe address the problem of code optimization for embedded DSP microprocessors.Such processors (e.g., those in the TMS320 series) have highly irregular datapaths, and conventional code generation methods typically result in inefficient code.In this paper we formulate and solve some optimization problems that arise in code generation for processors with irregular datapaths.In addition to instruction scheduling and register allocation, we also formulate the accumulator spilling and mode selection problems that arise in DSP microprocessors.We present optimal and heuristic algorithms that determine an instruction schedule simultaneously optimizing accumulator spilling and mode selection.Experimental results are presented. Stan Y. Liao, Srini Devadas, Kurt Keutzer, Steven W. K. Tjiang, Albert R. Wang |
DAC | 4 |
| 1995 | Instruction selection using binate covering for code size optimizationabstractWe address the problem of instruction selection in code generation for embedded DSP microprocessors. Such processors have highly irregular data-paths, and conventional code generation methods typically result in inefficient code. Instruction selection can be formulated as directed acyclic graph (DAG) covering. Conventional methods for instruction selection use heuristics that break up the DAG into a forest of trees and then cover them independently. This breakup can result in suboptimal solutions for the original DAG. Alternatively, the DAG covering problem can be formulated as a binate covering problem, and solved exactly or heuristically using branch-and-bound methods. We show that optimal instruction selection on a PAG in the case of accumulator-based architectures requires a partial scheduling of nodes in the DAG, and we augment the binate covering formulation to minimize spills and reloads. We show how the irregular data transfer costs of typical DSP data-paths can be modeled in the binate covering formulation. Stan Y. Liao, Srini Devadas, Kurt Keutzer, Steven W. K. Tjiang |
ICCAD | 4 |
| 1995 | Storage Assignment to Decrease Code SizeabstractDSP architectures typically provide indirect addressing modes with auto-increment and decrement. In addition, indexing mode is not available, and there are usually few, if any, general-purpose registers. Hence, it is necessary to use address registers and perform address arithmetic to access automatic variables. Subsuming the address arithmetic into auto-increment and auto-decrement modes improves the size of the generated code. Stan Y. Liao, Srini Devadas, Kurt Keutzer, Steven W. K. Tjiang, Albert R. Wang |
PLDI | 4 |
| 1992 | Sharlit - A Tool for Building OptimizersabstractThis paper presents Sharlit, a tool to support the construction of modular and extensible global optimizers. We will show how Sharlit helps in constructing data-flow analyzers and the transformations that use data-flow analysis information, both are major components of any optimizer. Sharlit is implemented in C++ and uses C++ in the same way that YACC uses C. Thus we assume the reader has some familiarity with C++ [9]. Steven W. K. Tjiang, John L. Hennessy |
PLDI | 1 |
| 1989 | Code Generation Using Tree Matching and Dynamic ProgrammingabstractCompiler-component generators, such as lexical analyzer generators and parser generators, have long been used to facilitate the construction of compilers. A tree-manipulation language called twig has been developed to help construct efficient code generators. Twig transforms a tree-translation scheme into a code generator that combines a fast top-down tree-pattern matching algorithm with dynamic programming. Twig has been used to specify and construct code generators for several experimental compilers targeted for different machines. Alfred V. Aho, Mahadevan Ganapathi, Steven W. K. Tjiang |
ACM Trans. Program. Lang. Syst. | 3 |