<!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>Parameters editor</title>
  </head>
  <body>
    <h2>Parameters editor</h2>
    <p>
      Parameters editor can be used to add, remove and modify
      parameters of a component. Parameters are name-value pairs to
      configure or hold information related to the containing
      component. Note that these are not equivalent of VHDL generics or
	  Verilog parameters.
	  In the columns, f(x) means that the value can be given as an expression.
    </p>
    <p>
      Each parameter contains a mandatory <b>name</b> and an optional
      <b>display name</b> for more user-friendly identifier. 
	  <b>Description</b> is free text for further details.
    </p>
    <p>
      <b>Type</b> is an optional constraint for the type to which the parameter value resolves. 
      Possible types are:
    </p>
    <ul>
        <li><b>bit</b> indicates that the value shall resolve to a System Verilog bit,
		which by default is resolved to a 1-bit value, unless a vector size has been 
		specified.</li>

        <li><b>byte</b> indicates that the value shall resolve to a System Verilog byte,
		which is resolved to an 8-bit integer value.</li>

        <li><b>shortint</b> indicates that the value shall resolve to a System Verilog shortint,
		which is resolved to a 16-bit integer value.</li>
		
		<li><b>int</b> indicates that the value shall resolve to a System Verilog int, which
		is resolved to a 32-bit integer value.</li>
		
		<li><b>longint</b> indicates that the value shall resolve to a System Verilog longint,
		which is resolved to a 64-bit integer value.</li>
		
		<li><b>shortreal</b> indicates that the value shall resolve to a System Verilog
		shortint, which is resolved to a 32-bit floating point value. Both standard and 
		scientific format (e.g 0.002 and 2e-3) are supported. This type applies also to
		<b>minimum value</b> and <b>maximum value</b>.</li>
		
		<li><b>real</b> indicates that the value shall resolve to a System Verilog real,
		which is resolved to a 64-bit floating point value. Both standard and scientific 
		format (e.g. 0.002 and 2e-3) are supported. This type applies also to 
		<b>minimum value</b> and <b>maximum value</b>.</li>
		
		<li><b>string</b> indicates that the value shall contain any text.</li>
    </ul>
    <p>
      <b>Value</b> contains the mandatory default value of the parameter. This 
	  value can be overridden in a design that instantiates this component.
	  The value is given in SystemVerilog format and may be given as an expression.
      Any other text must be enclosed within quotes e.g. "Any text".
    </p>
	<p>
      By selecting a <b>choice</b>, the user can restrict the allowed parameter 
	  values to a set of predefined values. Possible values are defined in the
	  choices of the containing component.
    </p>
    <p>
      <b>Minimum value</b> and <b>maximum value</b> define the lower and upper
      boundary for the parameter value. If the selected type is <b>bit</b> or 
	  <b>string</b>, these fields have no effect.
    </p>
    <p>
      <b>Resolve</b> specifies the configuration of the parameter. 
      Possible resolve values are:
    </p>
        <ul>
        <li><b>immediate</b> indicates that the the value is defined
        within the containing component. The value cannot be overridden
        by the user or a generator in design configuration. This is the 
		default value, when no resolve has been set.</li>

        <li><b>user</b> indicates that the user can override the
        default value in design configuration. Generators are not 
        allowed to change the value.</li>

        <li><b>generated</b> indicates that a generator can
        override the default value in a design configuration.</li>
    </ul>
    <p>
      <b>Bit vector left</b> and <b>bit vector right</b> define the boundaries of a bit vector.
      These values can only be set to bit type parameters.
    </p>
    <p>
      <b>Array left</b> and <b>Array right</b> specify the left and right sides of array
      dimension for the parameter in an output language e.g. Verilog. Both of these are
      vendor attributes. The values can be given as an expression, but must resolve to
      a decimal number. In order to get a valid array, both <i>Array left</i> and
      <i>Array right</i> must be given.
    </p>
	<p>
	  <b>Usage count</b> displays the number of references made to this parameter. Selecting 
      the usage count opens a reference analysis of the parameter. The usage count is automatically 
      updated to display the number of references made to the parameter.
    </p>
    <p>
      Parameters editor contains a context menu (right mouse button)
      that provides following options:
    </p>
    <ul>
      <li>Add new parameter (Add row)</li>
      <li>Remove parameter (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>
  </body>
</html>
