Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RTSD
HDL
Commits
10fcf76a
Commit
10fcf76a
authored
Apr 16, 2015
by
Kenneth Hiemstra
Browse files
Options
Downloads
Patches
Plain Diff
clock generation re-done due to delta-cycle issue
parent
c3074ad2
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
boards/uniboard1/libraries/unb1_board/src/vhdl/ctrl_unb1_board.vhd
+38
-52
38 additions, 52 deletions
...iboard1/libraries/unb1_board/src/vhdl/ctrl_unb1_board.vhd
with
38 additions
and
52 deletions
boards/uniboard1/libraries/unb1_board/src/vhdl/ctrl_unb1_board.vhd
+
38
−
52
View file @
10fcf76a
...
@@ -52,7 +52,7 @@ ENTITY ctrl_unb1_board IS
...
@@ -52,7 +52,7 @@ ENTITY ctrl_unb1_board IS
g_stamp_svn
:
NATURAL
:
=
0
;
g_stamp_svn
:
NATURAL
:
=
0
;
g_design_note
:
STRING
:
=
"UNUSED"
;
g_design_note
:
STRING
:
=
"UNUSED"
;
g_mm_clk_freq
:
NATURAL
:
=
c_unb1_board_mm_clk_freq_125M
;
-- default use same MM clock as for TSE clock
g_mm_clk_freq
:
NATURAL
:
=
c_unb1_board_mm_clk_freq_125M
;
-- default use same MM clock as for TSE clock
g_
mm
_clk_use_pll
:
BOOLEAN
:
=
FALSE
;
g_
xo
_clk_use_pll
:
BOOLEAN
:
=
FALSE
;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- External CLK
-- External CLK
...
@@ -141,9 +141,11 @@ ENTITY ctrl_unb1_board IS
...
@@ -141,9 +141,11 @@ ENTITY ctrl_unb1_board IS
mm_clk_out
:
OUT
STD_LOGIC
;
mm_clk_out
:
OUT
STD_LOGIC
;
mm_locked
:
IN
STD_LOGIC
:
=
'0'
;
-- from QSYS
mm_locked
:
IN
STD_LOGIC
:
=
'0'
;
-- from QSYS
mm_locked_out
:
OUT
STD_LOGIC
;
mm_rst
:
OUT
STD_LOGIC
;
mm_rst
:
OUT
STD_LOGIC
;
epcs_clk
:
IN
STD_LOGIC
:
=
'0'
;
-- from QSYS
epcs_clk
:
IN
STD_LOGIC
:
=
'0'
;
-- from QSYS
epcs_clk_out
:
OUT
STD_LOGIC
;
dp_rst
:
OUT
STD_LOGIC
;
dp_rst
:
OUT
STD_LOGIC
;
...
@@ -151,7 +153,7 @@ ENTITY ctrl_unb1_board IS
...
@@ -151,7 +153,7 @@ ENTITY ctrl_unb1_board IS
dp_phs_clk_vec
:
OUT
STD_LOGIC_VECTOR
(
g_dp_phs_clk_vec_w
-1
DOWNTO
0
);
-- divided and phase shifted from 200 MHz CLK system clock when a PLL is used
dp_phs_clk_vec
:
OUT
STD_LOGIC_VECTOR
(
g_dp_phs_clk_vec_w
-1
DOWNTO
0
);
-- divided and phase shifted from 200 MHz CLK system clock when a PLL is used
dp_pps
:
OUT
STD_LOGIC
;
-- PPS in dp_clk domain
dp_pps
:
OUT
STD_LOGIC
;
-- PPS in dp_clk domain
dp_rst_in
:
IN
STD_LOGIC
;
-- externally wire OUT dp_rst to dp_rst_in to avoid delta cycle difference on dp_clk
dp_rst_in
:
IN
STD_LOGIC
;
-- externally wire OUT dp_rst to dp_rst_in to avoid delta cycle difference on dp_clk
dp_clk_in
:
IN
STD_LOGIC
;
-- externally wire OUT dp_clk to dp_clk_in to avoid delta cycle difference on dp_clk
(due to dp_clk <= i_dp_clk assignment)
dp_clk_in
:
IN
STD_LOGIC
;
-- externally wire OUT dp_clk to dp_clk_in to avoid delta cycle difference on dp_clk
cal_rec_clk
:
OUT
STD_LOGIC
;
cal_rec_clk
:
OUT
STD_LOGIC
;
...
@@ -205,6 +207,7 @@ ENTITY ctrl_unb1_board IS
...
@@ -205,6 +207,7 @@ ENTITY ctrl_unb1_board IS
reg_ppsh_miso
:
OUT
t_mem_miso
;
reg_ppsh_miso
:
OUT
t_mem_miso
;
-- eth1g control&monitoring
-- eth1g control&monitoring
eth1g_tse_clk_out
:
OUT
STD_LOGIC
;
eth1g_tse_clk
:
IN
STD_LOGIC
:
=
'0'
;
eth1g_tse_clk
:
IN
STD_LOGIC
:
=
'0'
;
eth1g_mm_rst
:
IN
STD_LOGIC
;
eth1g_mm_rst
:
IN
STD_LOGIC
;
eth1g_tse_mosi
:
IN
t_mem_mosi
;
-- ETH TSE MAC registers
eth1g_tse_mosi
:
IN
t_mem_mosi
;
-- ETH TSE MAC registers
...
@@ -269,15 +272,11 @@ ARCHITECTURE str OF ctrl_unb1_board IS
...
@@ -269,15 +272,11 @@ ARCHITECTURE str OF ctrl_unb1_board IS
SIGNAL
i_xo_rst
:
STD_LOGIC
;
SIGNAL
i_xo_rst
:
STD_LOGIC
;
SIGNAL
i_xo_rst_n
:
STD_LOGIC
;
SIGNAL
i_xo_rst_n
:
STD_LOGIC
;
SIGNAL
i_mm_rst
:
STD_LOGIC
;
SIGNAL
i_mm_rst
:
STD_LOGIC
;
SIGNAL
i_mm_clk
:
STD_LOGIC
;
SIGNAL
i_mm_locked
:
STD_LOGIC
;
SIGNAL
clk125M
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_epcs_clk
:
STD_LOGIC
:
=
'1'
;
SIGNAL
clk40M
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_cal_rec_clk
:
STD_LOGIC
:
=
'1'
;
SIGNAL
clk50M
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_clk125
:
STD_LOGIC
:
=
'1'
;
SIGNAL
clk20M
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_clk40
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_clk50
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_clk25
:
STD_LOGIC
:
=
'1'
;
SIGNAL
i_dp_clk
:
STD_LOGIC
:
=
'1'
;
SIGNAL
mm_wdi
:
STD_LOGIC
;
SIGNAL
mm_wdi
:
STD_LOGIC
;
SIGNAL
eth1g_st_clk
:
STD_LOGIC
;
SIGNAL
eth1g_st_clk
:
STD_LOGIC
;
...
@@ -318,10 +317,11 @@ BEGIN
...
@@ -318,10 +317,11 @@ BEGIN
xo_clk
<=
i_xo_clk
;
xo_clk
<=
i_xo_clk
;
xo_rst
<=
i_xo_rst
;
xo_rst
<=
i_xo_rst
;
xo_rst_n
<=
i_xo_rst_n
;
xo_rst_n
<=
i_xo_rst_n
;
mm_clk_out
<=
i_mm_clk
;
mm_rst
<=
i_mm_rst
;
mm_rst
<=
i_mm_rst
;
cal_rec_clk
<=
i_cal_rec_clk
;
epcs_clk_out
<=
clk20M
;
cal_rec_clk
<=
clk40M
;
eth1g_tse_clk_out
<=
clk125M
;
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
...
@@ -381,15 +381,10 @@ BEGIN
...
@@ -381,15 +381,10 @@ BEGIN
gen_clk25_pll
:
IF
g_xo_clk_use_pll
=
TRUE
GENERATE
gen_clk25_pll
:
IF
g_mm_clk_use_pll
=
TRUE
GENERATE
mm_clk_out
<=
clk125M
WHEN
g_mm_clk_freq
=
c_unb1_board_mm_clk_freq_125M
ELSE
gen_mm_clk_50
:
IF
g_mm_clk_freq
=
c_unb1_board_mm_clk_freq_50M
GENERATE
clk50M
WHEN
g_mm_clk_freq
=
c_unb1_board_mm_clk_freq_50M
ELSE
i_mm_clk
<=
i_clk50
;
clk50M
;
END
GENERATE
;
gen_mm_clk_125
:
IF
g_mm_clk_freq
=
c_unb1_board_mm_clk_freq_125M
GENERATE
i_mm_clk
<=
i_clk125
;
END
GENERATE
;
u_unb1_board_clk25_pll
:
ENTITY
work
.
unb1_board_clk25_pll
u_unb1_board_clk25_pll
:
ENTITY
work
.
unb1_board_clk25_pll
GENERIC
MAP
(
GENERIC
MAP
(
...
@@ -398,23 +393,14 @@ BEGIN
...
@@ -398,23 +393,14 @@ BEGIN
PORT
MAP
(
PORT
MAP
(
arst
=>
i_xo_rst
,
arst
=>
i_xo_rst
,
clk25
=>
i_xo_clk
,
clk25
=>
i_xo_clk
,
c0_clk20
=>
i_epcs_
clk
,
c0_clk20
=>
clk
20M
,
c1_clk40
=>
i_cal_rec_
clk
,
c1_clk40
=>
clk
40M
,
c2_clk50
=>
i_
clk50
,
c2_clk50
=>
clk50
M
,
c3_clk125
=>
i_
clk125
,
c3_clk125
=>
clk125
M
,
pll_locked
=>
i_
mm_locked
pll_locked
=>
mm_locked
_out
);
);
END
GENERATE
;
END
GENERATE
;
no_clk25_pll
:
IF
g_mm_clk_use_pll
=
FALSE
GENERATE
i_mm_clk
<=
mm_clk
;
i_epcs_clk
<=
epcs_clk
;
i_clk125
<=
eth1g_tse_clk
;
i_mm_locked
<=
mm_locked
;
END
GENERATE
;
u_unb1_board_node_ctrl
:
ENTITY
work
.
unb1_board_node_ctrl
u_unb1_board_node_ctrl
:
ENTITY
work
.
unb1_board_node_ctrl
...
@@ -424,8 +410,8 @@ BEGIN
...
@@ -424,8 +410,8 @@ BEGIN
PORT
MAP
(
PORT
MAP
(
xo_clk
=>
i_xo_clk
,
xo_clk
=>
i_xo_clk
,
xo_rst_n
=>
i_xo_rst_n
,
xo_rst_n
=>
i_xo_rst_n
,
sys_clk
=>
i_
mm_clk
,
sys_clk
=>
mm_clk
,
sys_locked
=>
i_
mm_locked
,
sys_locked
=>
mm_locked
,
sys_rst
=>
i_mm_rst
,
sys_rst
=>
i_mm_rst
,
cal_clk
=>
'0'
,
cal_clk
=>
'0'
,
cal_rst
=>
OPEN
,
cal_rst
=>
OPEN
,
...
@@ -453,7 +439,7 @@ BEGIN
...
@@ -453,7 +439,7 @@ BEGIN
g_design_note
=>
g_design_note
g_design_note
=>
g_design_note
)
)
PORT
MAP
(
PORT
MAP
(
mm_clk
=>
i_
mm_clk
,
mm_clk
=>
mm_clk
,
mm_rst
=>
i_mm_rst
,
mm_rst
=>
i_mm_rst
,
hw_version
=>
VERSION
,
hw_version
=>
VERSION
,
...
@@ -507,7 +493,7 @@ BEGIN
...
@@ -507,7 +493,7 @@ BEGIN
u_toggle
:
ENTITY
common_lib
.
common_toggle
u_toggle
:
ENTITY
common_lib
.
common_toggle
PORT
MAP
(
PORT
MAP
(
rst
=>
i_mm_rst
,
rst
=>
i_mm_rst
,
clk
=>
i_
mm_clk
,
clk
=>
mm_clk
,
in_dat
=>
mm_pulse_s
,
in_dat
=>
mm_pulse_s
,
out_dat
=>
led_toggle
out_dat
=>
led_toggle
);
);
...
@@ -524,7 +510,7 @@ BEGIN
...
@@ -524,7 +510,7 @@ BEGIN
u_unb1_board_wdi_reg
:
ENTITY
work
.
unb1_board_wdi_reg
u_unb1_board_wdi_reg
:
ENTITY
work
.
unb1_board_wdi_reg
PORT
MAP
(
PORT
MAP
(
mm_rst
=>
i_mm_rst
,
mm_rst
=>
i_mm_rst
,
mm_clk
=>
i_
mm_clk
,
mm_clk
=>
mm_clk
,
sla_in
=>
reg_wdi_mosi
,
sla_in
=>
reg_wdi_mosi
,
sla_out
=>
reg_wdi_miso
,
sla_out
=>
reg_wdi_miso
,
...
@@ -542,9 +528,9 @@ BEGIN
...
@@ -542,9 +528,9 @@ BEGIN
u_mms_remu
:
ENTITY
remu_lib
.
mms_remu
u_mms_remu
:
ENTITY
remu_lib
.
mms_remu
PORT
MAP
(
PORT
MAP
(
mm_rst
=>
i_mm_rst
,
mm_rst
=>
i_mm_rst
,
mm_clk
=>
i_
mm_clk
,
mm_clk
=>
mm_clk
,
epcs_clk
=>
i_
epcs_clk
,
epcs_clk
=>
epcs_clk
,
remu_mosi
=>
reg_remu_mosi
,
remu_mosi
=>
reg_remu_mosi
,
remu_miso
=>
reg_remu_miso
remu_miso
=>
reg_remu_miso
...
@@ -559,9 +545,9 @@ BEGIN
...
@@ -559,9 +545,9 @@ BEGIN
)
)
PORT
MAP
(
PORT
MAP
(
mm_rst
=>
i_mm_rst
,
mm_rst
=>
i_mm_rst
,
mm_clk
=>
i_
mm_clk
,
mm_clk
=>
mm_clk
,
epcs_clk
=>
i_
epcs_clk
,
epcs_clk
=>
epcs_clk
,
epcs_mosi
=>
reg_epcs_mosi
,
epcs_mosi
=>
reg_epcs_mosi
,
epcs_miso
=>
reg_epcs_miso
,
epcs_miso
=>
reg_epcs_miso
,
...
@@ -590,7 +576,7 @@ BEGIN
...
@@ -590,7 +576,7 @@ BEGIN
PORT
MAP
(
PORT
MAP
(
-- Clocks and reset
-- Clocks and reset
mm_rst
=>
i_mm_rst
,
mm_rst
=>
i_mm_rst
,
mm_clk
=>
i_
mm_clk
,
mm_clk
=>
mm_clk
,
st_rst
=>
dp_rst_in
,
st_rst
=>
dp_rst_in
,
st_clk
=>
dp_clk_in
,
st_clk
=>
dp_clk_in
,
pps_ext
=>
ext_pps
,
-- with unknown but constant phase to st_clk
pps_ext
=>
ext_pps
,
-- with unknown but constant phase to st_clk
...
@@ -619,7 +605,7 @@ BEGIN
...
@@ -619,7 +605,7 @@ BEGIN
PORT
MAP
(
PORT
MAP
(
-- Clocks and reset
-- Clocks and reset
mm_rst
=>
i_mm_rst
,
mm_rst
=>
i_mm_rst
,
mm_clk
=>
i_
mm_clk
,
mm_clk
=>
mm_clk
,
mm_start
=>
mm_board_sens_start
,
mm_start
=>
mm_board_sens_start
,
-- Memory-mapped clock domain
-- Memory-mapped clock domain
...
@@ -664,7 +650,7 @@ BEGIN
...
@@ -664,7 +650,7 @@ BEGIN
END
GENERATE
;
END
GENERATE
;
gen_separate_clk
:
IF
g_udp_offload
=
FALSE
GENERATE
gen_separate_clk
:
IF
g_udp_offload
=
FALSE
GENERATE
eth1g_st_clk
<=
i_
mm_clk
;
eth1g_st_clk
<=
mm_clk
;
eth1g_st_rst
<=
eth1g_mm_rst
;
eth1g_st_rst
<=
eth1g_mm_rst
;
END
GENERATE
;
END
GENERATE
;
...
@@ -675,9 +661,9 @@ BEGIN
...
@@ -675,9 +661,9 @@ BEGIN
)
)
PORT
MAP
(
PORT
MAP
(
-- Clocks and reset
-- Clocks and reset
mm_rst
=>
eth1g_mm_rst
,
-- use reset from
SOPC
mm_rst
=>
eth1g_mm_rst
,
-- use reset from
QSYS
mm_clk
=>
i_
mm_clk
,
-- use mm_clk direct
mm_clk
=>
mm_clk
,
-- use mm_clk direct
eth_clk
=>
i_clk125
,
-- use the dedicated 125 MHz tse_clock, independent of the mm_clk
eth_clk
=>
eth1g_tse_clk
,
-- use the dedicated 125 MHz tse_clock, independent of the mm_clk
st_rst
=>
eth1g_st_rst
,
st_rst
=>
eth1g_st_rst
,
st_clk
=>
eth1g_st_clk
,
st_clk
=>
eth1g_st_clk
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment