w11 - vhd
0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
dcm_sfs_unisim_s3.vhd
Go to the documentation of this file.
1
-- $Id: dcm_sfs_unisim_s3.vhd 1181 2019-07-08 17:00:50Z mueller $
2
-- SPDX-License-Identifier: GPL-3.0-or-later
3
-- Copyright 2010-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4
--
5
------------------------------------------------------------------------------
6
-- Module Name: dcm_sfs - syn
7
-- Description: DCM for simple frequency synthesis; SPARTAN-3 version
8
-- Direct instantiation of Xilinx UNISIM primitives
9
--
10
-- Dependencies: -
11
-- Test bench: -
12
-- Target Devices: generic Spartan-3A,-3E
13
-- Tool versions: xst 12.1-14.7; ghdl 0.29-0.31
14
--
15
-- Revision History:
16
-- Date Rev Version Comment
17
-- 2011-11-17 426 1.0.3 rename dcm_sp_sfs -> dcm_sfs, SPARTAN-3 version
18
-- 2011-11-10 423 1.0.2 add FAMILY generic, SPARTAN-3 support
19
-- 2010-11-12 338 1.0.1 drop SB_CLK generic; allow DIV=1,MUL=1 without DCM
20
-- 2010-11-07 337 1.0 Initial version
21
------------------------------------------------------------------------------
22
23
library
ieee
;
24
use
ieee.std_logic_1164.
all
;
25
26
library
unisim
;
27
use
unisim.vcomponents.
ALL
;
28
29
use
work.
slvtypes
.
all
;
30
31
entity
dcm_sfs
is
-- DCM for simple frequency synthesis
32
generic
(
33
CLKFX_DIVIDE
:
positive
:=
1
;
-- FX clock divide (1-32)
34
CLKFX_MULTIPLY
:
positive
:=
1
;
-- FX clock multiply (2-32) (1->no DCM)
35
CLKIN_PERIOD
:
real
:=
20
.
0
)
;
-- CLKIN period (def is 20.0 ns)
36
port
(
37
CLKIN
:
in
slbit
;
-- clock input
38
CLKFX
:
out
slbit
;
-- clock output (synthesized freq.)
39
LOCKED
:
out
slbit
-- dcm locked
40
)
;
41
end
dcm_sfs
;
42
43
44
architecture
syn
of
dcm_sfs
is
45
46
begin
47
48
assert
(
CLKFX_DIVIDE
=
1
and
CLKFX_MULTIPLY
=
1
)
or
CLKFX_MULTIPLY
>=
2
49
report
"assert((FX_DIV=1 and FX_MULT)=1 or FX_MULT>=2"
50
severity
failure
;
51
52
DCM0
:
if
CLKFX_DIVIDE
=
1
and
CLKFX_MULTIPLY
=
1
generate
53
CLKFX
<=
CLKIN
;
54
LOCKED
<=
'
1
'
;
55
end
generate
DCM0
;
56
57
DCM1
:
if
CLKFX_MULTIPLY
>=
2
generate
58
59
DCM : dcm
60
generic
map
(
61
CLK_FEEDBACK =>
"NONE"
,
62
CLKFX_DIVIDE =>
CLKFX_DIVIDE
,
63
CLKFX_MULTIPLY =>
CLKFX_MULTIPLY
,
64
CLKIN_DIVIDE_BY_2 => false,
65
CLKIN_PERIOD =>
CLKIN_PERIOD
,
66
CLKOUT_PHASE_SHIFT =>
"NONE"
,
67
DESKEW_ADJUST =>
"SYSTEM_SYNCHRONOUS"
,
68
DSS_MODE =>
"NONE"
)
69
port
map
(
70
CLKIN =>
CLKIN
,
71
CLKFX =>
CLKFX
,
72
LOCKED =>
LOCKED
73
)
;
74
75
end
generate
DCM1;
76
77
end
syn;
dcm_sfs.syn
Definition:
dcm_sfs_unisim_s3.vhd:44
dcm_sfs
Definition:
dcm_sfs_gsim.vhd:28
dcm_sfs.CLKFX_DIVIDE
CLKFX_DIVIDE positive := 1
Definition:
dcm_sfs_gsim.vhd:30
dcm_sfs.CLKIN
in CLKIN slbit
Definition:
dcm_sfs_gsim.vhd:34
dcm_sfs.CLKFX_MULTIPLY
CLKFX_MULTIPLY positive := 1
Definition:
dcm_sfs_gsim.vhd:31
dcm_sfs.LOCKED
out LOCKED slbit
Definition:
dcm_sfs_gsim.vhd:37
dcm_sfs.CLKIN_PERIOD
CLKIN_PERIOD real := 20.0
Definition:
dcm_sfs_gsim.vhd:32
dcm_sfs.CLKFX
out CLKFX slbit
Definition:
dcm_sfs_gsim.vhd:35
slvtypes
Definition:
slvtypes.vhd:28
slvtypes.slbit
std_logic slbit
Definition:
slvtypes.vhd:30
vlib
xlib
dcm_sfs_unisim_s3.vhd
Generated on Thu Feb 9 2023 12:41:06 for w11 - vhd by
1.9.6