URL
https://opencores.org/ocsvn/cpu8080/cpu8080/trunk
[/] [cpu8080/] [trunk/] [project/] [common.vhd] - Diff between revs 11 and 12
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 11 |
Rev 12 |
library IEEE;
|
library IEEE;
|
use IEEE.std_logic_1164.all;
|
use IEEE.std_logic_1164.all;
|
use IEEE.numeric_std.all;
|
use IEEE.numeric_std.all;
|
|
|
package common is
|
package common is
|
|
|
constant YES : std_logic := '1';
|
constant YES : std_logic := '1';
|
constant NO : std_logic := '0';
|
constant NO : std_logic := '0';
|
constant HI : std_logic := '1';
|
constant HI : std_logic := '1';
|
constant LO : std_logic := '0';
|
constant LO : std_logic := '0';
|
constant ONE : std_logic := '1';
|
constant ONE : std_logic := '1';
|
constant ZERO : std_logic := '0';
|
constant ZERO : std_logic := '0';
|
function boolean2stdlogic(b : in boolean) return std_logic;
|
function boolean2stdlogic(b : in boolean) return std_logic;
|
function log2(v : in natural) return natural;
|
function log2(v : in natural) return natural;
|
|
|
end package common;
|
end package common;
|
|
|
|
|
|
|
library IEEE;
|
library IEEE;
|
use IEEE.std_logic_1164.all;
|
use IEEE.std_logic_1164.all;
|
use IEEE.numeric_std.all;
|
use IEEE.numeric_std.all;
|
|
|
|
|
package body common is
|
package body common is
|
|
|
function boolean2stdlogic(b : in boolean) return std_logic is
|
function boolean2stdlogic(b : in boolean) return std_logic is
|
variable s : std_logic;
|
variable s : std_logic;
|
begin
|
begin
|
if b then
|
if b then
|
s := '1';
|
s := '1';
|
else
|
else
|
s := '0';
|
s := '0';
|
end if;
|
end if;
|
return s;
|
return s;
|
end function boolean2stdlogic;
|
end function boolean2stdlogic;
|
|
|
function log2(v : in natural) return natural is
|
function log2(v : in natural) return natural is
|
variable n : natural;
|
variable n : natural;
|
variable logn : natural;
|
variable logn : natural;
|
begin
|
begin
|
n := 1;
|
n := 1;
|
for i in 0 to 128 loop
|
for i in 0 to 128 loop
|
logn := i;
|
logn := i;
|
exit when (n >= v);
|
exit when (n >= v);
|
n := n * 2;
|
n := n * 2;
|
end loop;
|
end loop;
|
return logn;
|
return logn;
|
end function log2;
|
end function log2;
|
|
|
end package body common;
|
end package body common;
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.