ROM의 크기는 문제가있습니다

J

jenardo

Guest
안녕 모두,
나는 8051을 성공적으로 개발할 수 있도록 시스템 및 칩 개발 보드를 사용하는 V2Pro.그럼 8051 년 ROM의 파일에 변환 파일은 16 진수를 얻을 수있는 가장 Keil 소프트웨어를 사용합니다.이 모든 성공했다.

내가 사용한 ROM과 16 - 비트 주소와 32 - 비트 단어했다.다음과 같이 코드로 작성된 것입니다 :
항상 (posedge CLK)
@시작
케이스 (주소)
16'h0 : data_out <= 32'h12345678;
16'h1 : data_out <= 32'h12345678;
......
......
기본값 : data_out <= 32'h0;
endcase
끝This worked fine for small programs to test my IP. 때 드라이버를위한 파일을 가지고와 ROM의 파일을 16 진수로 변환, 16'h108D ....의 주소에 도달대해서는 각각 4K - 단어.
매핑 동안 129 44 블록 램 중 사용했던 ...공간이 충분하지 않는 이유는 FPGA 때문에 프로세스를 계속하지 않았다.


주소 "를"대신 "posedge CLK"감도 목록 바뀌었다.이 분산 RAM에 대신 블록 RAM을 사용하고있었습니다.그리고 아직도 내가 LUTs의 크기와 overmapping에 대한 문제가 없었다.

여기 제 질문이있다 :
1 - 각각 4K * 32 비트가 너무 크기에 대형 ROM을??
참고 : CAN 및 8051는
FPGA (xc2vp7 - 6fg456)의 50 %만이 사용
2 - 정말 크기가 문제인가,
아니면 그것은 잘못 매핑 도구로 구성되어있습니다?
3 - 크기는 문제가있다면, 수 - 보드 플래시 Proms (FPGA를 프로그래밍에 사용)으로 사용할 수 ROM은?
4 - 저는이 문제에 대한 해결책이 필요합니다.

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="매우 행복" border="0" />사전에 모두에게 감사합니다.

 
좋아,

왜 8051 때 8 비트 디바이스는 광범위한 32 비트 ROM과 # 1 질문하려면?에 관계없이, Virtex2 블록 램 2K
9 비트가있습니다.비록 당신이,
8 블록 램 패리티 비트,이 4KX32 ROM을 사용해야하는 방법 밖에 던져.이후 컴파일러는이보다 훨씬 더 많은 RAM을 사용해야하는 것, 그것을 귀하의 디자인 misinterpreting있다.넌 왜 그렇게 많은 그리고 더 블록 RAM의 사용을 알아 내려고 시도되고있는 FPGA를 에디터의 디자인을 열 수있습니다.개별 모듈을 독립적으로 제어하기 때문에 컴파일러 필요하다고 대부분의 가능성, 데이터 numberous 램 전체 미러링된되고있다.
이 문제를 해결하려면, 당신은 ROM과 구현의 제어권을 명시해야합니다.문 열어 CoreGen을 지정하여 ROM을 사용할 수있습니다.그리고 나서 당신이 ROM의 블록 RAM의 합리적인 금액과 함께 별도의 모듈로 정의된 얻을이 저장할 수있습니다.이 별도의 모듈을 누른 다음 디자인에서 "블랙 박스"와 컴파일러가 아니라 더 이상의 메모리를 구성하는 방법에 맞춰해야한다 인스턴스됩니다.

 
좋은 제안입니다.

만약 당신이 사용하는 XST도를 참조하여 "XST 사용자 가이드", 챕터 "HDL을 코딩 기법", "절에 램 및 ROM을".어떻게 그렇게 정확하게 XST ROM을 사용하여 블록 램 infers Verilog 작성을 보여줍니다.

또한 직접 RAMB16 인스턴스 수 defparam 진술로 초기화합니다.그것에 설명되어있는 당신의 ISE "도서관 안내".

 

Welcome to EDABoard.com

Sponsor

Back
Top