GUI

../_images/gui.png

Source code: https://github.com/fpgawars/icestudio

Blocks menu

Basic

It contains the basic blocks:

  • code: code block. Ports are asked in a prompt dialog.
  • input: input block. Block name is asked in a prompt dialog.
  • output: output block. Block name is asked in a prompt dialog.

Note

Multiple input and output blocks can be created using the space 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 and output blocks allows to modify the block name. In code block ports definition, input and output ports are separated by a space. Port names are separated by ,. For example: a,b: input a and b, a,b c: input a and b, output c. Double click over code blocks allows to modify its input and output ports.

Stored blocks

It contains all stored blocks sorted by categories. These menu is generated when the application starts.

Hint

Examples are stored in app/resources/blocks. To create a new block category just create a directory there. To create a new block copy and paste a .iceb file.

Graph

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

Pan & Zoom

Pan is performed using the mouse left button over the background. Zoom is performed using mouse wheel. Both values can be reset in View > Reset view.

../_images/gui-pan-zoom.png

Select

Block selection is performed using the mouse right button. Blocks can be selected/unselected individually using right-click/Ctrl+right-click, respectively. In addition, several blocks can be selected by a selection box. Selection is cancelled when the background is clicked.

../_images/gui-select.png

Blocks examination

Non-basic blocks can be readonly examined by double clicking the block using the mouse left button. This is a recursive action.

../_images/gui-examination.png

Note

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