Asynchronous load of non constant data for is not supported

Joined
Mar 17, 2011
Messages
1
Reaction score
0
Hello,

I am trying to write an ADC interface, based on a simple state machine.

Code:
library IEEE;
use IEEE.std_logic_1164.all;

entity C_ADC_LTC2296 is
 Generic (
      constant G_ClockSpeed: integer range 1 to 150*10**6 := 32 * 10**6
      );
 Port   (
       -- ADC
      ADC_A_DA: In std_logic_vector (13 downto 0);
      ADC_A_CLK: Out std_logic;
      ADC_A_OF: In std_logic;
      ADC_A_nOE: Out std_logic;
      ADC_A_SHDN: Out std_logic;
      ADC_B_DA: In std_logic_vector (13 downto 0);
      ADC_B_CLK: Out std_logic;
      ADC_B_OF: In std_logic;
      ADC_B_nOE: Out std_logic;
      ADC_B_SHDN: Out std_logic;
      
      nRESET: In std_logic;
      SYSCLK: In std_logic;
      
      Divisor_Channel_A: integer range 0 to G_ClockSpeed;
      Divisor_Channel_B: integer range 0 to G_ClockSpeed;
      
      ADC_Channel_A_Sleep: In std_logic;
      ADC_Channel_A_NewData: out std_logic;
      ADC_Channel_A: Out std_logic_vector(13 downto 0);  
      ADC_Channel_A_Overflow: out std_logic;

      ADC_Channel_B_Sleep: In std_logic;
      ADC_Channel_B_NewData: out std_logic;
      ADC_Channel_B: Out std_logic_vector(13 downto 0);
      ADC_Channel_B_Overflow: out std_logic
    );
 end C_ADC_LTC2296;
 
architecture A_ADC_LTC2296 of C_ADC_LTC2296 is

type ADC_STATE is (S_SLEEP, CLK_HIGH, CLK_LOW);

signal ADC_CurrentState_A, ADC_CurrentState_B, ADC_NextState_A, ADC_NextState_B : ADC_STATE;

signal Count_Channel_A: integer range 0 to G_ClockSpeed;
signal Count_Channel_B: integer range 0 to G_ClockSpeed;

signal Sync_ADC_A_DA:  std_logic_vector(13 downto 0);
signal Sync_ADC_A_OF: std_logic;

signal Sync_ADC_B_DA:  std_logic_vector(13 downto 0);
signal Sync_ADC_B_OF: std_logic;

signal ADC_A_CLOCK_POL: std_logic;
signal ADC_B_CLOCK_POL: std_logic;

 begin
  P_StateChangeAndSync: process(SYSCLK, nRESET)
  begin
    if(nRESET = '0') then
      ADC_CurrentState_A <= S_SLEEP;
      ADC_CurrentState_B <= S_SLEEP;
      Count_Channel_A <= 0;
      Count_Channel_B <= 0;
      
      Sync_ADC_A_DA <= (others => '0');
      Sync_ADC_A_OF <= '0';
      
      Sync_ADC_B_DA <= (others => '0');
      Sync_ADC_B_OF <= '0';

      ADC_A_CLOCK_POL <= '0';
      ADC_B_CLOCK_POL <= '0';
    elsif (SYSCLK'EVENT) then
      ADC_CurrentState_A <= ADC_NextState_A;
      ADC_CurrentState_B <= ADC_NextState_B;
      
      -- Clock Divider
      if (ADC_CurrentState_A /= S_SLEEP) then
        if (Count_Channel_A  = Divisor_Channel_A) then
          ADC_A_CLOCK_POL <= NOT ADC_A_CLOCK_POL;
          Count_Channel_A <= 0;
        else
          Count_Channel_A <= Count_Channel_A  + 1;
        end if;
      end if;
      
      if (ADC_CurrentState_B /= S_SLEEP) then
        if (Count_Channel_B  = Divisor_Channel_B) then
          ADC_B_CLOCK_POL <= NOT ADC_B_CLOCK_POL;
          Count_Channel_B <= 0;
        else
          Count_Channel_B <= Count_Channel_B + 1;
        end if;
      end if;
            
      Sync_ADC_A_DA <= ADC_A_DA after 5 ns;    
      Sync_ADC_A_OF <= ADC_A_OF after 5 ns;
      
      Sync_ADC_B_DA <= ADC_B_DA after 5 ns;    
      Sync_ADC_B_OF <= ADC_B_OF after 5 ns;
    end if;
  end process;

  P_ADC_A: process(ADC_CurrentState_A, ADC_Channel_A_Sleep, ADC_A_CLOCK_POL, Sync_ADC_A_DA, Sync_ADC_A_OF)
  begin
    ADC_NextState_A <= S_SLEEP;
    
    ADC_A_SHDN <= '0';
    ADC_A_nOE <= '0';
    ADC_A_CLK <= '0';
    ADC_Channel_A_NewData <= '0';
    
    ADC_Channel_A <= (others => '0');
    ADC_Channel_A_Overflow <= '0';

    case ADC_CurrentState_A is
      when S_SLEEP    =>        ADC_A_SHDN <= '1';
                        ADC_A_nOE <= '1';
                        if(ADC_Channel_A_Sleep = '1') then
                          ADC_NextState_A <= S_SLEEP;
                        else
                          ADC_NextState_A <= CLK_HIGH;
                        end if;
                        
      when CLK_HIGH    =>        ADC_A_CLK <= '1';
                        
                        if(ADC_A_CLOCK_POL = '1')then
                          ADC_NextState_A <= CLK_HIGH;
                        else
                          ADC_NextState_A <= CLK_LOW;
                        end if;
  
      when CLK_LOW    =>        if (ADC_Channel_A_Sleep = '1') then
                          ADC_NextState_A <= S_SLEEP;
                        elsif(ADC_A_CLOCK_POL = '0')then
                          ADC_NextState_A <= CLK_LOW;
                        else
                          ADC_NextState_A <= CLK_HIGH;
                        end if;
                        
                        ADC_Channel_A <= Sync_ADC_A_DA;
                        ADC_Channel_A_Overflow <= Sync_ADC_A_OF;
                        ADC_Channel_A_NewData <= '1';
                          
      when others      =>        ADC_NextState_A <= S_SLEEP;
    end case;
        
  end process P_ADC_A;

  P_ADC_B: process(ADC_CurrentState_B, ADC_Channel_B_Sleep, ADC_B_CLOCK_POL, Sync_ADC_B_DA, Sync_ADC_B_OF)
  begin
    ADC_NextState_B <= S_SLEEP;
    
    ADC_B_SHDN <= '0';
    ADC_B_nOE <= '0';
    ADC_B_CLK <= '0';
    ADC_Channel_B_NewData <= '0';
    
    ADC_Channel_B <= (others => '0');
    ADC_Channel_B_Overflow <= '0';

    case ADC_CurrentState_B is
      when S_SLEEP    =>        ADC_B_SHDN <= '1';
                        ADC_B_nOE <= '1';
                        if(ADC_Channel_B_Sleep = '1') then
                          ADC_NextState_B <= S_SLEEP;
                        else
                          ADC_NextState_B <= CLK_HIGH;
                        end if;
                        
      when CLK_HIGH    =>        ADC_B_CLK <= '1';
                        
                        if(ADC_B_CLOCK_POL = '1')then
                          ADC_NextState_B <= CLK_HIGH;
                        else
                          ADC_NextState_B <= CLK_LOW;
                        end if;
  
      when CLK_LOW    =>        if (ADC_Channel_B_Sleep = '1') then
                          ADC_NextState_B <= S_SLEEP;
                        elsif(ADC_B_CLOCK_POL = '0')then
                          ADC_NextState_B <= CLK_LOW;
                        else
                          ADC_NextState_B <= CLK_HIGH;
                        end if;
                        
                        ADC_Channel_B <= Sync_ADC_B_DA;
                        ADC_Channel_B_Overflow <= Sync_ADC_B_OF;
                        ADC_Channel_B_NewData <= '1';
                          
      when others      =>        ADC_NextState_B <= S_SLEEP;
    end case;
        
  end process P_ADC_B;  
  
 end A_ADC_LTC2296;

The simulation works fine, but during synthesis I get the following output. I use Lattice Diamond, Synplify Pro and an Lattice XP2 FPGA:

Code:
N: CD630 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":8:7:8:19|Synthesizing work.c_adc_ltc2296.a_adc_ltc2296 
@N: CD233 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":45:15:45:16|Using sequential encoding for type adc_state
@W: CD604 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":150:3:150:18|OTHERS clause is not synthesized 
@W: CD604 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":196:3:196:18|OTHERS clause is not synthesized 
Post processing for work.c_adc_ltc2296.a_adc_ltc2296
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(0) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(1) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(2) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(3) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(4) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(5) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(6) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(7) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(8) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(9) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(10) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(11) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(12) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(13) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(14) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(15) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(16) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(17) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(18) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(19) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(20) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(21) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(22) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(23) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_B(24) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(0) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(1) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(2) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(3) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(4) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(5) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(6) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(7) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(8) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(9) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(10) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(11) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(12) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(13) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(14) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(15) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(16) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(17) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(18) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(19) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(20) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(21) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(22) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(23) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Count_Channel_A(24) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(0) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(1) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(2) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(3) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(4) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(5) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(6) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(7) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(8) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(9) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(10) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(11) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(12) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_DA(13) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(0) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(1) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(2) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(3) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(4) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(5) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(6) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(7) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(8) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(9) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(10) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(11) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(12) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_DA(13) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for ADC_CurrentState_B(s_sleep) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for ADC_CurrentState_B(clk_high) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for ADC_CurrentState_A(s_sleep) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for ADC_CurrentState_A(clk_high) is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_B_OF is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for Sync_ADC_A_OF is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for ADC_B_CLOCK_POL is not supported
@E: CL126 :"C:\Repos\Tandem\Projects\0001_Active_Electrode_V100\Software\Firmware\C_ADC_LTC2296.vhd":64:2:64:3|Asynchronous load of non constant data for ADC_A_CLOCK_POL is not supported
86 errors during synthesis

I don't get the problem. I hope somebody can help me out!

Thx!

Steffen
 
Joined
Jan 29, 2009
Messages
152
Reaction score
0
I think this may be an issue:

In the P_StateChangeAndSync process you have:
Code:
  P_StateChangeAndSync: process(SYSCLK, nRESET)
  begin
    if(nRESET = '0') then
       -- reset code
    elsif (SYSCLK'EVENT) then
       -- process code
    end if;
  end process;

This is not a valid idiom as it matches both rising edges and falling edges; you need to make explicit which of these you want the process to be sensitive to;

for rising edge you can check as follows: (SYSCLK'EVENT and SYSCLK='1')
or rising_edge(SYSCLK)

for falling edge you can check as follows: (SYSCLK'EVENT and SYSCLK='0')
or falling_edge(SYSCLK)

Also, you cannot use the 'after 5 ns' syntax in code that is to be synthesized.
 

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

No members online now.

Forum statistics

Threads
473,954
Messages
2,570,116
Members
46,704
Latest member
BernadineF

Latest Threads

Top