Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
17 years ago

how to increase frequency

Hi,

I have written a code in Verilog and its frequency is comming out to be 28MHz only for Cyclone EPC6Q240C8 device.

The place where frequency drops is Average Calculation.

I have 3 registers 24bit each.

Say,

reg1 [23:0]

reg2 [23:0]

reg3 [23:0]

each of these registers contain 8 bit data. And I need to calculate the average of these nos.

So, how I am doing is:

//---------------------------------------------------------

always block 1

sum1 <= reg1[23:16] + reg1[15:8] + reg1[7:0];

sum2 <= reg2[23:16] + reg2[15:8] + reg2[7:0];

sum3 <= reg3[23:16] + reg3[15:8] + reg3[7:0];

always block 2

sum4 <= sum1 + sum2 + sum3;

always block 3

average <= (my conditions)? sum4 / 9 : average;

average_valid <= (my conditions)? 1'b1 : 1'b0;

//---------------------------------------------------------

Simply by eleminating this part of code, the frequency of my design shoots to 70MHz.

So, please can anyone provide me with an alternative approach to calculate the average without compromising with the frequency.

Thank you,

-Amit

14 Replies