1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
default Order dec
$include <prelude.sail>
$target_set emulator c ocaml interpreter lem systemverilog
outcome test_ev1 : forall 'n, 'n > 0. ('a, bits('n)) -> unit
with
'a: Type
= {
val to_bits : 'a -> bits(64)
impl emulator(x, y) = {
match x {
w: 'a => print_bits("w = ", to_bits(w))
};
print_bits("x = ", to_bits(x : 'a));
let z: bits('n + 8) = 0xFF @ y;
print_bits("z = ", z)
}
}
function instance_to_bits(x: bits(32)) -> bits(64) = {
sail_zero_extend(x, 64)
}
instantiation test_ev1 with
'a = bits(32),
to_bits = instance_to_bits
val main : unit -> unit
function main() = {
test_ev1(0xABCD_0000, 0xFF)
}
|