Re: [Gtkwave-users] Gtkwave with ghdl and integer arrays
Brought to you by:
gtkwave,
joel1234567
|
From: <by...@nc...> - 2020-05-11 22:47:23
|
BTW, the easy way to look at this stuff is to use ghwdump:
ghwdump -s queues1.ghw | more
etc.
So I can see that the data look to be in the dumpfile but are getting
mangled somewhere in the loader.
-Tony
-----------------------------------------From: "Terry Barnaby"
To: gtk...@li...
Cc:
Sent: Monday May 11 2020 1:47:42AM
Subject: Re: [Gtkwave-users] Gtkwave with ghdl and integer arrays
Many thanks for the reply.
I have had a brief look at the code and tried running it with
handle.flag_verbose in ghw.c with a simple test example. The ghw.c
code produces the debug output below. I have no idea on the GHW format
or on how any of this works, but it does "appear" to have a knowledge
of an array of i32's at this point.
There are two arrays in this code: arrayint of type arrayinttype
which is an array of 8 integer values and arrayunsigned which is an
array of 4 bit unsigned bit values. The arrayint is displayed as if it
were a single entity as an array of bits in hex format.
If you have any pointers I can have a bit of a further look to see
if the issue is within gtkwave or not. And many thanks for your work
on gtkwave.
/home/terry/gtkwave/gtkwave3/src/gtkwave -f simu/test.ghw -a
queues1.sav
GTKWave Analyzer v3.3.105 (w)1999-2020 BSI
[0] start time.
[195000000] end time.
Number of strings: 30
String table size: 206
string 1 (pl=0): '-'
string 2 (pl=1): '0'
string 3 (pl=1): '1'
string 4 (pl=1): 'H'
string 5 (pl=1): 'L'
string 6 (pl=1): 'U'
string 7 (pl=1): 'W'
string 8 (pl=1): 'X'
string 9 (pl=1): 'Z'
string 10 (pl=0): arrayint
string 11 (pl=8): arrayinttype
string 12 (pl=5): arraypos
string 13 (pl=5): arrayunsigned
string 14 (pl=13): arrayunsignedtype
string 15 (pl=0): clk
string 16 (pl=2): clock
string 17 (pl=0): init
string 18 (pl=2): integer
string 19 (pl=0): natural
string 20 (pl=1): numeric_std
string 21 (pl=0): proc1
string 22 (pl=0): reset
string 23 (pl=0): standard
string 24 (pl=2): std_logic
string 25 (pl=9): std_logic_1164
string 26 (pl=4): std_ulogic
string 27 (pl=2): stop
string 28 (pl=0): test
string 29 (pl=2): textio
string 30 (pl=0): unresolved_unsigned
enum std_ulogic: 'U' 'X' '0' '1' 'Z' 'W' 'L' 'H' '-'
subtype scalar: std_logic
scalar: integer
subtype scalar: integer
array: arrayinttype
subtype array: arrayinttype (nbr_scalars=8)
subtype scalar: natural
array: unresolved_unsigned
subtype array: (nbr_scalars=4)
array: arrayunsignedtype
subtype array: arrayunsignedtype (nbr_scalars=32)
std_ulogic: wkt=3
4 scopes, 5 signals, 43 signal elements
signal clk: 1 el [ #1]
signal reset: 1 el [ #2]
signal arrayint: 8 el [ #3 #4 #5 #6 #7 #8 #9 #10]
signal arrayunsigned: 32 el [ #11 #12 #13 #14 #15 #16 #17 #18 #19 #20
#21 #22 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33 #34 #35 #36 #37
#38 #39 #40 #41 #42]
signal arraypos: 1 el [ #43]
Time is 0 fs
read type 23 for sig 1
read type 23 for sig 2
read type 25 for sig 3
read type 25 for sig 4
read type 25 for sig 5
read type 25 for sig 6
read type 25 for sig 7
read type 25 for sig 8
read type 25 for sig 9
read type 25 for sig 10
read type 23 for sig 11
read type 23 for sig 12
read type 23 for sig 13
read type 23 for sig 14
read type 23 for sig 15
read type 23 for sig 16
read type 23 for sig 17
read type 23 for sig 18
read type 23 for sig 19
read type 23 for sig 20
read type 23 for sig 21
read type 23 for sig 22
read type 23 for sig 23
read type 23 for sig 24
read type 23 for sig 25
read type 23 for sig 26
read type 23 for sig 27
read type 23 for sig 28
read type 23 for sig 29
read type 23 for sig 30
read type 23 for sig 31
read type 23 for sig 32
read type 23 for sig 33
read type 23 for sig 34
read type 23 for sig 35
read type 23 for sig 36
read type 23 for sig 37
read type 23 for sig 38
read type 23 for sig 39
read type 23 for sig 40
read type 23 for sig 41
read type 23 for sig 42
read type 25 for sig 43
Directory (8 entries):
STR at 16
TYP at 209
WKT at 299
HIE at 310
EOH at 412
SNP at 416
CYC at 479
DIR at 836
Tailer: directory at 836
Exiting.
Terry
On 11/05/2020 03:40, Anthony Bybell wrote:
It's most likely the GHW dumper in GHDL. You'd have to ask Tristan
if he supports it.
-Tony
On Sun, May 10, 2020 at 9:10 AM -0400, "Terry Barnaby" wrote:
Gtkwave is a great tool :) One problem I have noticed is that it
doesn't seem to be able to display a VHDL array of integers from a
ghdl run using the ghw file format. I don't know if this is a ghdl or
gtkwave issue. If in VHDL you have: type ProcessQueueType is array(0
to 7) of integer; signal processQueue : ProcessQueueType := (others =>
0); The array processQueue is shown in gtkwave as it it were a bit
array (like std_logic_vector processQueue[0:7]) rather than an array
of values. It's fine when the array is of std_logic_vector or
whatever. _______________________________________________
Gtkwave-users mailing list Gtk...@li... [2]
[3]https://lists.sourceforge.net/lists/listinfo/gtkwave-users [4]
_______________________________________________ Gtkwave-users mailing
list Gtk...@li... [5]
[6]https://lists.sourceforge.net/lists/listinfo/gtkwave-users [7]
Links:
------
[1] mailto:te...@be...
[2] mailto:Gtk...@li...
[3] https://lists.sourceforge.net/lists/listinfo/gtkwave-users
[4] https://lists.sourceforge.net/lists/listinfo/gtkwave-users
[5] mailto:Gtk...@li...
[6] https://lists.sourceforge.net/lists/listinfo/gtkwave-users
[7] https://lists.sourceforge.net/lists/listinfo/gtkwave-users
|