You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are many black box modules in the tests, which have the (* whitebox *) attribute. For example:
/*
* `input wire a` should be detected as a clock because of the `(* CLOCK *)`
* attribute.
*/
(* whitebox *)
module BLOCK(a, b, o);
(* CLOCK *)
input wire a;
input wire b;
output wire o;
endmodule
I think the documentation should give a brief explanation on why there is a (* whitebox *) attribute, what is the reason to put this there. Perhaps this could be done on it's own page so that we don't repeat it everywhere (in a separate issue/PR).
(Actually, I myself don't know why is that attribute included.)
The (* whitebox *) attributes means that Yosys should treat the object like a black box but is allow to "look inside" when running queries.
A black box is allowed to be "not fully specified". This means for example the inputs and outputs can be left unconnected and Yosys won't assume it can optimize them away.
We should probably heavily link to the Yosys documentation around these attributes, but I do think we want to make sure to have our own information here.
Originally posted by @daniellimws in #42 (comment)
The text was updated successfully, but these errors were encountered: