clash-ghc-0.4: primitives/CLaSH.Signal.Internal.json
[ { "BlackBox" :
{ "name" : "CLaSH.Signal.Internal.register#"
, "comment" :
"register# :: SClock clk -- ARG[0]
-> a -- ARG[1]
-> CSignal clk a -- ARG[2]
-> CSignal clk a"
, "templateD" :
"register_~SYM[0] : block
signal ~SYM[1] : ~TYP[1];
signal ~SYM[2] : ~TYP[2];
begin
~SYM[1] <= ~ARG[1];
process(~CLK[0],~RST[0],~SYM[1])
begin
if ~RST[0] = '0' then
~SYM[2] <= ~SYM[1];
elsif rising_edge(~CLK[0]) then
~SYM[2] <= ~ARG[2];
end if;
end process;
~RESULT <= ~SYM[2];
end block;"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Signal.Internal.regEn#"
, "comment" :
"regEn# :: SClock clk -- ARG[0]
-> a -- ARG[1]
-> CSignal clk Bool -- ARG[2]
-> CSignal clk a -- ARG[3]
-> CSignal clk a"
, "templateD" :
"regEn_~SYM[0] : block
signal ~SYM[1] : ~TYP[1];
signal ~SYM[2] : ~TYP[2];
signal ~SYM[3] : ~TYP[3];
begin
~SYM[1] <= ~ARG[1];
~SYM[2] <= ~ARG[2];
process(~CLK[0],~RST[0],~SYM[1],~SYM[2])
begin
if ~RST[0] = '0' then
~SYM[3] <= ~SYM[1];
elsif rising_edge(~CLK[0]) then
if ~SYM[2] then
~SYM[3] <= ~ARG[3];
end if;
end if;
end process;
~RESULT <= ~SYM[3];
end block;"
}
}
, { "Primitive" :
{ "name" : "CLaSH.Signal.Internal.signal#"
, "primType" : "Function"
}
}
, { "Primitive" :
{ "name" : "CLaSH.Signal.Internal.mapSignal#"
, "primType" : "Function"
}
}
, { "Primitive" :
{ "name" : "CLaSH.Signal.Internal.appSignal#"
, "primType" : "Function"
}
}
, { "Primitive" :
{ "name" : "CLaSH.Signal.Internal.foldr#"
, "primType" : "Function"
}
}
, { "Primitive" :
{ "name" : "CLaSH.Signal.Internal.traverse#"
, "primType" : "Function"
}
}
]