Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

process statement and generate statement in vhdl

Status
Not open for further replies.

vineetkumar1992

Junior Member level 1
Joined
Sep 13, 2011
Messages
15
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,283
Location
lucknow
Activity points
1,366
how can i use component instantiation block and generate statement under process statement??


Code VHDL - [expand]
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
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
 
 
entity unsigned_exponent_adder is
    Port ( a, b : in  STD_LOGIC_VECTOR (07 downto 0);
                clk :in std_logic;
 
           sumo : out  STD_LOGIC_VECTOR (08 downto 0));
end unsigned_exponent_adder;
 
architecture Behavioral of unsigned_exponent_adder is
 
 
component half_add is
       Port ( a,b : in  STD_LOGIC;
     clk: in std_logic;
           s, c : out  STD_LOGIC);
end component;
 
component full_adder is
    Port ( a, b,clk, cin : in  STD_LOGIC;
           cout, sum : out  STD_LOGIC);
end component;
SIGNAL carryv: STD_LOGIC_VECTOR(8 DOWNTO 1);
 
 
begin
process(clk)
begin
IF clk'EVENT AND clk = '1' THEN
 
halfadder: half_add port map (a(0), b(0),clk,sumo(0) ,carryv(1) );
 
adder: FOR k IN 7 DOWNTO 1 GENERATE
FullAdder: full_adder PORT MAP (a(k), b(k),clk, carryv(k), Carryv(k+1), sumo(k));
END GENERATE adder;
sumo(8)<= carryv(8);
 
END IF;
end process;
 
end Behavioral;



the error is syntax error near port and generate.
 
Last edited by a moderator:

how can i use component instantiation block and generate statement under process statement??

You can't. A process can call functions or procedures, that's it.

Kevin Jennings
 

i want to use pipeling concept in my project(floating point multiplier)

i have completed all units like exponent calculation, mantissa multiplier,normlizer without clock using concurrent statements and structural modelling(component instantiation)
i want to use pipeline between exponent calc & mantissa multiplier with normalizer and normalizer with final output.

please give me some idea/ example of pipelining.

can i use parallel in parallel out shift register (d flip flop) between stages?
 
Last edited:

you can do what you want. You just write the description inside a process.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top