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

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [rtl/] [techmap/] [bufg/] [types_buf.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 sergeykhbr
----------------------------------------------------------------------------
2
--! @file
3
--! @copyright  Copyright 2015 GNSS Sensor Ltd. All right reserved.
4
--! @author     Sergey Khabarov
5
--! @brief      Declaration types_buf package components.
6
------------------------------------------------------------------------------
7
--! Standard library
8
library ieee;
9
use ieee.std_logic_1164.all;
10
use ieee.numeric_std.all;
11
 
12
--! Technology constants definition.
13
library techmap;
14
use techmap.gencomp.all;
15
 
16
--! @brief      Declaration of 'virtual' Buffers components.
17
package types_buf is
18
 
19
  --! @brief Clock signals multiplexer.
20
  --! @param[in] tech  Technology selector.
21
  --! @param[out] O    Output clock signal.
22
  --! @param[in] I1    Input clock signal 1.
23
  --! @param[in] I2    Input clock signal 2.
24
  --! @param[in] S     Input signals switcher: 
25
  --!                      0 = I1; 1 = I2.
26
  component bufgmux_tech is
27
    generic (
28
      tech : integer := 0;
29
      rf_frontend_ena : boolean := false
30
    );
31
    port (
32
      O        : out std_ulogic;
33
      I1       : in std_ulogic;
34
      I2       : in std_ulogic;
35
      S        : in std_ulogic);
36
  end component;
37
 
38
  --! @brief Input PAD buffer.
39
  --! @details This buffer makes sense only for ASIC implementation.
40
  --! @param[in] tech  Technology selector.
41
  --! @param[out] o    Output buffered signal.
42
  --! @param[in] i     Input unbuffered signal.
43
  component ibuf_tech is generic (generic_tech : integer := 0);
44
  port (
45
    o  : out std_logic;
46
    i  : in std_logic
47
  );
48
  end component;
49
 
50
  --! @brief Input clocking PAD buffer.
51
  --! @param[in] tech  Technology selector.
52
  --! @param[out] o    Output buffered clock signal.
53
  --! @param[in] i     Input unbuffered clock signal.
54
  component ibufg_tech is generic (tech : integer := 0);
55
  port (
56
    O    : out std_ulogic;
57
    I    : in std_ulogic
58
    );
59
  end component;
60
 
61
  --! @brief Output PAD buffer.
62
  --! @details This buffer makes sense only for ASIC implementation.
63
  --! @param[in] tech  Technology selector.
64
  --! @param[out] o    Output signal directly connected to the ASIC output pin.
65
  --! @param[in] i     Input signal.
66
  component obuf_tech is generic (generic_tech : integer := 0);
67
  port (
68
    o  : out std_logic;
69
    i  : in std_logic
70
  );
71
  end component;
72
 
73
  --! @brief Input/Output PAD buffer.
74
  --! @param[in]    tech Technology selector.
75
  --! @param[out]   o    Output signal 
76
  --! @param[inout] io   Bi-directional signal.
77
  --! @param[in]    i    Input signal 
78
  --! @param[in]    t    Controlling signal: 0 = in; 1=out
79
  --!
80
  --! Example:
81
  --! @code
82
  --!    entity foo is port (
83
  --!       io_gpio : inout std_logic
84
  --!    )
85
  --!    end foo;
86
  --!    architecture rtl of foo is
87
  --!      signal ob_gpio_direction : std_logic;
88
  --!      signal ob_gpio_opins     : std_logic;
89
  --!      signal ib_gpio_ipins     : std_logic;
90
  --!      ...
91
  --!    begin
92
  --!      ob_gpio_direction <= '1';
93
  --!
94
  --!      iob   : iobuf_tech generic map(kintex7) 
95
  --!          port map (ib_gpio_ipins, io_gpio, ob_gpio_opins, ob_gpio_direction);
96
  --! 
97
  --!      reg : process(clk, nrst) begin
98
  --!         if rising_edge(clk) then 
99
  --!            reg1 <= ib_gpio_ipins;
100
  --!            ob_gpio_opins <= reg2;
101
  --!         end;
102
  --!      end process;
103
  --!    end;
104
  --! @endcode
105
  component iobuf_tech is generic (generic_tech : integer := 0);
106
  port (
107
    o  : out std_logic;
108
    io : inout std_logic;
109
    i  : in std_logic;
110
    t  : in std_logic
111
  );
112
  end component;
113
 
114
  --! @brief Gigabit buffer with differential inputs.
115
  --! @param[in] gclk_p Differential clock input.
116
  --! @param[in] gclk_n Differential clock inversed input.
117
  --! @param[out] o_clk Unbuffered clock output.
118
  component igdsbuf_tech is
119
  generic (
120
    generic_tech : integer := 0
121
  );
122
  port (
123
    gclk_p : in std_logic;
124
    gclk_n : in std_logic;
125
    o_clk  : out std_logic
126
  );
127
  end component;
128
 
129
  --! @brief Input buffer with differential inputs.
130
  --! @param[in] clk_p Differential clock input.
131
  --! @param[in] clk_n Differential clock inversed input.
132
  --! @param[out] o_clk Unbuffered clock output.
133
  component idsbuf_tech is
134
  generic (
135
    generic_tech : integer := 0
136
  );
137
  port (
138
    clk_p : in std_logic;
139
    clk_n : in std_logic;
140
    o_clk  : out std_logic
141
  );
142
  end component;
143
 
144
end;

powered by: WebSVN 2.1.0

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