[Libre-soc-bugs] [Bug 1177] revert unauthorized change to pseudocode language

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Nov 1 23:40:10 GMT 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1177

--- Comment #11 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #10)

> ok, yeah, that would work. I didn't initially pick that since I really think
> SelectableInt should just be a bit-string with nothing else...

abolutely not.

performance is low enough as it is.


> I think it shouldn't be named `ok` tho, I think we need to pick a name that
> makes sense and when you first see it you don't need to look at the docs to
> figure out what it means (since people often don't). I think I'll use
> `touched` since what we really want to detect is if the variable hasn't been
> written or replaced. touched will be set by all operations that produce a
> SelectableInt, including copies.
>0

no because it matches the HDL which already has precedet. and is short.
ensure that the comment links here and also says "this matches the HDL
it is a stupid name" or something more appropriate but explicitly clear.

comments are precisely and exactly to warn people about counterintuitive
things.


with some thought i realised it only needs setting to True in the
constructor.

then explicitly set ok=False on all "read" (input) parameters.

2174         # main input registers (RT, RA ...)
2175         inputs = []
2176         for name in input_names:
2177             regval = (yield from self.get_input(name, ew_src))
2178             log("regval name", name, regval)
       ->        regval.ok = False
2179             inputs.append(regval)



however when passing in RT (and other write/output parameters)
those must *also* have their ok flag set to False.

when the python-autogenerated-code replaces RT it will be replaced
with a SelectableInt that has an "ok=True"

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list