{
 "version": "0.7.2",
 "note": "Error codes are stable across releases; the message wording is not.",
 "codes": [
  {
   "code": "E118",
   "construct": "defparam",
   "category": "language",
   "planned": "no",
   "note": "Order-dependent and awkward to elaborate. Use parameter overrides in the instantiation."
  },
  {
   "code": "E121",
   "construct": "hierarchical names in expressions",
   "category": "language",
   "planned": "no",
   "note": "The design is flattened early, so a cross-module reference has nothing to resolve against."
  },
  {
   "code": "E130",
   "construct": "specify blocks, path delays",
   "category": "language",
   "planned": "no",
   "note": "Only meaningful for simulation and cell libraries."
  },
  {
   "code": "E131",
   "construct": "user-defined primitives",
   "category": "language",
   "planned": "no",
   "note": "Table-driven primitives are a simulation feature."
  },
  {
   "code": "E134",
   "construct": "wand, wor, trireg, tri0, tri1",
   "category": "language",
   "planned": "no",
   "note": "No resolved-net modelling exists in the netlist format."
  },
  {
   "code": "E136",
   "construct": "gate primitives beyond and/or/not/xor/buf",
   "category": "language",
   "planned": "no",
   "note": "nmos, pullup, rtran and relatives have no mapping on these devices."
  },
  {
   "code": "E142",
   "construct": "real and time variables",
   "category": "language",
   "planned": "no",
   "note": "Floating-point has no hardware here; use fixed-point integers."
  },
  {
   "code": "E150",
   "construct": "delays in assignments (#n)",
   "category": "language",
   "planned": "no",
   "note": "Timing comes from the delay table, not the source; a # delay is dropped only in an initial, see W301."
  },
  {
   "code": "E156",
   "construct": "casex",
   "category": "language",
   "planned": "no",
   "note": "The don't-care matching of casex hides priority bugs in hardware. Use casez, which warns."
  },
  {
   "code": "E161",
   "construct": "four-state literals (1'bx, 1'bz) outside tri-state IO",
   "category": "semantics",
   "planned": "no",
   "note": "The netlist is two-state; x and z have no storage."
  },
  {
   "code": "E170",
   "construct": "unpacked arrays deeper than one level",
   "category": "synthesis",
   "planned": "maybe",
   "note": "Multi-dimensional memories are not inferred yet; planned alongside BRAM cascades."
  },
  {
   "code": "E181",
   "construct": "multiple drivers on a net",
   "category": "synthesis",
   "planned": "no",
   "note": "A resolved wire needs tri-state modelling the format does not have."
  },
  {
   "code": "W204",
   "construct": "unconstrained clock-domain crossing",
   "category": "warning",
   "planned": "-",
   "note": "The path is reported but excluded from slack; constrain it with set_false_path or set_max_delay."
  },
  {
   "code": "W214",
   "construct": "array not inferred as block RAM",
   "category": "warning",
   "planned": "-",
   "note": "Names the array and the reason; usually an asynchronous read or an odd width."
  },
  {
   "code": "W301",
   "construct": "delay in an initial block",
   "category": "warning",
   "planned": "-",
   "note": "The # delay is ignored rather than rejected; initial sets a power-on value only."
  },
  {
   "code": "W302",
   "construct": "system task ignored ($display, $finish)",
   "category": "warning",
   "planned": "-",
   "note": "System tasks are accepted and dropped so testbench-flavoured code still elaborates."
  }
 ]
}