비동기 재설정 기능이있는 d 플립 플롭의 간단한 예를들 수 있습니다.비동기 재설정 동작에 대한 어설 션 작성 방법
q는 시계의 다음 가장자리에서 d로 업데이트해야하며 간단한 암시 적 연산자 어설 션으로 작성할 수 있습니다.
그러나 어설 션에서 재설정 동작을 캡처하는 방법. 나는이 주장이 실패 모두, 내가 처음의 어떤 다음 posedge가 없기 때문에 생각 몇
assert @(posedge rst) (1'b1 |-> !Q);
assert @(posedge rst) (1'b1 ##0 !Q);
다음 시도했습니다?
assert @(posedge clk) ($rose(rst) |-> !Q);
패스하지만 무료로 실행 클럭을 필요로하며, 클럭의 두 가장자리 사이에 주장한다 그러나 내가 할 수있는,이 올바른 즉시 주장입니다 내 이해 당으로
assert #0 (not (rst & Q));
(안 앤은 첫 번째에 대한 동작을 inteded) 파형보기에서 통과/실패하는 것을 봅니다. 더욱 더 나는 마지막 유형의 주장에 대해 표지를 쓸 수 없을 것이라고 생각한다.
감사합니다. 내 주장을 업데이트했습니다. 예비 테스트가 통과하고 있습니다. 나는 양복을 치고 그 결과를 볼거야. 바로 지금 나는 r2q 지연으로 그것을 실행할 필요가 없지만 알아두면 좋다 :) – wisemonkey