cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
3,333 Views
Registered: ‎04-25-2008

assigment to an array of FSM with others

Hello,

 

I have a little problem with the XST

 

I have a set of outputs that depends each one on a FSM. All the FSM can have the same states (at different time or at the same time) so I have described the type for a single FSM and then a type for an array of FSM:

 

-- TYPE TO REPRESENT THE STATE OF THE SHOT INSIDE A BRANCH


  type ShotStateType is (ShotStop, ShotDead, ShotUp, ShotDown);
--                                    (  0     ,  1      ,   2   ,   3     )


  -- ShotStop IS THE INITIAL STATE
  -- ShotDead IS THE DEAD TIME (NONE OF THE IGBTS IS WORKING)
  -- ShotUp IS WHEN THE UPPER IGBT IS ON (AND THE LOWER IS OFF)
  -- ShotDown IS WHEN THE LOWER IGBT IS ON (AND THE UPPER IS OFF)


  type ShotStateArr is array (integer range <>) of ShotStateType;

 

Then I have declared the array signal:

 

  ShotInvState     : out ShotStateArr(3 downto 0);

 

The problem arises when I try to initialize all the FSM at the same time:

 

  ShotInvState <= (others => ShotStop);

 

The XST gives the next warning: 

 

WARNING:Xst:1610 - "Inv_Pulses.vhd" line 130: Width mismatch. <ShotInvState> has a width of 8 bits but assigned expression is 4-bit wide.

 

Is this a real warning?

 

Thank you very much

 

Fernando

0 Kudos
0 Replies