From d5c877247834fc25689ca6cf7530cd8d1b870d3a Mon Sep 17 00:00:00 2001 From: Wojciech Kosior Date: Sat, 5 Sep 2020 17:20:38 +0200 Subject: add swap instruction together with bench --- design/stack_machine.v | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'design') diff --git a/design/stack_machine.v b/design/stack_machine.v index 868a103..0ccc1c6 100644 --- a/design/stack_machine.v +++ b/design/stack_machine.v @@ -182,6 +182,10 @@ module stack_machine_new assign instr_nop = !set_im && !use_im && stack_same_size && instruction[11:0] == 12'd1; + wire instr_swap; + assign instr_swap = !set_im && !use_im && stack_same_size && + instruction[11:0] == 12'd2; + wire instr_set_sp; assign instr_set_sp = use_im && stack_same_size && instruction[11:7] == 5'd0; @@ -439,6 +443,9 @@ module stack_machine_new if (instr_nop) r1 <= r1; + if (instr_swap) + {r0, r1} <= {r1, r0}; + if (instr_set_sp) `SET_SP(im_effective); -- cgit v1.2.3