[Libre-soc-dev] Silly question
Cole Poirier
colepoirier at gmail.com
Mon Sep 14 18:40:03 BST 2020
On Mon, Sep 14, 2020 at 10:34 AM Jacob Lifshay <programmerjake at gmail.com> wrote:
> a nmigen Signal is the representation used for vhdl std_logic and integer
> iirc, so to_integet most likely translates to a no-op.
Ok with you there, I guess what I really need to know is the nmigen
way of interpreting an nmigen Slice as a python integer value so that
it can be used as a slice index. Currently getting the following error
with the following code (icache lines 366-371):
```
def read_insn_word(addr, data):
print("addr ", addr)
print("data ", data)
word = addr[2:INSN_BITS+2]
print("word ", word)
return data[word * 32:32 + word * 32]
addr (sig hit_nia)
data (proxy (array [(sig $signal), (sig $signal), (sig $signal), (sig
$signal)]) (sig hit_way))
word (slice (sig hit_nia) 2:3)
File "icache.py", line 1493, in elaborate
replace_way, plru_victim, cache_out)
File "icache.py", line 979, in icache_comb
read_insn_word(r.hit_nia, cache_out[r.hit_way])
File "icache.py", line 371, in read_insn_word
return data[word * 32:32 + word * 32]
TypeError: slice indices must be integers or None or have an __index__ method
```
Cole
More information about the Libre-soc-dev
mailing list