document/dma.htm

Fri, 13 Aug 2010 10:43:05 +0100

author
Philip Pemberton <philpem@philpem.me.uk>
date
Fri, 13 Aug 2010 10:43:05 +0100
changeset 0
11aef665a5d8
child 1
522426d22baa
permissions
-rw-r--r--

Initial commit, DMAC version 3.1

     1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
     3 <html>
     5 <head>
     6 <title>DMA Controller</title>
     7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
     8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
     9 <link rel="stylesheet" href="lever40_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
    10 <!--
    11 if (navigator.appName !="Netscape")
    12 {   document.write("<link rel='stylesheet' href='lever40.css'>");}
    13 //-->
    14 </script>
    15 <style type="text/css">
    16 <!--
    17 img_whs1 { border:none; width:29px; height:31px; float:none; border-style:none; }
    18 p.whs2 { font-style:italic; }
    19 table.whs3 { x-cell-content-align:top; height:84px; left:0px; top:114px; width:637px; margin-left:15px; border-spacing:0px; }
    20 col.whs4 { width:86px; }
    21 col.whs5 { width:504px; }
    22 tr.whs6 { x-cell-content-align:top; height:22px; }
    23 td.whs7 { width:86px; padding-right:10px; padding-left:10px; border-left-style:Solid; border-left-color:#c0c0c0; border-top-style:Solid; border-top-color:#c0c0c0; border-right-color:#c0c0c0; border-right-style:Solid; border-bottom-color:#c0c0c0; border-bottom-style:Solid; border-right-width:1px; border-left-width:1px; border-top-width:1px; border-bottom-width:1px; background-color:#dee8f4; }
    24 td.whs8 { width:504px; padding-right:10px; padding-left:10px; border-top-style:Solid; border-top-color:#c0c0c0; border-right-color:#c0c0c0; border-right-style:Solid; border-bottom-color:#c0c0c0; border-bottom-style:Solid; border-top-width:1px; border-bottom-width:1px; border-right-width:1px; background-color:#dee8f4; }
    25 td.whs9 { width:86px; padding-right:10px; padding-left:10px; border-left-color:#c0c0c0; border-left-width:1px; border-left-style:Solid; border-right-color:#c0c0c0; border-right-style:Solid; border-right-width:1px; border-bottom-color:#c0c0c0; border-bottom-style:Solid; border-bottom-width:1px; }
    26 td.whs10 { width:504px; padding-right:10px; padding-left:10px; border-right-color:#c0c0c0; border-right-style:Solid; border-right-width:1px; border-bottom-color:#c0c0c0; border-bottom-style:Solid; border-bottom-width:1px; }
    27 p.whs11 { margin-left:4px; }
    28 table.whs12 { x-cell-content-align:top; margin-left:15px; border-spacing:0px; }
    29 tr.whs13 { x-cell-content-align:top; }
    30 td.whs14 { padding-right:10px; padding-left:10px; border-left-style:Solid; border-left-color:#c0c0c0; border-top-color:#c0c0c0; border-top-style:Solid; border-right-color:#c0c0c0; border-right-style:Solid; border-bottom-color:#c0c0c0; border-bottom-style:Solid; border-right-width:1px; border-left-width:1px; border-top-width:1px; border-bottom-width:1px; background-color:#dee8f4; }
    31 td.whs15 { padding-right:10px; padding-left:10px; border-top-color:#c0c0c0; border-top-style:Solid; border-right-color:#c0c0c0; border-right-style:Solid; border-bottom-color:#c0c0c0; border-bottom-style:Solid; border-top-width:1px; border-bottom-width:1px; border-right-width:1px; background-color:#dee8f4; }
    32 td.whs16 { padding-right:10px; padding-left:10px; border-left-color:#c0c0c0; border-left-width:1px; border-left-style:Solid; border-right-style:Solid; border-right-color:#c0c0c0; border-right-width:1px; border-bottom-style:Solid; border-bottom-color:#c0c0c0; border-bottom-width:1px; }
    33 td.whs17 { padding-right:10px; padding-left:10px; border-right-style:Solid; border-right-color:#c0c0c0; border-right-width:1px; border-bottom-style:Solid; border-bottom-color:#c0c0c0; border-bottom-width:1px; }
    34 td.whs18 { padding-right:10px; padding-left:10px; border-left-style:Solid; border-left-width:1px; border-left-color:#c0c0c0; border-right-width:1px; border-right-color:#c0c0c0; border-right-style:Solid; border-bottom-width:1px; border-bottom-color:#c0c0c0; border-bottom-style:Solid; }
    35 td.whs19 { padding-right:10px; padding-left:10px; border-right-width:1px; border-right-color:#c0c0c0; border-right-style:Solid; border-bottom-width:1px; border-bottom-color:#c0c0c0; border-bottom-style:Solid; }
    36 img_whs20 { border:none; width:14px; height:16px; float:none; border-style:none; }
    37 -->
    38 </style><script type="text/javascript" language="JavaScript">
    39 <!--
    40 function ehlp_showtip(current,e,text)
    41 {
    42   if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == 'Netscape'))
    43   {
    44     document.tooltip.document.write("<layer bgColor='yellow' style='border:1px solid black;font-size:12px;'>"+ text + "</layer>");
    45     document.tooltip.document.close();
    46     document.tooltip.left=e.pageX+5;
    47     document.tooltip.top=e.pageY+5;
    48     document.tooltip.visibility="show";
    49   }
    50 }
    51 function ehlp_hidetip()
    52 {
    53   document.tooltip.visibility="hidden";
    54 }
    55 //-->
    56 </script>
    57 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
    58 <!--
    59 function reDo() {
    60   if (innerWidth != origWidth || innerHeight != origHeight)
    61      location.reload();
    62 }
    63 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
    64 	origWidth = innerWidth;
    65 	origHeight = innerHeight;
    66 	onresize = reDo;
    67 }
    68 onerror = null; 
    69 //-->
    70 </script>
    71 <style type="text/css">
    72 <!--
    73 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
    74 p.WebHelpNavBar { text-align:right; }
    75 -->
    76 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
    77 <script type="text/javascript" language="javascript" src="whver.js"></script>
    78 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
    79 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
    80 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
    81 <script type="text/javascript" language="javascript1.2">
    82 <!--
    83 if (window.gbWhTopic)
    84 {
    85 	if (window.setRelStartPage)
    86 	{
    87 	addTocInfo("DMA");
    89 	}
    92 	if (window.setRelStartPage)
    93 	{
    94 	setRelStartPage("msb_peripherals.htm");
    96 		autoSync(0);
    97 		sendSyncInfo();
    98 		sendAveInfoOut();
    99 	}
   101 }
   102 else
   103 	if (window.gbIE4)
   104 		document.location.reload();
   105 //-->
   106 </script>
   107 </head>
   108 <body><script type="text/javascript" language="javascript1.2">
   109 <!--
   110 if (window.writeIntopicBar)
   111 	writeIntopicBar(4);
   112 //-->
   113 </script>
   114 <h1>LatticeMico32 DMA Controller &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="View Data Sheet" href="dma.pdf" target="_blank" onmouseover="if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == 'Netscape')) ehlp_showtip(this,event,'View Data Sheet');" onmouseout="if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == 'Netscape')) ehlp_hidetip();"><img src="ds_icon_ast.jpg" x-maintain-ratio="TRUE" width="29px" height="31px" border="0" class="img_whs1"></a></h1>
   116 <p>The LatticeMico32 direct memory access controller (DMA) provides a master 
   117  read port, a master write port, and a slave port to control data transmission. 
   118  </p>
   120 <p class="whs2"><span style="font-style: italic;"><I>*If the 
   121  data sheet fails to open, see the note at the bottom of this page.</I></span></p>
   123 <h2>Revision History </h2>
   125 <table x-use-null-cells cellspacing="0" width="637" height="84" class="whs3">
   126 <script language='JavaScript'><!--
   127 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) document.write("</table><table x-use-null-cells cellspacing='0' width='637' height='84' border='1' bordercolor='silver' bordercolorlight='silver' bordercolordark='silver'>");
   128 //--></script>
   129 <col class="whs4">
   130 <col class="whs5">
   132 <tr valign="top" class="whs6">
   133 <td bgcolor="#DEE8F4" width="86px" class="whs7">
   134 <p class=Table
   135 	style="font-weight: bold;">Version</td>
   136 <td bgcolor="#DEE8F4" width="504px" class="whs8">
   137 <p class=Table
   138 	style="font-weight: bold;">Description</td></tr>
   140 <tr valign="top" class="whs6">
   141 <td colspan="1" rowspan="1" width="86px" class="whs9">
   142 <p class=Table
   143 	style="font-weight: normal;">3.1 (8.0)</td>
   144 <td colspan="1" rowspan="1" width="504px" class="whs10">
   145 <p class=Table>DMA Engine upgraded to comply with Rule 3.100 of Wishbone 
   146  Specifications, which deal with byte alignment for transfers that are 
   147  less than the width of Wishbone data bus.</td></tr>
   149 <tr valign="top" class="whs6">
   150 <td colspan="1" rowspan="1" width="86px" class="whs9">
   151 <p class=Table
   152 	style="font-weight: normal;"><span style="font-weight: normal;">3.0 
   153  (7.0 SP2)</span></td>
   154 <td colspan="1" rowspan="1" width="504px" class="whs10">
   155 <p class=Table>Because the read and write channel worked in parallel, the 
   156  write channel started writing data to the slave as soon as the FIFO is 
   157  not empty.</p>
   158 <p class=Table>Increased burst size to support bigger bursts from a current 
   159  value of 4 and 8 to 16 and 32, respectively. DMA now supports four burst 
   160  sizes: 4, 8, 16, and 32. The Burst Size field of the control register 
   161  was increased to 2 bits.</p>
   162 <p class=Table>A glitch was removed on the S_ACK_O signal.</td></tr>
   164 <tr valign="top" class="whs6">
   165 <td colspan="1" rowspan="1" width="86px" class="whs9">
   166 <p class="whs11">1.0</td>
   167 <td colspan="1" rowspan="1" width="504px" class="whs10">
   168 <p class=Table>Initial release.</td></tr>
   169 <script language='JavaScript'><!--
   170 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) document.write("</table></table><table>");
   171 //--></script>
   172 </table>
   174 &nbsp; 
   176 <h2>Dialog Box Parameters</h2>
   178 <table x-use-null-cells cellspacing="0" class="whs12">
   179 <script language='JavaScript'><!--
   180 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) document.write("</table><table x-use-null-cells cellspacing='0' border='1' bordercolor='silver' bordercolorlight='silver' bordercolordark='silver'>");
   181 //--></script>
   182 <col>
   183 <col>
   185 <tr valign="top" class="whs13">
   186 <td bgcolor="#DEE8F4" class="whs14">
   187 <p class=Table
   188 	style="font-weight: bold; margin-right: 2px;">Parameter</td>
   189 <td bgcolor="#DEE8F4" class="whs15">
   190 <p class=Table
   191 	style="font-weight: bold;">Description</td></tr>
   193 <tr valign="top" class="whs13">
   194 <td colspan="1" rowspan="1" class="whs16">
   195 <p class=Table
   196 	style="margin-right: 2px;">Instance Name</td>
   197 <td colspan="1" rowspan="1" class="whs17">
   198 <p class=Table>Specifies the name of the DMA controller instance. Alphanumeric 
   199  values and underscores are supported. The default is dma.</td></tr>
   201 <tr valign="top" class="whs13">
   202 <td colspan="1" rowspan="1" class="whs16">
   203 <p class=Table
   204 	style="margin-right: 2px;">Base Address</td>
   205 <td colspan="1" rowspan="1" class="whs17">
   206 <p class=Table>Specifies the base address for accessing the internal registers. 
   207  The minimum boundary alignment is 0X80. Supported values are 0X80000000 
   208  to 0XFFFFFFFF. The default is 0X80000000.</td></tr>
   210 <tr valign="top" class="whs13">
   211 <td colspan="1" rowspan="1" class="whs18">
   212 <p class=Table
   213 	style="margin-right: 2px;">FIFO Implementation</td>
   214 <td colspan="1" rowspan="1" class="whs19">
   215 <p class=Table>Determines whether the FIFO is implemented as an EBR or 
   216  a LUT. The default is EBR.</td></tr>
   218 <tr valign="top" class="whs13">
   219 <td colspan="1" rowspan="1" class="whs18">
   220 <p class=Table
   221 	style="margin-right: 2px;">Length Width</td>
   222 <td colspan="1" rowspan="1" class="whs19">
   223 <p class=Table>Specifies the number of bits in the length register. The 
   224  length register holds a count value that determines the number of DMA 
   225  transactions to be performed. Supported values are 1 to 32. The default 
   226  is 16. The default value permits up to 65535 (0XFFFF) memory transactions 
   227  to be performed.</td></tr>
   228 <script language='JavaScript'><!--
   229 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) document.write("</table></table><table>");
   230 //--></script>
   231 </table>
   233 &nbsp; 
   235 <p><span style="font-weight: bold;"><B>Note</B></span>: If the data sheet fails 
   236  to open, click <img src="qm_icon.jpg" x-maintain-ratio="TRUE" width="14px" height="16px" border="0" class="img_whs20"> on the Available Components toolbar, and 
   237  then click the note button.</p>
   239 <script type="text/javascript" language="JavaScript">
   240 <!--
   241  if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == 'Netscape'))
   242   document.write("<div id='tooltip' class='WebHelpPopupMenu'></div>");
   243 //-->
   244 </script><script type="text/javascript" language="javascript1.2">
   245 <!--
   246 if (window.writeIntopicBar)
   247 	writeIntopicBar(0);
   248 //-->
   249 </script>
   250 </body>
   251 </html>