packages feed

clash-systemverilog-0.7: primitives/CLaSH.Prelude.RAM.json

[ { "BlackBox" :
    { "name" : "CLaSH.Prelude.RAM.asyncRam#"
    , "type" :
"asyncRam# :: SClock wclk       -- ^ wclk, ARG[0]
           -> SClock rclk       -- ^ rclk, ARG[1]
           -> SNat n            -- ^ sz,   ARG[2]
           -> Signal' rclk Int  -- ^ rd,   ARG[3]
           -> Signal' wclk Bool -- ^ en,   ARG[4]
           -> Signal' wclk Int  -- ^ wr,   ARG[5]
           -> Signal' wclk a    -- ^ din,  ARG[6]
           -> Signal' rclk a"
    , "templateD" :
"// asyncRam begin
logic [~SIZE[~TYP[6]]-1:0] ~GENSYM[RAM][0] [0:~LIT[2]-1];

always @(posedge ~CLK[0]) begin : ~GENSYM[~COMPNAME_Ram][1]
  if (~ARG[4]) begin
    ~SYM[0][~ARG[5]] <= ~TOBV[~ARG[6]][~TYP[6]];
  end
end

assign ~RESULT = ~FROMBV[~SYM[0][\\~ARG[3]\\]][~TYPO];
// asyncRam end"
    }
  }
]