나는 FPGA에 마이크로 컨트롤러를 구현하려고하는데, 그 프로그램을 위해 ROM을 줄 필요가있다. $ readmemb을 사용하면 올바르게 ROM에 합성됩니까? 그렇지 않다면 표준 방법은 무엇입니까?
8
A
답변
15
$readmemb
이 합성 가능한지 여부는 합성 도구에 달려 있다고 George의 답을 수정합니다. (아래 재생) $readmemb
추론 롬을 보여
Altera의 Recommended HDL Coding Styles 가이드는 예 10-31를 포함한다 (페이지 10-38) : 마찬가지로
module dual_port_rom (
input [(addr_width-1):0] addr_a, addr_b,
input clk,
output reg [(data_width-1):0] q_a, q_b
);
parameter data_width = 8;
parameter addr_width = 8;
reg [data_width-1:0] rom[2**addr_width-1:0];
initial // Read the memory contents in the file
// dual_port_rom_init.txt.
begin
$readmemb("dual_port_rom_init.txt", rom);
end
always @ (posedge clk)
begin
q_a <= rom[addr_a];
q_b <= rom[addr_b];
end
endmodule
자일링스의 XST User Guide 상태 즉 :
$readmemb
및$readmemh
시스템 작업은 블록 메모리를 초기화하는 데 사용할 수 있습니다. 자세한 내용은 다음을 참조하십시오진수 표현 이진 및
$readmemh
에 대한 코딩 예외부 파일에서 사용
$readmemb
을 RAM을 초기화. XST와 시뮬레이터 동작간에 차이가 발생할 수 있으므로 작업에서 인덱스 매개 변수를 사용하는 것이 좋습니다. 다음 코드 예제를 참조하십시오.
$readmemb("rams_20c.data",ram, 0, 7);
관련 문제
- 1. Verilog에서 합성 오류
- 2. Verilog에서 4 대 1 함수의 효율적인 합성
- 3. Verilog에서 while() 루프를 사용하지 않는 방법 (합성용)?
- 4. Verilog에서 시뮬레이션 오류
- 5. Verilog에서 모든 의존성을 찾는다.
- 6. 내 코드가 합성 가능 여부를 어떻게 알 수 있습니까? [Verilog]
- 7. Android 캔버스에서의 합성 작업
- 8. JavaScript 사운드 합성
- 9. matlab에있는 파일을 읽고 Verilog에서 액세스하십시오.
- 10. Verilog에서 for 루프를 실행하려면 어떻게해야합니까?
- 11. 합성 문법
- 12. 합성 질문
- 13. 자동 합성 패턴
- 14. 합성 명령어 란 무엇입니까?
- 15. 합성 mutator와 대입 사용
- 16. 합성 방법의 정보원은 무엇입니까?
- 17. Python에서 합성 가능 Regexp
- 18. Tupled 함수의 합성
- 19. GWT 합성 시각화 기다리기
- 20. iPhone 용 음성 합성
- 21. 에어 합성 DICOM
- 22. 합성 및 커버 인덱스
- 23. 노래 부 합성
- 24. GWT. 이미지로드 및 합성
- 25. 합성 숫자 찾기
- 26. 예상 식별자 '('전에 '합성'
- 27. 유창한 nhibernate 합성 키
- 28. NHibernate MySQL 합성 키
- 29. 재정의시 합성 상속 사용
- 30. Verilog에서 두 개의 모듈을 연결하는 방법은 무엇입니까?
mrkj의 대답은 나보다 훨씬 낫다. 나는 그것을 제거했다. – George