Closed ogarnica closed 3 years ago
Al ejecutar read_rtl aparece el siguiente error La línea 225 pertenece a la memoria de 1024x39
Error : Constant expression required. [CDFG-249] [elaborate]
: The condition expression in the 'if generate' statement must be constant in file '/home/cadence/TFG2020-21_RISC-V/src/eh1/design/lib/mem_lib.sv' on line 225.
: See 'HDL Modeling Guide' for more information.
Info : Unable to elaborate the design. [ELAB-4]
: Module 'swerv_wrapper' contains errors and cannot be elaborated.
El problema es que no puedes usar un if
suelto en el código: debe estar incluido en un bloque always_comb
. Es lo mismo que en VHDL: los if
deben incluirse en un process
. El equivalente a un process
combinacional de VHDL es always_comb
en SystemVerilog.
Solucionado añadiendo bloque always_comb
reg WEN;
always_comb begin
if(WE) begin
WEN=1'd0;
end else begin
WEN=1'd1;
end
end
El modulo
mem
del netlistmyNetlistOpt_postTIE
es una black-box: está instanciado pero no hay una descripción asociada. Por esa razón, las memorias que contiene este modulo no han sido insertadas en el netlist.El archivo de lectura de los archivos contiene la lectura del archivo
design\lib\mem.sv
que no existe y en cambio tiene comentado la lectura del archivodesign/mem.sv
que sí existe.