Virtex-5 임베디드 트라이모드 이더넷 MAC을 이용한 설계 Virtex-5 임베디드 트라이모드 이더넷 MAC을 이용한 설계
정용한 2008-01-31 10:12:08

Virtex-5 임베디드 트라이모드 이더넷 MAC을 이용한 설계

이 글에서는 Virtex-5 디바이스의 이더넷 MAC 블록의 특징에 대해 살펴보려고 한다. 또한 Virtex-5 및 Virtex-4 FX 이더넷 MAC 사이의 차이점에 대해 설명하고, 몇 가지의 가능한 애플리케이션에 대해 살펴보고, 표준 자일링스 툴을 이용해서 특정 디자인에 이더넷 MAC을 통합하는 방법에 대해 설명한다.

                                                     글│Nick McKay, Soma Potluri, Stuart Nisbet, 자일링스

이더넷은 주된 유선 연결 표준이다. 자일링스 Virtex-5 이더넷 매체 액세스 컨트롤러(이더넷 MAC) 블록은 전용 이더넷 기능을 제공하는 블록으로서 Virtex-5 RocketIO GTP 트랜시버 및 SelectIO 기술과 함께 이용해서 다양한 유형의 네트워크 장비에 연결할 수 있도록 한다. 이 이더넷 MAC 블록이 Virtex -5 디바이스에서 하드 블록으로 FPGA에 통합되었다.
이 이더넷 MAC을 자일링스 설계 환경에서 TEMAC이라는 라이브러리 프리미티브로 이용할 수 있다. 이 프리미티브가 10/100/1000Mbps 이더넷 MAC 쌍을 수용한다. 각각의 Virtex-5 LXT 디바이스가 4개의 이더넷 MAC 블록을 포함한다.
그러므로 Virtex-5 LXT 디자인이 2개의 TEMAC 프리미티브를 포함할 수 있다. 표준 자일링스 제품을 이용해서 일련의 맞춤화 패킷 프로세싱 및 네트워크 말단 제품을 생성할 수 있다. 자일링스가 또한 최고 2,000Mbps의 속도로 백플레인 연결을 가능하게 하는 오버클로킹 모드를 제공하고 있다.
자일링스는 Virtex-4 FX 이더넷 MAC으로부터 Virtex-5 이더넷 MAC을 개발했으며, 전역 클록 활용, 직렬 인터페이스 유연성, 소프트웨어 제어 복잡성 측면에서 향상을 이루었다.
이 글에서는 Virtex-5 디바이스의 이더넷 MAC 블록의 특징에 대해 살펴보려고 한다. 또한 Virtex-5 및 Virtex-4 FX 이더넷 MAC 사이의 차이점에 대해 설명하고, 몇 가지의 가능한 애플리케이션에 대해 살펴보고, 표준 자일링스 툴을 이용해서 특정 디자인에 이더넷 MAC을 통합하는 방법에 대해 설명한다.

지원 인터페이스


Virtex-5 이더넷 MAC은 IEEE802.3 표준을 완벽하게 준수한다. 그림 1은 이 이더넷 MAC의 블록도를 보여준다.


물리 인터페이스


각 이더넷 MAC의 물리 인터페이스를 5가지의 이더넷 인터페이스의 하나로 동작하도록 구성할 수 있다.
매체 독립적 인터페이스(MII), 기가비트 매체 독립적 인터페이스(GMII), 축소형 GMII(RGMII)는 병렬 인터페이스이다. 이들 인터페이스는 보통 외부 물리층(PHY) 칩에 연결되어서 10/100/1000Mbps의 BASE-T 기능을 제공한다. 반이중 동작은 10/100Mbps로 지원되며 전이중 동작은 모든 속도로 지원된다.
직렬 GMII(SGMII) 및 1000 BASE-X는 직렬 인터페이스로서 이더넷 MAC의 물리 코딩 서브층(PCS) 및 물리 매체 연결(PMA) 부분을 이용한다. 이들은 Virtex-5 RocketIO GTP 직렬 트랜시버로 인터페이스한다. SGMII는 병렬 인터페이스와 마찬가지로 10/100/1000Mbps 전이중 BASE-T 기능을 제공한다. 이 직렬 인터페이스가 외부 PHY 칩에 연결하기 위해 필요한 핀의 수를 대폭적으로 감소시킨다.
이 이더넷 MAC이 1000 BASE-X 모드로 구성되었으면 PCS/PMA 블록이 RocketIO 트랜시버와 더불어서 직접적으로 기가비트 인터페이스 컨버터(GBIC) 또는 소형 폼팩터 플러그가능(SFP) 광 트랜시버로 연결하기 위해 필요한 모든 기능을 제공한다. 그럼으로써 100 BASE-X 네트워크 애플리케이션을 위해 외부 PHY 칩이 필요하지 않도록 한다.

제어 인터페이스


호스트 인터페이스가 이더넷 MAC 블록의 구성 레지스터를 액세스할 수 있도록 한다. 구성 옵션으로서는 점보 프레임 인에이블, 일시정지 및 유니캐스트 주소 설정, 프레임 검사 시퀀스 생성 등을 포함한다.
호스트 인터페이스는 범용 호스트 버스 또는 장치 제어 레지스터(DCR) 버스(프로세서로 연결할 때)를 통해서 액세스할 수 있다. 또한 각각의 이더넷 MAC이 선택적인 관리 데이터 I/O(MDIO) 인터페이스를 포함한다. 이 인터페이스를 이용해서 외부 PHY의 관리 레지스터와 이더넷 MAC의 PCS/PMA 섹션 내의 물리 인터페이스 관리 레지스터에 액세스할 수 있다.


클라이언트 인터페이스


트랜스미터 클라이언트 인터페이스를 거쳐서 프레임이 이더넷 MAC으로 전달된다. 유입 데이터가 최소한의 이더넷 프레임 길이에 미치지 못하면 트랜스미터가 이를 보충하고 프레임 간에 최소한의 인터프레임 간격을 유지한다. 그렇지만 이 간격의 크기를 늘릴 수 있다.
또한 프레임에 프레임 검사 시퀀스를 추가하도록 트랜스미터를 구성할 수 있다. 별도의 흐름 제어 인터페이스가 일시정지 프레임을 생성할 수 있도록 한다. 반이중 모드에서는 트랜스미터가 충돌을 알려주고 유효한 충돌을 위해 재전송을 요청한다.
리시버 인터페이스가 유입 프레임을 검사하고 프레임 오류가 있는지 알려준다. 양호 및 불량 프레임 신호가 제공된다. 또한 유효한 일시정지 프레임이 탐지되었을 때 프레임 전송을 일시정지했다 재시작하도록 이더넷 MAC을 구성할 수 있다.
클라이언트 인터페이스 상의 데이터는 8비트 또는 16비트 폭이다. 8비트 인터페이스는 표준 이더넷 애플리케이션에 이용되며 125MHz 클록으로 1,000Mbps의 데이터율을 제공한다. 16비트 모드를 이용하면 클라이언트 인터페이스 상에서 클록 속도를 높이지 않고 데이터율을 2,000Mbps로 높일 수 있다.
각각의 이더넷 MAC이 송신 및 수신 데이터패스에 나타난 이더넷 프레임에 관한 정보를 포함한 통계 벡터를 출력한다. 자일링스 CORE Generator 소프트웨어에서 외부적 통계 모듈을 무료로 이용할 수 있다. 이 통계 모듈이 각 이더넷 MAC의 모든 Tx 및 Rx 데이터패스 통계를 누적한다.

Virtex-5 이더넷 MAC의 특징


Virtex-4 FPGA에서는 데이터패스만을 구현하기 위해서도 Tx 및 Rx 클라이언트 인터페이스 로직을 위해 각기 하나씩 및 Tx 및 Rx 물리 인터페이스 로직을 위해 각기 하나씩 4개의 전역 클록 버퍼를 필요로 했다. Virtex-5 FPGA를 위해서는 자일링스가 클록 인에이블 기능을 추가했다.
그러므로 물리 인터페이스를 위해 도출된 클록을 모든 클라이언트 로직에 이용할 수 있다. 내부적으로 생성된 클록 인에이블은 각각의 인터페이스 상에서 적절한 데이터 쓰루풋을 유지할 수 있도록 한다. 그럼으로써 필요한 클록 버퍼의 수를 50%까지 감소시킨다.

DCR 버스 어드레싱


Virtex-5 DCR 인터페이스는 각각의 이더넷 MAC을 위한 개별적인 베이스 주소를 특징으로 한다. 그럼으로써 공유 DCR 버스 인터페이스를 소프트웨어 드라이버에 대해 투명하게 한다. 그러면 소프트웨어가 더 이상 각각의 이더넷 MAC을 위한 비트 위치를 알지 않아도 된다. 하드웨어가 베이스 주소에 따라서 적정한 비트로 자동으로 다중화한다.

직렬 인터페이스에서 달라진 점


자일링스가 직렬 인터페이스의 동작과 관련해 몇 가지를 변화시켰다. 먼저 프로그래머블 링크 타이머를 포함시킴으로써 자동 협의가 더 유연해졌다. 그러므로 자동 협의 프로세스의 타이밍을 변경하고 시뮬레이션 시간을 단축할 수 있다.
새롭게 추가된 단방향 모드는 IEEE-802.3ah-2004 표준에 따라서 단방향 인에이블 기능을 수행한다. 이 기능이 작동되면 리시버 상에 유효한 입력이 존재하는지에 상관 없이 이더넷 MAC이 전송을 수행한다.
마지막으로는 트랜시버뿐만 아니라 이더넷 MAC에서도 루프백이 일어날 수 있도록 했다. 이 기능이 루프백 모드일 때 링크 파트너로 아이들을 전송할 수 있도록 함으로써 링크가 동작 상태를 유지할 수 있다.

Virtex-5 이더넷 MAC 활용 모델


Virtex-5 이더넷 MAC이 범용성을 특징으로 함으로써 예를 들어 다음과 같은 다양한 애플리케이션에 이용할 수 있다.
*그림 2에서처럼 네트워크 프로세싱 또는 원격 모니터링 시스템에서 프로토콜 스택을 실행하는 프로세서로 이더넷 MAC을 연결한다.
*체크섬 오프로드 엔진이나 원격 직접 메모리 액세스 디자인 같이 FPGA에 구현된 패킷 프로세싱 시스템으로 이더넷 MAC을 인터페이스한다.
*패킷 스토리지, 브리징, 스위칭 애플리케이션 등을 위해 전용 패킷 FIFO 및 외부 메모리로 다중의 이더넷 MAC을 연결한다.

툴 및 IP 지원


자일링스가 이더넷 MAC을 지원하기 위해 CORE Generator 소프트웨어, LogiCORE IP, 참조 디자인을 제공한다.


Virtex-5 이더넷 MAC 랩퍼

그림 3은 자일링스 CORE Generator 툴로부터 이용할 수 있는 HDL 랩퍼의 블록도이다.
이 이더넷 MAC은 162개 포트 및 79개 파라미터의 복잡한 컴포넌트이다. 랩퍼 파일이 이들 파라미터를 간편하게 설정하고 해당 애플리케이션에 필요한 포트들로만 인터페이스할 수 있도록 한다. 또한 클로킹 및 물리 I/O 자원의 사용을 간소화하는 것에 있어서 이점을 제공한다. 각각의 레벨이 해당 애플리케이션에 적정한 랩퍼를 추출할 수 있도록 한다.


*이더넷 MAC 랩퍼. 가장 낮은 레벨로서 단일 또는 듀얼 이더넷 MAC을 사례화하고 CORE Generator GUI에서 이의 속성을 원하는 값들로 설정할 수 있다. 모든 사용되지 않는 입력 포트는 접지로 연결되며 출력 포트는 개방시켜 둔다.
*블록 레벨 랩퍼. 그 다음 계층 레벨로서 물리 인터페이스 및 필요한 클록 자원을 사례화한다. 직렬 인터페이스를 위한 RocketIO GTP 트랜시버를 포함한다. 또한 해당 구성에 따라 클로킹을 최적화할 수 있으며 해당 디자인에 따라 출력을 클로킹할 수 있다.
*로컬링크 레벨 랩퍼. 이 레벨은 클라이언트 트랜스미터 및 리시버 인터페이스로 FIFO를 추가한다. 이들 FIFO가 반이중 모드로 프레임을 수신하거나 재전송할 때 불량 프레임의 드롭을 처리한다. 로컬링크가 백엔드 인터페이스로 이용된다.
*설계 예 랩퍼. 가장 높은 레벨로서 수신된 데이터를 루프백해서 트랜스미터로 전송하는 데모 디자인을 특징으로 한다. 이 디자인을 보드로 다운로드해서 네트워크 장비로부터 리시버를 스티뮬레이트해서 하드웨어로 이더넷 MAC의 동작을 시연할 수 있다. CORE Generator 소프트웨어에 리시버 입력을 스티뮬레이트하고 트랜스미터 출력을 모니터할 수 있는 테스트벤치가 포함되었다.

LogiCORE IP 및 참조 디자인


대부분의 기존 Virtex-4 이더넷 MAC 도큐멘테이션을 Virtex-5 이더넷 MAC에 대해 다시 이용할 수 있다. 예를 들어 "이더넷 코어 하드웨어 데모 플랫폼"(XAPP443, www.xilinx.com/bvdocs/appnotes/xapp443.pdf)을 Virtex-5 이더넷 MAC에 대해 이용할 수 있다. 이더넷 통계 등의 LogiCORE IP가 이미 새로운 아키텍처를 지원한다.


결론

Virtex-5 이더넷 MAC이 다양한 네트워크 인터페이스를 위한 경제적 솔루션으로서 10/100/1000Mbps의 BASE-X 및 BASE-T 네트워크에 연결할 수 있도록 한다. 자일링스 소프트웨어 툴 및 IP가 또한 이 이더넷 MAC의 향상된 기능을 활용할 수 있도록 한다.

<자료제공: 월간 반도체네트워크 2007년 02월호>

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>