자일링스 소프트웨어를 사용하는 VHDL 프로그래밍에서 2 개의 다른 클록 (다른 주파수)의 상승 에지 동기화를 어떻게 감지합니까?2 개의 다른 클록의 상승 에지 동기화 감지
주파수는 31.845MHz이며 주파수는 29.972MHz입니다. 그래서 기본 목표는 2 클럭의 상승 에지 사이에 동기화가있을 때 동작을 트리거하는 것입니다. 우리는 flipflops를 사용하여 구현하려고 시도했지만 에지 동기화가 아닌 레벨 동기화 만 수행 할 수있었습니다.
그리고 vhdl에서 IF
및 WAIT
과 같은 문구에서 2 개의 다른 시계의 상승 에지를 비교할 수 없습니다.
우리는 카운터를 사용하여 펄스를 계산하려고합니다. 이를 위해 에지 매칭이 발생할 때마다 카운트를 중지해야합니다. 우리는 'Vernier Interpolation'이라는 메서드를 구현하려고합니다.
처음에, 우리는 다음과 같은 성명 코드를 사용하지만, 2 개 개의 다른 클럭 (CLK0, CLK1)의 상승 에지가
IF
문에서 비교 될 수 없기 때문에, 우리는 그것을 드롭했다.if(rising_edge(clk0)=rising_edge(clk1)) then wait;
우리는 다음
WAIT
문 (wait until
)를 사용하여 시도했지만 실패했습니다.- 그런 다음 플립 플롭과 지연 회로 (D 플립 플롭)를 사용해 보았지만 Edge 동기화가 아닌 레벨 동기화가 발생했습니다.
전체 목표는 무엇이며 클럭의 주파수 범위는 무엇입니까? –
주 클럭 주파수는 31.845MHz이고 또 다른 클럭 주파수는 29.972MHz입니다. 그래서 기본 목표는 2 클럭의 상승 에지 사이에 동기화가있을 때 동작을 트리거하는 것입니다. 우리는 flipflops를 사용하여 구현하려고 시도했지만 에지 동기화가 아닌 레벨 동기화 만 수행 할 수있었습니다. – KVK
그리고 우리는 vhdl의 IF와 WAIT와 같은 명령문에서 2 개의 다른 클럭의 상승 에지를 비교할 수 없으므로 이는 의문의 여지가 있습니다. – KVK