<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type"content="text/html; charset=utf-8">
    <link href="../style.css" rel="Stylesheet" type="text/css">
    <title>Register file editor</title>
  </head>
  <body>
    <h2>Register file editor</h2>
    <p>
      Register file editor is used to edit the details of a single <i>register file</i> and the 
	    <i>registers</i> and <i>register files</i> within the <i>register file</i>.
    </p>
	
	  <p>
	    <b>Name</b> is a mandatory identifier for the <i>register file</i>. The name must be unique within 
		  all the <i>registers</i> or <i>register files</i> of the containing <i>address block</i> or <i>register file</i>.
    </p>
    <p>
      <b>Display name</b> is an optional and used for a more user-friendly identifier.
    </p>
    <p>
      <b>Short description</b> is a compact description of the register file.
    </p>
    <p>
      <b>Description</b> is an optional field for textual description of the <i>register file</i>.		
    </p>

    <p>
      <b>Offset</b> is a mandatory value to specify the location of the <i>register file</i> from the start of the
      containing <i>address block</i> or <i>register file</i> expressed as address units.
    </p>
    <p>
      <b>Range</b> is mandatory and specifies the size of the register file in <i>address units bits</i>.
    </p>
    <p>
      <b>Dimension</b> is optional and assigns an array dimension to the <i>register file</i>. 
	    The <i>register file</i> will be repeated in the containing 
      <i>address block</i> or <i>register file</i> as many times as indicated by the dimension value. An empty dimension (default)
      or a dimension with value 1 means that the register file is not an array and will appear exactly once.
    </p>
    <p>
      <b>Access policies</b> are optional and specify the accessability of the register file data for different operating modes,
      specified by mode references. If no mode reference is present, then the access policy applies to all modes not already 
      referenced by other access policies (i.e. only one access policy without mode references may exist).
      
      The possible access values for an access policy are:
    </p>
    <ul>
      <li><b>read-write</b>. Both read and write transactions may have an effect on this <i>register file</i>.</li>
      <li><b>read-only</b>. Only read transactions are allowed in this <i>register file</i>.</li>
      <li><b>write-only</b>. Only write transactions are allowed in this <i>register file</i>.</li>
      <li><b>read-writeOnce</b>. Both read and write transactions may have an effect on this <i>register file</i>. Only the
          first write transaction, after an event that caused the reset value of the <i>register file</i> to be loaded, may
          affect the contents of the <i>register file</i>, and read transactions return a value related to the values in the
          <i>register file</i>.</li>
      <li><b>writeOnce</b>. Only the first write transaction affects the contents of the <i>register file</i>.</li>
    </ul>
	
    <h3>Registers table</h3>
    <p>
      The registers table enables the user to define and edit <i>registers</i> of the <i>register file</i>.
    </p>
    <p>
	  <b>Name</b> is a mandatory identifier for the <i>register</i>.
    </p>
    <p>
      <b>Offset</b> is a mandatory value to specify the location of the <i>register</i> 
	    within the <i>register file</i> expressed as address units.
    </p>
    <p>
      <b>Size</b> is mandatory and defines the number of data bits the <i>register</i> contains. 
      Size must be less or equal to the width of the containing <i>address block</i>.
    </p>
    <p>
      <b>Dimension</b> is optional and assigns an array dimension to the <i>register</i>. 
      The <i>register</i> will be repeated in the containing
      <i>register file</i> as many times as indicated by the dimension value. An empty dimension (default)
      or a dimension with value 1 means that the register is not an array and will appear exactly once.
    </p>
    <p>
      <b>Volatile</b> is optional and indicates whether the <i>register</i> value may change without 
      a write operation to it.
    </p>
    <p>
      <b>Access</b> is optional and specifies the accessibility of the <i>register</i> by modifying
      the first access policy of the register. If multiple <i>access policies</i> exist, then the access value 
      cannot be edited here and must be edited for each access policy separately in the register editor. 
      If no access policy exists, then one will be created for the register when the access is edited here.
    
      The possible access values are:
    </p>
    <ul>
      <li><b>read-write</b>. Both read and write transactions may have an effect on this <i>
          register</i>.</li>
      <li><b>read-only</b>. Only read transactions are allowed in this <i>register</i>.</li>
      <li><b>write-only</b>. Only write transactions are allowed in this <i>register</i>.</li>
      <li><b>read-writeOnce</b>. Both read and write transactions may have an effect on this
          <i>register</i>. Only the first write transaction, after an event that caused the
          reset value of the <i>register</i> to be loaded, may affet the contents of the <i>register</i>,
          and read transactions return a value related to the values in the <i>register</i>.</li>
      <li><b>writeOnce</b>. Only the first write transaction affects the contents of the <i>
          register</i>.</li>
    </ul>
    <p>    
		  <b>Description</b> is an optional field for textual description of the <i>register</i>.
    </p>

    <h3>Register files table</h3>
    <p>
      The register files table enables the user to define and edit <i>register files</i> within the <i>register file</i>.
    </p>
    <p>
	    <b>Name</b> is a mandatory identifier for the <i>register file</i>.
    </p>
    <p>
      <b>Offset</b> is a mandatory value to specify the location of the <i>register file</i> 
	    within the containing <i>register file</i> expressed as address units.
    </p>
    <p>
      <b>Range</b> is mandatory and specifies the size of the <i>register file</i> in <i>address units bits</i>.
    </p>
    <p>
      <b>Dimension</b> is optional and assigns an array dimension to the <i>register file</i>. 
      The <i>register file</i> will be repeated in the
      containing <i>register file</i> as many times as indicated by the dimension value. An empty dimension (default)
      or a dimension with value 1 means that the register file is not an array and will appear exactly once.
    </p>
    <p>    
		  <b>Description</b> is an optional field for textual description of the <i>register</i>.
    </p>
  </body>
</html>
