<!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>CPUs editor</title>
  </head>
  <body>
    <h2>CPUs editor</h2>
    <p>
      The cpus editor lists the programmable cores the component
      contains. This way the tools can recognize them and distinguish
      from hardwired components. One component can have multiple cores.
    </p>
	<p>
	    <b>Name</b> is a mandatory identifier for the <i>cpu</i>.
    </p>
    <p>
        <b>Display name</b> is an optional and used for a more user-friendly identifier.
    </p>
    <p>
	  <b>Address space references</b> specify the logical address space of the cpu. 
      When a master <i>bus interface</i> of a component references the same address 
      spaces, there's a link link between the programmable core and the interface.
      This information helps in generating a board support
      package (BSP) and picking appropriate programmable components
      into system design. CPU definition should not be repeated on a
      higher level component (one that instantiates a CPU).
    </p>
	<p>
        <b>Description</b> is an optional field for textual description of the <i>cpu</i>.		
    </p>
    <p>
      Cpus editor provides a context menu (right mouse button) with
      the following options:
    </p>
    <ul>
      <li>Add new cpu (Add row)</li>
      <li>Remove cpu (Remove row)</li>
      <li>Clear the selected cells</li>
      <li>Copy the contents of the selected cells to clipboard</li>
      <li>Paste the contents of the clipboard to the selected cells</li>
      <li>Import a csv-file to the editor</li>
      <li>Export the contents of the editor to a csv-file</li>
    </ul>
    <hr>
    <p>
      EXAMPLE.
      Example SoC has two CPUs and both refer to an address space. 
      The first CPU is bound to a master bus interface through address space 
      AS0 whereas the second has only a local memory map in AS1. 
      Consequently, cpuA has access to the global address space of 
      the master bus interface and cpuB does not.<br>
      <img src="../images/cpus.png" alt="example">
    </p>
  </body>
</html>
