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

Subversion Repositories usb_fpga_2_04

[/] [usb_fpga_2_04/] [trunk/] [examples/] [usb-fpga-2.16/] [2.16b/] [ucecho/] [fpga/] [ucecho.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ZTEX
library ieee;
2
use IEEE.std_logic_1164.all;
3
use IEEE.numeric_std.all;
4
Library UNISIM;
5
use UNISIM.vcomponents.all;
6
 
7
entity ucecho is
8
   port(
9
      pd        : in unsigned(7 downto 0);
10
      pb        : out unsigned(7 downto 0);
11
      fxclk_in  : in std_logic
12
   );
13
end ucecho;
14
 
15
 
16
architecture RTL of ucecho is
17
 
18
--signal declaration
19
signal pb_buf : unsigned(7 downto 0);
20
signal clk : std_logic;
21
signal fxclk_fb : std_logic;
22
 
23
begin
24
    -- PLL used as clock filter
25
    fxclk_pll : PLLE2_BASE
26
    generic map (
27
       BANDWIDTH => "OPTIMIZED",  -- OPTIMIZED, HIGH, LOW
28
       CLKFBOUT_MULT => 20,       -- Multiply value for all CLKOUT, (2-64)
29
       CLKFBOUT_PHASE => 0.0,     -- Phase offset in degrees of CLKFB, (-360.000-360.000).
30
       CLKIN1_PERIOD => 0.0,      -- Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz).
31
       -- CLKOUT0_DIVIDE - CLKOUT5_DIVIDE: Divide amount for each CLKOUT (1-128)
32
       CLKOUT0_DIVIDE => 10,
33
       CLKOUT1_DIVIDE => 1,
34
       CLKOUT2_DIVIDE => 1,
35
       CLKOUT3_DIVIDE => 1,
36
       CLKOUT4_DIVIDE => 1,
37
       CLKOUT5_DIVIDE => 1,
38
       -- CLKOUT0_DUTY_CYCLE - CLKOUT5_DUTY_CYCLE: Duty cycle for each CLKOUT (0.001-0.999).
39
       CLKOUT0_DUTY_CYCLE => 0.5,
40
       CLKOUT1_DUTY_CYCLE => 0.5,
41
       CLKOUT2_DUTY_CYCLE => 0.5,
42
       CLKOUT3_DUTY_CYCLE => 0.5,
43
       CLKOUT4_DUTY_CYCLE => 0.5,
44
       CLKOUT5_DUTY_CYCLE => 0.5,
45
       -- CLKOUT0_PHASE - CLKOUT5_PHASE: Phase offset for each CLKOUT (-360.000-360.000).
46
       CLKOUT0_PHASE => 0.0,
47
       CLKOUT1_PHASE => 0.0,
48
       CLKOUT2_PHASE => 0.0,
49
       CLKOUT3_PHASE => 0.0,
50
       CLKOUT4_PHASE => 0.0,
51
       CLKOUT5_PHASE => 0.0,
52
       DIVCLK_DIVIDE => 1,        -- Master division value, (1-56)
53
       REF_JITTER1 => 0.0,        -- Reference input jitter in UI, (0.000-0.999).
54
       STARTUP_WAIT => "FALSE"    -- Delay DONE until PLL Locks, ("TRUE"/"FALSE")
55
    )
56
    port map (
57
       CLKOUT0 => clk,
58
       CLKFBOUT => fxclk_fb,   -- 1-bit output: Feedback clock
59
       CLKIN1 => fxclk_in,     -- 1-bit input: Input clock
60
       PWRDWN => '0',          -- 1-bit input: Power-down
61
       RST => '0',             -- 1-bit input: Reset
62
       CLKFBIN => fxclk_fb     -- 1-bit input: Feedback clock
63
    );
64
 
65
    dpUCECHO: process(CLK)
66
    begin
67
         if CLK' event and CLK = '1' then
68
            if ( pd >= 97 ) and ( pd <= 122)
69
            then
70
                pb_buf <= pd - 32;
71
            else
72
                pb_buf <= pd;
73
            end if;
74
            pb <= pb_buf;
75
        end if;
76
    end process dpUCECHO;
77
 
78
end RTL;

powered by: WebSVN 2.1.0

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