Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
AIDA-2020 TLU
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
2
Issues
2
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
AIDA-2020 TLU
Commits
88d38344
Commit
88d38344
authored
Sep 11, 2015
by
David Cussans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Untested firmware to include IPBus register and synchronization
parent
cd6d32d4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
2 deletions
+85
-2
sychronizedIPBusCtrlRegV_rtl.vhd
firmware/hdl/common/sychronizedIPBusCtrlRegV_rtl.vhd
+83
-0
.cache.dat
firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/.cache.dat
+0
-0
test_aida_tlu_internal_triggers_v2.py
firmware/scripts/test_aida_tlu_internal_triggers_v2.py
+2
-2
No files found.
firmware/hdl/common/sychronizedIPBusCtrlRegV_rtl.vhd
0 → 100644
View file @
88d38344
--=============================================================================
--! @file
--=============================================================================
--
-------------------------------------------------------------------------------
-- --
-- University of Bristol, High Energy Physics Group.
-- --
------------------------------------------------------------------------------- --
LIBRARY
ieee
;
USE
ieee
.
std_logic_1164
.
all
;
USE
work
.
ipbus
.
all
;
use
work
.
ipbus_reg_types
.
all
;
--! @brief IPBus registers synchronzied onto logic clock
--!
--! @details Uses DMN ipbus_ctrlreg_v - originally tried to use
--! ipbus_ctrlreg_sync, but had poor results and added own synchronzier.
entity
synchronizedIPBusCtrlRegV_rtl
is
generic
(
N_CTRL
:
positive
:
=
1
;
N_STAT
:
positive
:
=
1
);
port
(
ipbus_clk_i
:
in
std_logic
;
ipbus_reset_i
:
in
std_logic
;
ipbus_i
:
in
ipb_wbus
;
ipbus_o
:
out
ipb_rbus
;
logic_clk_i
:
in
std_logic
;
status_to_ipbus_i
:
in
ipb_reg_v
(
N_STAT
-
1
downto
0
);
--! Synchronized to logic_clk_i
sync_control_from_ipbus_o
:
out
ipb_reg_v
(
N_CTRL
-
1
downto
0
);
--! Synchronized to logic_clk_i
stb_o
:
out
std_logic_vector
(
N_CTRL
-
1
downto
0
)
--! high when change made to a control register. Broken ( needs to be retimed )
);
end
synchronizedIPBusCtrlRegV_rtl
;
architecture
rtl
of
synchronizedIPBusCtrlRegV_rtl
is
signal
s_sync_status_to_ipbus
:
ipb_reg_v
(
c_N_STAT
-1
downto
0
);
signal
s_control_from_ipbus
:
ipb_reg_v
(
c_N_CTRL
-1
downto
0
);
begin
-- architecture rtl
ipbus_registers
:
entity
work
.
ipbus_ctrlreg_v
generic
map
(
N_CTRL
=>
c_N_CTRL
,
N_STAT
=>
c_N_STAT
)
port
map
(
clk
=>
ipbus_clk_i
,
reset
=>
ipbus_reset_i
,
ipbus_in
=>
ipbus_i
,
ipbus_out
=>
ipbus_o
,
d
=>
s_sync_status_to_ipbus
,
q
=>
s_control_from_ipbus
,
stb
=>
stb_o
);
-- Synchronize registers from logic clock to ipbus.
sync_status
:
entity
work
.
synchronizeRegisters
generic
map
(
g_NUM_REGISTERS
=>
c_N_STAT
)
port
map
(
clk_input_i
=>
clk_4x_logic_i
,
data_i
=>
status_to_ipbus_i
,
data_o
=>
s_sync_status_to_ipbus
,
clk_output_i
=>
ipbus_clk_i
);
-- Synchronize registers from logic clock to ipbus.
sync_ctrl
:
entity
work
.
synchronizeRegisters
generic
map
(
g_NUM_REGISTERS
=>
c_N_CTRL
)
port
map
(
clk_input_i
=>
ipbus_clk_i
,
data_i
=>
s_control_from_ipbus
,
data_o
=>
sync_control_from_ipbus_o
,
clk_output_i
=>
clk_4x_logic_i
);
end
architecture
rtl
;
firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/.cache.dat
View file @
88d38344
No preview for this file type
firmware/scripts/test_aida_tlu_internal_triggers_v2.py
View file @
88d38344
...
...
@@ -17,8 +17,8 @@ bAddrTab = AddressTable("./aida_mini_tlu_addr_map.txt")
board
=
ChipsBusUdp
(
bAddrTab
,
"192.168.200.32"
,
50001
)
# Check the bus for I2C devices
#
executeI2C = True
executeI2C
=
False
executeI2C
=
True
#
executeI2C = False
if
executeI2C
:
boardi2c
=
FmcTluI2c
(
board
)
boardId
=
boardi2c
.
get_serial_number
()
...
...
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