(디지털)"LPM_FIFO_DC!

G

Guest

Guest
안녕!
난 듀얼 시계 fifos 이론에 대한 작업을해야합니다.
좀 도와 줘요!
adv 감사드립니다!

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="미소" border="0" />
 
원하는 비동기 FIFO를 설계?
일단, 버텍스에 대한 비동기 FIFO를 파라메 트릭 너비 컨버터 - II FPGA를 설계.디자인 원칙 ASIC 또는 FPGA 설계에 대한 변경되지 않습니다.
FIFO를 읽기 컨트롤러, 3 개의 주요 부품 : 포함된 컨트롤러를 작성, 그리고 듀얼 포트 메모리.듀얼 포트 메모리 코어를 모두 FPGA 및 ASIC의 제조 업체에 의해 사용할 수있습니다.읽기 및 쓰기 컨트롤러 컨트롤러 모듈은 거의 동일합니다.좋은 읽을 거리 컨트롤러 예 빈과 readCounter 출력 신호 있어야합니다.컨트롤러와 writeCounter 출력이 가득한 써주세요.이미 활성화 읽기 및 쓰기 데이터가 FIFO로부터 데이터를 읽기위한 제어 신호를 활성화를 써주세요.두 가지 모듈 듀얼 포트의 읽기 및 쓰기 주소를 생성할 수있습니다.각 후 읽거나 다음 메모리 위치를 가리 킵니다 이러한 카운터를 써주세요.지금은 주요 문제를 비우기 및 가득 차있는 신호를 생성합니다.거기에 읽기 및 클럭 도메인을 쓰는 사이에 FIFO를 상태를 데이터를 전송하는 클럭 synchronizers되어야합니다.
Google에서 ","당신 자신의 사이트로부터 다운로드할 수있습니다 비동기 설계를위한 아주 좋은 기사를 작성했습니다 클리포드의 E. 커밍스에 대한 검색하시기 바랍니다.

 
죄송합니다, 메시지 중 2 개의 동일한 사본이 만들어졌습니다.

 
라모스 더 많은, 그래서 여기가 그것을 설명해달라고 부탁 :
첫째, 우리는 두 개의 서로 다른 시계에 대한 이야기, 그들의 긍정적인 가장자리를 언제 삽입될 수있습니다 알아서 어디에 어떤 possbile 지연.그래서 synchronizers해야합니다.만약 그들이 가지고 metastable 지금의 ASIC / FPGA를 제조 업체에서 그렇게 그들은 안정적인 상태로 복구할 수있습니다, 그건 슬리퍼 플립 디자인을해야합니다.당신은 그 원인을 알고 metastability 때 플립 플롭의 설치 시간 간격 플립 플롭 변화를 입력 신호.
지금은 둘 다 읽기 및 쓰기 컨트롤러 컨트롤러 상태를 등록해야한다.우리 FIFO를 4 개의 장소에 데이터를 저장할 수있다 같아요.(즉, 우리가 FIFO를 지금 너비 아니 변환기입니다) 거기에 둘 다 읽기 및 컨트롤러를 쓰기 위해 4 비트 상태 레지스터해야 겠군요.지금 할 때 패킷 메모리의 첫 번째 자리에 서면, 우리는 1로 누른 다음 새 패킷을 때 와서 2 위를 가득 채우고 컨트롤러를 작성, 우리는 상황의 두 번째 비트가 설정된 것입니다 상태 레지스터의 첫 번째 비트가 설정된 것입니다 등록할 수있습니다.하나의 패킷을 때 우리가 읽고 컨트롤러의 상태 레지스터의 첫 번째 비트가 설정된 것입니다 메모리에서 읽을 수있습니다.지금은 단순히 우리가 컨트롤러 컨트롤러의 상태를 읽고 쓸 등록 보낼 것입니다 (우리는 쓰기 클럭 클럭 도메인에 도메인을 읽고)에서 다음의 결과를 읽을 카운터가이 두 가지 상태 레지스터 xor 데이터를 전송한다.다시 읽어 컨트롤러의 상태를 등록 클럭 도메인을 작성하고 전송됩니다 그런 다음 결과를 컨트롤러의 상태를 등록 쓰기 xored 것입니다 우리가 카운터에 뭐라고 써야할지 호출입니다.모든 xored 때 1 비트, 우리는 FIFO를 가득 말한다.그리고 모든 xored 상태 레지스터의 비트를 0으로 우리는 FIFO를 비어 말로 읽기 클럭 도메인이다.신경 신호는 FIFO를 전체 읽기 클럭 도메인에서 생성된 클럭 도메인 및 FIFO를 읽기 쓰기가 생성됩니다 가져가라.
대기 시간 :
전체 또는 비어 또는 읽기 설정에서 FIFO를 latancy / 카운터를 쓰는 것이 중요합니다.후 즉시 FIFO를 가득 차면 위의 구조, 가득 차있는 신호가 높은, 대기 시간없이 언제 가야한다.왜냐면 당신은 FIFO를 읽기를 시작하지만, 좀 지연, 귀하의 읽기 작업 효과를 동기화를 통해 플립 퍼 가서 처음 와서 것입니다 그리고 그것을 컨트롤러에 쓰기에 도달합니다.다시 말하지만, 당신이 FIFO를 읽고있는 가정에서, 그리고 그것 비우기 출력 신호의 높은없습니다 지연 가야 빈됩니다.하지만 당신은 FIFO를 새로운 데이터를 쓰고, 빈 즉시 내려오지 않을 것이다.
readCounter 및 writeCounter 대기가 FIFO의 너비에 따라 달라집니다.그들은 2 또는 3주기의 전형적인 지연있습니다.지연의 의미, 여기서 우리는 두 가지 토끼 시계는 알아서.

 

Welcome to EDABoard.com

Sponsor

Back
Top