Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: bugzilla-daemon@libre-soc.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 316] bperm TODO
Date: Fri, 15 May 2020 21:06:44 +0000
Message-ID: <bug-316-13-Jt0ghZYxXj@https.bugs.libre-soc.org/> (raw)
In-Reply-To: <bug-316-13@https.bugs.libre-soc.org/>

https://bugs.libre-soc.org/show_bug.cgi?id=316

--- Comment #1 from Cole Poirier <colepoirier@gmail.com> ---
The code below is what I have so far in my first attempt at solving this
problem:

 from nmigen import Elaboratable, Signal, Module, Repl, Cat
 from nmigen.cli import main

 class Bpermd(Elaboratable):
     def __init__(self, width):
         self.perm = Signal(width)
         self.rs   = Signal(width)
         self.ra   = Signal(width)
         self.rb   = Signal(width)

     def elaborate(self, platform):
         m = Module()
         m.d.comb += self.perm.eq(Cat(0, Repl(8)))
         index = Signal(8)
         for i in range(0, 7 + 1):
             index = rs[8 * i:8 * i + 7 + 1]
             with m.If(index.lt(64)):
                 m.d.comb += self.perm[i].eq(rb[index])
             with m.Else():
                 m.d.comb += self.perm[i].eq(0)
         m.d.comb += ra.eq(Cat(Cat(0, Repl(56)),prem[0:8]))
         return m

 if __name__ == "__main__":
     bperm = Bpermd(width=8)
     main(bperm, ports=[bperm.perm, bperm.rs, bperm.ra, bperm.rb])
```

When I try running a command (python3 bperm.py simulate -c 20 -v bperm.vcd)
taken from this
(http://blog.lambdaconcept.com/doku.php?id=nmigen:nmigen_hello_world) tutorial
I get the following error:
```
Traceback (most recent call last):
  File "bperm.py", line 26, in <module>
    main(bperm, ports=[bperm.perm, bperm.rs, bperm.ra, bperm.rb])
  File "/home/colepoirier/src/nmigen/nmigen/cli.py", line 74, in main
    main_runner(parser, parser.parse_args(), *args, **kwargs)
  File "/home/colepoirier/src/nmigen/nmigen/cli.py", line 65, in main_runner
    fragment = Fragment.get(design, platform)
  File "/home/colepoirier/src/nmigen/nmigen/hdl/ir.py", line 39, in get
    obj = obj.elaborate(platform)
  File "bperm.py", line 13, in elaborate
    m.d.comb += self.perm.eq(Cat(0, Repl(8)))
TypeError: __init__() missing 1 required positional argument: 'count'
```

I don't understand why I am getting the error that I'm missing a positional
argument count in my __init__() function, since it only takes the parameters
self and width. I'm sure this error is just due to my not understanding nmigen
properly yet, so any help will be very much appreciated.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
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: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-15 21:01 [libre-riscv-dev] [Bug 316] New: " bugzilla-daemon
2020-05-15 21:06 ` bugzilla-daemon [this message]
2020-05-15 21:11 ` [libre-riscv-dev] [Bug 316] " bugzilla-daemon
2020-05-15 21:23 ` bugzilla-daemon
2020-05-15 22:05 ` bugzilla-daemon
2020-05-15 22:14 ` bugzilla-daemon
2020-05-15 22:36 ` bugzilla-daemon
2020-05-16  0:24 ` bugzilla-daemon
2020-05-16  0:50 ` bugzilla-daemon
2020-05-16  1:16 ` bugzilla-daemon
2020-05-16  1:45 ` bugzilla-daemon
2020-05-16  2:03 ` bugzilla-daemon
2020-05-16  3:59 ` bugzilla-daemon
2020-05-16  4:20 ` bugzilla-daemon
2020-05-16  4:35 ` bugzilla-daemon
2020-05-16  4:37 ` bugzilla-daemon
2020-05-16  4:52 ` bugzilla-daemon
2020-05-16 21:15 ` bugzilla-daemon
2020-05-16 21:47 ` bugzilla-daemon
2020-05-16 21:49 ` bugzilla-daemon
2020-05-16 21:52 ` bugzilla-daemon
2020-05-16 22:24 ` bugzilla-daemon
2020-05-16 22:28 ` bugzilla-daemon
2020-05-16 22:36 ` bugzilla-daemon
2020-05-16 22:47 ` bugzilla-daemon
2020-05-16 23:26 ` bugzilla-daemon
2020-05-17 11:09 ` bugzilla-daemon
2020-05-17 17:19 ` bugzilla-daemon
2020-05-17 18:53 ` bugzilla-daemon
2020-05-17 18:56 ` bugzilla-daemon
2020-05-17 21:03 ` bugzilla-daemon
2020-05-17 21:28 ` bugzilla-daemon
2020-05-17 22:19 ` bugzilla-daemon
2020-05-17 23:22 ` bugzilla-daemon
2020-05-17 23:44 ` bugzilla-daemon
2020-05-18  0:14 ` bugzilla-daemon
2020-05-18  0:45 ` bugzilla-daemon
2020-05-18  0:50 ` bugzilla-daemon
2020-05-18  1:23 ` bugzilla-daemon
2020-05-18  4:08 ` bugzilla-daemon
2020-05-18 19:03 ` bugzilla-daemon
2020-05-18 22:29 ` bugzilla-daemon
2020-05-18 22:36 ` bugzilla-daemon
2020-05-18 23:12 ` bugzilla-daemon
2020-05-18 23:17 ` bugzilla-daemon
2020-05-18 23:34 ` bugzilla-daemon
2020-05-18 23:54 ` bugzilla-daemon
2020-05-19  0:05 ` bugzilla-daemon
2020-05-19  0:14 ` bugzilla-daemon
2020-05-19 14:40 ` bugzilla-daemon
2020-05-19 19:16 ` bugzilla-daemon
2020-05-19 19:24 ` bugzilla-daemon
2020-05-19 19:30 ` bugzilla-daemon
2020-05-20  0:09 ` bugzilla-daemon
2020-05-20  0:17 ` bugzilla-daemon
2020-05-20  0:27 ` bugzilla-daemon
2020-05-20  0:31 ` bugzilla-daemon
2020-05-20  0:40 ` bugzilla-daemon
2020-05-20  0:44 ` bugzilla-daemon
2020-05-20  0:48 ` bugzilla-daemon
2020-05-20  0:50 ` bugzilla-daemon
2020-05-20  0:56 ` bugzilla-daemon
2020-05-20  1:02 ` bugzilla-daemon
2020-05-20  1:04 ` bugzilla-daemon
2020-05-20  1:04 ` bugzilla-daemon
2020-05-20  1:05 ` bugzilla-daemon
2020-05-20  1:07 ` bugzilla-daemon
2020-05-20  1:09 ` bugzilla-daemon
2020-05-20  1:13 ` bugzilla-daemon
2020-05-20  1:34 ` bugzilla-daemon
2020-05-20 17:34 ` bugzilla-daemon
2020-05-20 17:48 ` bugzilla-daemon
2020-05-20 18:07 ` bugzilla-daemon
2020-05-20 18:13 ` bugzilla-daemon
2020-05-20 18:46 ` bugzilla-daemon
2020-05-20 19:42 ` bugzilla-daemon
2020-05-20 19:53 ` bugzilla-daemon
2020-05-20 22:18 ` bugzilla-daemon
2020-05-20 22:20 ` bugzilla-daemon
2020-05-21  0:25 ` bugzilla-daemon
2020-05-21 18:23 ` bugzilla-daemon
2020-05-21 18:38 ` bugzilla-daemon
2020-05-21 18:40 ` bugzilla-daemon
2020-05-21 18:42 ` bugzilla-daemon
2020-05-21 18:44 ` bugzilla-daemon
2020-05-21 19:02 ` bugzilla-daemon
2020-05-21 19:24 ` bugzilla-daemon
2020-05-21 21:36 ` bugzilla-daemon
2020-05-21 21:42 ` bugzilla-daemon
2020-05-21 22:00 ` bugzilla-daemon
2020-05-21 22:16 ` bugzilla-daemon
2020-05-21 22:24 ` bugzilla-daemon
2020-05-22  0:06 ` bugzilla-daemon
2020-05-22  1:20 ` bugzilla-daemon
2020-05-22 18:49 ` bugzilla-daemon
2020-05-23 22:35 ` bugzilla-daemon
2020-05-24 16:45 ` bugzilla-daemon
2020-05-24 17:57 ` bugzilla-daemon
2020-05-24 18:13 ` bugzilla-daemon
2020-05-24 18:26 ` bugzilla-daemon
2020-05-25 21:03 ` bugzilla-daemon
2020-05-25 21:36 ` bugzilla-daemon

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=bug-316-13-Jt0ghZYxXj@https.bugs.libre-soc.org/ \
    --to=bugzilla-daemon@libre-soc.org \
    --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