In this paper, we propose a method to synthesize hardware from high-level programming language description. The main step of the proposed method is to localize global variables. The localization of global variables is essential in synthesizing hardware from high-level programming language description because global variables cannot be synthesized directly. We first preprocess the input description in high-level programming language in order to convert all the complex data type objects into simpler data type objects that can be synthesized efficiently and then, we transform the input code into static single assignment form. For each global variable an appropriate function is selected and the global variable is localized in the selected function. The interconnection between modules is implemented so that the values of the localized global variables are transferred to the places the values are used at. The experimental results show that the proposed method can synthesize hardware from a high-level programming language description.
展开▼