[an error occurred while processing this directive]
|
Там он при запуске сразу пишет:
genmem -- Generate Memory Simulation Model, Version 2.9
Copyright (c) 1996-2000 Altera Corporation
Т.е. получается, что это утилитка для генерации моделей для симулятора. Если так, то это несколько не то, что ожидалось. Надо для ведь для синтеза.
Попробовал сгенерть им память путем:
genmem synram 32x16 -verilog
Он выдал файлик, в котором просто описана память в виде тех же самых массивов:
//-----------------------------------
module syn_ram_32x16_iror (Q, Data, WE, Address, Inclock, Outclock);
parameter LPM_FILE = "UNUSED";
parameter Width = 16;
parameter WidthAd = 5;
parameter NumWords = 32;
input [WidthAd-1:0] Address;
input [Width-1:0] Data;
input WE;
output [Width-1:0] Q;
input Inclock;
input Outclock;
// synopsys translate_off
// internal reg
reg [Width-1:0] mem_data [NumWords-1:0];
reg [Width-1:0] tmp_q, tmp_q_reg;
reg [Width-1:0] ZERO, UNKNOWN, HiZ;
reg [8*256:1] mem_initf;
reg [WidthAd-1:0] clocked_address;
...
//-----------------------------------
Т.е. как-то не видно принципиальной разницы между этим вариантом и случаем, когда я сам написал:
reg [15:0] Buf[31:0];
А мегавизард просто выдает компонент на основе altsyncram, который есть в библиотеке, и потом при синтезатор маппит его на соответствующий атом, который есть в библиотеке (если правильно понимаю).
E-mail: info@telesys.ru