FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 04-12-2006, 05:54 AM
Guest
 
Posts: n/a
Default State Machine and Area Estimate Question

Hi,
I have a design with 2 components, each of which implement a small
but non trivial state machine. Each one has an associated area estimate
reported by Xilinx, say A1 and A2. Now I realized that both of these
components would never execute their state machine concurrently so I
combined both state machines into one larger state machine, with the
idea that I might be able to save some area since states in both
individual state machine might use the same resource. At the very least
I thought the new area of the larger state machine would be A1 + A2. I
was actually expecting something smaller than an additive area ( due to
the resource sharing), but instead I was surprised to note that Xilinx
reported an area larger than (A1 + A2). Whats going on here? Are
additional LUT components being used for routing purposes? Im somewhat
confused as it did the exact opposite of what I expected. Any help or
explanation would be appreciated!


Scott

Reply With Quote
  #2 (permalink)  
Old 04-12-2006, 06:48 AM
Jim Granville
Guest
 
Posts: n/a
Default Re: State Machine and Area Estimate Question

[email protected] wrote:
> Hi,
> I have a design with 2 components, each of which implement a small
> but non trivial state machine. Each one has an associated area estimate
> reported by Xilinx, say A1 and A2. Now I realized that both of these
> components would never execute their state machine concurrently so I
> combined both state machines into one larger state machine, with the
> idea that I might be able to save some area since states in both
> individual state machine might use the same resource. At the very least
> I thought the new area of the larger state machine would be A1 + A2. I
> was actually expecting something smaller than an additive area ( due to
> the resource sharing), but instead I was surprised to note that Xilinx
> reported an area larger than (A1 + A2). Whats going on here? Are
> additional LUT components being used for routing purposes? Im somewhat
> confused as it did the exact opposite of what I expected. Any help or
> explanation would be appreciated!


What exactly did you expect to share ?
Think of a state machine as a Set of registers, and a ROM.

The registers that hold the present state, clearly cannot share.
The ROMs will individually logic-reduce to pack into logic fabric,
but how would sharing help shrink 2 ROMs ?

Suppose a portion of the 2 roms does match, then you will need
decoders and MUXs to switch in the shared portion - so you go
backwards before you go forwards ( and expect a very smart synthesis
tool !)

Then a later state-edit could undo all this....

Generally, you make state-machines smaller by doing the opposite of
what you seem to propose : ie sometimes nested machines can be smaller.

-jg


Reply With Quote
  #3 (permalink)  
Old 04-12-2006, 05:58 PM
Guest
 
Posts: n/a
Default Re: State Machine and Area Estimate Question

I wrote the FSM's ina very high level way, to allow the tools to
generate their own data path as necessary. Therefore different states
may have mulitply operations within them that might be able to share
the same multiplier resource, since the two states are disjoint.

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
State machine behavior question [email protected] Verilog 3 06-21-2008 10:37 AM
Monolithic state machine or structured state machine? vax,3900 FPGA 6 05-12-2004 02:06 AM
please help! state machine Simone Winkler FPGA 4 01-05-2004 10:33 AM


All times are GMT +1. The time now is 06:48 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved