google / globalfoundries-pdk-libs-gf180mcu_fd_io

IO and periphery cells for the GF180MCU provided by GlobalFoundries.
https://gf180mcu-pdk.rtfd.io
Apache License 2.0
13 stars 5 forks source link

verilog model of cells uses compiler directives not implemented in yosys #10

Open chaufe opened 1 year ago

chaufe commented 1 year ago

@proppy

Expected Behavior

The verilog model should only use language constructs supported by the tool chain, i.e. only compiler directives implemented in the synthesis tool yosys.

Actual Behavior

The current verilog module uses the compiler directive `suppress_faults that is not implemented in yosys. In consequence, when loading the verilog model into yosys, i.e. via the openlane variable VERILOG_FILES_BLACKBOX, yosys will stop with error:

  1. Executing Verilog-2005 frontend:
    /content/eda/share/pdk/gf180mcuC/libs.ref/gf180mcu_fd_io/verilog/gf180mcu_fd_io.v
    /content/eda/share/pdk/gf180mcuC/libs.ref/gf180mcu_fd_io/verilog/gf180mcu_fd_io.v:17: ERROR: Unimplemented compiler directive or undefined macro `suppress_faults.
    child process exited abnormally

Steps to Reproduce the Problem

  1. within config.tcl,
    set ::env(VERILOG_FILES_BLACKBOX)   /content/eda/share/pdk/gf180mcuC/libs.ref/gf180mcu_fd_io/verilog/gf180mcu_fd_io.v
  2. run flow.tcl -to synthesis

Specifications