Является ли $readmem синтезируемым в Verilog?
Я пытаюсь реализовать микроконтроллер на FPGA, и мне нужно дать ему ПЗУ для его программы. Если я использую $readmemb, будет ли это правильно синтезировано в ПЗУ? Если нет, то каков стандартный способ сделать это?
1 ответов
Я бы изменил ответ Джорджа, чтобы сказать, что это зависит от инструмента синтеза, или нет $readmemb
это синтезируемых.
"Альтере"рекомендуемые стили кодирования HDL руководство включает пример 10-31 (стр. 10-38), который демонстрирует ПЗУ, выведенное из $readmemb
(приводится ниже):
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
аналогично, фирмы Xilinx в XST руководство пользователя гласит:
The
$readmemb
и