Open
Description
While PCB signals in an I²C interface need resolution capabilities, type std_logic
is fixed. But what about fabric internal signals. Here is no multiple-source behavior / driving value resolution needed. Moreover, std_ulogic
could prevent lots of coding errors.
Earlier revisions of the VHDL language had problem, because std_logic_vector
and std_ulogic_vector
where not compatible. This was changed in VHDL-2008.
I propose to skip the std_logic
only rule and propose:
- Use
std_ulogic
andstd_ulogic_vector
for fabric internal interfaces - Limit usage of
std_logic
andstd_logic_vector
to external interfaces (PCB level) where multiple driven wires are needed. - Use
unresolved_unsigned
for address buses.
Note:unsigned
has also an unresolved variant.
/cc @JimLewis, @LarsAsplund