Skip to content

Commit 61cd751

Browse files
author
Ricardo F Tafas Jr
committed
fixing bug on unsigned rrl and rll
1 parent ac13ecd commit 61cd751

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/std_logic_expert.vhd

+4-4
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ package std_logic_expert is
126126
function "rrl" (l:std_logic_vector; r: integer ) return std_logic_vector;
127127
function "rrl" (l:std_logic_vector; r: unsigned) return std_logic_vector;
128128
function "rrl" (l:integer_array; r: integer ) return integer_array;
129-
129+
130130
--index operations
131131
function size_of ( input : integer ) return integer;
132132
function size_of ( input : integer; word : integer ) return integer;
@@ -724,7 +724,7 @@ package body std_logic_expert is
724724
variable tmp2 : std_logic_vector(l'range);
725725
begin
726726
tmp1 := to_integer(r);
727-
tmp2 := l sla tmp1;
727+
tmp2 := l rll tmp1;
728728
return tmp2;
729729
end "rll";
730730

@@ -753,7 +753,7 @@ package body std_logic_expert is
753753
variable tmp2 : std_logic_vector(l'range);
754754
begin
755755
tmp1 := to_integer(r);
756-
tmp2 := l srl tmp1;
756+
tmp2 := l rrl tmp1;
757757
return tmp2;
758758
end "rrl";
759759

@@ -762,7 +762,7 @@ package body std_logic_expert is
762762
begin
763763
tmp := l;
764764
for j in 1 to r loop
765-
tmp <= tmp(0) & tmp(tmp'high downto 1);
765+
tmp <= tmp(tmp'low) & tmp(tmp'high downto 1);
766766
end loop;
767767
return tmp;
768768
end "rrl";

0 commit comments

Comments
 (0)