Code not working for Quartus 2

Joined
Jul 10, 2007
Messages
11
Reaction score
0
Hi..I have made my VHDL code in Altera model Sim.Its working in Altera model sim but its showing error in Quartus 2..Can any boday help me whats error ??

1st file :-

library IEEE;
use IEEE.std_logic_1164.all;

package mem is
constant width : INTEGER := 4;
constant mem_raw : INTEGER := 7;

type word1 is Array(0 to mem_raw) of std_logic_vector(width-1 downto 0);
type word2 is array(0 to (mem_raw-1)*2) of std_logic;
--type Type_word is std_logic_vector(width-1 downto 0) of word;

end mem;

2nd file :-

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
use work.mem.all;

entity FA_calc is
port( clk : std_logic;
MTmux : in std_logic_vector(width-2 downto 0);
MTdat : in std_logic_vector(width-2 downto 0);
MTout : out word2;
MTout_analyzer : out std_logic_vector(width-2 downto 0);
load : in std_logic
);
end FA_calc;

architecture behav of FA_calc is
signal sig_mem, sig_out : word1;
signal counter : std_logic_vector(12 downto 0) := "0000000000000";
signal clkenable : std_logic;
begin

clkdiv : process(clk)
begin
if clk = '1' and clk'event and clkenable = '1' then
counter <= counter + 1;
end if;
end process;

----decoder and data transfer code----
trans : process(MTmux, counter)
begin
clkenable <= '1';
if counter = "1101001000000" then
case MTmux is
when "000" =>
sig_mem(0)(width-1 downto 1) <= MTdat;
when "001" =>
sig_mem(1)(width-1 downto 1) <= MTdat;
when "010" =>
sig_mem(2)(width-1 downto 1) <= MTdat;
when "011" =>
sig_mem(3)(width-1 downto 1) <= MTdat;
when "100" =>
sig_mem(4)(width-1 downto 1) <= MTdat;
when "101" =>
sig_mem(5)(width-1 downto 1) <= MTdat;
when "110" =>
sig_mem(6)(width-1 downto 1) <= MTdat;
when others =>
NULL;
end case;
counter <= "0000000000000";
clkenable <= '0';
end if;
end process trans;

---load data to output---
ld : process(load)
begin
if load'event then ---- depend on the switch
sig_mem(0)(0) <= '0';
sig_mem(1)(0) <= load;

for i in 0 to 5 loop

case sig_mem(i+1) is
when "0000" =>
sig_out(i+1)(width-2 downto 0) <= "000";
when "0100" =>
sig_out(i+1)(width-2 downto 0) <= "000";
when "1100" =>
sig_out(i+1)(width-2 downto 0) <= "001";
when "1110" =>
sig_out(i+1)(width-2 downto 0) <= "001";
when "0110" =>
sig_out(i+1)(width-2 downto 0) <= "011";
when "0010" =>
sig_out(i+1)(width-2 downto 0) <= "011";
when "1010" =>
sig_out(i+1)(width-2 downto 0) <= "010";
when "1011" =>
sig_out(i+1)(width-2 downto 0) <= "010";
when "0011" =>
sig_out(i+1)(width-2 downto 0) <= "110";
when "0111" =>
sig_out(i+1)(width-2 downto 0) <= "110";
when "1111" =>
sig_out(i+1)(width-2 downto 0) <= "111";
when "1101" =>
sig_out(i+1)(width-2 downto 0) <= "111";
when "0101" =>
sig_out(i+1)(width-2 downto 0) <= "101";
when "0001" =>
sig_out(i+1)(width-2 downto 0) <= "101";
when "1001" =>
sig_out(i+1)(width-2 downto 0) <= "100";
when "1000" =>
sig_out(i+1)(width-2 downto 0) <= "100";
when others =>
NULL;
end case;

sig_mem(i+2)(0) <= sig_out(i+1)(width-2);

end loop;

end if;
end process ld;

---data out---
MTout_analyzer <= sig_mem(0)(width-1 downto 1);
MTout(0) <= sig_out(1)(width-3);
MTout(1) <= sig_out(1)(width-2);
MTout(2) <= sig_out(2)(width-3);
MTout(3) <= sig_out(2)(width-2);
MTout(4) <= sig_out(3)(width-3);
MTout(5) <= sig_out(3)(width-2);
MTout(6) <= sig_out(4)(width-3);
MTout(7) <= sig_out(4)(width-2);
MTout(8 ) <= sig_out(5)(width-3);
MTout(9) <= sig_out(5)(width-2);
MTout(10) <= sig_out(6)(width-3);
MTout(11) <= sig_out(6)(width-2);
MTout(12) <= sig_out(6)(width-1);

end behav;


Error (10633): VHDL Case Statement or If Statement error at FA_calc.vhd(62): can't synthesize condition that contains an isolated 'EVENT predefined attribute.

Error: Can't elaborate top-level user hierarchy

Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 10 warnings
Info: Allocated 143 megabytes of memory during processing
Error: Processing ended: Tue Jul 31 09:35:43 2007
Error: Elapsed time: 00:00:02

Error: Quartus II Full Compilation was unsuccessful. 2 errors, 10 warnings

Please help me out..

Thanks a lot.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,994
Messages
2,570,222
Members
46,810
Latest member
Kassie0918

Latest Threads

Top