DOI QR코드

DOI QR Code

Design and Verification of PCI 2.2 Target Controller to support Prefetch Request

프리페치 요구를 지원하는 PCI 2.2 타겟 컨트롤러 설계 및 검증

  • 현유진 (DGIST IT연구부 HW연구팀) ;
  • 성광수 (영남대학교 공학대학 전자정보공학부)
  • Published : 2005.12.01

Abstract

When a PCI 2.2 bus master requests data using Memory Read command, a target device may hold PCI bus without data to be transferred for long time because a target device needs time to prepare data infernally. Because the usage efficiency of the PCI bus and the data transfer efficiency are decreased due to this situation, the PCI specification recommends to use the Delayed Transaction mechanism to improve the system performance. But the mechanism cann't fully improve performance because a target device doesn't know the exact size of prefetched data. In the previous work, we propose a new method called Prefetch Request when a bus master intends to read data from the target device. In this paper, we design PCI 2.2 controller and local device that support the proposed method. The designed PCI 2.2 controller has simple local interface and it is used to convert the PCI protocol into the local protocol. So the typical users, who don't know the PCI protocol, can easily design the PCI target device using the proposed PCI controller. We propose the basic behavioral verification, hardware design verification, and random test verification to verify the designed hardware. We also build the test bench and define assembler instructions. And we propose random testing environment, which consist of reference model, random generator ,and compare engine, to efficiently verify corner case. This verification environment is excellent to find error which is not detected by general test vector. Also, the simulation under the proposed test environment shows that the proposed method has the higher data transfer efficiency than the Delayed Transaction about $9\%$.

PCI 2.2 마스터 디바이스가 타겟 디바이스로부터 데이터를 읽어 오고자 할 때 타겟 디바이스는 내부적으로 데이터를 준비해야 함으로 인해 PCI 버스가 데이터 전송 없이 점유되는 상황이 발생한다. 이를 위해 PCI 2.2 사양에서는 지연전송을 제안하여 전송 효율을 향상시켰지만 이 역시 타겟 디바이스가 얼마의 데이터를 미리 준비 해둘지를 알 수 없어 버스 사용 및 데이터 전송 효율을 떨어뜨리는 원인을 제공한다. 이에 앞선 연구에서는 이를 해결하기 위한 프리페치 요구를 이용하는 새로운 방법을 제안하였다. 본 논문에서는 이 방법을 지원하는 PCI 타겟 컨트롤러와 로컬 디바이스를 설계하였다. 설계된 PCI 타겟 컨트롤러는 간단한 로컬 인터페이스를 가질 뿐 아니라 PCI 2.2를 전혀 모르는 사용자도 쉽게 PCI 인터페이스를 지원할 수 있도록 설계되었다. 또한 설계된 하드웨어를 효과적으로 검증하기 위한 방법으로 기본 동작 검증, 설계 기반검증, 그리고 랜덤 테스트 검증을 제안하였다 이러한 검증을 위해 테스트 벤치와 테스트 벤치를 동작시키는 위한 명령어를 제안하였다. 그리고 랜덤 테스트를 위해 참조 모델, 랜덤 발생기, 비교 엔진으로 구성된 테스트 환경을 구축하였으며 이를 이용해 코너 케이스를 효과적으로 검증할 수 있다. 또한 제안된 테스트 환경을 통해 시뮬레이션 한 결과, 프리페치 요구를 이용한 제안된 방법이 지연 전송에 비해 데이터 전송 효율이 평균 $9\%$ 향상되었다.

Keywords

References

  1. Edward Solari and George Willse, 'PCI hardware and software: architecture and design,' Annabooks. 1998
  2. Don Anderson and Tom Shabnley, 'pcr System Architecture.' Mindshare. 1999
  3. Bradly K. Fawceet, 'Designing PCI bus interfaces with programmable logic,' Proceedings of the 8th Annual IEEE International ASIC Conference and Exhibit, pp.321-324, 1995 https://doi.org/10.1109/ASIC.1995.580740
  4. Al Chame, 'PCI bus in high speed I/O systems applications,' Proceedings of the IEEE Conference on Aerospace, Vol.4, pp.505-504, 1998 https://doi.org/10.1109/AERO.1998.682217
  5. E. Finkelstein and S. Weiss, 'Implementation of PCI based systems using programmable logic,' lEE Proceedings Circuits, Devices and Systems, Vol.147, No.3, pp.171-174, 2000 https://doi.org/10.1049/ip-cds:20000235
  6. http://www.pcisig.com
  7. PCI SIG, 'PCI Local Bus Specification Revision 2.2,' PCI SIG. 1998
  8. PCI SIG, 'PCI-X Addendum to the PCI Local Bus Specification Revision 1.0a,' PCI SIG, 2000
  9. 현유진, 성광수, 'PCI 2.2에서 프리페치 요구를 이용해서 데이터 전송 효율을 향상시키는 효과적인 방법,' 대한전자공학회 논문지, 제41권, CI편, 제4호, pp.319-326, 2004년 7월
  10. http://www.plxtech.com
  11. Cadence, Verilog-XL Reference version 3.4, Cadence, 2002
  12. Michael Keating and Pierre Bricaud, Reuse Methodology manual for Soc designs, Kluwer Academic Publishers, 1999