problem with process

Status
Not open for further replies.

nats_

Newbie level 6
Joined
Apr 12, 2012
Messages
14
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,378
in the following code, the process doesn't seem to get beyond the elsif statement. any ideas why?

Code:
  architecture div_arch of divider is

signal clks,resets,loads,divs: std_logic;
signal data_ins,data_outs :std_logic_vector(G_DIVIDER_SIZE-1 downto 0);
 begin
   data_ins<=DATA_IN;
   clks <=CLK;
   resets<=RESET;
   loads<=LOAD;
   divs<=DIV;
   DATA_OUT<=data_outs;
   
  main_sync : process (CLKs,RESETs,divs,loads) 
  begin
    if RESETs = '1' then
      DATA_OUTs <=(others => '0');  
    elsif CLKs'event and CLKs = '1' then
       if loads='1' and divs='0' then
          DATA_OUTs <= DATA_INs;
          end if;  
        if loads='1' and divs='1' then
        DATA_OUTs <='0' & DATA_INs(G_DIVIDER_SIZE-1 downto 1)  ;
      end if;  
    end if; -- clk if

  end process;
  
end div_arch;
 

It's hard to say without the simulation setup: are you sure the reset signal is deasserted? As you sure the clock signal has appropriate rising edges?

Cheers
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…