Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - why FSM so big

 
Thread Tools Search this Thread
Old 06-04-2005, 07:09 PM   #1
Default why FSM so big


Dear

I implemented 12-state controller and the operations are basically

ld 32bit data -> ld another 32bit data -> compare -> store into memory

The operation above is repeated 1024 times.....

Then I synthesized in FPGA tool.

Problem is that the area is too big (more than 10% of Vertex2pro),
though 'area' optimiation option was used.

When I do the same thing with 128 times of ld/ld/cmp/store, the area
was 3%.

I am wondering why this happens....

and I hope the area of FSM will be constant, regarless of the number of
ld/st...

If someone has this experience or idea, let me know....Thankyou



Pasacco
  Reply With Quote
Old 06-04-2005, 09:41 PM   #2
fred
 
Posts: n/a
Default Re: why FSM so big
In article < .com
>, Pasacco <> writes
>Dear
>
>I implemented 12-state controller and the operations are basically
>
>ld 32bit data -> ld another 32bit data -> compare -> store into memory
>
>The operation above is repeated 1024 times.....
>
>Then I synthesized in FPGA tool.
>
>Problem is that the area is too big (more than 10% of Vertex2pro),
>though 'area' optimiation option was used.
>
>When I do the same thing with 128 times of ld/ld/cmp/store, the area
>was 3%.


Open the design in a physical editor (or look at the synth report) to see
where the resources are being used and you will likely see where
inefficiencies exist. Such an occurrence usually results from a difference in
your understanding of how you think the design will implement and how the
synthesis tool actually implements it. If you wish your design to share
resources you must code in such a way that the synthesis tool has no
choice but to operate (and share) in the way you intend it.

You also make no mention of the size of your device.
--
fred


fred
  Reply With Quote
Old 06-04-2005, 10:07 PM   #3
mk
 
Posts: n/a
Default Re: why FSM so big
On 4 Jun 2005 11:09:34 -0700, "Pasacco" <> wrote:

>Dear
>
>I implemented 12-state controller and the operations are basically
>
>ld 32bit data -> ld another 32bit data -> compare -> store into memory
>
>The operation above is repeated 1024 times.....
>
>Then I synthesized in FPGA tool.
>
>Problem is that the area is too big (more than 10% of Vertex2pro),
>though 'area' optimiation option was used.
>
>When I do the same thing with 128 times of ld/ld/cmp/store, the area
>was 3%.
>
>I am wondering why this happens....
>
>and I hope the area of FSM will be constant, regarless of the number of
>ld/st...
>
>If someone has this experience or idea, let me know....Thankyou


It seems you're somehow merging the your counter into your
state-machine states. Without seeing your code, it would be difficult
to point to what the problem is but what you can do is to instantiate
a 10 bit counter and in a certain state of your FSM compare the
counter value to your max count to decide whether to continue to load
or terminate. This should decouple your FSM from the counter.



mk
  Reply With Quote
Old 06-05-2005, 12:52 PM   #4
Pasacco
 
Posts: n/a
Default Re: why FSM so big
Hi

Yes, it was 'counter' problem...when I removed it, the area is more or
less same...
Thankyou all for good comments



Pasacco
  Reply With Quote
Old 06-05-2005, 12:52 PM   #5
Pasacco
 
Posts: n/a
Default Re: why FSM so big
Hi

Yes, it was 'counter' problem...when I removed it, the area is more or
less same...
Thankyou all for good comments



Pasacco
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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

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




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 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 43 44 45 46