The programmable full (prog_full
) and programmable empty
(prog_empty
) flags provide the user flexibility in specifying when
the programmable flags assert and deassert. These flags can be set either by constant
value(s) or by input port(s). These signals differ from the full and empty flags because
they assert one (or more) clock cycle after the assert threshold
has been reached. These signals are deasserted some time after the negate threshold has
been passed. In this way, prog_empty
and prog_full
are
also considered pessimistic flags.