OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [core/] [wishbone/] [doc/] [en/] [block_test_generate_en.htm] - Rev 40

Go to most recent revision | Compare with Previous | Blame | View Log

<Html>
<Head>
 <Title>Блок PE_MAIN</Title>
 <Meta Http-equiv="Content-Type" Content="text/html; Charset=windows-1251">
 <Link Rel="StyleSheet" Type="text/css" Href="style.css">
</Head>
<Body LeftMargin="5" TopMargin="5" BgColor="#ffffff">
<h1>Block<span lang="ru"> </span>TEST_GENERATE</h1>
<hr>
<h2>General</h2>
<table border="0" width="90%" cellpadding="6" cellspacing="1" height="135">
  <tr>
    <td width="17%" valign="top" height="14">
<b>Function</b></td>
    <td width="83%" height="14">	Generation of the test sequence</td>
  </tr>
  <tr>
    <td width="17%" height="14">
 
<b>Modification</b></td>
    <td width="83%" height="14">	1</td>
  </tr>
  <tr>
    <td width="17%" height="14"><b>Version</b></td>
    <td width="83%" height="14">		1.0</td>
  </tr>
  <tr>
    <td width="17%" height="14"><b>ID</b></td>
    <td width="83%" height="14">		0x1A</td>
  </tr>
  </table>
&nbsp;
 
 
<h2>Состав регистров</h2>
<table border="2" width="90%" bordercolorlight="#000000" cellspacing="0" bordercolordark="#000000" cellpadding="2" style="border-collapse: collapse">
  <tr>
    <td width="13%" align="center"><b>Number</b></td>
    <td width="18%" align="center"><b>Name</b></td>
    <td width="69%" colspan="2"><b>&nbsp;Description</b></td>
  </tr>
  <tr>
    <td width="100%" align="center" colspan="4">
      <p align="left">&nbsp;<span lang="ru"> </span>Constant</td>
  </tr>
  <tr>
    <td width="13%" align="center">0</td>
    <td width="18%" align="center"><a href="#Регистр BLOCK_ID">BLOCK_ID</a></td>
    <td width="10%" align="center">0x<span lang="en-us">X</span>01A</td>
    <td width="58%">&nbsp;The ID of the control block</td>
  </tr>
  <tr>
    <td width="13%" align="center">1</td>
    <td width="18%" align="center"><a href="#Регистр BLOCK_VER">BLOCK_VER</a></td>
    <td width="10%" align="center">0x0100</td>
    <td width="58%">&nbsp;Version of the control block</td>
  </tr>
  <tr>
    <td width="13%" align="center">2</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="10%" align="center">&nbsp;</td>
    <td width="58%">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">3</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="10%" align="center">&nbsp;</td>
    <td width="58%">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">4</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="10%" align="center">&nbsp;</td>
    <td width="58%">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">5</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="10%" align="center">&nbsp;</td>
    <td width="58%">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">6</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="10%" align="center">&nbsp;</td>
    <td width="58%">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">7</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="10%" align="center">&nbsp;</td>
    <td width="58%">&nbsp;</td>
  </tr>
  <tr>
    <td width="100%" align="left" colspan="4">&nbsp;&nbsp;Operations register</td>
  </tr>
  <tr>
    <td width="13%" align="center"><span lang="ru">8</span></td>
    <td width="18%" align="center"><span lang="en-us">
	<a href="#Регистр TEST_GEN_CTRL">TEST_GEN_CTRL</a></span></td>
    <td width="69%" colspan="2"><span lang="ru">&nbsp;</span>Control of the
	<span lang="en-us">TEST_</span>GEN</td>
  </tr>
  <tr>
    <td width="13%" align="center"><span lang="ru">9</span></td>
    <td width="18%" align="center">
	<span lang="en-us">
	<a href="#Регистр TEST_GEN_SIZE">TEST_GEN_SIZE</a></span></td>
    <td width="69%" colspan="2"><span lang="ru">&nbsp;</span>Size of the data 
	block</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x0A</td>
    <td width="18%" align="center">
	<a href="#Регистр TEST_GEN_CNT1">
	TEST_GEN_CNT1</a></td>
    <td width="69%" colspan="2"><span lang="ru">&nbsp;Counter </span>of e<span lang="ru">nable </span>TEST_GEN</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x0B</td>
    <td width="18%" align="center"><a href="#Регистр TEST_GEN_CNT2">
	TEST_GEN_CNT2</a></td>
    <td width="69%" colspan="2"><span lang="ru">&nbsp;Counter </span>of pause<span lang="ru"> </span>TEST_GEN</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x0C</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x0D</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x0E</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" align="center">0x0F</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="100%" align="center" colspan="4">
	<p align="left"><span lang="ru">&nbsp;&nbsp;&nbsp; </span>Direct registers</td>
  </tr>
	<tr>
    <td width="13%" align="center"><span lang="ru">0</span>x10</td>
    <td width="18%" align="center">
	&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x11</td>
    <td width="18%" align="center"><span lang="en-us">
	<a href="#Регистр TEST_GEN_BL_WR">TEST_GEN_BL_WR</a></span></td>
    <td width="69%" colspan="2">&nbsp;The number of transmitted data block</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x12</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x13</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center"><span lang="ru">0</span>x14</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x15</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x16</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x17</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x18</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center"><span lang="ru">0</span>x19</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x1A</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x1B</td>
    <td width="18%" align="center">&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center"><span lang="ru">0</span>x1C</td>
    <td width="18%" align="center">
	&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x1D</td>
    <td width="18%" align="center">
	&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x1E</td>
    <td width="18%" align="center">
	&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
	<tr>
    <td width="13%" align="center">0x1F</td>
    <td width="18%" align="center">
	&nbsp;</td>
    <td width="69%" colspan="2">&nbsp;</td>
  </tr>
</table>
<br>
 
<h2>Description</h2>
 
 
<p>Block TEST_GEB is designed to generation the test sequence.</p>
<p>The algorithm works:</p>
<ul>
	<li>reset: <span lang="en-us">
	<a href="#Регистр TEST_GEN_CTRL">TEST_GEN_CTRL</a></span>[RESET]=1, <span lang="en-us">
	<a href="#Регистр TEST_GEN_CTRL">TEST_GEN_CTRL</a></span>[RESET]=0</li>
	<li>set mode: <span lang="en-us">
	<a href="#Регистр TEST_GEN_CTRL">TEST_GEN_CTRL</a></span>[FIX_MODE, 
	BLOCK_MODE], CNT1, CNT2 </li>
	<li>program and start DMA controller in the PE_EXT_FIFO block</li>
	<li>start: <span lang="en-us">
	<a href="#Регистр TEST_GEN_CTRL">TEST_GEN_CTRL</a></span>[START]=1 - enable 
	to DMAR</li>
</ul>
<p>The test sequence is a set of data blocks.<br>
The block size is specified multiple of the size of 4 kilobytes<br>
(512 words by 64 bits)<br>
The first 64-bit word in the block contains the signature and serial number:</p>
<ul>
	<li>31 .. 0 - signature 0xA5A50123</li>
	<li>63 .. 32 - serial number of the unit</li>
</ul>
<p>Contents of the block depends on its number in the sequence.<br>
<br>
The contents of the data block:</p>
<ul>
	<li>0 - Running the unit on the 64th bits</li>
	<li>1 - Running zero on the 64th bits</li>
	<li>2 - Running the unit with an inversion of the 64-th digit<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Even numbers of words - running the unit on the 64th bits<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Odd numbers - inversion previous word</li>
	<li>3 - Running with zero inversion ranks 64th<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Even numbers - running zero to 64-th digit<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Odd numbers - inversion previous word</li>
	<li>4 - Running in the unit block<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Word number is compared with the number of units (compare lower eight 
	bits)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;At coincidence - in the Word is running 1.<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Other words - zero.</li>
	<li>5 - Running a zero in the block<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Word number is compared with the number of units (compare lower eight 
	bits)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;At coincidence - in the Word is running 0.<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Other words - value 0xFFFFFFFFFFFFFFFF.</li>
	<li>6.7 - Counter on the 64th bits<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Even numbers - count<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Odd numbers - inversion previous word</li>
	<li>8.9 - The pseudo-random sequence<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formed M-sequence of 64 bits.<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The initial value of - 1<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The word is formed shift by one bit to the left.<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In LSB words recorded value of x[63] xor x[62] xor x[60] xor x[59]</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Description of the register</h2>
<h3><a name="Регистр BLOCK_ID">BLOCK_ID</a></h3>
<table cellSpacing="0" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table25" style="border-collapse: collapse">
  <tr>
    <td align="middle" width="5%" height="14"><b>&nbsp;Bit</b></td>
    <td align="middle" width="6%" height="14"><b>Name</b></td>
    <td width="66%" height="14"><b>Description</b></td>
  </tr>
  <tr>
    <td align="middle" width="5%">11<span lang="ru">..0</span></td>
    <td align="middle" width="6%">ID</td>
    <td width="66%"><span lang="ru">&nbsp;</span>The ID of the control block</td>
  </tr>
  <tr>
    <td align="middle" width="5%"><span lang="ru">15..12</span></td>
    <td align="middle" width="6%">MOD</td>
    <td width="66%"><span lang="ru">&nbsp;</span>Number of modification</td>
  </tr>
  </table>
<h3>&nbsp;</h3>
<h3><a name="Регистр BLOCK_VER">BLOCK_VER</a></h3>
<table cellSpacing="0" borderColorDark="#000000" cellPadding="2" width="90%" borderColorLight="#000000" border="2" id="table26" style="border-collapse: collapse">
  <tr>
    <td align="middle" width="5%" height="14"><b>&nbsp;Bit</b></td>
    <td align="middle" width="6%" height="14"><b>Name</b></td>
    <td width="66%" height="14"><b>Description</b></td>
  </tr>
  <tr>
    <td align="middle" width="5%">7<span lang="ru">..0</span></td>
    <td align="middle" width="6%">V0</td>
    <td width="66%">&nbsp;Field<span lang="ru"> </span>V0</td>
  </tr>
  <tr>
    <td align="middle" width="5%"><span lang="ru">15..8</span></td>
    <td align="middle" width="6%">V1</td>
    <td width="66%">&nbsp;Field<span lang="ru"> </span>V<span lang="ru">1</span></td>
  </tr>
  </table>
<p>Version: V1.V0</p>
<h3><a name="Регистр TEST_GEN_CTRL">TEST_GEN_CTRL</a></h3>
<table border="2" width="90%" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse" id="table18">
  <tr>
    <td width="9%" height="13" align="center"><b>Бит</b></td>
    <td width="19%" height="13" align="center"><b>Название</b></td>
    <td width="72%" height="13"><b>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center"><span lang="ru">0</span></td>
    <td width="19%" height="14" align="center">RESET</td>
    <td width="72%" height="14">1 - reset</td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center"><span lang="ru">3..1</span></td>
    <td width="19%" height="14" align="center"><span lang="ru">-</span></td>
    <td width="72%" height="14"></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center"><span lang="ru">4</span></td>
    <td width="19%" height="14" align="center">-</td>
    <td width="72%" height="14"></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">5</td>
    <td width="19%" height="14" align="center">START</td>
    <td width="72%" height="14">1 - enable</td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center"><span lang="ru">6</span></td>
    <td width="19%" height="14" align="center">CNT<span lang="ru">_</span>MODE</td>
    <td width="72%" height="14">1 - enable counter:<span lang="ru">
	</span>TEST_GEN_CNT1, TEST_GEN_CNT2</td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center"><span lang="ru">7</span></td>
    <td width="19%" height="14" align="center">FIX_MODE</td>
    <td width="72%" height="14">1 -<span lang="ru"> </span>fixed data block type</td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center"><span lang="ru">11..8</span></td>
    <td width="19%" height="14" align="center">BLOCK_MODE</td>
    <td width="72%" height="14">Number of type data block at<span lang="ru"> </span>FIX_MODE=1</td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">14..12</td>
    <td width="19%" height="14" align="center">-</td>
    <td width="72%" height="14"></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">15</td>
    <td width="19%" height="14" align="center">RDY</td>
    <td width="72%" height="14">1 - forcing ready FIFO</td>
  </tr>
  </table>
 
<br>
&nbsp;<p>&nbsp;</p>
<h3><a name="Регистр TEST_GEN_SIZE">TEST_GEN_SIZE</a></h3>
<table border="2" width="90%" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse" id="table19">
  <tr>
    <td width="9%" height="13" align="center"><b>Бит</b></td>
    <td width="19%" height="13" align="center"><b>Название</b></td>
    <td width="72%" height="13"><b>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">15..<span lang="ru">0</span></td>
    <td width="19%" height="14" align="center">SIZE</td>
    <td width="72%" height="14">&nbsp;Size of data block</td>
  </tr>
  </table>
 
<br>
<span lang="ru">Size of a block is specified in units of 4 kilobytes. A value of 
1 corresponds to a block size of 4 kilobytes.</span><h3>
<a name="Регистр TEST_GEN_CNT1">TEST_GEN_CNT1</a></h3>
<table border="2" width="90%" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse" id="table22">
  <tr>
    <td width="9%" height="13" align="center"><b>Бит</b></td>
    <td width="19%" height="13" align="center"><b>Название</b></td>
    <td width="72%" height="13"><b>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">15..<span lang="ru">0</span></td>
    <td width="19%" height="14" align="center">CNT</td>
    <td width="72%" height="14">&nbsp;Number of cycles of the enable data</td>
  </tr>
  </table>
 
<br>
&nbsp;<h3><a name="Регистр TEST_GEN_CNT2">TEST_GEN_CNT<span lang="ru">2</span></a></h3>
<table border="2" width="90%" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse" id="table23">
  <tr>
    <td width="9%" height="13" align="center"><b>Бит</b></td>
    <td width="19%" height="13" align="center"><b>Название</b></td>
    <td width="72%" height="13"><b>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">15..<span lang="ru">0</span></td>
    <td width="19%" height="14" align="center">CNT</td>
    <td width="72%" height="14">&nbsp;Number of cycles of the pause</td>
  </tr>
  </table>
 
<br>
&nbsp;<h3><a name="Регистр TEST_GEN_BL_WR"><span lang="en-us">TEST_GEN_BL_WR</span></a></h3>
<table border="2" width="90%" bordercolorlight="#000000" bordercolordark="#000000" height="31" cellpadding="2" style="border-collapse: collapse" id="table24">
  <tr>
    <td width="9%" height="13" align="center"><b>Бит</b></td>
    <td width="19%" height="13" align="center"><b>Название</b></td>
    <td width="72%" height="13"><b>&nbsp;Описание</b></td>
  </tr>
  <tr>
    <td width="9%" height="14" align="center">15..<span lang="ru">0</span></td>
    <td width="19%" height="14" align="center">CNT</td>
    <td width="72%" height="14">&nbsp;The number of transmitted data block</td>
  </tr>
  </table>
 
&nbsp;<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>Version history</h3>
<table cellSpacing="0" cellPadding="0" width="90%" border="0">
  <tr>
    <td align="middle" width="12%" valign="top"><span lang="ru">1.0</span></td>
    <td align="middle" width="16%" valign="top"><span lang="ru">10.11.2011</span></td>
    <td width="72%" valign="top">Basic version</td>
  </tr>
</table>
<p>&nbsp;</p>
 
 
<hr>
<p>&nbsp;</p>
 
 
</Body>
</Html>

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.