EmbDev.net

Forum: FPGA, VHDL & Verilog How to write vectors in VHDL


von John S. (johnsmith)


Rate this post
useful
not useful
I would like to ask, how can I write vectors in VHDL.

Below I have written the VHDL code in Integers, But I am having 
difficulties in writing it as Vectors?

The equation I am working with to find the correct answer from Waveform 
is:

FX= A0 +A1x +A2^x2 +A3^x3
1
ENTITY Polynomial1 IS
2
PORT ( clk, res : IN BIT;
3
ai, x : IN INTEGER:=0; 
4
fx : OUT INTEGER:=0);
5
END Polynomial1;
6
ARCHITECTURE bhv OF Polynomial1 IS SIGNAL reg : INTEGER:=0;
7
BEGIN
8
PROCESS
9
BEGIN
10
WAIT UNTIL (clk'EVENT AND clk = '1');
11
IF res = '1' THEN reg <= 0; 
12
ELSE reg <= x * (ai + reg);
13
END IF;
14
END PROCESS;
15
fx <= reg + ai; 
16
END bhv;



I have had a go at Vectors with assumable bits:

1
ENTITY Polynomial1 IS
2
PORT ( clk, reset : IN STD_LOGIC;
3
a0, a1, a2, a3 : IN  STD_LOGIC_VECTOR(2 DOWNTO 0);
4
x : IN  STD_LOGIC_VECTOR (1 DOWNTO 0);
5
fx: OUT  STD_LOGIC_VECTOR(8 DOWNTO 0)) ;
6
END Polynomial1;

I would like to apologies if i have made any format mistakes.

: Edited by Moderator
von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
John Smith wrote:
> Below I have written the VHDL code in Integers, But I am having
> difficulties in writing it as Vectors?
Check out the numeric_std package and its conversions and casts. Try 
this (its German but you will get the point):
http://www.lothar-miller.de/s9y/archives/14-Numeric_Std.html

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.