xilinx Synthesis report - please help..

M

Moti Cohen

Guest
Hi all,

I'm cuurently working on a xilinx spartan 2e design, for debug I'm
using the chipscope pro LA.
the problem is as follows: I'm using the chipscope pro for looking at
the logic lines (bus) that define the "state" of the state machine in
order to determine the present state of the machine at a given time.
but the chipscope is giving me the binary (or oct, hex etc.) value of
the bus.
when I'm declaring the state machine in VHDL I'm giving each state a
name (the synt' does the enumeration automatically) so I do not know
what is the corresponding bus value for each state.
I'm pretty sure that the Xilinx synthisizer generates this kind of
data but I dont know where to find it and so is their FAE :)

for example:
if I declare a simple state machine with the follwoing states:

type state_type is (idle , first , second , last)

I would like to get a reference data such as:

idle = 00
first = 01
second = 10
last = 11

that would be very helpfull when debugging large state machines with
chipscope.
So if anyone knows where to find it (if possible) I would realy
appreciate it.

thanks in advance, Moti.
 
Moti,

As you say, the synthesiser automatically assigns binary values to the
states. The states could be
assigned linearly (e.g. "00", "01", "10", "11"), or as one-hot (e.g. "0001",
"0010", "0100", "1000"),
or using any other scheme that the synth wants. The assignments could change
as your code is changed
(e.g. if timing becomes harder to meet due to some change).

Therefore, for your debug purposes, it would be best to assign a different
value to a STATE_DEBUG
signal upon entering every state, and bring this STATE_DEBUG signal out for
your debugging.
This still allows the synth the flexibilty of chosing the "best" binary
values for the states,
but ensures that the debug signal values do not change between builds.

Remove the m after my name for emails, otherwise they will be bounced.

Good Luck,

Ken Morrow,
Morrow Electronics Limited,
UK.

FPGA design for comms
www.morro.co.uk


"Moti Cohen" <moti@terasync.net> wrote in message
news:c04bfe33.0408120546.6e78d19b@posting.google.com...
Hi all,

I'm cuurently working on a xilinx spartan 2e design, for debug I'm
using the chipscope pro LA.
the problem is as follows: I'm using the chipscope pro for looking at
the logic lines (bus) that define the "state" of the state machine in
order to determine the present state of the machine at a given time.
but the chipscope is giving me the binary (or oct, hex etc.) value of
the bus.
when I'm declaring the state machine in VHDL I'm giving each state a
name (the synt' does the enumeration automatically) so I do not know
what is the corresponding bus value for each state.
I'm pretty sure that the Xilinx synthisizer generates this kind of
data but I dont know where to find it and so is their FAE :)

for example:
if I declare a simple state machine with the follwoing states:

type state_type is (idle , first , second , last)

I would like to get a reference data such as:

idle = 00
first = 01
second = 10
last = 11

that would be very helpfull when debugging large state machines with
chipscope.
So if anyone knows where to find it (if possible) I would realy
appreciate it.

thanks in advance, Moti.
 
Identify will display enum types directly. Everything
is done in terms of the RTL source. No guessing.

- Ken

Moti Cohen wrote:
Hi all,

I'm cuurently working on a xilinx spartan 2e design, for debug I'm
using the chipscope pro LA.
the problem is as follows: I'm using the chipscope pro for looking at
the logic lines (bus) that define the "state" of the state machine in
order to determine the present state of the machine at a given time.
but the chipscope is giving me the binary (or oct, hex etc.) value of
the bus.
when I'm declaring the state machine in VHDL I'm giving each state a
name (the synt' does the enumeration automatically) so I do not know
what is the corresponding bus value for each state.
I'm pretty sure that the Xilinx synthisizer generates this kind of
data but I dont know where to find it and so is their FAE :)

for example:
if I declare a simple state machine with the follwoing states:

type state_type is (idle , first , second , last)

I would like to get a reference data such as:

idle = 00
first = 01
second = 10
last = 11

that would be very helpfull when debugging large state machines with
chipscope.
So if anyone knows where to find it (if possible) I would realy
appreciate it.

thanks in advance, Moti.
 
Ken McElvain <ken@synplicity.com> wrote in message news:<411C3EF1.7060005@synplicity.com>...
Identify will display enum types directly. Everything
is done in terms of the RTL source. No guessing.
It's just a tad more expensive though, eh?

Cheers,
JonB
 

Welcome to EDABoard.com

Sponsor

Back
Top