clash-systemverilog-0.6.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[~GENSYM[ROM][0]] [0:~LIT[1]-1];
initial begin
$readmemb(~FILE[~LIT[2]],~SYM[0]);
end
assign ~RESULT = ~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[~GENSYM[ROM][0]] [0:~LIT[2]-1];
initial begin
$readmemb(~FILE[~LIT[3]],~SYM[0]);
end
~SIGDO[~GENSYM[dout][1]];
always @(posedge ~CLK[1]) begin : ~GENSYM[~COMPNAME_romFile][2]
~SYM[1] <= ~SYM[0][~ARG[4]];
end
assign ~RESULT = ~SYM[1];
// romFile end"
}
}
]