Michael Neuling
12/10/2020, 12:50 AMassign io_out = count;
assign io_oeb = {(`MPRJ_IO_PADS-1){rst}};
rst seems to be active high (from the counter example) in the same file. So that means io_oeb is active low (ie io_oeb = 0 means output enable).
Looking at the rest of the logic (and some other carvel forks), that oeb seems to be active high (ie io_oeb = 1 mean output enable).
Am I right in thinking the user example is wrong with it's use of io_oeb? should be
assign io_oeb = not {(`MPRJ_IO_PADS-1){rst}};
Tim Edwards
12/10/2020, 3:16 PMrst
to be controlled from either la_data_in[65]
or wb_rst_i
, depending on the state of la_oen[65]
. So I think that the intention is that io_oeb
is purposely held high until the program driving the SoC configures it otherwise.