Synchronization detection for multi-process hierarchical synthesis

Complex system specifications are often hierarchically composed of several subsystems. Each subsystem contains one or more processes. In order to provide optimization across different levels of hierarchy, a synchronicity analysis of the concerned processes has to be performed during high-level synthesis. The first step is the generation of a condensed graph representation of the inter-process communication. This graph is then utilized to detect inter-process communication which can be used to represent synchronization points between two or more processes. A synchronization point represents the starting point of an interval in which the communicating processes run synchronously. This interval is limited by unbounded data-dependent loops, denoted as de-synchronization points. As a result, different processes can only share resources in such an interval.

[1]  Giovanni De Micheli,et al.  Interface optimization for concurrent systems under timing constraints , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Gaetano Borriello,et al.  An Algorithm for Exact Bounds on the Time Separation of Events in Concurrent Systems , 1995, IEEE Trans. Computers.

[3]  Hugo De Man,et al.  Quadratic zero-one programming based synthesis of application specific data paths , 1993, ICCAD '93.

[4]  Fadi J. Kurdahi,et al.  Hierarchical design space exploration for a class of digital systems , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[5]  Michael C. McFarland,et al.  Incorporating bottom-up design into hardware synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Krzysztof Kuchcinski Embedded system synthesis by timing constraints solving , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

[7]  Chak-Kuen Wong,et al.  An Algorithm to Compact a VLSI Symbolic Layout with Mixed Constraints , 1983, 20th Design Automation Conference Proceedings.

[8]  Wayne H. Wolf,et al.  Scheduling constraint generation for communicating processes , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[9]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[10]  Wolfgang Rosenstiel,et al.  Resource sharing in hierarchical synthesis , 1997, ICCAD 1997.

[11]  Hong Ding,et al.  VHDL based design methodology for hierarchy and component re-use , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[12]  Gaetano Borriello,et al.  An algorithm for exact bounds on the time separation of events in concurrent systems , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[13]  Wolfgang Rosenstiel,et al.  Cross-level hierarchical high-level synthesis , 1998, Proceedings Design, Automation and Test in Europe.

[14]  Giovanni De Micheli,et al.  High Level Synthesis of ASlCs un - der Timing and Synchronization Constraints , 1992 .

[15]  Sujit Dey,et al.  Performance analysis of a system of communicating processes , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[16]  Ron Miller,et al.  Scheduling using behavioral templates , 1995, DAC '95.

[17]  Donald E. Thomas,et al.  Algorithmic and Register-Transfer Level Synthesis: The System Architect's Workbench , 1989 .