2013-06-15 1 views
0

이것은 숙제 문제입니다. 내가 VHDL에서 간단한, 5 단계 (IF, ID, EX, MEM, WB), 단일주기 MIPS 프로세서를 파이프 라인하려고합니다. 포워딩이나 위험 감지를 구현할 필요가 없습니다. 어떤 구성 요소를 구현해야하는지 잘 모르겠습니다.VHDL로 프로세서를 파이프 라인 처리하는 데 필요한 단계는 무엇입니까?

  1. 신호마다 D 플립 플롭을 만들어야합니까?
  2. 파이프 라인 구현 here은 출력을 위해 for-loop를 사용합니다.

모든 팁을 주시면 감사하겠습니다. VHDL에서 파이프 라이닝 관련 정보를 많이 찾지 못하는 것 같습니다.

+2

for 루프에 대해서 : 그것은 더 작고 더 작게 쓰는 방법 일 뿐이며, 실제로는 루프가 아닙니다. 그들은 전개되고 논리는 1 클럭 사이클에서 발생합니다. –

+0

감사합니다. 따라서 컴포넌트의 출력을 파이프 라인 화하려면 출력을 클럭 신호의 상승 에지에 연결하면됩니까? – zymhan

+0

Re : 링크 된 예 -이 Q & A에 관심이있을 수 있습니다. http://stackoverflow.com/questions/14765205/how-can-i-speed-up-my-math-operations-in-vhdl/14777458# 14777458 내가 "어떻게 * 파이프 라인에 연결하지 않겠습니까?"라고 덧붙였다. –

답변

1

파이프 라인의 각 스테이지에 대해 별도의 엔티티를 만든 다음 한 스테이지의 출력을 다른 스테이지의 입력에 연결하는 것이 좋습니다.

올바르게 파이프 라인되어 있는지 확인하려면 각 단계가 상승 에지에서 수행해야하는 모든 작업 만 수행하면됩니다.

예제가 필요하면 this 광산 프로젝트를 살펴보십시오. 특히 dft_top.vhd 및 dft_stage [1-3] .vhd 파일에 있습니다. 그것은 파이프 라인 단계에서 16 포인트 16 비트 고정 소수점 DFT를 구현합니다.