Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
Subject: Re: [libre-riscv-dev] daily kan-ban update 09jul2020
Date: Fri, 10 Jul 2020 21:44:05 +0100
Message-ID: <CAPweEDyKnVDBphETYxknPgUr=A0r691RsJSBUC_-NbPMeJMKaQ@mail.gmail.com> (raw)
In-Reply-To: <CAC2bXD5M7rxu5vYfze2nMt88DjnTW2R_OAKGMZX9AbA=Ez3n+A@mail.gmail.com>

On Fri, Jul 10, 2020 at 6:59 PM Jacob Lifshay <programmerjake@gmail.com> wrote:
>
> On Fri, Jul 10, 2020, 10:26 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
> wrote:
>
> > On Friday, July 10, 2020, Jacob Lifshay <programmerjake@gmail.com> wrote:
> >
> > yes with you now.  sorry took a while.
> >
>
> opened a bug report:
> https://github.com/nmigen/nmigen/issues/429

ok let's double-check it.  this pipe_start: (yosys read_ilang
div_simulator.py; show pipe_start):
https://ftp.libre-soc.org/2020-07-10_21-18.png

the chain is therefore (starting from fu/div/pipeline.py):

* DivBasePipe: pipe_start of type DivStagesStart

* DivStagesStart contains
 -        alu_input = DivMulInputStage(self.pspec)
 -      div_setup = DivSetupStage(self.pspec)
 -      core_setup = DivCoreSetupStage(self.pspec)

* DivMulInputStage has a default submodule name of "input"
* DivSetupStage gives its name as "setup_stage"
* DivCoreSetupStage gives its name as "core_setup_stage"

so because DivStagesStart chains those three together, we can confirm
that the input and output parameters - ra, rb, xer_so - are expected
to be copied through in that order.

this from visual inspection of the image, above, is confirmed.  taking ra (only)

* ra starts from pipe_start on the bottom left, gets named input_ra,
goes into input
* comes out of input as input_ra_42, gets named setup_stage_ra, goes
into setup_stage

so we expect

* gtkwave examination of input's ra to be non-zero
* input's ra$1 (which is the *output* from that module) to be non-zeri
* setup_stage's ra to be non-zero
* setup_stage's ra output to... well... exist.  and it doesn't
(because of the missing patch)

ok.  so in this comment:
https://github.com/nmigen/nmigen/issues/429#issuecomment-656814447

you're finding that ra is zero when (and i can confirm here that it is
non-zero) it's expected to be non-zero.

here's where the discrepancy exists: i *am* seeing non-zero values for
top.alu.pipe_start.setup_stage.ra

that's with everything updated on libre-soc side and with this nmigen checkout:
commit 303ea18cb60567e45a755c6b6289a601f27d46e6 (HEAD -> master,
origin/master, origin/HEAD)
Author: Alan Green <alan.green@gmail.com>
Date:   Tue Jun 23 22:12:02 2020 +1000

i've placed a copy of the div_pipeline.il and div_simulator.vcd here:
https://ftp.libre-soc.org/div_pipeline.tgz

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  reply index

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAPweEDx7hh_eia79gvefVq2J13rbvyAum-5jxr-XX+9SHFG6CQ@mail.gmail.com>
     [not found] ` <CAC2bXD55UhNWrqsAQCKczTd=7oSWWrpDSrvLmvHeu77ZZ8mJVQ@mail.gmail.com>
     [not found]   ` <CAPweEDyJ7ZZFim9vk3YK1ttdARnfqeWqtdV_FeDJ-sfcSW4CTg@mail.gmail.com>
     [not found]     ` <CAC2bXD4OSaJ7VR0QaqkHJnTR2b5hvuy-o_jcs7DSWAgPPi906A@mail.gmail.com>
     [not found]       ` <CAPweEDy0R6vXm=Lm166dvNf39h4pnbT-ZdnOtDEu8H1+Vmzs9Q@mail.gmail.com>
     [not found]         ` <CAC2bXD7yK_pJkNTicyOV3jhwR-Wv+yQFw49sKqeBifR1tYC4-Q@mail.gmail.com>
2020-07-10 12:33           ` Luke Kenneth Casson Leighton
2020-07-10 17:13             ` Jacob Lifshay
2020-07-10 17:25               ` Luke Kenneth Casson Leighton
2020-07-10 17:59                 ` Jacob Lifshay
2020-07-10 20:44                   ` Luke Kenneth Casson Leighton [this message]
2020-07-10 21:13                     ` Jacob Lifshay
2020-07-11  0:46                       ` [libre-riscv-dev] bisecting nmigen Jacob Lifshay
2020-07-11  1:12                         ` Luke Kenneth Casson Leighton
2020-07-11  3:04                           ` Jacob Lifshay
2020-07-11  8:58                             ` Luke Kenneth Casson Leighton
2020-07-11 11:34                               ` Luke Kenneth Casson Leighton
2020-07-13  1:14                                 ` Jacob Lifshay
2020-07-13  9:43                                   ` Luke Kenneth Casson Leighton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPweEDyKnVDBphETYxknPgUr=A0r691RsJSBUC_-NbPMeJMKaQ@mail.gmail.com' \
    --to=lkcl@lkcl.net \
    --cc=libre-riscv-dev@lists.libre-riscv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Libre RISC-V Mailing list Archives (accessible via public-inbox)

Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git