packages feed

clash-systemverilog-0.6: primitives/CLaSH.Prelude.ROM.File.json

[ { "BlackBox" :
    { "name" : "CLaSH.Prelude.ROM.File.asyncRomFile#"
    , "type" :
"asyncRomFile :: KnownNat m -- ARG[0]
              => SNat n     -- sz,   ARG[1]
              -> FilePath   -- file, ARG[2]
              -> Int        -- rd,   ARG[3]
              -> BitVector m"
    , "templateD" :
"// asyncRomFile begin
~SIGDO[ROM_~SYM[0]] [0:~LIT[1]-1];

initial begin
  $readmemb(~FILE[~LIT[2]],ROM_~SYM[0]);
end

assign ~RESULT = ROM_~SYM[0][~ARG[3]];
// asyncRomFile end"
    }
  }
, { "BlackBox" :
    { "name" : "CLaSH.Prelude.ROM.File.romFile#"
    , "type" :
"romFile# :: KnownNat m      -- ARG[0]
          => SClock clk      -- clk,  ARG[1]
          -> SNat n          -- sz,   ARG[2]
          -> FilePath        -- file, ARG[3]
          -> Signal' clk Int -- rd,   ARG[4]
          -> Signal' clk (BitVector m)"
    , "templateD" :
"// romFile begin
~SIGDO[ROM_~SYM[0]] [0:~LIT[2]-1];

initial begin
  $readmemb(~FILE[~LIT[3]],ROM_~SYM[0]);
end

~SIGDO[dout_~SYM[1]];
always @(posedge ~CLK[1]) begin : romFile_~COMPNAME_~SYM[2]
  dout_~SYM[1] <= ROM_~SYM[0][~ARG[4]];
end

assign ~RESULT = dout_~SYM[1];
// romFile end"
    }
  }
]