Skip to content

Commit

Permalink
Improve VHDL output to silence Ghdl warnings
Browse files Browse the repository at this point in the history
- do not generate empty package bodies
- use ...'range attribute in for-loop within forsyde.vhd library
  • Loading branch information
HWoidt committed Jul 25, 2016
1 parent 6fd52f0 commit 71544d0
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
12 changes: 6 additions & 6 deletions lib/forsyde.vhd
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ package body types is
variable inter : signed (0 to 7) := to_signed (i, 8);
variable ret : fsvec_std_logic (0 to 7);
begin
for index in 0 to ret'length-1 loop
for index in ret'range loop
ret(index) := inter(index);
end loop;
return ret;
Expand All @@ -122,7 +122,7 @@ package body types is
variable inter : signed (0 to 15) := to_signed (i, 16);
variable ret : fsvec_std_logic (0 to 15);
begin
for index in 0 to ret'length-1 loop
for index in ret'range loop
ret(index) := inter(index);
end loop;
return ret;
Expand All @@ -133,7 +133,7 @@ package body types is
variable inter : signed (0 to 31) := to_signed (i, 32);
variable ret : fsvec_std_logic (0 to 31);
begin
for index in 0 to ret'length-1 loop
for index in ret'range loop
ret(index) := inter(index);
end loop;
return ret;
Expand All @@ -143,7 +143,7 @@ package body types is
function fromBitVector8 (v : fsvec_std_logic) return int8 is
variable inter : signed (0 to 7);
begin
for index in 0 to inter'length-1 loop
for index in inter'range loop
inter(index) := v(index);
end loop;
return to_integer(inter);
Expand All @@ -152,7 +152,7 @@ package body types is
function fromBitVector16 (v : fsvec_std_logic) return int16 is
variable inter : signed (0 to 15);
begin
for index in 0 to inter'length-1 loop
for index in inter'range loop
inter(index) := v(index);
end loop;
return to_integer(inter);
Expand All @@ -162,7 +162,7 @@ package body types is
function fromBitVector32 (v : fsvec_std_logic) return int32 is
variable inter : signed (0 to 31);
begin
for index in 0 to inter'length-1 loop
for index in inter'range loop
inter(index) := v(index);
end loop;
return to_integer(inter);
Expand Down
1 change: 1 addition & 0 deletions src/ForSyDe/Deep/Backend/VHDL/Ppr.hs
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ instance Ppr PackageDecItem where
ppr (PDISS subProgSpec) = ppr subProgSpec <> semi

instance Ppr PackageBody where
ppr (PackageBody _ []) = text "" -- skip empty body
ppr (PackageBody id decs) =
text "package body" <+> idDoc <+> text "is" $+$
vSpace $++$
Expand Down

0 comments on commit 71544d0

Please sign in to comment.