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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [mp3/] [lib/] [xilinx/] [unisims/] [OSC4.v] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 266 lampret
// $Header: /home/marcus/revision_ctrl_test/oc_cvs/cvs/or1k/mp3/lib/xilinx/unisims/OSC4.v,v 1.1.1.1 2001-11-04 18:59:50 lampret Exp $
2
 
3
/*
4
 
5
FUNCTION        : OSCILLATOR
6
 
7
*/
8
 
9
`timescale  100 ps / 10 ps
10
 
11
`celldefine
12
 
13
module OSC4 (F8M, F500K, F16K, F490, F15);
14
 
15
    parameter cds_action = "ignore";
16
    parameter period = 100;
17
 
18
    output F8M, F500K, F16K, F490, F15;
19
 
20
    reg    R8M, R500K, R16K, R490, R15;
21
    time   T8M, T500K, T16K, T490, T15;
22
 
23
    // time variables are unsigned 32 bit variables
24
    // so they don't overflow
25
 
26
    buf B1 (F8M,   B8M);
27
    buf B2 (F500K, B500K);
28
    buf B3 (F16K,  B16K);
29
    buf B4 (F490,  B490);
30
    buf B5 (F15,   B15);
31
 
32
    assign B8M = R8M;
33
    assign B500K = R500K;
34
    assign B16K = R16K;
35
    assign B490 = R490;
36
    assign B15 = R15;
37
 
38
    initial begin
39
        T8M   = period * 10 / 2;        // worst case 10 MHz
40
        T500K = period * 160 / 2;       // worst case 625 KHz
41
        T16K  = period * 5000 / 2;      // worst case 20 KHz
42
        T490  = period * 163265 / 2;    // worst case 612.5 Hz
43
        T15   = period * 5333333 / 2;   // worst case 18.75 Hz
44
    end
45
 
46
    initial begin
47
        R8M   = 0;
48
        R500K = 0;
49
        R16K  = 0;
50
        R490  = 0;
51
        R15   = 0;
52
    end
53
 
54
  always begin
55
        #T8M R8M = 1;
56
        #T8M R8M = 0;
57
    end
58
 
59
  always begin
60
        #T500K R500K = 1;
61
        #T500K R500K = 0;
62
    end
63
 
64
  always begin
65
        #T16K R16K = 1;
66
        #T16K R16K = 0;
67
    end
68
 
69
  always begin
70
        #T490 R490 = 1;
71
        #T490 R490 = 0;
72
    end
73
 
74
  always begin
75
        #T15 R15 = 1;
76
        #T15 R15 = 0;
77
    end
78
 
79
endmodule
80
 
81
`endcelldefine

powered by: WebSVN 2.1.0

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