{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,26]],"date-time":"2026-01-26T07:03:12Z","timestamp":1769410992565,"version":"3.49.0"},"reference-count":36,"publisher":"MDPI AG","issue":"4","license":[{"start":{"date-parts":[[2018,10,19]],"date-time":"2018-10-19T00:00:00Z","timestamp":1539907200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computers"],"abstract":"<jats:p>The development of software-defined radio (SDR) systems using field-programmable gate arrays (FPGAs) compels designers to reuse pre-existing Intellectual Property (IP) cores in order to meet time-to-market and design efficiency requirements. However, the low-level development difficulties associated with FPGAs hinder productivity, even when the designer is experienced with hardware design. These low-level difficulties include non-standard interfacing methods, component communication and synchronization challenges, complicated timing constraints and processing blocks that need to be customized through time-consuming design tweaks. In this paper, we present a methodology for automated and behavioral integration of dedicated IP cores for rapid prototyping of SDR applications. To maintain high performance of the SDR designs, our methodology integrates IP cores using characteristics of the dataflow model of computation (MoC), namely the static dataflow with access patterns (SDF-AP). We show how the dataflow is mapped onto the low-level model of hardware by efficiently applying low-level based optimizations and using a formal analysis technique that guarantees the correctness of the generated solutions. Furthermore, we demonstrate the capability of our automated hardware design approach by developing eight SDR applications in VHDL. The results show that well-optimized designs are generated and that this can improve productivity while also conserving the hardware resources used.<\/jats:p>","DOI":"10.3390\/computers7040053","type":"journal-article","created":{"date-parts":[[2018,10,19]],"date-time":"2018-10-19T10:08:02Z","timestamp":1539943682000},"page":"53","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Automatic Configurable Hardware Code Generation for Software-Defined Radios"],"prefix":"10.3390","volume":"7","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2479-8366","authenticated-orcid":false,"given":"Lekhobola","family":"Tsoeunyane","sequence":"first","affiliation":[{"name":"Software Defined Radio Group, Electrical Engineering Department, University of Cape Town, Cape Town 7701, South Africa"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5809-2372","authenticated-orcid":false,"given":"Simon","family":"Winberg","sequence":"additional","affiliation":[{"name":"Software Defined Radio Group, Electrical Engineering Department, University of Cape Town, Cape Town 7701, South Africa"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2162-7710","authenticated-orcid":false,"given":"Michael","family":"Inggs","sequence":"additional","affiliation":[{"name":"Software Defined Radio Group, Electrical Engineering Department, University of Cape Town, Cape Town 7701, South Africa"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2018,10,19]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1109\/98.760422","article-title":"Software-defined radio: Facets of a developing technology","volume":"6","author":"Tuttlebee","year":"1999","journal-title":"IEEE Pers. Commun."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Rouphael, T.J. (2009). RF and Digital Signal Processing for Software-Defined Radio: A Multi-Standard Multi-Mode Approach, Newnes.","DOI":"10.1016\/B978-0-7506-8210-7.00010-2"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Akeela, R., and Dezfouli, B. (arXiv, 2018). Software-defined Radios: Architecture, State-of-the-art, and Challenges, arXiv.","DOI":"10.1016\/j.comcom.2018.07.012"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1145\/1866739.1866760","article-title":"Sora: High-performance Software Radio Using General-purpose Multi-core Processors","volume":"54","author":"Tan","year":"2011","journal-title":"Commun. ACM"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Chu, P. (2006). RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability, Wiley.","DOI":"10.1002\/0471786411"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Ecker, W., M\u00fcller, W., and Domer, R. (2009). Hardware-Dependent Software: Principles and Practice, Springer.","DOI":"10.1007\/978-1-4020-9436-1"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"92","DOI":"10.1145\/3039902.3039919","article-title":"FPGA High-level Synthesis Versus Overlay: Comparisons on Computation Kernels","volume":"44","author":"Lin","year":"2017","journal-title":"SIGARCH Comput. Archit. News"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Tsoeunyane, L.J., Winberg, S., and Inggs, M. (2017, January 11\u201313). An IP core integration tool-flow for prototyping software-defined radios using static dataflow with access patterns. Proceedings of the 2017 International Conference on Field Programmable Technology (ICFPT), Melbourne, Australia.","DOI":"10.1109\/FPT.2017.8280125"},{"key":"ref_9","unstructured":"D\u2019silva, V., Ramesh, S., and Sowmya, A. (2004, January 16\u201320). Synchronous protocol automata: A framework for modelling and verification of SoC communication architectures. Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, Paris, France."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Tripakis, S., Andrade, H., Ghosal, A., Limaye, R., Ravindran, K., Wang, G., Yang, G., Kornerup, J., and Wong, I. (2011, January 9\u201314). Correct and non-defensive glue design using abstract models. Proceedings of the 2011 Ninth IEEE\/ACM\/IFIP International Conference on Hardware\/Software Codesign and System Synthesis (CODES+ISSS), Taipei, Taiwan.","DOI":"10.1145\/2039370.2039382"},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"1858","DOI":"10.1016\/j.compeleceng.2014.05.002","article-title":"Communication storage optimization for static dataflow with access patterns under periodic scheduling and throughput constraint","volume":"40","author":"Wang","year":"2014","journal-title":"Comput. Electr. Eng."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"1235","DOI":"10.1109\/PROC.1987.13876","article-title":"Synchronous data flow","volume":"75","author":"Lee","year":"1987","journal-title":"Proc. IEEE"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Ghosal, A., Limaye, R., Ravindran, K., Tripakis, S., Prasad, A., Wang, G., Tran, T.N., and Andrade, H. (2012, January 3\u20137). Static dataflow with access patterns: Semantics and analysis. Proceedings of the DAC Design Automation Conference 2012, San Francisco, CA, USA.","DOI":"10.1145\/2228360.2228479"},{"key":"ref_14","unstructured":"Ravindran, K., Ghosal, A., Limaye, R., Wang, G., Yang, G., and Andrade, H. (2012, January 23\u201325). Analysis techniques for static dataflow models with access patterns. Proceedings of the 2012 Conference on Design and Architectures for Signal and Image Processing, Karlsruhe, Germany."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Du, K., Domas, S., and Lenczner, M. (2018, January 19\u201322). A solution to overcome some limitations of SDF based models. Proceedings of the 2018 IEEE International Conference on Industrial Technology (ICIT), Lyon, France.","DOI":"10.1109\/ICIT.2018.8352384"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Schaumont, P.R. (2013). Data Flow Modeling and Transformation. A Practical Introduction to Hardware\/Software Codesign, Springer US.","DOI":"10.1007\/978-1-4614-3737-6"},{"key":"ref_17","unstructured":"Bhattacharyya, S., Murthy, P., and Lee, E. (2012). Software Synthesis from Dataflow Graphs, Springer US."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Tripakis, S., Limaye, R., Ravindran, K., and Wang, G. (2014, January 14\u201317). On tokens and signals: Bridging the semantic gap between dataflow models and hardware implementations. Proceedings of the 2014 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIV), Samos, Greece.","DOI":"10.1109\/SAMOS.2014.6893194"},{"key":"ref_19","unstructured":"OpenCores (2018, September 02). OpenCores Projects. Available online: http:\/\/www.opencores.org\/projects\/."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Gaisler, J. (2004). An open-source VHDL IP library with plug&play configuration. Building the Information Society, Springer.","DOI":"10.1007\/978-1-4020-8157-6_71"},{"key":"ref_21","unstructured":"Gaisler, C. (2018, September 02). LEON\/GRLIB. Available online: https:\/\/www.gaisler.com\/index.php\/downloads\/leongrlib\/."},{"key":"ref_22","unstructured":"Edwards, S.A., Townsend, R., and Kim, M.A. (October, January 29). Compositional Dataflow Circuits. Proceedings of the 15th ACM-IEEE International Conference on Formal Methods and Models for System Design, Vienna, Austria."},{"key":"ref_23","unstructured":"Berls, A. (2018, October 06). Graph for Scala: Scalax.collection.Graph. Available online: http:\/\/www.scala-graph.org\/."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"205149","DOI":"10.1155\/2009\/205149","article-title":"vMAGIC: Automatic code generation for VHDL","volume":"2009","author":"Pohl","year":"2009","journal-title":"Int. J. Reconfig. Comput."},{"key":"ref_25","unstructured":"IEEE (2007). IEEE Standard for Information Technology\u2014Telecommunications and Information Exchange Between Systems\u2014Local and Metropolitan Area Networks-Specific Requirements\u2014Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE. IEEE Std 802.11-2007 (Revision of IEEE Std 802.11-1999)."},{"key":"ref_26","unstructured":"Federal Communications Commission (2006). IEEE 802.22 Working Group on Wireless Regional Area Networks, Federal Communications Commission. Technical Report."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"1471","DOI":"10.1109\/TCOMM.2002.802566","article-title":"MIMO-OFDM for wireless communications: Signal detection with enhanced channel estimation","volume":"50","author":"Li","year":"2002","journal-title":"IEEE Trans. Commun."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"164","DOI":"10.1186\/1687-6180-2014-164","article-title":"A frame-based domain-specific language for rapid prototyping of FPGA-based software-defined radios","volume":"2014","author":"Ouedraogo","year":"2014","journal-title":"EURASIP J. Adv. Signal Process."},{"key":"ref_29","unstructured":"Simulink, M., and Natick, M. (2018, October 19). Simulink User\u2019 Guide. Available online: https:\/\/www.mathworks.com\/help\/pdf_doc\/simulink\/sl_using.pdf."},{"key":"ref_30","unstructured":"Xilinx (2018, February 18). Accelerating Integration: Block-Based IP Integration with Vivado IP Integrator. Available online: https:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration.html."},{"key":"ref_31","unstructured":"Mittal, S., Gupta, S., and Dasgupta, S. (2008, January 11\u201314). System generator: The state-of-art FPGA design tool for dsp applications. Proceedings of the Third International Innovative Conference on Embedded Systems, Mobile Communication And Computing (ICEMC2 2008), Mysore, India."},{"key":"ref_32","unstructured":"Andrade, H.A., and Kovner, S. (1998, January 20\u201322). Software Synthesis from Dataflow Models for G and LabVIEW. Proceedings of the IEEE Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, USA."},{"key":"ref_33","unstructured":"Bilsen, G., Engels, M., Lauwereins, R., and Peperstraete, J.A. (1995, January 8\u201312). Cyclo-static data flow. Proceedings of the 1995 International Conference on Acoustics, Speech, and Signal Processing, Detroit, MI, USA."},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"2408","DOI":"10.1109\/78.950795","article-title":"Parameterized dataflow modeling for DSP systems","volume":"49","author":"Bhattacharya","year":"2001","journal-title":"IEEE Trans. Signal Process."},{"key":"ref_35","doi-asserted-by":"crossref","first-page":"285","DOI":"10.1007\/s11265-011-0599-5","article-title":"Mapping Parameterized Cyclo-static Dataflow Graphs Onto Configurable Hardware","volume":"66","author":"Kee","year":"2012","journal-title":"J. Signal Process. Syst."},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Ravindran, K., Ghosal, A., Limaye, R., Kim, D., Andrade, H., Correll, J., Kornerup, J., Wong, I., Wang, G., and Yang, G. (2014). Modeling, Analysis, and Implementation of Streaming Applications for Hardware Targets. Embedded Systems Development: From Functional Models to Implementations, Springer.","DOI":"10.1007\/978-1-4614-3879-3_2"}],"container-title":["Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-431X\/7\/4\/53\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T15:26:49Z","timestamp":1760196409000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-431X\/7\/4\/53"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,10,19]]},"references-count":36,"journal-issue":{"issue":"4","published-online":{"date-parts":[[2018,12]]}},"alternative-id":["computers7040053"],"URL":"https:\/\/doi.org\/10.3390\/computers7040053","relation":{},"ISSN":["2073-431X"],"issn-type":[{"value":"2073-431X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,10,19]]}}}