Open Paebbels opened 4 years ago
Agree
I've never really worked with std_ulogic
because of old habits and compatibility issues. It should be the better option so why not.
@LarsAsplund I think compatibility issues have been solved since years, but no one tried if it works now :).
The compatibility issues I've run into are with brand X synthesis tools, and largely revolve around the redefinition of the vectors in 2008. Given that all this is only even a discussion if 2019 is well supported, compatibility shouldn't be an issue.
On Sat, Jul 18, 2020, 14:59 Patrick Lehmann notifications@github.com wrote:
@LarsAsplund https://github.com/LarsAsplund I think compatibility issues have been solved since years, but no one tried if it works now :).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/VHDL/Interfaces/issues/13#issuecomment-660548437, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBCACBL5TYYUCTXSQM3JYTR4ILMXANCNFSM4OQTMLAA .
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
andstd_ulogic_vector
where not compatible. This was changed in VHDL-2008.I propose to skip the
std_logic
only rule and propose:std_ulogic
andstd_ulogic_vector
for fabric internal interfacesstd_logic
andstd_logic_vector
to external interfaces (PCB level) where multiple driven wires are needed.unresolved_unsigned
for address buses.Note:
unsigned
has also an unresolved variant./cc @JimLewis, @LarsAsplund