Suraj Kurapati wrote:
On Tue, Mar 16, 2010 at 9:46 PM, Robert Smolinski <rsmol...@illinois.edu> wrote:
I have a "reg [79:0] mem[31:0]", I'd like to access mem[0] and such, but I
can't find the specific ruby syntax to do so. Is it even possible to access
it?
The `mem` here is a "reg array" in VPI terminology (see page 393,
section "26.6.7 Regs and reg arrays", of IEEE 1364-2005) because it is
a contiguous block of 32 registers, each 80 bits wide.
You can convert the "reg array" VPI handle it into a Ruby array
(containing new VPI handles that point to the members of the VPI "reg
array") by using the VPI::Handle#to_a() method:
regs = mem.to_a
puts regs[0] # do something with first register
regs.each do |reg|
# do something with `reg`
puts reg
end
Hope this helps.
I print out using DUT.each_vpiNet and it doesn't print out any of the
names declared with "reg".
I'm running the simulations with cver 2.12.a and ruby-vpi 21.1.0.