Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
litex-boards
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kestrel Collaboration
Kestrel LiteX
litex-boards
Commits
2b17dc1b
Commit
2b17dc1b
authored
Nov 04, 2020
by
Florent Kermarrec
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
target: add rst signal to CRG to allow full reset of the SoC on reboot command.
parent
aa6b9cab
Changes
49
Show whitespace changes
Inline
Side-by-side
Showing
49 changed files
with
109 additions
and
43 deletions
+109
-43
litex_boards/targets/ac701.py
litex_boards/targets/ac701.py
+3
-2
litex_boards/targets/acorn_cle_215.py
litex_boards/targets/acorn_cle_215.py
+2
-0
litex_boards/targets/aller.py
litex_boards/targets/aller.py
+2
-0
litex_boards/targets/alveo_u250.py
litex_boards/targets/alveo_u250.py
+2
-1
litex_boards/targets/arty.py
litex_boards/targets/arty.py
+2
-1
litex_boards/targets/arty_s7.py
litex_boards/targets/arty_s7.py
+3
-3
litex_boards/targets/c10lprefkit.py
litex_boards/targets/c10lprefkit.py
+2
-1
litex_boards/targets/camlink_4k.py
litex_boards/targets/camlink_4k.py
+2
-1
litex_boards/targets/colorlight_5a_75x.py
litex_boards/targets/colorlight_5a_75x.py
+3
-2
litex_boards/targets/crosslink_nx_evn.py
litex_boards/targets/crosslink_nx_evn.py
+2
-1
litex_boards/targets/crosslink_nx_vip.py
litex_boards/targets/crosslink_nx_vip.py
+2
-1
litex_boards/targets/de0nano.py
litex_boards/targets/de0nano.py
+2
-0
litex_boards/targets/de10lite.py
litex_boards/targets/de10lite.py
+2
-0
litex_boards/targets/de10nano.py
litex_boards/targets/de10nano.py
+2
-0
litex_boards/targets/de1soc.py
litex_boards/targets/de1soc.py
+2
-0
litex_boards/targets/de2_115.py
litex_boards/targets/de2_115.py
+2
-0
litex_boards/targets/ecp5_evn.py
litex_boards/targets/ecp5_evn.py
+2
-1
litex_boards/targets/ecpix5.py
litex_boards/targets/ecpix5.py
+4
-3
litex_boards/targets/fk33.py
litex_boards/targets/fk33.py
+2
-0
litex_boards/targets/fomu.py
litex_boards/targets/fomu.py
+2
-0
litex_boards/targets/genesys2.py
litex_boards/targets/genesys2.py
+2
-1
litex_boards/targets/hadbadge.py
litex_boards/targets/hadbadge.py
+2
-0
litex_boards/targets/icebreaker.py
litex_boards/targets/icebreaker.py
+2
-1
litex_boards/targets/kc705.py
litex_boards/targets/kc705.py
+2
-1
litex_boards/targets/kcu105.py
litex_boards/targets/kcu105.py
+2
-1
litex_boards/targets/kx2.py
litex_boards/targets/kx2.py
+2
-1
litex_boards/targets/linsn_rv901t.py
litex_boards/targets/linsn_rv901t.py
+2
-0
litex_boards/targets/logicbone.py
litex_boards/targets/logicbone.py
+3
-2
litex_boards/targets/mercury_xu5.py
litex_boards/targets/mercury_xu5.py
+2
-0
litex_boards/targets/mimas_a7.py
litex_boards/targets/mimas_a7.py
+2
-1
litex_boards/targets/minispartan6.py
litex_boards/targets/minispartan6.py
+2
-0
litex_boards/targets/mist.py
litex_boards/targets/mist.py
+2
-0
litex_boards/targets/nereid.py
litex_boards/targets/nereid.py
+2
-0
litex_boards/targets/netv2.py
litex_boards/targets/netv2.py
+2
-0
litex_boards/targets/nexys4ddr.py
litex_boards/targets/nexys4ddr.py
+2
-1
litex_boards/targets/nexys_video.py
litex_boards/targets/nexys_video.py
+2
-1
litex_boards/targets/orangecrab.py
litex_boards/targets/orangecrab.py
+3
-2
litex_boards/targets/pano_logic_g2.py
litex_boards/targets/pano_logic_g2.py
+2
-1
litex_boards/targets/pipistrello.py
litex_boards/targets/pipistrello.py
+2
-1
litex_boards/targets/tagus.py
litex_boards/targets/tagus.py
+2
-0
litex_boards/targets/tec0117.py
litex_boards/targets/tec0117.py
+0
-2
litex_boards/targets/trellisboard.py
litex_boards/targets/trellisboard.py
+6
-4
litex_boards/targets/ulx3s.py
litex_boards/targets/ulx3s.py
+3
-2
litex_boards/targets/vc707.py
litex_boards/targets/vc707.py
+2
-1
litex_boards/targets/vcu118.py
litex_boards/targets/vcu118.py
+2
-1
litex_boards/targets/versa_ecp5.py
litex_boards/targets/versa_ecp5.py
+2
-1
litex_boards/targets/xcu1525.py
litex_boards/targets/xcu1525.py
+2
-0
litex_boards/targets/zcu104.py
litex_boards/targets/zcu104.py
+2
-0
litex_boards/targets/zybo_z7.py
litex_boards/targets/zybo_z7.py
+3
-1
No files found.
litex_boards/targets/ac701.py
View file @
2b17dc1b
...
@@ -32,15 +32,16 @@ from liteeth.phy.s7rgmii import LiteEthPHYRGMII
...
@@ -32,15 +32,16 @@ from liteeth.phy.s7rgmii import LiteEthPHYRGMII
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_
clk200
=
ClockDomain
()
self
.
clock_domains
.
cd_
idelay
=
ClockDomain
()
# # #
# # #
self
.
submodules
.
pll
=
pll
=
S7PLL
(
speedgrade
=-
1
)
self
.
submodules
.
pll
=
pll
=
S7PLL
(
speedgrade
=-
1
)
self
.
comb
+=
pll
.
reset
.
eq
(
platform
.
request
(
"cpu_reset"
))
self
.
comb
+=
pll
.
reset
.
eq
(
platform
.
request
(
"cpu_reset"
)
|
self
.
rst
)
pll
.
register_clkin
(
platform
.
request
(
"clk200"
),
200e6
)
pll
.
register_clkin
(
platform
.
request
(
"clk200"
),
200e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
...
...
litex_boards/targets/acorn_cle_215.py
View file @
2b17dc1b
...
@@ -52,6 +52,7 @@ from litepcie.software import generate_litepcie_software
...
@@ -52,6 +52,7 @@ from litepcie.software import generate_litepcie_software
class
CRG
(
Module
):
class
CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
...
@@ -62,6 +63,7 @@ class CRG(Module):
...
@@ -62,6 +63,7 @@ class CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
S7PLL
()
self
.
submodules
.
pll
=
pll
=
S7PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk200
,
200e6
)
pll
.
register_clkin
(
clk200
,
200e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
...
...
litex_boards/targets/aller.py
View file @
2b17dc1b
...
@@ -36,6 +36,7 @@ from litepcie.software import generate_litepcie_software
...
@@ -36,6 +36,7 @@ from litepcie.software import generate_litepcie_software
class
CRG
(
Module
):
class
CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
...
@@ -46,6 +47,7 @@ class CRG(Module):
...
@@ -46,6 +47,7 @@ class CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
S7PLL
()
self
.
submodules
.
pll
=
pll
=
S7PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk100
,
100e6
)
pll
.
register_clkin
(
clk100
,
100e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
...
...
litex_boards/targets/alveo_u250.py
View file @
2b17dc1b
...
@@ -33,6 +33,7 @@ from litepcie.software import generate_litepcie_software
...
@@ -33,6 +33,7 @@ from litepcie.software import generate_litepcie_software
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_pll4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_pll4x
=
ClockDomain
(
reset_less
=
True
)
...
@@ -41,7 +42,7 @@ class _CRG(Module):
...
@@ -41,7 +42,7 @@ class _CRG(Module):
# # #
# # #
self
.
submodules
.
pll
=
pll
=
USMMCM
(
speedgrade
=-
2
)
self
.
submodules
.
pll
=
pll
=
USMMCM
(
speedgrade
=-
2
)
self
.
comb
+=
pll
.
reset
.
eq
(
0
)
# FIXME
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
platform
.
request
(
"clk300"
,
0
),
300e6
)
pll
.
register_clkin
(
platform
.
request
(
"clk300"
,
0
),
300e6
)
pll
.
create_clkout
(
self
.
cd_pll4x
,
sys_clk_freq
*
4
,
buf
=
None
,
with_reset
=
False
)
pll
.
create_clkout
(
self
.
cd_pll4x
,
sys_clk_freq
*
4
,
buf
=
None
,
with_reset
=
False
)
pll
.
create_clkout
(
self
.
cd_idelay
,
500e6
,
with_reset
=
False
)
pll
.
create_clkout
(
self
.
cd_idelay
,
500e6
,
with_reset
=
False
)
...
...
litex_boards/targets/arty.py
View file @
2b17dc1b
...
@@ -29,6 +29,7 @@ from liteeth.phy.mii import LiteEthPHYMII
...
@@ -29,6 +29,7 @@ from liteeth.phy.mii import LiteEthPHYMII
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x_dqs
=
ClockDomain
(
reset_less
=
True
)
...
@@ -38,7 +39,7 @@ class _CRG(Module):
...
@@ -38,7 +39,7 @@ class _CRG(Module):
# # #
# # #
self
.
submodules
.
pll
=
pll
=
S7PLL
(
speedgrade
=-
1
)
self
.
submodules
.
pll
=
pll
=
S7PLL
(
speedgrade
=-
1
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset"
))
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset"
)
|
self
.
rst
)
pll
.
register_clkin
(
platform
.
request
(
"clk100"
),
100e6
)
pll
.
register_clkin
(
platform
.
request
(
"clk100"
),
100e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
...
...
litex_boards/targets/arty_s7.py
View file @
2b17dc1b
...
@@ -28,6 +28,7 @@ from litedram.phy import s7ddrphy
...
@@ -28,6 +28,7 @@ from litedram.phy import s7ddrphy
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
...
@@ -37,7 +38,7 @@ class _CRG(Module):
...
@@ -37,7 +38,7 @@ class _CRG(Module):
# # #
# # #
self
.
submodules
.
pll
=
pll
=
S7PLL
(
speedgrade
=-
1
)
self
.
submodules
.
pll
=
pll
=
S7PLL
(
speedgrade
=-
1
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset"
))
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset"
)
|
self
.
rst
)
pll
.
register_clkin
(
platform
.
request
(
"clk100"
),
100e6
)
pll
.
register_clkin
(
platform
.
request
(
"clk100"
),
100e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys2x
,
2
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys2x
,
2
*
sys_clk_freq
)
...
@@ -67,8 +68,7 @@ class BaseSoC(SoCCore):
...
@@ -67,8 +68,7 @@ class BaseSoC(SoCCore):
self
.
submodules
.
ddrphy
=
s7ddrphy
.
A7DDRPHY
(
platform
.
request
(
"ddram"
),
self
.
submodules
.
ddrphy
=
s7ddrphy
.
A7DDRPHY
(
platform
.
request
(
"ddram"
),
memtype
=
"DDR3"
,
memtype
=
"DDR3"
,
nphases
=
4
,
nphases
=
4
,
sys_clk_freq
=
sys_clk_freq
,
sys_clk_freq
=
sys_clk_freq
)
interface_type
=
"MEMORY"
)
self
.
add_csr
(
"ddrphy"
)
self
.
add_csr
(
"ddrphy"
)
self
.
add_sdram
(
"sdram"
,
self
.
add_sdram
(
"sdram"
,
phy
=
self
.
ddrphy
,
phy
=
self
.
ddrphy
,
...
...
litex_boards/targets/c10lprefkit.py
View file @
2b17dc1b
...
@@ -32,6 +32,7 @@ from litehyperbus.core.hyperbus import HyperRAM
...
@@ -32,6 +32,7 @@ from litehyperbus.core.hyperbus import HyperRAM
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
...
@@ -42,7 +43,7 @@ class _CRG(Module):
...
@@ -42,7 +43,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
Cyclone10LPPLL
(
speedgrade
=
"-A7"
)
self
.
submodules
.
pll
=
pll
=
Cyclone10LPPLL
(
speedgrade
=
"-A7"
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset"
))
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset"
)
|
self
.
rst
)
pll
.
register_clkin
(
clk12
,
12e6
)
pll
.
register_clkin
(
clk12
,
12e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
...
...
litex_boards/targets/camlink_4k.py
View file @
2b17dc1b
...
@@ -29,6 +29,7 @@ from litedram.phy import ECP5DDRPHY
...
@@ -29,6 +29,7 @@ from litedram.phy import ECP5DDRPHY
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_init
=
ClockDomain
()
self
.
clock_domains
.
cd_init
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
...
@@ -51,7 +52,7 @@ class _CRG(Module):
...
@@ -51,7 +52,7 @@ class _CRG(Module):
# pll
# pll
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
~
por_done
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
por_done
|
self
.
rst
)
pll
.
register_clkin
(
clk27
,
27e6
)
pll
.
register_clkin
(
clk27
,
27e6
)
pll
.
create_clkout
(
self
.
cd_sys2x_i
,
2
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys2x_i
,
2
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_init
,
27e6
)
pll
.
create_clkout
(
self
.
cd_init
,
27e6
)
...
...
litex_boards/targets/colorlight_5a_75x.py
View file @
2b17dc1b
...
@@ -66,6 +66,7 @@ from liteeth.phy.ecp5rgmii import LiteEthPHYRGMII
...
@@ -66,6 +66,7 @@ from liteeth.phy.ecp5rgmii import LiteEthPHYRGMII
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
use_internal_osc
=
False
,
with_usb_pll
=
False
,
with_rst
=
True
,
sdram_rate
=
"1:1"
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
use_internal_osc
=
False
,
with_usb_pll
=
False
,
with_rst
=
True
,
sdram_rate
=
"1:1"
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
if
sdram_rate
==
"1:2"
:
if
sdram_rate
==
"1:2"
:
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
()
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
()
...
@@ -91,7 +92,7 @@ class _CRG(Module):
...
@@ -91,7 +92,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
~
rst_n
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
rst_n
|
self
.
rst
)
pll
.
register_clkin
(
clk
,
clk_freq
)
pll
.
register_clkin
(
clk
,
clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
if
sdram_rate
==
"1:2"
:
if
sdram_rate
==
"1:2"
:
...
@@ -103,7 +104,7 @@ class _CRG(Module):
...
@@ -103,7 +104,7 @@ class _CRG(Module):
# USB PLL
# USB PLL
if
with_usb_pll
:
if
with_usb_pll
:
self
.
submodules
.
usb_pll
=
usb_pll
=
ECP5PLL
()
self
.
submodules
.
usb_pll
=
usb_pll
=
ECP5PLL
()
self
.
comb
+=
usb_pll
.
reset
.
eq
(
~
rst_n
)
self
.
comb
+=
usb_pll
.
reset
.
eq
(
~
rst_n
|
self
.
rst
)
usb_pll
.
register_clkin
(
clk
,
clk_freq
)
usb_pll
.
register_clkin
(
clk
,
clk_freq
)
self
.
clock_domains
.
cd_usb_12
=
ClockDomain
()
self
.
clock_domains
.
cd_usb_12
=
ClockDomain
()
self
.
clock_domains
.
cd_usb_48
=
ClockDomain
()
self
.
clock_domains
.
cd_usb_48
=
ClockDomain
()
...
...
litex_boards/targets/crosslink_nx_evn.py
View file @
2b17dc1b
...
@@ -33,6 +33,7 @@ mB = 1024*kB
...
@@ -33,6 +33,7 @@ mB = 1024*kB
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
()
...
@@ -49,7 +50,7 @@ class _CRG(Module):
...
@@ -49,7 +50,7 @@ class _CRG(Module):
self
.
comb
+=
self
.
cd_por
.
clk
.
eq
(
self
.
cd_sys
.
clk
)
self
.
comb
+=
self
.
cd_por
.
clk
.
eq
(
self
.
cd_sys
.
clk
)
self
.
sync
.
por
+=
If
(
por_counter
!=
0
,
por_counter
.
eq
(
por_counter
-
1
))
self
.
sync
.
por
+=
If
(
por_counter
!=
0
,
por_counter
.
eq
(
por_counter
-
1
))
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_por
,
~
rst_n
)
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_por
,
~
rst_n
)
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_sys
,
(
por_counter
!=
0
))
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_sys
,
(
por_counter
!=
0
)
|
self
.
rst
)
# BaseSoC ------------------------------------------------------------------------------------------
# BaseSoC ------------------------------------------------------------------------------------------
...
...
litex_boards/targets/crosslink_nx_vip.py
View file @
2b17dc1b
...
@@ -39,6 +39,7 @@ mB = 1024*kB
...
@@ -39,6 +39,7 @@ mB = 1024*kB
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
()
...
@@ -55,7 +56,7 @@ class _CRG(Module):
...
@@ -55,7 +56,7 @@ class _CRG(Module):
self
.
comb
+=
self
.
cd_por
.
clk
.
eq
(
self
.
cd_sys
.
clk
)
self
.
comb
+=
self
.
cd_por
.
clk
.
eq
(
self
.
cd_sys
.
clk
)
self
.
sync
.
por
+=
If
(
por_counter
!=
0
,
por_counter
.
eq
(
por_counter
-
1
))
self
.
sync
.
por
+=
If
(
por_counter
!=
0
,
por_counter
.
eq
(
por_counter
-
1
))
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_por
,
~
rst_n
)
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_por
,
~
rst_n
)
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_sys
,
(
por_counter
!=
0
))
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_sys
,
(
por_counter
!=
0
)
|
self
.
rst
)
# BaseSoC ------------------------------------------------------------------------------------------
# BaseSoC ------------------------------------------------------------------------------------------
...
...
litex_boards/targets/de0nano.py
View file @
2b17dc1b
...
@@ -29,6 +29,7 @@ from litedram.phy import GENSDRPHY, HalfRateGENSDRPHY
...
@@ -29,6 +29,7 @@ from litedram.phy import GENSDRPHY, HalfRateGENSDRPHY
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
sdram_rate
=
"1:1"
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
sdram_rate
=
"1:1"
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
if
sdram_rate
==
"1:2"
:
if
sdram_rate
==
"1:2"
:
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
()
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
()
...
@@ -43,6 +44,7 @@ class _CRG(Module):
...
@@ -43,6 +44,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
CycloneIVPLL
(
speedgrade
=
"-6"
)
self
.
submodules
.
pll
=
pll
=
CycloneIVPLL
(
speedgrade
=
"-6"
)
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
if
sdram_rate
==
"1:2"
:
if
sdram_rate
==
"1:2"
:
...
...
litex_boards/targets/de10lite.py
View file @
2b17dc1b
...
@@ -32,6 +32,7 @@ from litevideo.terminal.core import Terminal
...
@@ -32,6 +32,7 @@ from litevideo.terminal.core import Terminal
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_vga
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_vga
=
ClockDomain
(
reset_less
=
True
)
...
@@ -43,6 +44,7 @@ class _CRG(Module):
...
@@ -43,6 +44,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
Max10PLL
(
speedgrade
=
"-7"
)
self
.
submodules
.
pll
=
pll
=
Max10PLL
(
speedgrade
=
"-7"
)
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
...
...
litex_boards/targets/de10nano.py
View file @
2b17dc1b
...
@@ -32,6 +32,7 @@ from litevideo.terminal.core import Terminal
...
@@ -32,6 +32,7 @@ from litevideo.terminal.core import Terminal
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
with_sdram
=
False
,
sdram_rate
=
"1:1"
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
with_sdram
=
False
,
sdram_rate
=
"1:1"
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
if
sdram_rate
==
"1:2"
:
if
sdram_rate
==
"1:2"
:
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
()
self
.
clock_domains
.
cd_sys2x
=
ClockDomain
()
...
@@ -47,6 +48,7 @@ class _CRG(Module):
...
@@ -47,6 +48,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
CycloneVPLL
(
speedgrade
=
"-I7"
)
self
.
submodules
.
pll
=
pll
=
CycloneVPLL
(
speedgrade
=
"-I7"
)
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
if
sdram_rate
==
"1:2"
:
if
sdram_rate
==
"1:2"
:
...
...
litex_boards/targets/de1soc.py
View file @
2b17dc1b
...
@@ -28,6 +28,7 @@ from litedram.phy import GENSDRPHY
...
@@ -28,6 +28,7 @@ from litedram.phy import GENSDRPHY
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
...
@@ -38,6 +39,7 @@ class _CRG(Module):
...
@@ -38,6 +39,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
CycloneVPLL
(
speedgrade
=
"-C6"
)
self
.
submodules
.
pll
=
pll
=
CycloneVPLL
(
speedgrade
=
"-C6"
)
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
...
...
litex_boards/targets/de2_115.py
View file @
2b17dc1b
...
@@ -28,6 +28,7 @@ from litedram.phy import GENSDRPHY
...
@@ -28,6 +28,7 @@ from litedram.phy import GENSDRPHY
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
...
@@ -38,6 +39,7 @@ class _CRG(Module):
...
@@ -38,6 +39,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
CycloneIVPLL
(
speedgrade
=
"-7"
)
self
.
submodules
.
pll
=
pll
=
CycloneIVPLL
(
speedgrade
=
"-7"
)
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
register_clkin
(
clk50
,
50e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
...
...
litex_boards/targets/ecp5_evn.py
View file @
2b17dc1b
...
@@ -23,6 +23,7 @@ from litex.soc.cores.led import LedChaser
...
@@ -23,6 +23,7 @@ from litex.soc.cores.led import LedChaser
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
x5_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
,
x5_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
# # #
# # #
...
@@ -37,7 +38,7 @@ class _CRG(Module):
...
@@ -37,7 +38,7 @@ class _CRG(Module):
# pll
# pll
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
~
rst_n
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
rst_n
|
self
.
rst
)
pll
.
register_clkin
(
clk
,
x5_clk_freq
or
12e6
)
pll
.
register_clkin
(
clk
,
x5_clk_freq
or
12e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
...
...
litex_boards/targets/ecpix5.py
View file @
2b17dc1b
...
@@ -30,6 +30,7 @@ from liteeth.phy.ecp5rgmii import LiteEthPHYRGMII
...
@@ -30,6 +30,7 @@ from liteeth.phy.ecp5rgmii import LiteEthPHYRGMII
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_init
=
ClockDomain
()
self
.
clock_domains
.
cd_init
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
...
@@ -54,7 +55,7 @@ class _CRG(Module):
...
@@ -54,7 +55,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
~
por_done
|
~
rst_n
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
por_done
|
~
rst_n
|
self
.
rst
)
pll
.
register_clkin
(
clk100
,
100e6
)
pll
.
register_clkin
(
clk100
,
100e6
)
pll
.
create_clkout
(
self
.
cd_sys2x_i
,
2
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys2x_i
,
2
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_init
,
25e6
)
pll
.
create_clkout
(
self
.
cd_init
,
25e6
)
...
@@ -69,8 +70,8 @@ class _CRG(Module):
...
@@ -69,8 +70,8 @@ class _CRG(Module):
i_CLKI
=
self
.
cd_sys2x
.
clk
,
i_CLKI
=
self
.
cd_sys2x
.
clk
,
i_RST
=
self
.
reset
,
i_RST
=
self
.
reset
,
o_CDIVX
=
self
.
cd_sys
.
clk
),
o_CDIVX
=
self
.
cd_sys
.
clk
),
AsyncResetSynchronizer
(
self
.
cd_sys
,
~
pll
.
locked
|
self
.
reset
),
AsyncResetSynchronizer
(
self
.
cd_sys
,
~
pll
.
locked
|
self
.
reset
|
self
.
rst
),
AsyncResetSynchronizer
(
self
.
cd_sys2x
,
~
pll
.
locked
|
self
.
reset
),
AsyncResetSynchronizer
(
self
.
cd_sys2x
,
~
pll
.
locked
|
self
.
reset
|
self
.
rst
),
]
]
# BaseSoC ------------------------------------------------------------------------------------------
# BaseSoC ------------------------------------------------------------------------------------------
...
...
litex_boards/targets/fk33.py
View file @
2b17dc1b
...
@@ -29,11 +29,13 @@ from litepcie.software import generate_litepcie_software
...
@@ -29,11 +29,13 @@ from litepcie.software import generate_litepcie_software
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
# # #
# # #
self
.
submodules
.
pll
=
pll
=
USPMMCM
(
speedgrade
=-
2
)
self
.
submodules
.
pll
=
pll
=
USPMMCM
(
speedgrade
=-
2
)
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
platform
.
request
(
"clk200"
),
200e6
)
pll
.
register_clkin
(
platform
.
request
(
"clk200"
),
200e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
...
...
litex_boards/targets/fomu.py
View file @
2b17dc1b
...
@@ -33,6 +33,7 @@ mB = 1024*kB
...
@@ -33,6 +33,7 @@ mB = 1024*kB
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
assert
sys_clk_freq
==
12e6
assert
sys_clk_freq
==
12e6
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_usb_12
=
ClockDomain
()
self
.
clock_domains
.
cd_usb_12
=
ClockDomain
()
...
@@ -53,6 +54,7 @@ class _CRG(Module):
...
@@ -53,6 +54,7 @@ class _CRG(Module):
# USB PLL
# USB PLL
self
.
submodules
.
pll
=
pll
=
iCE40PLL
()
self
.
submodules
.
pll
=
pll
=
iCE40PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
clko_freq_range
=
(
12e6
,
275e9
)
# FIXME: improve iCE40PLL to avoid lowering clko_freq_min.
pll
.
clko_freq_range
=
(
12e6
,
275e9
)
# FIXME: improve iCE40PLL to avoid lowering clko_freq_min.
pll
.
register_clkin
(
clk48
,
48e6
)
pll
.
register_clkin
(
clk48
,
48e6
)
pll
.
create_clkout
(
self
.
cd_usb_12
,
12e6
,
with_reset
=
False
)
pll
.
create_clkout
(
self
.
cd_usb_12
,
12e6
,
with_reset
=
False
)
...
...
litex_boards/targets/genesys2.py
View file @
2b17dc1b
...
@@ -28,6 +28,7 @@ from liteeth.phy.s7rgmii import LiteEthPHYRGMII
...
@@ -28,6 +28,7 @@ from liteeth.phy.s7rgmii import LiteEthPHYRGMII
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys4x
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_idelay
=
ClockDomain
()
self
.
clock_domains
.
cd_idelay
=
ClockDomain
()
...
@@ -35,7 +36,7 @@ class _CRG(Module):
...
@@ -35,7 +36,7 @@ class _CRG(Module):
# # #
# # #
self
.
submodules
.
pll
=
pll
=
S7MMCM
(
speedgrade
=-
2
)
self
.
submodules
.
pll
=
pll
=
S7MMCM
(
speedgrade
=-
2
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset_n"
))
self
.
comb
+=
pll
.
reset
.
eq
(
~
platform
.
request
(
"cpu_reset_n"
)
|
self
.
rst
)
pll
.
register_clkin
(
platform
.
request
(
"clk200"
),
200e6
)
pll
.
register_clkin
(
platform
.
request
(
"clk200"
),
200e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys4x
,
4
*
sys_clk_freq
)
...
...
litex_boards/targets/hadbadge.py
View file @
2b17dc1b
...
@@ -35,6 +35,7 @@ from litedram.modules import AS4C32M8
...
@@ -35,6 +35,7 @@ from litedram.modules import AS4C32M8
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_sys_ps
=
ClockDomain
(
reset_less
=
True
)
...
@@ -45,6 +46,7 @@ class _CRG(Module):
...
@@ -45,6 +46,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
submodules
.
pll
=
pll
=
ECP5PLL
()
self
.
comb
+=
pll
.
reset
.
eq
(
self
.
rst
)
pll
.
register_clkin
(
clk8
,
8e6
)
pll
.
register_clkin
(
clk8
,
8e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
pll
.
create_clkout
(
self
.
cd_sys_ps
,
sys_clk_freq
,
phase
=
90
)
...
...
litex_boards/targets/icebreaker.py
View file @
2b17dc1b
...
@@ -40,6 +40,7 @@ mB = 1024*kB
...
@@ -40,6 +40,7 @@ mB = 1024*kB
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
self
.
rst
=
Signal
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_sys
=
ClockDomain
()
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
self
.
clock_domains
.
cd_por
=
ClockDomain
(
reset_less
=
True
)
...
@@ -58,7 +59,7 @@ class _CRG(Module):
...
@@ -58,7 +59,7 @@ class _CRG(Module):
# PLL
# PLL
self
.
submodules
.
pll
=
pll
=
iCE40PLL
(
primitive
=
"SB_PLL40_PAD"
)
self
.
submodules
.
pll
=
pll
=
iCE40PLL
(
primitive
=
"SB_PLL40_PAD"
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
rst_n
)
self
.
comb
+=
pll
.
reset
.
eq
(
~
rst_n
|
self
.
rst
)
pll
.
register_clkin
(
clk12
,
12e6
)
pll
.
register_clkin
(
clk12
,
12e6
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
,
with_reset
=
False
)
pll
.
create_clkout
(
self
.
cd_sys
,
sys_clk_freq
,
with_reset
=
False
)
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_sys
,
~
por_done
|
~
pll
.
locked
)
self
.
specials
+=
AsyncResetSynchronizer
(
self
.
cd_sys
,
~
por_done
|
~
pll
.
locked
)
...
...
litex_boards/targets/kc705.py
View file @
2b17dc1b
...
@@ -30,6 +30,7 @@ from liteeth.phy import LiteEthPHY
...
@@ -30,6 +30,7 @@ from liteeth.phy import LiteEthPHY
class
_CRG
(
Module
):
class
_CRG
(
Module
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):
def
__init__
(
self
,
platform
,
sys_clk_freq
):