Mobile phones, music players, personal computers, set-top boxes and countless other digital electron-ics appliances are part of our daily life. These nomadic devices provide more and more functionality.As an example, recent mobile phones allow to communicate, to take pictures, to play video, to listento music, to watch TV, to browse the web, ... To achieve all this, the integrated circuit (IC) exe-cuting all these functions needs to become more and more complex. Moreover, since these devicesare mass-market products, the ICs have to be designed in a very short time.So far, circuit designers have handcrafted circuit architectures and translated them into a set ofconnected transistors by using low-level synthesis tools to obtain the IC layout. To cope with theincreasing circuit complexity and the shrinking time-to-market, however, new methods and tools arerequired. To achieve this, High-Level Synthesis (HLS) tools have been developed to automate thedesign of architectures. These tools accept as input an algorithmic specification that describes thefunctionality of the IC, which is written in a classical programming language (e.g. the C language).From this specification, High-Level Synthesis tools automatically generate an architecture com-posed of a processing unit and a control unit. The processing unit (also called data-path) includesoperators (A1), registers (R1, R2 and R3), multiplexers (M1), ports and wires. Operators processarithmetical and logical operations (equivalent to the machines in the manufacturing domain) andare connected, through wires (roads), to the registers (storage elements) which store data. Portsallow to get data from and provide data out of the circuit. Multiplexers are steering components.The control part allows writing into registers and drives the steering elements.Figure 1 depicts an architecture composed of four registers (R1, R2, R3 and R4), one adder(A1), one multiplexer (M1), ports (P1, P2 and P3), wires and a control unit. This architectureperforms the following operations. Input data is obtained from P1 and P2 to be stored in R1, R2and R3. The adder computes the sum of two selected registers and puts the result in R4. M1 isHamburg, Germany, July 13–16, 2009
[1]
Steven P. Levitan,et al.
A flexible datapath allocation method for architectural synthesis
,
1999,
TODE.
[2]
M. Chinnadurai,et al.
HIGH LEVEL SYNTHESIS
,
2011
.
[3]
Jason Cong,et al.
Register binding and port assignment for multiplexer optimization
,
2004
.
[4]
Deming Chen,et al.
Low-power high-level synthesis for FPGA architectures
,
2003,
Proceedings of the 2003 International Symposium on Low Power Electronics and Design, 2003. ISLPED '03..
[5]
Pierre Hansen,et al.
Variable Neighborhood Search
,
2018,
Handbook of Heuristics.
[6]
G. Nemhauser,et al.
Integer Programming
,
2020
.
[7]
Daniel P. Siewiorek,et al.
Automated Synthesis of Data Paths in Digital Systems
,
1986,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[8]
Philippe Coussy,et al.
High-Level Synthesis: from Algorithm to Digital Circuit
,
2008
.
[9]
Daniel D. Gajski,et al.
High ― Level Synthesis: Introduction to Chip and System Design
,
1992
.
[10]
Yu-Chin Hsu,et al.
Data path allocation based on bipartite weighted matching
,
1990,
27th ACM/IEEE Design Automation Conference.
[11]
Massoud Pedram,et al.
Register Allocation and Binding for Low Power
,
1995,
32nd Design Automation Conference.
[12]
Barry M. Pangrle,et al.
On the complexity of connectivity binding
,
1991,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[13]
Minjoong Rim,et al.
Optimal allocation and binding in high-level synthesis
,
1992,
[1992] Proceedings 29th ACM/IEEE Design Automation Conference.
[14]
David S. Johnson,et al.
Computers and Intractability: A Guide to the Theory of NP-Completeness
,
1978
.
[15]
Catherine H. Gebotys,et al.
Optimal synthesis of high-performance architectures
,
1992
.