{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:27:48Z","timestamp":1750307268514,"version":"3.41.0"},"reference-count":26,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2011,6,1]],"date-time":"2011-06-01T00:00:00Z","timestamp":1306886400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2011,6]]},"abstract":"<jats:p>This article proposes a new algorithm for parallel synchronous simulation of VHDL designs to be executed on desktop computers. Besides executing VHDL processes in parallel, the algorithm focuses on parallelizing the simulation kernel with special emphasis on signal grouping while maintaining language semantics. Synchronous approaches are the most suitable for shared memory multiprocessor (SMP) desktop computers but may be difficult to parallelize because of the low activity detected in most of the designs. The degree of parallelism is increased in this approach by performing an exhaustive VHDL signal dependencies analysis and avoiding any sequential phase in the simulator. VHDL semantics impose a synchronization barrier after each phase, that is, the process and the kernel simulation phase, as the language definition does not allow simultaneous execution of kernel and processes. These barriers have been relaxed in order to increase the level of parallelism and obtain better performance. Another aspect the new algorithm takes into account is to improve load balancing and locality of references, both critical issues in synchronous simulators, by introducing a new load balancing algorithm that exploits the cyclic characteristics of circuit simulators. These developments make the algorithm suitable for commodity hardware, that is, SMP that are currently used as desktop personal computers.<\/jats:p>","DOI":"10.1145\/1970353.1970360","type":"journal-article","created":{"date-parts":[[2011,6,14]],"date-time":"2011-06-14T14:44:54Z","timestamp":1308062694000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["A New Algorithm for VHDL Parallel Simulation"],"prefix":"10.1145","volume":"16","author":[{"given":"Antonio","family":"Garc\u00eda-Dopico","sequence":"first","affiliation":[{"name":"Universidad Polit\u00e9cnica de Madrid"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antonio","family":"P\u00e9rez","sequence":"additional","affiliation":[{"name":"Universidad Polit\u00e9cnica de Madrid"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Santiago","family":"Rodr\u00edguez","sequence":"additional","affiliation":[{"name":"Universidad Polit\u00e9cnica de Madrid"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mar\u00eda Isabel","family":"Garc\u00eda","sequence":"additional","affiliation":[{"name":"Universidad Polit\u00e9cnica de Madrid"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2011,6]]},"reference":[{"volume-title":"Parallel execution of VHDL models. Tech. rep","author":"Ashenden P.","key":"e_1_2_1_1_1","unstructured":"Ashenden , P. , Detmold , H. , and McKeen , W. 1993. Parallel execution of VHDL models. Tech. rep ., University of Adelaide . Ashenden, P., Detmold, H., and McKeen, W. 1993. Parallel execution of VHDL models. Tech. rep., University of Adelaide."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the International Conference on Simulation and Hardware Description Languages. Society for Computer Simulation, 161--166","author":"Ashenden P.","year":"1994","unstructured":"Ashenden , P. , Detmold , H. , and McKeen , W. 1994 a. A centralized queue parallel simulator for VHDL . In Proceedings of the International Conference on Simulation and Hardware Description Languages. Society for Computer Simulation, 161--166 . Ashenden, P., Detmold, H., and McKeen, W. 1994a. A centralized queue parallel simulator for VHDL. In Proceedings of the International Conference on Simulation and Hardware Description Languages. Society for Computer Simulation, 161--166."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1155\/1994\/86178"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/185403.185424"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1979.230182"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/358598.358613"},{"volume-title":"Proceedings of VHDL International User\u2019s Forum. 4.33--4.38","author":"Dai H.","key":"e_1_2_1_7_1","unstructured":"Dai , H. and Paulsen , B . 1994. Multithreading VHDL simulation . In Proceedings of VHDL International User\u2019s Forum. 4.33--4.38 . Dai, H. and Paulsen, B. 1994. Multithreading VHDL simulation. In Proceedings of VHDL International User\u2019s Forum. 4.33--4.38."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.936380"},{"volume-title":"Parallel and Distributed Computing Handbook. Mac Graw-Hill","author":"Ferscha A.","key":"e_1_2_1_9_1","unstructured":"Ferscha , A. 1995. Parallel and distributed simulation of discrete event systems . In Parallel and Distributed Computing Handbook. Mac Graw-Hill , Columbus, OH . Ferscha, A. 1995. Parallel and distributed simulation of discrete event systems. In Parallel and Distributed Computing Handbook. Mac Graw-Hill, Columbus, OH."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/84537.84545"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/564124.564145"},{"volume-title":"Proceedings of the 6th International Meeting VECPAR High Performance Computing for Computational Science. 955--960","author":"Garcia-Dopico A.","key":"e_1_2_1_12_1","unstructured":"Garcia-Dopico , A. and Perez , A . 2004. Cyclic: A locality-preserving load-balancing algorithm for shared memory multiprocessors . In Proceedings of the 6th International Meeting VECPAR High Performance Computing for Computational Science. 955--960 . Garcia-Dopico, A. and Perez, A. 2004. Cyclic: A locality-preserving load-balancing algorithm for shared memory multiprocessors. In Proceedings of the 6th International Meeting VECPAR High Performance Computing for Computational Science. 955--960."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.784125"},{"volume-title":"IEEE Standard VHDL Language Reference Manual","year":"1987","key":"e_1_2_1_14_1","unstructured":"IEEE. 1987. IEEE Standard VHDL Language Reference Manual (IEEE Std 1076- 1987 ). IEEE Computer Society , Los Alamitos, CA. IEEE. 1987. IEEE Standard VHDL Language Reference Manual (IEEE Std 1076-1987). IEEE Computer Society, Los Alamitos, CA."},{"volume-title":"IEEE Standard VHDL Language Reference Manual","year":"1993","key":"e_1_2_1_15_1","unstructured":"IEEE. 1993. IEEE Standard VHDL Language Reference Manual (IEEE Std 1076- 1993 ). IEEE Computer Society , Los Alamitos, CA. IEEE. 1993. IEEE Standard VHDL Language Reference Manual (IEEE Std 1076-1993). IEEE Computer Society, Los Alamitos, CA."},{"volume-title":"IEEE Standard VHDL Language Reference Manual","year":"2008","key":"e_1_2_1_16_1","unstructured":"IEEE. 2008. IEEE Standard VHDL Language Reference Manual (IEEE Std 1076- 2008 ). IEEE Computer Society , Los Alamitos, CA. IEEE. 2008. IEEE Standard VHDL Language Reference Manual (IEEE Std 1076-2008). IEEE Computer Society, Los Alamitos, CA."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3916.3988"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/195291.182480"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2007.891366"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2008.2009163"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/277830.277901"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.995448"},{"volume-title":"Proceedings of the 15th Workshop on Parallel and Distributed Simulation (PADS\u201901)","author":"Lee B.","key":"e_1_2_1_23_1","unstructured":"Lee , B. , Cai , W. , and Zhou , J . 2001. A causality based time management mechanism for federated simulation . In Proceedings of the 15th Workshop on Parallel and Distributed Simulation (PADS\u201901) . IEEE Computer Society, Los Alamitos, CA, 83--90. Lee, B., Cai, W., and Zhou, J. 2001. A causality based time management mechanism for federated simulation. In Proceedings of the 15th Workshop on Parallel and Distributed Simulation (PADS\u201901). IEEE Computer Society, Los Alamitos, CA, 83--90."},{"volume-title":"Proceedings of the VHDL International Users\u2019 Forum.","author":"Peterson G. D.","key":"e_1_2_1_24_1","unstructured":"Peterson , G. D. and Willis , J. C . 1995. A taxonomy of parallel VHDL simulation techniques . In Proceedings of the VHDL International Users\u2019 Forum. Peterson, G. D. and Willis, J. C. 1995. A taxonomy of parallel VHDL simulation techniques. In Proceedings of the VHDL International Users\u2019 Forum."},{"volume-title":"Proceedings of the European Conference on Design Automation. IEEE Computer Society","author":"Vellandi B.","key":"e_1_2_1_26_1","unstructured":"Vellandi , B. and Lightner , M . 1994. Parallelism extraction and program restructuring of VHDL for parallel simulation . In Proceedings of the European Conference on Design Automation. IEEE Computer Society , Los Alamitos, CA, 81--87. Vellandi, B. and Lightner, M. 1994. Parallelism extraction and program restructuring of VHDL for parallel simulation. In Proceedings of the European Conference on Design Automation. IEEE Computer Society, Los Alamitos, CA, 81--87."},{"volume-title":"Proceedings of the 15th Workshop on Parallel and Distributed Simulation. IEEE Computer Society","author":"Zhang J.","key":"e_1_2_1_27_1","unstructured":"Zhang , J. and Tropper , C . 2001. The dependence list in time warp . In Proceedings of the 15th Workshop on Parallel and Distributed Simulation. IEEE Computer Society , Los Alamitos, CA, 35--45. Zhang, J. and Tropper, C. 2001. The dependence list in time warp. In Proceedings of the 15th Workshop on Parallel and Distributed Simulation. IEEE Computer Society, Los Alamitos, CA, 35--45."}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1970353.1970360","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1970353.1970360","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T10:52:52Z","timestamp":1750243972000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1970353.1970360"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,6]]},"references-count":26,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2011,6]]}},"alternative-id":["10.1145\/1970353.1970360"],"URL":"https:\/\/doi.org\/10.1145\/1970353.1970360","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2011,6]]},"assertion":[{"value":"2010-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}