Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Asynchronous load of non constant data for is not supported

Reply
Thread Tools

Asynchronous load of non constant data for is not supported

 
 
Steffen Steffen is offline
Junior Member
Join Date: Mar 2011
Posts: 1
 
      03-17-2011
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
 
Reply With Quote
 
 
 
 
joris joris is offline
Senior Member
Join Date: Jan 2009
Posts: 152
 
      03-17-2011
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.
 
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
C vs. C++: non-trivial designated initializers not supported Johannes Bauer C++ 25 07-31-2010 12:18 PM
maxplusII error: a deferred constant declaration without a full declaration is not supported Noah VHDL 5 04-07-2006 02:34 PM
Unsupported Feature Error: non-locally-static attributes names are not supported jesse_j VHDL 2 12-12-2004 08:53 PM
"Non-constant" constant can't be used as template argument Martin Magnusson C++ 2 10-08-2004 08:41 AM
Understanding How To Use #ifdef Constant #define Constant Sequence In Multible Files Christopher M. Lusardi C++ 1 09-02-2004 07:43 AM



Advertisments