2017-11-23 9 views
0

저는 Specman을 처음 사용하고 특정 시계의 16 사이클마다 트리거해야하는 이벤트에 시간 표현을 사용하려고합니다.Specman 전자 - 시간 표현

나는

event f_clk is 6*clk을 다음을 수행 할 수 있습니까?

그렇지 않은 경우 어떻게해야합니까?

답변

1

a * 16은 16 번째 사이클부터 매 사이클마다 clk_16을 방출하게됩니다. 이 문제를 피하려면 다음과 같이 작성할 수 있습니다.

event clk_16 is {[16] * not @clk_16} @clk; 
+0

그래서이 f_clk를 정의해야합니다. '이벤트 f_clk는 6 * clk입니다; 이벤트 clk_16은 {[16] * not @_fclk} @clk;입니다. – Sarti

+0

@Rodion Melnikov - 위의 이벤트 또는 위 코드 만 정의해야합니까? – Sarti

+0

@Sarti 당신은 clk 샘플링 이벤트 만 필요합니다. 시간 표현 "{[16] * not @ clk_16}"은 clk_16 자체없이 16 번째 사이클에서 성공합니다. 이것이 방출 된 이유이며, 이후 "카운터"가 재설정됩니다. 실제 검증 환경에서 Specman은 대개 반응 모드의 종류로 HDL 클럭을보고 자체 반응을 생성하지 않습니다. –