OpenCores
URL https://opencores.org/ocsvn/cpu8080/cpu8080/trunk

Subversion Repositories cpu8080

[/] [cpu8080/] [trunk/] [project/] [common.vhd] - Blame information for rev 33

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 11 samiam9512
library IEEE;
2
use IEEE.std_logic_1164.all;
3
use IEEE.numeric_std.all;
4
 
5
package common is
6
 
7
  constant YES                :    std_logic := '1';
8
  constant NO                 :    std_logic := '0';
9
  constant HI                 :    std_logic := '1';
10
  constant LO                 :    std_logic := '0';
11
  constant ONE                :    std_logic := '1';
12
  constant ZERO               :    std_logic := '0';
13
  function boolean2stdlogic(b : in boolean) return std_logic;
14
  function log2(v             : in natural) return natural;
15
 
16
end package common;
17
 
18
 
19
 
20
library IEEE;
21
use IEEE.std_logic_1164.all;
22
use IEEE.numeric_std.all;
23
 
24
 
25
package body common is
26
 
27
  function boolean2stdlogic(b : in boolean) return std_logic is
28
    variable s                :    std_logic;
29
  begin
30
    if b then
31
      s := '1';
32
    else
33
      s := '0';
34
    end if;
35
    return s;
36
  end function boolean2stdlogic;
37
 
38
  function log2(v : in natural) return natural is
39
    variable n    :    natural;
40
    variable logn :    natural;
41
  begin
42
    n      := 1;
43
    for i in 0 to 128 loop
44
      logn := i;
45
      exit when (n >= v);
46
      n    := n * 2;
47
    end loop;
48
    return logn;
49
  end function log2;
50
 
51
end package body common;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.