{"title":"A generic integer programming approach to hardware/software codesign","authors":"S. A. Khayam, S. A. Khan, S. Sadiq","doi":"10.1109/INMIC.2001.995306","DOIUrl":null,"url":null,"abstract":"In this work, a generic Integer Programming (IP) model for hardware/software codesign is presented. Efficient behavioral description of the required problem space is first developed using a high level procedural language. This behavioral model serves two purposes: system-level simulations and partitioning analysis. This behavioral model is used to generate a cost matrix for all system level modules. First, the behavioral model is used to determine the cost of program and data memory. Secondly, the behavioral code is profiled to generate information about module execution overhead. Inter-module communication cost is determined using the module call-flow graph. A cost matrix is developed for the modules. Each column of the cost matrix is given appropriate weight and an IP model is solved to make a decision whether a module is to be implemented in hardware or software.","PeriodicalId":286459,"journal":{"name":"Proceedings. IEEE International Multi Topic Conference, 2001. IEEE INMIC 2001. Technology for the 21st Century.","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-12-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. IEEE International Multi Topic Conference, 2001. IEEE INMIC 2001. Technology for the 21st Century.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/INMIC.2001.995306","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
In this work, a generic Integer Programming (IP) model for hardware/software codesign is presented. Efficient behavioral description of the required problem space is first developed using a high level procedural language. This behavioral model serves two purposes: system-level simulations and partitioning analysis. This behavioral model is used to generate a cost matrix for all system level modules. First, the behavioral model is used to determine the cost of program and data memory. Secondly, the behavioral code is profiled to generate information about module execution overhead. Inter-module communication cost is determined using the module call-flow graph. A cost matrix is developed for the modules. Each column of the cost matrix is given appropriate weight and an IP model is solved to make a decision whether a module is to be implemented in hardware or software.