module: metastable_noise
parameters: double p_meta
inputs: double input double_interp clk
outputs:  double out
static_variables:
double err_meta
classes: Rand randg("uniform") EdgeDetect clk_pos() 
init: 
code:
  if (clk_pos.inp(clk)) {
    if (randg.inp() < (p_meta/100)) {
      if (randg.inp() < 0.5) err_meta = 1;
      else err_meta = -1; 
    }
    else err_meta = 0;
  }
  out = input + err_meta;
