<html>	<head>		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">		<meta name="generator" content="GoLive CyberStudio 3">		<title>Chou, Ortega, Borriello ICCAD 92</title>		<csscriptdict>			<script><!--function CSURLPopupShow(formName, popupName, target) {	var popup = document[formName].elements[popupName];	window.open(popup.options[popup.selectedIndex].value, target);	popup.selectedIndex = 0;}// --></script>		</csscriptdict>	</head>	<body bgcolor="white">		<!-- the following includes a table header with a blank cell -->		<!-- this is included for all headings.     it will have the table header,   --------------------------------------------------------------------   | a sidebar menu,     |   one row with the last modified date.     |   |                     |--------------------------------------------|   | spanning two rows,  | ** This is where you are after the include.|   |---------------------|--------------------------------------------|   | include blankcell   | Your main content goes here     after the include, the user should declare another     TD that has an H1 ALIGN=CENTER title, followed by an HR.  -->		<table border="0" cellspacing="0" cellpadding="10">			<tr>				<td bgcolor="#ff8888" valign="top"><a href="index.html"><csobj w="101" h="96" t="Component" csref="testbar.html">					<csscriptdict>						<script><!--function CSURLPopupShow(formName, popupName, target) {	var popup = document[formName].elements[popupName];	window.open(popup.options[popup.selectedIndex].value, target);	popup.selectedIndex = 0;}// --></script>					</csscriptdict>					<a href="index.html" title="Chinook project home page">Home</a> <br>					<a href="people.html" title="Chinook team members">People</a> <br>					<a href="publications.html" title="Publications for the Chinook project">Publications</a> <br>					<a href="links.html" title="Links to other codesign pages">Links</a> <br>					<a href="aboutLogo.html" title="The Chinook logo">Logo</a> 					<p><csobj w="95" h="18" t="URLPopup" data='{ 0 = { label = &quot;Choose...&quot;; selected = &quot;YES&quot;; }; 1 = { label = &quot;Home&quot;; url = &quot;index.html&quot;; }; 2 = { label = &quot;People&quot;; url = &quot;people.html&quot;; }; 3 = { label = &quot;Publications&quot;; url = &quot;publications.html&quot;; }; 4 = { label = &quot;Links&quot;; url = &quot;links.html&quot;; }; 5 = { label = &quot;Logo&quot;; url = &quot;aboutLogo.html&quot;; }; }' target="_top">					<form method="POST" name="cs_form_name_0">					<select name="cs_popup_name_0" onchange="CSURLPopupShow('cs_form_name_0', 'cs_popup_name_0', '_top');">						<option selected>Choose... 						<option value="index.html">Home 						<option value="people.html">People 						<option value="publications.html">Publications 						<option value="links.html">Links 						<option value="aboutLogo.html">Logo 					</select> 					</form>					</csobj></csobj></a></td>				<td valign="top">					<dl>						<dt>[COB92] Pai Chou, Ross Ortega, Gaetano Borriello, 						<dd>&quot;Synthesis of the Hardware/Software Interface in Microcontroller-Based Systems,&quot; 						<dd><i>Proceedings of the IEEE/ACM International Conference on Computer-Aided Design</i>, 						<dd>Santa Clara, CA, November 1992, pp.488-495. 					</dl>				</td>			</tr>			<tr>				<td bgcolor="#ff8888" valign="top"><!--1st col-->					&nbsp; 					<center>						<p><a href="http://www.cs.washington.edu/research/lis/papers/pdf/chou-iccad92.pdf"><font size="-1"><img src="pdf-icon.gif" border="0"><br>						PDF 3.0</font></a><font size="-1">(97K)<br>						<a href="ftp://shrimp.cs.washington.edu/pub/chou/iccad92.ps.Z"><img src="ps-icon.gif" border="0"><br>						postscript</a></font> </center>				</td>				<td valign="top"><!-- 2nd col -->					Microcontroller-based systems require the design of a hardware/software interface that enables software running on the microcontroller to control external devices. This interface consists of the sequential logic that physically connects the devices to the microcontroller and the software drivers that allow code to access the device functions. This paper presents a method for automatically synthesizing this hardware/software interface using a recursive algorithm. Practical examples are used to demonstrate the utility of the method and results indicate that the synthesized circuit and driver code are comparable to that generated by human designers. This new tool will be used by higher-level synthesis tools to evaluate partitionings of a system between hardware and software components. </td>			</tr>		</table><!--   this is a template for the footer.  It just echoes the   last modification date and has a link back to Chinook.-->		<hr>		<address>Last modified on Monday, 07-Sep-1998 19:22:14 PDT		</address>	</body></html>ÿ