Block Preview

Introduction

Principle of Operation

User LED is the simplest of the Board Pin blocks: a single bit of your design wired straight to the DT5550’s user-controllable LED.

There is no blinker, no pulse stretcher and no register inside the block. If you want the LED to blink, to latch an error or to be visible at all for a one-clock event, build that in the diagram and feed the result here - a pulse one clock wide at 80 MHz is 12.5 ns and no eye will see it.

Pin Description

LED Input 1 bit BIT

LED state. Bit 0 of this 1-bit vector is assigned directly to the LED_USER top-level port.

The assignment is emitted unconditionally (there is no open guard on this pad), so wire it. Level-sensitive, not edge-sensitive: the LED follows the signal for exactly as long as it is asserted.

Default: Must be connected

Properties

(none) (none)
The User LED block has no configurable properties - its property list is empty and the LED it drives is fixed board hardware.

⚙️ Detailed Operation

What the block compiles to

CompileHDL adds one 1-bit input pad LED and emits exactly one line:

vhdl
  LED_USER <= <your signal>(0);
  

That is all. No process, no generic, no compiler message, no register map entry.

The board side

LED_USER is a top-level output port of the DT5550 design, declared unconditionally by the board template (dt5550b_top.vht):

vhdl
  LED_USER : out std_logic
  

and constrained by the board’s XDC to

tcl
  set_property PACKAGE_PIN J19      [get_ports LED_USER]
set_property IOSTANDARD LVCMOS25  [get_ports LED_USER]
  

Nothing else in the template or in the board plug-in assigns LED_USER, so this block is its only driver. In a design that does not contain the block, the port is left undriven.

Polarity

The bit is passed through with no inversion and no buffering - the generated line is a direct assignment. Whether a '1' lights the LED or extinguishes it depends on how the LED is wired on the board, which is not determined from these sources. If it comes out the wrong way round, invert the signal in the diagram.

Timing

Pure wiring: zero latency, no clock, no reset. There is also no glitch filtering - combinational hazards on the driving signal reach the pin.

Typical use

  • “Firmware alive” heartbeat, driven by the MSB of a free-running counter.
  • Sticky error flag, driven by a set-only flip-flop in the diagram.
  • Acquisition-running indicator, driven by a DAQ block’s BUSY output.

Board availability

Offered only on the DT5550 (board plug-in GUID 413F904B-7FD0-43EF-B127-74278C23F1A5).

SupportedBoard also lists DT5550SE and DT5560, but neither has any effect: the toolbox visibility filter in Form1_plugins.vb implements a BOARD_MODELS.DT5550 branch only, no board plug-in declares itself DT5550SE, and the DT5560 top-level template contains no LED_USER port.