2016-09-21 6 views
0

장치에서 특정 블록 RAM의 깊이 한계를 초과 한 VERILOG 코드의 블록 숫양을 사용하여 더 큰 RAM을 구현하려고합니다 (깊이 4500의 RAM이 필요하고 최대 블록 깊이가 512입니다) . 내 Verilog 코드에서 속성을 사용하여 블록 램을 캐스케이드하는 법. 미리 감사드립니다.자일링스 속성을 사용하여 Verilog 코드에서 차단 신호를 계단식으로 처리하는 방법은 무엇입니까?

답변

0

좋은 합성 도구가 있으면 기술 의존적 인 속성이 없어도 큰 RAM을 추측 할 수 있습니다. 따라서 블록 램 추론 기술에 대한 합성 매뉴얼을 확인하십시오. 그 곳의 일반적인 실수는 예를 들어 대부분의 기술에서 사용할 수없는 메모리 재설정을 추가하십시오.

+0

내 코드를 합성하기 위해 vivado를 사용하고 있습니다. 그리고 시간이 너무 많이 걸리므로 비트 파일을 생성하고 로그에서 블록 램보다는 레지스터로 램을 구현하는 것이 관찰되었습니다. 블록 램에서 내 램을 구현하려면 어떻게해야합니까? –

+1

@vlsi_user 툴이 합성, 맵핑 및 생성하는 데 필요한 시간은 일반적으로 디자인의 크기에 따라 다릅니다. Block RAM 대신에 레지스터로 구현되는 RAM에 관해서는 작성한 Block RAM 모듈이나 RAM을 인스턴스화하는 코드 스 니펫 중 하나를 보여주는 코드 스 니펫을 게시 할 수 있다면 도움이 될 것입니다. – Prashant

+0

@vlsi_user FPGA의 블록 램은 ASIC의 SRAM과 다릅니다. 즉, FPGA 블록 램을 추론하기 위해 1보다는 2 사이클 지연을 허용해야합니다. 항상 @ (posedge clk)와 같은 것이 시작됩니다 addr_reg <= addr; rdata <= mem [addr_reg]; 종료 –