2014-12-12 8 views
0

구성 시퀀스에서 조건부 제약 조건을 만들고 싶습니다. 나는 두 개의 클럭 속도를 가지고 있으며 클록 속도의 조합 만이 설계에서 합법적이다.Specman e : 구성 시퀀스의 조건부 제한

이 문제를 해결하기 위해 올바른 구문을 사용하는 데 문제가 있습니다. 대/소문 또는 if 문을 사용하면 구문 오류가 발생합니다. 이것은 내가 지금 가지고있는 것입니다.

case main_clk{ 
    1e6:{ 
     keep div_clk == select{ 
      80: 5e9; 
      20: 5.6e9; 
     }; 
    }; 
    . 
    . 
    . 
}; 

나는 또한 when을 사용해 보았지만 제대로 작동하지 않았습니다. 이 구현할 수있는 방법에 대한 제안?

답변

3

우선, real 필드를 사용하고있는 숫자의 과학 표기법을 사용하고 있습니다. uint 필드를 생성 시점에서보다 유연하게 사용할 수 있으므로 전환해야합니다.

case 진술은 절차 적이며 생성에 사용할 수 없습니다. if도 마찬가지입니다.

keep main_clk == 1e6 => 
    soft div_clk == select { 
     80: 5e9; 
     20: 5.6e9; 
    }; 

당신은 main_clk의 가능한 각 값에 대해 하나의 의미가 필요합니다 필드를 생성하려면 조건부 다른 한편으로 당신은 => (의미) 연산자를 사용합니다.