[Libre-soc-dev] daily kan-ban update 30oct2020

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat Oct 31 00:00:50 GMT 2020

On 10/30/20, Cesar Strauss <cestrauss at gmail.com> wrote:

> * Created an OperandProducer class, for testing the Computation Units.
> See:
> https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/experiment/test/test_compalu_multi.py;h=b0211e0b47ef8706bb4e27164341144651e02a77;hb=HEAD#l34


> Since it seems to be the first use of "yield Passive()" in libre-soc,
> I'll make a comment on it.
> What it does, is to automatically terminate the corresponding process
> when all the other "normal" (active by default) processes terminate.

interesting.  i use a "stop" variable in a common class (or a global)

does Passive() terminate *all* processes?

i had found that return was enough to stop one process.

> It is useful in this case because the process is basically an infinite
> loop, monitoring and reacting to a signal in the DUT. In fact, it could
> have easily been implemented in nMigen RTL.
> So, "yield Passive()" is potentially useful when replacing a RTL module
> with an equivalent Python process.


> Next week
> =========
> * Apply the new OperandProducer class to the rest of the CompUnit unit
> tests.
> * Start adding formal verification to the CompUnits.

this would be really good.  Michael did start on it.


More information about the Libre-soc-dev mailing list