Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
L
legacy-vme64x-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
legacy-vme64x-core
Commits
35f60fbe
Commit
35f60fbe
authored
Aug 14, 2017
by
Michael Reese
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vme-wb: allow switching between normal and direct-access modes
parent
a77a693a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
4 deletions
+9
-4
VME_Wb_master_eb.vhd
hdl/VME_Wb_master_eb.vhd
+9
-4
No files found.
hdl/VME_Wb_master_eb.vhd
View file @
35f60fbe
...
...
@@ -124,7 +124,8 @@ architecture Behavioral of VME_Wb_interface is
signal
s_bridge_state
:
bridge_state_t
:
=
state_normal
;
signal
ee_backdoor_wb_rw
:
std_logic
;
signal
ee_backdoor_wb_addr
:
std_logic_vector
(
31
downto
0
);
signal
wb_base_addr
:
std_logic_vector
(
31
downto
0
);
-- configurable base addreess for WB-access
signal
wb_base_addr
:
std_logic_vector
(
31
downto
0
)
:
=
x"ffffffff"
;
-- configurable base addreess for WB-access
-- 0xffffffff means "normal mode"
--===========================================================================
-- Architecture begin
...
...
@@ -243,6 +244,8 @@ begin
case
rel_locAddr_i
(
5
downto
2
)
is
-- 24 bits access valid addres 0/8/16/24/32 ..
when
"0000"
=>
-- ERROR
s_data_ctrl
<=
s_error_ctrl
;
when
"0001"
=>
-- READ BASE ADDR OF EE-BACKDOOR MODE
s_data_ctrl
<=
wb_base_addr
;
when
"0010"
=>
-- SDWD
s_data_ctrl
<=
g_sdb_addr
;
when
"0100"
=>
-- CTRL
...
...
@@ -267,10 +270,12 @@ begin
if
RW_i
=
'0'
and
memReq_i
=
'1'
and
cardSel_i
=
'1'
then
case
rel_locAddr_i
(
5
downto
2
)
is
when
"0001"
=>
-- SWITCH TO EE-BACKDOOR MODE
s_bridge_state
<=
state_ee_backdoor_idle
;
wb_base_addr
<=
locDataInSwap_i
(
31
downto
0
);
when
"0011"
=>
-- SWITCH TO NORMAL MODE
wb_base_addr
<=
locDataInSwap_i
(
31
downto
0
);
if
locDataInSwap_i
(
31
downto
0
)
=
x"ffffffff"
then
s_bridge_state
<=
state_normal
;
else
s_bridge_state
<=
state_ee_backdoor_idle
;
end
if
;
when
"0100"
=>
-- CTRL
if
locDataInSwap_i
(
30
)
=
'1'
then
-- write
s_cyc_d
<=
locDataInSwap_i
(
31
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment