Skip to content

Should we use std_logic or std_ulogic? #13

Open
@Paebbels

Description

@Paebbels

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 and std_ulogic_vector for fabric internal interfaces
  • Limit usage of std_logic and std_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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions