clash-ghc-0.3.1: primitives/clash.sized.unsigned.json
[ { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.eqU"
, "templateE" : "~ARG[0] = ~ARG[1]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.gtU"
, "templateE" : "~ARG[0] > ~ARG[1]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.ltU"
, "templateE" : "~ARG[0] < ~ARG[1]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.geU"
, "templateE" : "~ARG[0] >= ~ARG[1]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.leU"
, "templateE" : "~ARG[0] <= ~ARG[1]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.maxBoundU"
, "templateE" : "unsigned'((~LIT[0]-1) downto 0 => '1')"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.plusU"
, "templateE" : "~ARG[1] + ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.minU"
, "templateE" : "~ARG[1] - ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.timesU"
, "templateE" : "resize(~ARG[1] * ~ARG[2], ~LIT[0])"
}
}
, { "Primitive" :
{ "name" : "CLaSH.Sized.Unsigned.fromIntegerU"
, "primType" : "Function"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.quotU"
, "templateE" : "~ARG[1] / ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.remU"
, "templateE" : "~ARG[1] rem ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.modU"
, "templateE" : "~ARG[1] mod ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.toIntegerU"
, "templateE" : "to_integer(~ARG[0])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.andU"
, "templateE" : "~ARG[1] and ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.orU"
, "templateE" : "~ARG[1] or ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.xorU"
, "templateE" : "~ARG[1] xor ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.complementU"
, "templateE" : "not ~ARG[1]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.bitU"
, "templateD" :
"~SYM[0]_bitU : block
signal ~SYM[1] : ~TYP[1];
begin
~SYM[1] <= ~ARG[1];
process(~SYM[1])
variable ~SYM[2] : ~TYPO;
begin
~SYM[2] := (others => '0');
-- pragma translate_off
if ~SYM[1] < ~SYM[2]'low or ~SYM[1] > ~SYM[2]'high then
assert false report (\"Index: \" & integer'image(~SYM[1]) & \", is out of bounds: \" & integer'image(~SYM[2]'low) & \" downto \" & integer'image(~SYM[2]'high)) severity warning;
~SYM[2] := ~ERRORO;
else
-- pragma translate_on
~SYM[2](~SYM[1]) := '1';
-- pragma translate_off
end if;
-- pragma translate_on;
~RESULT <= ~SYM[2];
end process;
end block;"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.testBitU"
, "templateD" :
"~SYM[0]_testBitU : block
signal ~SYM[1] : ~TYP[1];
signal ~SYM[2] : ~TYP[2];
begin
~SYM[1] <= ~ARG[1];
~SYM[2] <= ~ARG[2];
-- pragma translate_off
process(~SYM[1],~SYM[2]) begin
if ~SYM[2] < ~SYM[1]'low or ~SYM[2] > ~SYM[1]'high then
assert false report (\"Index: \" & integer'image(~SYM[2]) & \", is out of bounds: \" & integer'image(~SYM[1]'low) & \" downto \" & integer'image(~SYM[1]'high)) severity warning;
~RESULT <= ~ERRORO;
else
-- pragma translate_on
~RESULT <= ~SYM[1](~SYM[2]) = '1';
-- pragma translate_off
end if;
end process;
-- pragma translate_on
end block;"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.shiftLU"
, "templateE" : "shift_left(~ARG[1],~ARG[2])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.shiftRU"
, "templateE" : "shift_right(~ARG[1],~ARG[2])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.rotateLU"
, "templateE" : "rotate_left(~ARG[1],~ARG[2])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.rotateRU"
, "templateE" : "rotate_right(~ARG[1],~ARG[2])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.finiteBitSizeU"
, "templateE" : "~LIT[0]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.toBitVector"
, "templateE" : "std_logic_vector(~ARG[1])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.fromBitVector"
, "templateE" : "unsigned(~ARG[1])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.resizeU"
, "templateE" : "resize(~ARG[1],~LIT[0])"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.plusU2"
, "templateE" : "~ARG[1] + ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.minusU2"
, "templateE" : "~ARG[1] - ~ARG[2]"
}
}
, { "BlackBox" :
{ "name" : "CLaSH.Sized.Unsigned.multU2"
, "templateE" : "~ARG[1] * ~ARG[2]"
}
}
]