ogarnica / TFG2020-21_RISC-V

Proyecto desarrollo chip RISC-V en tecnología STMicroelectronics
1 stars 1 forks source link

Insertar memorias STMicroelectonics en RTL #46

Closed ogarnica closed 3 years ago

ogarnica commented 3 years ago

El modulo mem del netlist myNetlistOpt_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 archivo design/mem.sv que sí existe.

AndreaPCalvin commented 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.
ogarnica commented 3 years ago

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.

AndreaPCalvin commented 3 years ago

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