packages feed

clash-systemverilog-0.5.6: 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' wclk Int  -- ^ wr,   ARG[3]
           -> Signal' rclk Int  -- ^ rd,   ARG[4]
           -> Signal' wclk Bool -- ^ en,   ARG[5]
           -> Signal' wclk a    -- ^ din,  ARG[6]
           -> Signal' rclk a"
    , "templateD" :
"// asyncRam begin
~SIGD[RAM_~SYM[0]][6] [0:~LIT[2]-1];

always @(posedge ~CLK[0]) begin : Ram_~COMPNAME_~SYM[4]
  if (~ARG[5]) begin
    RAM_~SYM[0][~ARG[3]] <= ~ARG[6];
  end
end

assign ~RESULT = RAM_~SYM[0][~ARG[4]];
// asyncRam end"
    }
  }
]