Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > COMPILATION ERROR

Reply
Thread Tools

COMPILATION ERROR

 
 
srinukasam
Guest
Posts: n/a
 
      07-05-2005
Hello
In my design what i need is to compare 2 bit vectors( one is of multiple
lenth with the other one) parallel with generate statement. I wrote design
and test benches. But at the time of compilation its giving errors with
generate command. Could you please see once and mail me what is the error
with my design.

DESIGN:------------------------------------------------------

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
use work.contr_pak.all;

ENTITY nest_addr IS
generic(pstate_width:integer :=8;
mem_width:integer:=128; --out from mem..in to logic
no_of_ns: integer:=16; --for array size .this block
index: integer :=4);
port( clk :in std_logic;
diff_states: in std_logic_vector(mem_width-1 downto 0 );
pstate: in std_logic_vector(pstate_width-1 downto 0);
data ut std_logic_vector(index-1 downto 0));
END ENTITY nest_addr;

--
ARCHITECTURE nest_addr_beh OF nest_addr IS
type temp is array ( o to no_of_ns-1) of std_logic_vector(0 to
pstate_width-1);
signal temp_c:temp;
signal temp_vect :std_logic_vector (no_of_ns-1 downto 0);
signal data_temp:integer:=0;
begin

assignrocess(diff_states)
variable first:integer:=0;
variable second:integer:=0;
begin
for i in 0 to no_of_ns loop
if i =0 then
temp_c(i)<=diff_states(pstate_width-1 downto 0);
else
first:=first+pstate_width;
second:=first+(pstate_width-1);
temp_c(i)<= diff_states(second downto first);
end if;
end loop;
end process assign;


ns:for i in 0 to no_of_ns-1 generate
if (temp_c(i)= pstate) then -- THIS STATEMENT SHOWS THE
ERROR:
data_temp<=i;
--else
end if;
end generate ns;

conv: process(data_temp)
begin
data<=int_to_vect(4,data_temp);
end process;
END ARCHITECTURE nest_addr_beh;


THANK YOU

 
Reply With Quote
 
 
 
 
valentin tihomirov
Guest
Posts: n/a
 
      07-05-2005
> ns:for i in 0 to no_of_ns-1 generate
> if (temp_c(i)= pstate) then -- THIS STATEMENT SHOWS THE
> ERROR:
> data_temp<=i;
> --else
> end if;
> end generate ns;


The concurrent 'if-then' statement is called 'when' and the else part must
always exist to infere a MUX:

data_temp <= i when (temp_c(i)= pstate) else alternative;

Furthermore, I have doubts that you can assign the data_temp multiple values
simultaneously.


 
Reply With Quote
 
 
 
Reply

Thread Tools

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

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
const string error compilation - error C2679 Tassador C++ 0 07-19-2009 05:26 AM
Compilation error with seperate compilation C__chp C++ 4 02-15-2008 03:57 PM
[compilation error] debugging this error message "Object() in java.lang.Object cannot be applied to" Gavin Java 3 03-28-2007 05:57 AM
compilation error: "error: no matching function for call to 'String::String(String)' =?ISO-8859-1?Q?Martin_J=F8rgensen?= C++ 5 05-06-2006 03:48 PM
compilation error /usr/include/_G_config.h:29: parse error before "__mbstate_t" Vittal C Programming 2 07-08-2003 10:14 PM



Advertisments