{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T03:49:00Z","timestamp":1760240940288,"version":"build-2065373602"},"reference-count":22,"publisher":"MDPI AG","issue":"10","license":[{"start":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T00:00:00Z","timestamp":1570665600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100002855","name":"Ministry of Science and Technology of the People's Republic of China","doi-asserted-by":"publisher","award":["2016YFB1000400"],"award-info":[{"award-number":["2016YFB1000400"]}],"id":[{"id":"10.13039\/501100002855","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Symmetry"],"abstract":"<jats:p>The development of modern networking requires that high-performance network processors be designed quickly and efficiently to support new protocols. As a very important part of the processor, the parser parses the headers of the packets\u2014this is the precondition for further processing and finally forwarding these packets. This paper presents a framework designed to transform P4 programs to VHDL and to generate parsers on Field Programmable Gate Arrays (FPGAs). The framework includes a pipeline-based hardware architecture and a back-end compiler. The hardware architecture comprises many components with varying functionality, each of which has its own optimized VHDL template. By using the output of a standard frontend P4 compiler, our proposed compiler extracts the parameters and relationships from within the used components, which can then be mapped to corresponding templates by configuring, optimizing, and instantiating them. Finally, these templates are connected to output VHDL code. When a prototype of this framework is implemented and evaluated, the results demonstrate that the throughputs of the generated parsers achieve nearly 320 Gbps at a clock rate of around 300 MHz. Compared with state-of-the-art solutions, our proposed parsers achieve an average of twice the throughput when similar amounts of resources are being used.<\/jats:p>","DOI":"10.3390\/sym11101265","type":"journal-article","created":{"date-parts":[[2019,10,11]],"date-time":"2019-10-11T03:07:11Z","timestamp":1570763231000},"page":"1265","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["A Fast Approach for Generating Efficient Parsers on FPGAs"],"prefix":"10.3390","volume":"11","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6079-0313","authenticated-orcid":false,"given":"Zhuang","family":"Cao","sequence":"first","affiliation":[{"name":"College of Computer, National University of Defense Technology, Changsha 410073, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Huiguo","family":"Zhang","sequence":"additional","affiliation":[{"name":"School of Computer Science and Engineering, Nanyang Technological University, Singapore 639798, Singapore"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Junnan","family":"Li","sequence":"additional","affiliation":[{"name":"College of Computer, National University of Defense Technology, Changsha 410073, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mei","family":"Wen","sequence":"additional","affiliation":[{"name":"College of Computer, National University of Defense Technology, Changsha 410073, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chunyuan","family":"Zhang","sequence":"additional","affiliation":[{"name":"College of Computer, National University of Defense Technology, Changsha 410073, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2019,10,10]]},"reference":[{"key":"ref_1","unstructured":"(2018, December 15). Switches for Every Network. Available online: https:\/\/www.cisco.com\/c\/en\/us\/products\/switches\/index.html."},{"key":"ref_2","unstructured":"(2018, December 15). Network Switches. Available online: https:\/\/e.huawei.com\/en\/products\/enterprise-networking\/switches."},{"key":"ref_3","unstructured":"Morgan, J. (2019, May 05). Intel\u00ae IXP2XXX Network Processor Architecture Overview. Available online: https:\/\/www.slideserve.com\/bikita\/intel-ixp2xxx-network-processor-architecture-overview."},{"key":"ref_4","unstructured":"Networks, B. (2018, December 02). Tofino: World\u2019s Fastest P4-Programmable Ethernet Switch ASICs. Available online: https:\/\/barefootnetworks.com\/products\/brief-tofino\/."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"263","DOI":"10.1145\/354871.354874","article-title":"The Click Modular Router","volume":"18","author":"Kohler","year":"2000","journal-title":"ACM Trans. Comput. Syst."},{"key":"ref_6","unstructured":"Lovato, J. (2018, December 10). Data Plane Development Kit (DPDK) Further Accelerates Packet Processing Workloads, Issues Most Robust Platform Release to Date. Available online: https:\/\/www.dpdk.org\/announcements\/2018\/06\/21\/data-plane-development-kit-dpdk-further-accelerates-packet-processing-workloads-issues-most-robust-platform-release-to-date\/."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"5803","DOI":"10.1002\/sec.1737","article-title":"Software-defined networking (SDN): A survey","volume":"9","author":"Benzekki","year":"2016","journal-title":"Secur. Commun. Netw."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1145\/1355734.1355746","article-title":"OpenFlow: Enabling Innovation in Campus Networks","volume":"38","author":"McKeown","year":"2008","journal-title":"SIGCOMM Comput. Commun. Rev."},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Kreutz, D., Ramos, F.M., and Verissimo, P. (2013, January 16). Towards Secure and Dependable Software-defined Networks. Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, Hong Kong, China.","DOI":"10.1145\/2491185.2491199"},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Wan, T., Abdou, A., and van Oorschot, P.C. (2017). A Framework and Comparative Analysis of Control Plane Security of SDN and Conventional Networks. arXiv.","DOI":"10.1109\/COMST.2018.2839348"},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1145\/2656877.2656890","article-title":"P4: Programming Protocol-independent Packet Processors","volume":"44","author":"Bosshart","year":"2014","journal-title":"SIGCOMM Comput. Commun. Rev."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Li, B., Tan, K., Luo, L.L., Peng, Y., Luo, R., Xu, N., Xiong, Y., Cheng, P., and Chen, E. (2016, January 22\u201326). ClickNP: Highly Flexible and High Performance Network Processing with Reconfigurable Hardware. Proceedings of the 2016 ACM SIGCOMM Conference, Florianopolis, Brazil.","DOI":"10.1145\/2934872.2934897"},{"key":"ref_13","unstructured":"(2018, October 05). P4 Language. Available online: https:\/\/github.com\/p4lang\/."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Singh, S., and Greaves, D.J. (2008, January 14\u201315). Kiwi: Synthesis of FPGA Circuits from Parallel Programs. Proceedings of the 2008 16th International Symposium on Field-Programmable Custom Computing Machines, Palo Alto, CA, USA.","DOI":"10.1109\/FCCM.2008.46"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Ben\u00e1cek, P., Pu, V., and Kub\u00e1tov\u00e1, H. (2016, January 1\u20133). P4-to-VHDL: Automatic Generation of 100 Gbps Packet Parsers. Proceedings of the 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), Washington, DC, USA.","DOI":"10.1109\/FCCM.2016.46"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Santiago da Silva, J., Boyer, F.R., and Langlois, J.P. (2018, January 25\u201327). P4-Compatible High-Level Synthesis of Low Latency 100 Gb\/s Streaming Packet Parsers in FPGAs. Proceedings of the 2018 ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA.","DOI":"10.1145\/3174243.3174270"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Attig, M., and Brebner, G. (2011, January 3\u20134). 400 Gb\/s Programmable Packet Parsing on a Single FPGA. Proceedings of the 2011 ACM\/IEEE Seventh Symposium on Architectures for Networking and Communications Systems, Brooklyn, NY, USA.","DOI":"10.1109\/ANCS.2011.12"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Gibb, G., Varghese, G., Horowitz, M., and McKeown, N. (2013, January 21\u201322). Design Principles for Packet Parsers. Proceedings of the Architectures for Networking and Communications Systems, San Jose, CA, USA.","DOI":"10.1109\/ANCS.2013.6665172"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1145\/2534169.2486011","article-title":"Forwarding Metamorphosis: Fast Programmable Match-action Processing in Hardware for SDN","volume":"43","author":"Bosshart","year":"2013","journal-title":"SIGCOMM Comput. Commun. Rev."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Pus, V., Kekely, L., and Korenek, J. (2012, January 29\u201330). Low-latency Modular Packet Header Parser for FPGA. Proceedings of the Eighth ACM\/IEEE Symposium on Architectures for Networking and Communications Systems, Austin, TX, USA.","DOI":"10.1145\/2396556.2396571"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Cabal, J., Ben\u00e1\u010dek, P., Kekely, L., Kekely, M., Pu\u0161, V., and Ko\u0159enek, J. (2018, January 25\u201327). Configurable FPGA packet parser for terabit networks with guaranteed wire-speed throughput. Proceedings of the 2018 ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA.","DOI":"10.1145\/3174243.3174250"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Yazdinejad, A., Bohlooli, A., and Jamshidi, K. (2018, January 25\u201326). P4 to SDNet: Automatic Generation of an Efficient Protocol-Independent Packet Parser on Reconfigurable Hardware. Proceedings of the 8th International Conference on Computer and Knowledge Engineering (ICCKE 2018), Mashhad, Iran.","DOI":"10.1109\/ICCKE.2018.8566590"}],"container-title":["Symmetry"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-8994\/11\/10\/1265\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T13:28:55Z","timestamp":1760189335000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-8994\/11\/10\/1265"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,10]]},"references-count":22,"journal-issue":{"issue":"10","published-online":{"date-parts":[[2019,10]]}},"alternative-id":["sym11101265"],"URL":"https:\/\/doi.org\/10.3390\/sym11101265","relation":{},"ISSN":["2073-8994"],"issn-type":[{"type":"electronic","value":"2073-8994"}],"subject":[],"published":{"date-parts":[[2019,10,10]]}}}