[libre-riscv-dev] nMIgen now generates C++ models through yosysCXX!!!

Cole Poirier colepoirier at gmail.com
Sun Jun 21 21:48:20 BST 2020

On Jun 21 2020, at 1:35 pm, Yehowshua <yimmanuel3 at gatech.edu> wrote:

> Sometimes - nMigen doesn’t always upgrade cleanly for me.
> It also possible you have have installed two different versions of nMigen.
> Usually, `pip remove nmigen` and then `pip install git+https://github.com/nmigen/nmigen`
> Fixes such things for me.

Thanks Yehowshua. It's unfortunately not as simple as me messing this
up, though I would prefer for that to be the case. It appears that this
will be a persistent error going forwards, but it fortunately has a
simple solution: Run `python3 setup.py develop` after each time new
nmgien code is pulled in. I've asked whitequark to document this
necessary workflow change in the README. But she is working on a much
more detailed set of documentation for nMigen, and said she will include
it there instead.

She has been very responsive and helpful. Please see the below
discussion on the relevant github issue (https://github.com/nmigen/nmigen/issues/407)


@whitequark commented

How are you installing nMigen?

@colepoirier commented

`python3 setup.py develop`

It appeared in the past that it was only necessary to run this command
once, and new commits pulled in after this would work fine. Now, it
appears that one must run python3 setup.py develop every time a new
commit is pulled in from nmigen/nmigen source repo.

@whitequark commented

>Now, it appears that one must run python3 setup.py develop every time a
>new commit is pulled in from nmigen/nmigen source repo.

Are you sure? I think what happened in your case is that when you
update, the files are automatically updated as well, but the
dependencies are not; to get those updated you have to rerun setup.py.

@colepoirier commented

That sounds accurate to what happens. The effect however is the same,
python3 setup.py develop must be run every time new nmigen code is
pulled in case there have been dependency changes. This is fine now that
I know this is the assumption I must operate under. Is there a note to
this effect on the README? If not, I think it is probably a necessary
addition. Thanks for your help in clearing this up.

@whitequark whitequark added improvement and removed question labels
@whitequark commented

There isn't; I'm going to describe this in the upcoming documentation
(see the doc branch) which already goes into more detail with regards to
Python package management than README.

@colepoirier commented

Ah thanks very much. Sorry I was looked in the docs older of the master
branch, now having looked at the same under the 'doc' branch things are
much clearer. I really appreciate you taking the time and effort to do this!

@whitequark commented

Yeah the new docs aren't really finished or properly public yet, it's
understandable you'll get confused.

More information about the libre-riscv-dev mailing list