diff options
Diffstat (limited to 'rtl/fpu/lzc/lzc_4.sv')
| -rw-r--r-- | rtl/fpu/lzc/lzc_4.sv | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/rtl/fpu/lzc/lzc_4.sv b/rtl/fpu/lzc/lzc_4.sv new file mode 100644 index 0000000..0d5182c --- /dev/null +++ b/rtl/fpu/lzc/lzc_4.sv @@ -0,0 +1,33 @@ +module lzc_4 ( + input [3:0] a, + output [1:0] c, + output v +); + + logic a0; + logic a1; + logic a2; + logic a3; + + logic s0; + logic s1; + logic s2; + logic s3; + logic s4; + + assign a0 = a[0]; + assign a1 = a[1]; + assign a2 = a[2]; + assign a3 = a[3]; + + assign s0 = a3 | a2; + assign s1 = a1 | a0; + assign s2 = s1 | s0; + assign s3 = (~s0) & a1; + assign s4 = a3 | s3; + + assign v = s2; + assign c[0] = s4; + assign c[1] = s0; + +endmodule |
