OpenCores
URL https://opencores.org/ocsvn/openjtag-project/openjtag-project/trunk

Subversion Repositories openjtag-project

[/] [openjtag-project/] [trunk/] [OpenJTAG/] [Quartus_II/] [clock_mux.vhd] - Blame information for rev 18

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 18 rmileca
-- Created by Ruben H. Mileca - May-16-2010
2
 
3
 
4
library ieee;
5
USE ieee.std_logic_1164.ALL;
6
USE ieee.numeric_std.all;
7
 
8
entity clock_mux IS
9
 
10
                port (
11
 
12
-- Internal
13
 
14
                clk:    in std_logic;                                           -- External 48 MHz oscillator
15
                cks:    in std_logic_vector(2 downto 0) := "000";        -- Clock divider
16
                wcks:   out std_logic                                           -- Clock output
17
        );
18
 
19
end clock_mux;
20
 
21
architecture rtl of clock_mux is
22
 
23
        signal count:           integer range 0 to 127 := 0;
24
        signal cclk:            std_logic_vector(6 downto 0);
25
begin
26
 
27
 
28
clock_gen: process(clk, cks)
29
 
30
begin
31
 
32
        if cks = "000" then
33
                wcks <= clk;
34
        else
35
                if (rising_edge(clk)) then
36
                        cclk <= std_logic_vector(to_unsigned(count, cclk'length));
37
                        wcks <= cclk(to_integer(unsigned(cks)) - 1);
38
                        count <= count + 1;
39
                end if;
40
        end if;
41
 
42
end process clock_gen;
43
end rtl;

powered by: WebSVN 2.1.0

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