User Guide

../_images/main.png

Blocks menu

Basic

It contains the basic blocks:

  • Input: show a dialog to insert the name and type of the input block.
  • Output: show a dialog to insert the name and type of the output block.
  • Constant: show a dialog to insert the name and type of the constant block.
  • Code: show a dialog to insert the ports and parameters of the code block.
  • Information: create an empty text box block.

Note

Input and output ports can be set to virtual. Virtual ports are used to independent-FPGA projects. Also, they can be configured as a bus by adding the notation [x:y] to the port name.

Note

Constant blocks can be set to local. Local parameters are not exposed when the project is added as a block.

Hint

Multiple input, output and constant blocks can be created using the comma separator. For example: x, y, z will create 3 blocks with those names. FPGA I/O ports values are set in the block combo box. These values can be set by searching and also unset by doing click on the cross. Double click over input, output or constant block allows to modify the block name and type. In code block ports definition, multiple input and output ports, and parameters, can be created also using the comma separator.

Stored blocks and collections

It contains all stored blocks sorted by categories. This menu is generated when the application starts. It can show the Default collection or any installed collection.

Design

This is the main panel. It contains the blocks and the wires.

Pan & Zoom

Pan is performed using the Ctrl + mouse left button or mouse right button over the background. Zoom is performed using mouse wheel. Both values can be reset in Edit > Reset view.

../_images/pan-zoom.png

Select

Block selection is performed using the mouse left button. Blocks can be selected/unselected individually using left-click/Shift+left-click, respectively. In addition, several blocks can be selected by a selection box. When using the Shift key, the new selection is added to the previous one. A selection is canceled when the background is left-clicked.

../_images/select.png

Move blocks

Any block or blocks selection can be moved in the design using the mouse left button over the block or the selection. Also a blocks selection can be moved with the arrow keys.

../_images/move.png

Resize text blocks

Code and Information blocks can be resized with the resize tool in the bottom-right corner of the block.

../_images/resize.png

Block examination

Non-basic blocks can be read only examined by double clicking the block using the mouse left button. This is a recursive action. In order to go back, click on the < back link or press the back key.

During the examination, pan, zoom and code navigation are enabled. Also the ‘Reset view’ and ‘Fit content’ actions.

../_images/examination.png

Note

The examination path is stored in the breadcrumbs. This allows to go back to any previous block.

Verilog error detection

The Verify, Build and Upload errors are captured and showed in the design with a notification.

../_images/code-error-notification.png

If the error comes from a Code block an inline annotation is set:

../_images/code-error-annotation.png

If the error comes from a Generic block it is marked in red.

../_images/code-error-block.png

Undo/Redo

Icestudio allows to undo/redo the following actions:

  • Add or remove a block.
  • Add or remove a wire.
  • Move a block or a blocks selection.
  • Edit an I/O block: name, type and value.
  • Edit a Constant block: name, type and value.
  • Edit a Code block: ports, parameters and content.
  • Edit an Information block: type and content.
  • Change the board.
  • Change the language.

Take a snapshot

Taking a png snapshot of the application is as easy as press Ctrl+P. A save dialog appears to set the name and the path of the captured image.