# Forum: FPGA, VHDL & Verilog division on the last outputs

 Author: Basma Hassan (Company: bhit) (basma) Posted on: 2014-02-13 11:06

Rate this post
 0 ▲ useful ▼ not useful
Hi All,
if i have a vector such as (1,2,3,4....100) and i want to use only the
last output 100 to make division on the last output from another vector
such as (5,9,6,8.....200)
i.e i want to divide 100/200 . can i make it in vhdl i don't know if my
question is logic or not or how can i do it.

 Author: Lothar Miller (lkmiller) (Moderator) Posted on: 2014-02-13 11:17

Rate this post
 0 ▲ useful ▼ not useful
Basma Hassan wrote:
> i have a vector such as (1,2,3,4....100)
Show the definition of this "vector".
In what language do you want to solve the problem?
What is the actual problem?

 Author: Basma Hassan (Company: bhit) (basma) Posted on: 2014-02-13 11:23

Rate this post
 0 ▲ useful ▼ not useful
if the first is
[vhdl]
signal dis : integer range 0 to 255 := 0;
signal n   : integer range 0 to 255 := 0;
and i want to divide the last output from the two signals
and what if there is a zero value in signal n

 Author: Lothar Miller (lkmiller) (Moderator) Posted on: 2014-02-13 12:00

Rate this post
 0 ▲ useful ▼ not useful
Basma Hassan wrote:
> and i want to divide the last output from the two signals
There is only one value in both of the two signals. So there is no
whatsoever "last value".

> and what if there is a zero value in signal n
Then you are not allowed to perform a division, because the result will
be inpredictable and invalid.

Is this for simulation only or do you want to implement this division in
real hardware?

 Author: basma hassan (Guest) Posted on: 2014-02-13 19:20

Rate this post
 0 ▲ useful ▼ not useful
Lothar Miller wrote:

> There is only one value in both of the two signals. So there is no
> whatsoever "last value".
the two signal will have values as (1,6,9,8,.....100) and the second
signal will have values as (0,2,8,9.......,200)
and i want to fetch the two last outputs from the two signal (100,200)
and divide 100/200.

> Is this for simulation only or do you want to implement this division in
> real hardware?
for both simulation and then for implementation in real hardware.

 Author: Lothar Miller (lkmiller) (Moderator) Posted on: 2014-02-14 06:36

Rate this post
 0 ▲ useful ▼ not useful
Basma Hassan wrote:
> signal dis : integer range 0 to 255 := 0;
> signal n   : integer range 0 to 255 := 0;
basma hassan wrote:
> the two signal will have values as (1,6,9,8,.....100) and the second
> signal will have values as (0,2,8,9.......,200)
For sure each of the above declared signals n and dis will not take
more than one value.

However, if you have arrays of integer values:
  subtype smallint is integer range 0 to 255; signal dis : array (0 to 15) of smallint := 0; signal n : array (0 to 15) of smallint := 0; 
and the last value inside such an arry is accessed by its posistion:
  signal result : smallint := 0; : result <= n(15)/dis(15); 


> for both simulation and then for implementation in real hardware.
Good luck. A division in real hardware is not the easiest thing for a
correct questions...
Here is my code for a division in hardware:
http://www.lothar-miller.de/s9y/archives/29-Divisi...
Its in German, but just try the Google translator...

 Author: basma hassan (Guest) Posted on: 2014-02-14 10:07

Rate this post
 0 ▲ useful ▼ not useful
thanks a lot  Lothar Miller it was very helpful for me ,but if i have a
counter count the number of input samples then the counter output (n)
will be as (1,2,3,4....50) and i want to check if the numbers of samples
is even do that (n*n) or if odd make that ((n*n)-1) and i want to divide
distance which is
signal dis : integer range 0 to 255 := 0;
to the n numbers of the samples which is even or odd

will e something like that
if lsb = '1' then
n_of samples<= ((n*n)-1);
else
n_of_samples <= n*n;
end if;
norm_dis <= dis / n_of_samples ;
how can i write it in vhdl
i hope y understand me and thanks for help.

 Author: basma hassan (Guest) Posted on: 2014-03-09 02:14

Rate this post
 0 ▲ useful ▼ not useful
Lothar Miller wrote:

> There is only one value in both of the two signals. So there is no
> whatsoever "last value".
yes you're right sorry for confusing but i am new in vhdl
and the output from the counter gave me a stream values in simulation
mode like (1,2.....,100)
and i want to use the result from the counter to test it and make
division on it. how i can save it and make it in vhdl code
thanks a lot for help

• Post long source code as attachment, not in the text

### Formatting options

• [c]C code[/c]
• [avrasm]AVR assembler code[/avrasm]
• [vhdl]VHDL code[/vhdl]
• [code]code in other languages, ASCII drawings[/code]
• $formula (LaTeX syntax)$
 Name: E-mail address (not visible): Subject: Searching for similar topics... Attachment: Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one. Text: