2013-10-29 4 views

답변

1

trigger 4 개 CLK주기 전에 높았다 :

assert_name: assert property (
    @(posedge clk) (
    ($rose(sig) -> $past(trigger,4)) 
    ) 
); 
+0

하지만이 트리거가 sig가 상승하기 전에 트리거가 4 ** 연속 **주기 동안 높았는지 확인하지 않았습니까? 그것은 내가 필요한 것입니다. 그래서 아마도'| -> ($ past (trigger, 4) & $ past (trigger, 3))'...? – Meir

+0

@Meir your correct this only 그것이 4 clks 전 높은 것으로 확인하십시오. 그런 다음 그 지점에서 4 clks에 대한 높은 확인하실 수 있습니다. – Morgan

-1

높은가 얼마나 많은 사이클 trigger 계산 synthesisable RTL의 작은 조각을 작성을 중지 어디에도 없습니다 .

always @(posedge clk) begin 
    if (trigger) begin 
     triggerCount := triggerCount + 1; 
    end else begin 
     triggerCount := 0; 
    end 
end 

assert_name: assert property (
    @(posedge clk) (
    ($rose(sig) -> triggerCount == 4) 
    ) 
); 
+0

사람들은 왜 투표를하지 않습니까? 나는 그 질문을 오해 했는가? –