별도의 입력 및 출력 포트가 있는 Verilog HDL 매개변수 RAM

이 예에서는 LPM 함수 lpm_ram_dq 사용하여 메모리 블록을 인스턴스화하는 방법을 보여줍니다. 변수 램은 LPM 라이브러리의 lpm_ram_dq 기능을 사용합니다. 포트는 처음에 정의되고 빨간색 텍스트에 표시된 대로 LPM 포트에 매핑됩니다. 매개변수 값은 키워드 defparam으로 전달됩니다. 이 예에서는 16 x 256 RAM 블록이 인스턴스화됩니다. 비슷한 프로세스를 사용하여 다른 크기의 RAM 블록을 인스턴스화할 수 있습니다.

lpm_file 매개 변수는 메모리 블록(RAM 또는 ROM)의 초기 콘텐츠를 지정하는 메모리 초기화 파일(.mif)을 의미합니다. MIF는 ASCII 텍스트 파일로 시뮬레이션 출력에서 수동으로 만들거나 저장할 수 있습니다. MIF에서는 메모리 깊이와 폭 값을 지정해야 하며, 주소와 데이터 값을 표시하고 해석하는 데 사용되는 radixes를 선택적으로 지정할 수 있습니다. 이러한 값은 아래와 같은 샘플 파일 map_lpm_ram.mif에서추출한 빨간색 텍스트에 표시됩니다. MIF는 MAX+PLUS II 컴파일러 및 시뮬레이터에서 메모리 초기화를 위한 입력 파일로 사용됩니다.

프로젝트에서 이 예제를 사용하는 것에 대한 자세한 내용은 다음 으로 이동하십시오.

Verilog HDL 예제 사용 방법 ›

RAMveri.v

// instantiation of lpm_ram_dq, 16-bit data, 256 address location module map_lpm_ram (dataout, datain, addr, we, inclk, outclk); // port instantiation input [15:0] datain; input [7:0] addr; input we, inclk, outclk; output [15:0] dataout; // instantiating lpm_ram_dq lpm_ram_dq ram (.data(datain), .address(addr), .we(we), .inclock(inclk), .outclock(outclk), .q(dataout)); // passing the parameter values defparam ram.lpm_width = 16; defparam ram.lpm_widthad = 8; defparam ram.lpm_indata = "REGISTERED" defparam ram.lpm_outdata = "REGISTERED" defparam ram.lpm_file = "map_lpm_ram.mif" endmodule

 

MIF 파일에서 추출

다운로드 map_lpm_ram.mif

WIDTH = 16; DEPTH = 256; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0 : ffff; 1 : 0000; 2 : bbf3; 3 : 0000; 4 : 0000; . . . fb : 0000; fc : 0000; fd : 0000; fe : 0000; ff : 0000; END;

이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.