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

Subversion Repositories simple_fm_receiver

[/] [simple_fm_receiver/] [trunk/] [bench/] [xilinx_fpga.vhdl] - Blame information for rev 46

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 46 arif_endro
-- ------------------------------------------------------------------------
2 40 arif_endro
-- Copyright (C) 2004 Arif Endro Nugroho
3 46 arif_endro
-- All rights reserved.
4 13 arif_endro
-- 
5 46 arif_endro
-- Redistribution and use in source and binary forms, with or without
6
-- modification, are permitted provided that the following conditions
7
-- are met:
8 13 arif_endro
-- 
9 46 arif_endro
-- 1. Redistributions of source code must retain the above copyright
10
--    notice, this list of conditions and the following disclaimer.
11
-- 2. Redistributions in binary form must reproduce the above copyright
12
--    notice, this list of conditions and the following disclaimer in the
13
--    documentation and/or other materials provided with the distribution.
14 13 arif_endro
-- 
15 46 arif_endro
-- THIS SOFTWARE IS PROVIDED BY ARIF ENDRO NUGROHO "AS IS" AND ANY EXPRESS
16
-- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
-- DISCLAIMED. IN NO EVENT SHALL ARIF ENDRO NUGROHO BE LIABLE FOR ANY
19
-- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21
-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22
-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23
-- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
24
-- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
-- POSSIBILITY OF SUCH DAMAGE.
26 13 arif_endro
-- 
27 46 arif_endro
-- End Of License.
28
-- ------------------------------------------------------------------------
29 6 arif_endro
 
30
-------------------------------------------------------------------------------
31
-- Notes on Implementations
32
-- Generates ILA, ICON, and VIO cores using Xilinx ChipScope with
33
-- following options:
34
-- ICON => generates to control two devices (e.g. two control port)
35
-- ILA  => generates to capture two output signal (e.g. two trigger)
36
-- VIO  => generates one async control output to control reset signal on design
37
-------------------------------------------------------------------------------
38
 
39
library IEEE;
40
use IEEE.STD_LOGIC_1164.all;
41
 
42
entity xilinx_fpga is
43
   port (
44
   clock             : in bit
45
   );
46
end xilinx_fpga;
47
 
48
architecture structural of xilinx_fpga is
49
  -------------------------------------------------------------------
50
  --
51
  --  Design Under Test
52
  --
53
  -------------------------------------------------------------------
54
  component bench
55
  port (
56
  clock              : in  bit;
57
  reset              : in  bit;
58
  output_fm          : out bit_vector (11 downto 0);
59
  output_fmTri       : out bit_vector (11 downto 0)
60
  );
61
  end component;
62
 
63
  -------------------------------------------------------------------
64
  --
65
  --  DUT Signal declaration
66
  --
67
  -------------------------------------------------------------------
68
  signal reset          : bit;
69
  signal output_fm      : bit_vector       (11 downto 0);
70
  signal output_fmTri   : bit_vector       (11 downto 0);
71
 
72
  -------------------------------------------------------------------
73
  --
74
  --  ICON core component declaration
75
  --
76
  -------------------------------------------------------------------
77
  component icon
78
    port
79
    (
80
      control0    :   out std_logic_vector(35 downto 0);
81
      control1    :   out std_logic_vector(35 downto 0)
82
    );
83
  end component;
84
 
85
 
86
  -------------------------------------------------------------------
87
  --
88
  --  ICON core signal declarations
89
  --
90
  -------------------------------------------------------------------
91
  signal control0       : std_logic_vector(35 downto 0);
92
  signal control1       : std_logic_vector(35 downto 0);
93
 
94
 
95
  -------------------------------------------------------------------
96
  --
97
  --  ILA core component declaration
98
  --
99
  -------------------------------------------------------------------
100
  component ila
101
    port
102
    (
103
      control     : in    std_logic_vector(35 downto 0);
104
      clk         : in    std_logic;
105
      trig0       : in    std_logic_vector(11 downto 0);
106
      trig1       : in    std_logic_vector(11 downto 0)
107
    );
108
  end component;
109
 
110
 
111
  -------------------------------------------------------------------
112
  --
113
  --  ILA core signal declarations
114
  --
115
  -------------------------------------------------------------------
116
--  signal control    : std_logic_vector(35 downto 0);
117
  signal clk        : std_logic;
118
  signal trig0      : std_logic_vector(11 downto 0);
119
  signal trig1      : std_logic_vector(11 downto 0);
120
 
121
  -------------------------------------------------------------------
122
  --
123
  --  VIO core component declaration
124
  --
125
  -------------------------------------------------------------------
126
  component vio
127
    port
128
    (
129
      control     : in    std_logic_vector(35 downto 0);
130
      async_out   : out   std_logic_vector(0 downto 0)
131
    );
132
  end component;
133
 
134
 
135
  -------------------------------------------------------------------
136
  --
137
  --  VIO core signal declarations
138
  --
139
  -------------------------------------------------------------------
140
--  signal control    : std_logic_vector(35 downto 0);
141
  signal async_out    : std_logic_vector(0 downto 0);
142
 
143
 
144
begin
145
 
146
  -------------------------------------------------------------------
147
  --  Design Under Test 
148
  --  Design + Test bench to make easy input date (lazy person)
149
  -------------------------------------------------------------------
150
  my_design : bench
151
  port map
152
  (
153
  clock        => clock,
154
  reset        => reset,
155
  output_fm    => output_fm,
156
  output_fmTri => output_fmTri
157
  );
158
 
159
  -------------------------------------------------------------------
160
  --
161
  --  ICON core instance
162
  --
163
  -------------------------------------------------------------------
164
  i_icon : icon
165
    port map
166
    (
167
      control0    => control0,
168
      control1    => control1
169
    );
170
 
171
  -------------------------------------------------------------------
172
  --
173
  --  ILA core instance
174
  --
175
  -------------------------------------------------------------------
176
  i_ila : ila
177
    port map
178
    (
179
      control   => control0,
180
      clk       => clk,
181
      trig0     => trig0,
182
      trig1     => trig1
183
    );
184
 
185
  clk          <= to_stdulogic (clock);
186
  trig0        <= to_stdlogicvector (output_fm);
187
  trig1        <= to_stdlogicvector (output_fmTri);
188
 
189
  -------------------------------------------------------------------
190
  --
191
  --  VIO core instance
192
  --
193
  -------------------------------------------------------------------
194
  i_vio : vio
195
    port map
196
    (
197
      control   => control1,
198
      async_out => async_out
199
    );
200
  reset <= to_bit (async_out(0));
201
 
202
end structural;

powered by: WebSVN 2.1.0

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