Asynchronous load of non constant data for is not supported

Discussion in 'VHDL' started by Steffen, Mar 17, 2011.

  1. Steffen

    Steffen

    Joined:
    Mar 17, 2011
    Messages:
    1
    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
    Steffen, Mar 17, 2011
    #1
    1. Advertising

  2. Steffen

    joris

    Joined:
    Jan 29, 2009
    Messages:
    152
    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.
    joris, Mar 17, 2011
    #2
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. jesse_j
    Replies:
    2
    Views:
    1,455
    jesse_j
    Dec 12, 2004
  2. Noah
    Replies:
    5
    Views:
    944
  3. Martin Magnusson
    Replies:
    2
    Views:
    491
    John Harrison
    Oct 8, 2004
  4. Rick C. Hodgin

    Non-constant constant strings

    Rick C. Hodgin, Jan 19, 2014, in forum: C Programming
    Replies:
    561
    Views:
    1,669
    David Brown
    Feb 24, 2014
  5. G G
    Replies:
    3
    Views:
    76
    Ben Bacarisse
    Apr 20, 2014
Loading...

Share This Page