[libre-riscv-dev] [Bug 208] implement CORDIC in a general way sufficient to do transcendentals

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue May 5 15:52:35 BST 2020


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

--- Comment #40 from Michael Nolan <mtnolan2640 at gmail.com> ---
Luke, your latest commit (74af221) breaks the tests for the pipelined fpsin:

======================================================================
ERROR: test_rand (__main__.SinCosTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_fp_pipe.py", line 80, in test_rand
    self.run_test(iter(inputs), outputs=iter(outputs))
  File "test_fp_pipe.py", line 21, in run_test
    vl = rtlil.convert(dut, ports=dut.ports())
  File "/home/mnolan/.local/lib/python3.8/site-packages/nmigen/back/rtlil.py",
line 1017, in convert
    fragment = ir.Fragment.get(elaboratable, platform).prepare(**kwargs)
  File "/home/mnolan/.local/lib/python3.8/site-packages/nmigen/hdl/ir.py", line
540, in prepare
    raise TypeError("Only signals may be added as ports, not {!r}"
TypeError: Only signals may be added as ports, not (slice (sig x) 0:1)

It looks like dut.ports() is returning a bunch of slices for the output signals
and I'm not sure why:

[(sig p_valid_i), (sig p_ready_o), (sig a), (sig muxid), (sig op), (sig
n_ready_i), (sig n_valid_o), (slice (sig x) 0:1), (slice (sig x) 1:2), (slice
(sig x) 2:3), (slice (sig x) 3:4), (slice (sig x) 4:5), (slice (sig x) 5:6),
(slice (sig x) 6:7), (slice (sig x) 7:8), (slice (sig x) 8:9), (slice (sig x)
9:10), (slice (sig x) 10:11), (slice (sig x) 11:12), (slice (sig x) 12:13),
(slice (sig x) 13:14), (slice (sig x) 14:15), (slice (sig x) 15:16), (slice
(sig x) 16:17), (slice (sig x) 17:18), (slice (sig x) 18:19), (slice (sig x)
19:20), (slice (sig x) 20:21), (slice (sig x) 21:22), (slice (sig x) 22:23),
(slice (sig x) 23:24), (slice (sig x) 24:25), (slice (sig x) 25:26), (slice
(sig x) 26:27), (slice (sig x) 27:28), (slice (sig x) 28:29), (slice (sig x)
29:30), (slice (sig x) 30:31), (slice (sig x) 31:32), (slice (sig y) 0:1),
(slice (sig y) 1:2), (slice (sig y) 2:3), (slice (sig y) 3:4), (slice (sig y)
4:5), (slice (sig y) 5:6), (slice (sig y) 6:7), (slice (sig y) 7:8), (slice
(sig y) 8:9), (slice (sig y) 9:10), (slice (sig y) 10:11), (slice (sig y)
11:12), (slice (sig y) 12:13), (slice (sig y) 13:14), (slice (sig y) 14:15),
(slice (sig y) 15:16), (slice (sig y) 16:17), (slice (sig y) 17:18), (slice
(sig y) 18:19), (slice (sig y) 19:20), (slice (sig y) 20:21), (slice (sig y)
21:22), (slice (sig y) 22:23), (slice (sig y) 23:24), (slice (sig y) 24:25),
(slice (sig y) 25:26), (slice (sig y) 26:27), (slice (sig y) 27:28), (slice
(sig y) 28:29), (slice (sig y) 29:30), (slice (sig y) 30:31), (slice (sig y)
31:32), (sig muxid), (sig op)]

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list