1 line
7.9 KiB
JSON
1 line
7.9 KiB
JSON
{"url": "http://alderis.ics.uci.edu/amba2.html", "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\">\n<head>\n<title>Alderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems</title>\n<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n<link rel=\"stylesheet\" href=\"css/1.css\" type=\"text/css\" media=\"screen,projection\" />\n\n</head>\n \n<body>\n\n\t\t<div id=\"container\">\n\t\t\n\t\t\t\t<div id=\"header\">\n\t\t\t\t\n\t\t\t\t\t\t<h1>Alderis@UCI</a></h1>\n\t\t\t\t\t\t<h3>Analysis Language for Distributed, Embedded, and Real-time Systems.</h3>\n\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<ul id=\"nav\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"downloads.html\">Downloads</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"publications.html\">Publications</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"dresystems.html\">DRE Systems</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"#\" class=\"active\">AMBA</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"links.html\">Links</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"index.html\">Home</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t</ul>\n\t\t\t\t\n\t\t\t\t<br class=\"clear\" />\n\t\t\t\t\n\t\t\t\t<div id=\"sidebar\">\n\t\t\t\t\n\t\t\t\t\t\t<h1>AMBA AHB MPSoC Example</h1>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe NuSMV finite state machine models listed on this page were used to analyze a digital camera system-on-chip design. The results of this analysis were published in the following paper:\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tGabor Madl, Sudeep Pasricha, Qiang Zhu, Luis Angel D. Bathen, Nikil Dutt: <a href=\"http://www.ics.uci.edu/~gabe/papers/MPZBD_EMSOFT_2006.pdf\">Formal Performance Evaluation of AMBA-based System-on-Chip Designs</a>, Proceedings of EMSOFT 2006. <a href=\"http://www.ics.uci.edu/~gabe/bibtex/MPZBD_EMSOFT_2006.txt\">Bibtex</a>.\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\nThe publication is covered by copyright. It is provided for personal use only and may not be distributed.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"sidebarfooter\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<a href=\"http://dre.sourceforge.net\">DREAM</a>\n\t\t\t\t\t\t\t\t<a href=\"http://www.cecs.uci.edu/~aces\">ACES</a>\n\t\t\t\t\t\t\t\t<a href=\"http://www.ics.uci.edu/~forge\">FORGE</a>\n\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div id=\"sidebar_bottom\"></div>\n\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<div id=\"content\">\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<h1>Ambiguity in the AMBA AHB Specification</h1>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe EMSOFT publication cited on the left describes an ambiguity in the final version of the AMBA AHB specification. We do not claim in any way that the AMBA AHB protocol is incorrect, nor do we claim that it contains irresolvable contradictions. However, the AMBA AHB specification does not mention this problem and therefore it is up to the designers to find and resolve this and other special cases, and these implementations may not work with each other even though they all correspond to the specification. This shows the need to verify even simple MPSoC designs rather than rely on protocols themselves in general as they do not enforce a correct working system. These problems could be easily overcome by providing a formal specification rather than natural languages that are prone to ambiguities.\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<h1>Functional Verification</h1>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe following example demonstrates how the simultaneous use of the HRESP=RETRY response and the HSPLITx unmask request in the same clock cycle by the slave may result in a deadlock situation:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_2Masters_Deadlock.smv\">Two masters deadlock SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_2Masters_Deadlock.out\">Two masters deadlock output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe following example shows that disallowing the simultaneous use of the HRESP=RETRY response and the HSPLITx unmask request allows to avoid the deadlock:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_2Masters_Correct.smv\">Two masters correct SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_2Masters_Correct.out\">Two masters correct output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe same problem can be shown for three masters:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Deadlock.smv\">Three masters deadlock SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Deadlock.out\">Three masters deadlock output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe following example shows that disallowing the simultaneous use of the HRESP=RETRY response and the HSPLITx unmask request allows to avoid the deadlock using three masters as well:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Correct.smv\">Three masters correct SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Correct.out\">Three masters correct output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe final model that shows the correctness of our design:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Final_Result.smv\">Three masters correct SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Final_Result.out\">Three masters correct output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<h1>Performance Evaluation</h1>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThe finite state machines were changed for the performance evaluation to provide better scalability. Therefore we need to verify that the resulting model is still correct:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Dedicated_State_Wires.smv\">Three masters using dedicated state wires/variables correct SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Functional_Verification_3Masters_Dedicated_State_Wires.out\">Three masters using dedicated state wires/variables correct output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tPerformance evaluation results using 64x64 pixel tiles for JPEG 2000 compression:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Performance_Evaluation_64x64_Tiles.smv\">Performance evaluation using 64x64 pixel tiles SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Performance_Evaluation_64x64_Tiles.out\">Performance evaluation using 64x64 pixel tiles output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tPerformance evaluation results using 128x128 pixel tiles for JPEG 2000 compression:\n\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Performance_Evaluation_128x128_Tiles.smv\">Performance evaluation using 128x128 pixel tiles SMV source</a></li>\n\t\t\t\t\t\t\t\t<li><a href=\"files/AMBA_AHB_Performance_Evaluation_128x128_Tiles.out\">Performance evaluation using 128x128 pixel tiles output</a></li>\n\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t</p>\n\n\t\t\t\t</div>\n\t\t\n\t\t</div>\n\t\t\n\t\t<div id=\"footer\">\n\t\t\n\t\t\t\t<p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. <a href=\"http://www.ipstat.com/cgi-bin/stats?name=alderis\"><img src=\"http://www.ipstat.com/cgi-bin/ipstat?name=alderis\" height=\"5\" width=\"5\" border=\"0\"></a>\n\n\t\t\t\t\n\t\t\t\t\t\t</p>\n\t\t\n\t\t</div>\n\n\n</body>\n</html>\n", "encoding": "ascii"} |