Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
AIDA-2020 TLU - Gateware
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
8
Issues
8
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 - Gateware
Commits
5eb3d86a
Commit
5eb3d86a
authored
Jul 02, 2018
by
David Cussans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moving minitlu firmware to subdirectory
parent
e5bcc2ba
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
215 changed files
with
249240 additions
and
0 deletions
+249240
-0
Introduction.markdown
minitlu/Introduction.markdown
+50
-0
build_bitstream.tcl
minitlu/config/ise14/sp601/build_bitstream.tcl
+21
-0
coregen.cgp
minitlu/config/ise14/sp601/coregen.cgp
+9
-0
file_list
minitlu/config/ise14/sp601/file_list
+5
-0
setup_project.tcl
minitlu/config/ise14/sp601/setup_project.tcl
+151
-0
build_bitstream.tcl
minitlu/config/ise14/sp605/build_bitstream.tcl
+21
-0
coregen.cgp
minitlu/config/ise14/sp605/coregen.cgp
+9
-0
file_list
minitlu/config/ise14/sp605/file_list
+5
-0
setup_project.tcl
minitlu/config/ise14/sp605/setup_project.tcl
+153
-0
DUTInterfaces_rtl.vhd
minitlu/hdl/common/DUTInterfaces_rtl.vhd
+277
-0
GPL_doxygen_header.vhdl
minitlu/hdl/common/GPL_doxygen_header.vhdl
+78
-0
GPP_rtl.vhd
minitlu/hdl/common/GPP_rtl.vhd
+312
-0
IODELAYCal_FSM_rtl.vhd
minitlu/hdl/common/IODELAYCal_FSM_rtl.vhd
+102
-0
IPBusInterface_rtl.vhd
minitlu/hdl/common/IPBusInterface_rtl.vhd
+202
-0
Reg_2clks.vhd
minitlu/hdl/common/Reg_2clks.vhd
+56
-0
TPx3Logic_rtl.vhd
minitlu/hdl/common/TPx3Logic_rtl.vhd
+177
-0
arrivalTimeLUT_rtl.vhd
minitlu/hdl/common/arrivalTimeLUT_rtl.vhd
+198
-0
clocks_s6_extphy.vhd
minitlu/hdl/common/clocks_s6_extphy.vhd
+157
-0
counterDown.vhd
minitlu/hdl/common/counterDown.vhd
+50
-0
counterWithReset_rtl.vhd
minitlu/hdl/common/counterWithReset_rtl.vhd
+95
-0
dualSERDES_1to4_rtl.vhd
minitlu/hdl/common/dualSERDES_1to4_rtl.vhd
+218
-0
eventBuffer_rtl.vhd
minitlu/hdl/common/eventBuffer_rtl.vhd
+159
-0
eventFormatter_rtl.vhd
minitlu/hdl/common/eventFormatter_rtl.vhd
+498
-0
handshakes_rtl.vhd
minitlu/hdl/common/handshakes_rtl.vhd
+248
-0
i2c_master_rtl.vhd
minitlu/hdl/common/i2c_master_rtl.vhd
+97
-0
ipbus_addr_decode.vhd
minitlu/hdl/common/ipbus_addr_decode.vhd
+56
-0
ipbus_ver.vhd
minitlu/hdl/common/ipbus_ver.vhd
+41
-0
logic_clocks_rtl.vhd
minitlu/hdl/common/logic_clocks_rtl.vhd
+395
-0
pulseClockDomainCrossing_rtl.vhd
minitlu/hdl/common/pulseClockDomainCrossing_rtl.vhd
+100
-0
registerCounter_rtl.vhd
minitlu/hdl/common/registerCounter_rtl.vhd
+113
-0
serdes_1_to_n_SDR.vhd
minitlu/hdl/common/serdes_1_to_n_SDR.vhd
+235
-0
sync_reg.vhd
minitlu/hdl/common/sync_reg.vhd
+50
-0
synchronizeRegisters_rtl.vhd
minitlu/hdl/common/synchronizeRegisters_rtl.vhd
+114
-0
triggerInputs_rtl.vhd
minitlu/hdl/common/triggerInputs_rtl.vhd
+343
-0
triggerLogic_rtl.vhd
minitlu/hdl/common/triggerLogic_rtl.vhd
+304
-0
DUTInterfaces_rtl.vhd
minitlu/hdl/test/DUTInterfaces_rtl.vhd
+240
-0
clock_divider_s6.v
minitlu/hdl/test/clock_divider_s6.v
+47
-0
clocks_s6_extphy.vhd
minitlu/hdl/test/clocks_s6_extphy.vhd
+110
-0
comb_generator_rtl.vhd
minitlu/hdl/test/comb_generator_rtl.vhd
+90
-0
dtype_fd.vhdl
minitlu/hdl/test/dtype_fd.vhdl
+38
-0
dtype_fdpe.vhdl
minitlu/hdl/test/dtype_fdpe.vhdl
+43
-0
dtype_fdr.vhdl
minitlu/hdl/test/dtype_fdr.vhdl
+75
-0
dtype_fds.vhdl
minitlu/hdl/test/dtype_fds.vhdl
+76
-0
fmc-tlu_sp601_pulse_shaper.vhdl
minitlu/hdl/test/fmc-tlu_sp601_pulse_shaper.vhdl
+65
-0
fmc_tlu_pin_test.vhd
minitlu/hdl/test/fmc_tlu_pin_test.vhd
+216
-0
fmc_tlu_sp601_tb.vhdl
minitlu/hdl/test/fmc_tlu_sp601_tb.vhdl
+160
-0
fmc_tlu_top_sp601.vhd
minitlu/hdl/test/fmc_tlu_top_sp601.vhd
+164
-0
i2c_chipscope_debug.cdc
minitlu/hdl/test/i2c_chipscope_debug.cdc
+41
-0
ipbus_addr_decode.vhd
minitlu/hdl/test/ipbus_addr_decode.vhd
+46
-0
ipbus_ver.vhd
minitlu/hdl/test/ipbus_ver.vhd
+41
-0
pulse_shaper.vhdl
minitlu/hdl/test/pulse_shaper.vhdl
+200
-0
pulse_shaper_async_dtypes.vhdl
minitlu/hdl/test/pulse_shaper_async_dtypes.vhdl
+92
-0
pulse_shaper_scorer.vhdl
minitlu/hdl/test/pulse_shaper_scorer.vhdl
+67
-0
slaves.vhd
minitlu/hdl/test/slaves.vhd
+199
-0
sp601_FMC_mTLU.ucf
minitlu/hdl/test/sp601_FMC_mTLU.ucf
+176
-0
sp601_FMC_mTLU_v1a.ucf
minitlu/hdl/test/sp601_FMC_mTLU_v1a.ucf
+279
-0
sp605_FMC_mTLU.ucf
minitlu/hdl/test/sp605_FMC_mTLU.ucf
+164
-0
sp605_FMC_mTLU_v1a.ucf
minitlu/hdl/test/sp605_FMC_mTLU_v1a.ucf
+164
-0
top_extphy_struct.vhd
minitlu/hdl/test/top_extphy_struct.vhd
+596
-0
fmc_mTLU.hdp
minitlu/hdl_designer/fmc_mTLU/fmc_mTLU.hdp
+40
-0
DUTInterfaces_rtl.vhd.rlnk
...gner/fmc_mTLU/fmc_mTLU_lib/hdl/DUTInterfaces_rtl.vhd.rlnk
+1
-0
IPBusInterface_rtl.vhd.rlnk
...ner/fmc_mTLU/fmc_mTLU_lib/hdl/IPBusInterface_rtl.vhd.rlnk
+1
-0
arp.v.rlnk
minitlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/arp.v.rlnk
+1
-0
arrivalTimeLUT_rtl.vhd.rlnk
...ner/fmc_mTLU/fmc_mTLU_lib/hdl/arrivalTimeLUT_rtl.vhd.rlnk
+1
-0
bus_arb.vhd.rlnk
...u/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/bus_arb.vhd.rlnk
+1
-0
dualSERDES_1to4_rtl.vhd.rlnk
...er/fmc_mTLU/fmc_mTLU_lib/hdl/dualSERDES_1to4_rtl.vhd.rlnk
+1
-0
emac_hostbus_decl.vhd.rlnk
...gner/fmc_mTLU/fmc_mTLU_lib/hdl/emac_hostbus_decl.vhd.rlnk
+1
-0
eth_s6_1000basex.vhd.rlnk
...igner/fmc_mTLU/fmc_mTLU_lib/hdl/eth_s6_1000basex.vhd.rlnk
+1
-0
eth_s6_gmii.vhd.rlnk
...l_designer/fmc_mTLU/fmc_mTLU_lib/hdl/eth_s6_gmii.vhd.rlnk
+1
-0
eventBuffer_rtl.vhd.rlnk
...signer/fmc_mTLU/fmc_mTLU_lib/hdl/eventBuffer_rtl.vhd.rlnk
+1
-0
eventFormatter_rtl.vhd.rlnk
...ner/fmc_mTLU/fmc_mTLU_lib/hdl/eventFormatter_rtl.vhd.rlnk
+1
-0
fmcTLU_pkg.vhd
...tlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/fmcTLU_pkg.vhd
+27
-0
fmcTLU_pkg_body.vhd
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/fmcTLU_pkg_body.vhd
+13
-0
gbe_rxpacketbuffer.v.rlnk
...igner/fmc_mTLU/fmc_mTLU_lib/hdl/gbe_rxpacketbuffer.v.rlnk
+1
-0
gbe_txpacketbuffer.v.rlnk
...igner/fmc_mTLU/fmc_mTLU_lib/hdl/gbe_txpacketbuffer.v.rlnk
+1
-0
i2c_master_rtl.vhd.rlnk
...esigner/fmc_mTLU/fmc_mTLU_lib/hdl/i2c_master_rtl.vhd.rlnk
+1
-0
icmp.v.rlnk
minitlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/icmp.v.rlnk
+1
-0
ip_checksum_8bit.v.rlnk
...esigner/fmc_mTLU/fmc_mTLU_lib/hdl/ip_checksum_8bit.v.rlnk
+1
-0
ipbus_bus_decl.vhd.rlnk
...esigner/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_bus_decl.vhd.rlnk
+1
-0
ipbus_ctrl.vhd.rlnk
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_ctrl.vhd.rlnk
+1
-0
ipbus_ctrl_decl.vhd.rlnk
...signer/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_ctrl_decl.vhd.rlnk
+1
-0
ipbus_ctrl_udponly.vhd.rlnk
...ner/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_ctrl_udponly.vhd.rlnk
+1
-0
ipbus_fabric.vhd.rlnk
..._designer/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_fabric.vhd.rlnk
+1
-0
ipbus_package.vhd.rlnk
...designer/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_package.vhd.rlnk
+1
-0
ipbus_v_defs.v.rlnk
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/ipbus_v_defs.v.rlnk
+1
-0
logic_clocks_rtl.vhd.rlnk
...igner/fmc_mTLU/fmc_mTLU_lib/hdl/logic_clocks_rtl.vhd.rlnk
+1
-0
mac_arbiter.vhd.rlnk
...l_designer/fmc_mTLU/fmc_mTLU_lib/hdl/mac_arbiter.vhd.rlnk
+1
-0
mac_arbiter_decl.vhd.rlnk
...igner/fmc_mTLU/fmc_mTLU_lib/hdl/mac_arbiter_decl.vhd.rlnk
+1
-0
packet_handler.v.rlnk
..._designer/fmc_mTLU/fmc_mTLU_lib/hdl/packet_handler.v.rlnk
+1
-0
sub_packetbuffer.v.rlnk
...esigner/fmc_mTLU/fmc_mTLU_lib/hdl/sub_packetbuffer.v.rlnk
+1
-0
sub_packetreq.v.rlnk
...l_designer/fmc_mTLU/fmc_mTLU_lib/hdl/sub_packetreq.v.rlnk
+1
-0
sub_packetresp.v.rlnk
..._designer/fmc_mTLU/fmc_mTLU_lib/hdl/sub_packetresp.v.rlnk
+1
-0
top_extphy_rtl.vhd
...hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/top_extphy_rtl.vhd
+80
-0
top_extphy_struct.vhd
..._designer/fmc_mTLU/fmc_mTLU_lib/hdl/top_extphy_struct.vhd
+631
-0
transactor.vhd.rlnk
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/transactor.vhd.rlnk
+1
-0
transactor_rx.vhd.rlnk
...designer/fmc_mTLU/fmc_mTLU_lib/hdl/transactor_rx.vhd.rlnk
+1
-0
transactor_sm.vhd.rlnk
...designer/fmc_mTLU/fmc_mTLU_lib/hdl/transactor_sm.vhd.rlnk
+1
-0
transactor_tx.vhd.rlnk
...designer/fmc_mTLU/fmc_mTLU_lib/hdl/transactor_tx.vhd.rlnk
+1
-0
triggerInputs_rtl.vhd.rlnk
...gner/fmc_mTLU/fmc_mTLU_lib/hdl/triggerInputs_rtl.vhd.rlnk
+1
-0
triggerLogic_rtl.vhd.rlnk
...igner/fmc_mTLU/fmc_mTLU_lib/hdl/triggerLogic_rtl.vhd.rlnk
+1
-0
udp_shim.vhd.rlnk
.../hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/udp_shim.vhd.rlnk
+1
-0
.cache.dat
minitlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/.cache.dat
+0
-0
top_extphy_struct.xrf
...gner/fmc_mTLU/fmc_mTLU_lib/hds/.xrf/top_extphy_struct.xrf
+1100
-0
_symbol.sb._fpf
...c_mTLU/fmc_mTLU_lib/hds/@d@u@t@interfaces/_symbol.sb._fpf
+3
-0
rtl.bd
...signer/fmc_mTLU/fmc_mTLU_lib/hds/@d@u@t@interfaces/rtl.bd
+3337
-0
symbol.sb
...ner/fmc_mTLU/fmc_mTLU_lib/hds/@d@u@t@interfaces/symbol.sb
+2488
-0
_symbol.sb._fpf
..._mTLU/fmc_mTLU_lib/hds/@i@p@bus@interface/_symbol.sb._fpf
+3
-0
rtl.bd
...igner/fmc_mTLU/fmc_mTLU_lib/hds/@i@p@bus@interface/rtl.bd
+10323
-0
symbol.sb
...er/fmc_mTLU/fmc_mTLU_lib/hds/@i@p@bus@interface/symbol.sb
+2531
-0
_arrivaltimelut._epf
...l_designer/fmc_mTLU/fmc_mTLU_lib/hds/_arrivaltimelut._epf
+2
-0
_clocks_s6_extphy._epf
...designer/fmc_mTLU/fmc_mTLU_lib/hds/_clocks_s6_extphy._epf
+2
-0
_dualserdes_1to4._epf
..._designer/fmc_mTLU/fmc_mTLU_lib/hds/_dualserdes_1to4._epf
+2
-0
_dutinterfaces._epf
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hds/_dutinterfaces._epf
+2
-0
_eventbuffer._epf
.../hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/_eventbuffer._epf
+2
-0
_eventformatter._epf
...l_designer/fmc_mTLU/fmc_mTLU_lib/hds/_eventformatter._epf
+2
-0
_ipbusinterface._epf
...l_designer/fmc_mTLU/fmc_mTLU_lib/hds/_ipbusinterface._epf
+2
-0
_logic_clocks._epf
...hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/_logic_clocks._epf
+2
-0
_top_extphy._epf
...u/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/_top_extphy._epf
+2
-0
_triggerinputs._epf
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hds/_triggerinputs._epf
+2
-0
_triggerlogic._epf
...hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/_triggerlogic._epf
+2
-0
fsm.sm
minitlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/arp/fsm.sm
+6443
-0
struct.bd
minitlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/arp/struct.bd
+10879
-0
symbol.sb
...er/fmc_mTLU/fmc_mTLU_lib/hds/arrival@time@l@u@t/symbol.sb
+1871
-0
rtl.bd
...esigner/fmc_mTLU/fmc_mTLU_lib/hds/clocks_s6_extphy/rtl.bd
+5669
-0
symbol.sb
...fmc_mTLU/fmc_mTLU_lib/hds/dual@s@e@r@d@e@s_1to4/symbol.sb
+1734
-0
rtl.bd
...hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/eth_s6_gmii/rtl.bd
+9881
-0
rtl.bd
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hds/event@buffer/rtl.bd
+2842
-0
symbol.sb
...designer/fmc_mTLU/fmc_mTLU_lib/hds/event@buffer/symbol.sb
+2085
-0
_symbol.sb._fpf
...fmc_mTLU/fmc_mTLU_lib/hds/event@formatter/_symbol.sb._fpf
+3
-0
rtl.bd
...designer/fmc_mTLU/fmc_mTLU_lib/hds/event@formatter/rtl.bd
+2644
-0
symbol.sb
...igner/fmc_mTLU/fmc_mTLU_lib/hds/event@formatter/symbol.sb
+2935
-0
struct.bd
...er/fmc_mTLU/fmc_mTLU_lib/hds/gbe_rxpacketbuffer/struct.bd
+6388
-0
struct.bd
...er/fmc_mTLU/fmc_mTLU_lib/hds/gbe_txpacketbuffer/struct.bd
+9718
-0
struct.bd
...tlu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/icmp/struct.bd
+5417
-0
rtl.bd
...igner/fmc_mTLU/fmc_mTLU_lib/hds/ipbus_ctrl_udponly/rtl.bd
+15291
-0
rtl.bd
...igner/fmc_mTLU/fmc_mTLU_lib/hds/ipbus_emac_hostbus/rtl.bd
+5793
-0
rtl.fc
...igner/fmc_mTLU/fmc_mTLU_lib/hds/ipbus_emac_hostbus/rtl.fc
+2161
-0
rtl.bd
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hds/ipbus_fabric/rtl.bd
+4275
-0
rtl.fc
...dl_designer/fmc_mTLU/fmc_mTLU_lib/hds/ipbus_fabric/rtl.fc
+1742
-0
symbol.sb
...designer/fmc_mTLU/fmc_mTLU_lib/hds/logic_clocks/symbol.sb
+2299
-0
fsm.sm
..._designer/fmc_mTLU/fmc_mTLU_lib/hds/packet_handler/fsm.sm
+7818
-0
struct.bd
...signer/fmc_mTLU/fmc_mTLU_lib/hds/packet_handler/struct.bd
+16592
-0
struct.bd
...gner/fmc_mTLU/fmc_mTLU_lib/hds/sub_packetbuffer/struct.bd
+13912
-0
_struct.bd._fpf
...gner/fmc_mTLU/fmc_mTLU_lib/hds/top_extphy/_struct.bd._fpf
+3
-0
_symbol.sb._fpf
...gner/fmc_mTLU/fmc_mTLU_lib/hds/top_extphy/_symbol.sb._fpf
+3
-0
struct.bd
...l_designer/fmc_mTLU/fmc_mTLU_lib/hds/top_extphy/struct.bd
+17784
-0
struct.bd.bak
...signer/fmc_mTLU/fmc_mTLU_lib/hds/top_extphy/struct.bd.bak
+17784
-0
top_extphy.ctr
...xtphy/struct.bd.info/Synthesis/Constraints/top_extphy.ctr
+5
-0
top_extphy.sdc
...xtphy/struct.bd.info/Synthesis/Constraints/top_extphy.sdc
+5
-0
symbol.sb
...l_designer/fmc_mTLU/fmc_mTLU_lib/hds/top_extphy/symbol.sb
+3403
-0
symbol.sb.bak
...signer/fmc_mTLU/fmc_mTLU_lib/hds/top_extphy/symbol.sb.bak
+3383
-0
rtl.bd
.../hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/transactor/rtl.bd
+5654
-0
_symbol.sb._fpf
.../fmc_mTLU/fmc_mTLU_lib/hds/trigger@inputs/_symbol.sb._fpf
+3
-0
rtl.bd
..._designer/fmc_mTLU/fmc_mTLU_lib/hds/trigger@inputs/rtl.bd
+2993
-0
symbol.sb
...signer/fmc_mTLU/fmc_mTLU_lib/hds/trigger@inputs/symbol.sb
+2674
-0
_symbol.sb._fpf
...r/fmc_mTLU/fmc_mTLU_lib/hds/trigger@logic/_symbol.sb._fpf
+3
-0
rtl.bd
...l_designer/fmc_mTLU/fmc_mTLU_lib/hds/trigger@logic/rtl.bd
+2846
-0
symbol.sb
...esigner/fmc_mTLU/fmc_mTLU_lib/hds/trigger@logic/symbol.sb
+2169
-0
symbol.sb.bak
...ner/fmc_mTLU/fmc_mTLU_lib/hds/trigger@logic/symbol.sb.bak
+2182
-0
rtl.bd
...lu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/udp_shim/rtl.bd
+5258
-0
rtl.fc
...lu/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hds/udp_shim/rtl.fc
+2155
-0
CounterDown.xco
minitlu/ise/ipcore_dir/CounterDown.xco
+70
-0
CounterUp.xco
minitlu/ise/ipcore_dir/CounterUp.xco
+70
-0
FIFO.xco
minitlu/ise/ipcore_dir/FIFO.xco
+219
-0
internalTriggerGenerator.xco
minitlu/ise/ipcore_dir/internalTriggerGenerator.xco
+70
-0
tlu_event_fifo.xco
minitlu/ise/ipcore_dir/tlu_event_fifo.xco
+219
-0
FmcTluI2c.py
minitlu/scripts/FmcTluI2c.py
+136
-0
I2cBusProperties.py
minitlu/scripts/I2cBusProperties.py
+122
-0
RawI2cAccess.py
minitlu/scripts/RawI2cAccess.py
+260
-0
aida_mini_tlu_addr_map.txt
minitlu/scripts/aida_mini_tlu_addr_map.txt
+88
-0
aida_mini_tlu_addr_map.txt~
minitlu/scripts/aida_mini_tlu_addr_map.txt~
+87
-0
build_bitstream.sh
minitlu/scripts/build_bitstream.sh
+27
-0
fmc_tlu_addr_table
minitlu/scripts/fmc_tlu_addr_table
+15
-0
generate_arrivaltime_lut.py
minitlu/scripts/generate_arrivaltime_lut.py
+109
-0
make_fmc-mtlu_pintest_ise.tcl
minitlu/scripts/make_fmc-mtlu_pintest_ise.tcl
+540
-0
setup_workspace.sh
minitlu/scripts/setup_workspace.sh
+100
-0
test_aida_tlu.py
minitlu/scripts/test_aida_tlu.py
+242
-0
test_aida_tlu.sh
minitlu/scripts/test_aida_tlu.sh
+5
-0
test_aida_tlu_thresholds.py
minitlu/scripts/test_aida_tlu_thresholds.py
+43
-0
test_aida_tlu_trig_counter.py
minitlu/scripts/test_aida_tlu_trig_counter.py
+106
-0
fmc_tlu.cr.mti
minitlu/simulation/questa/fmc_tlu.cr.mti
+31
-0
fmc_tlu.mpf
minitlu/simulation/questa/fmc_tlu.mpf
+1592
-0
fmctlu_v0_1_testbench.fdo
minitlu/simulation/questa/fmctlu_v0_1_testbench.fdo
+115
-0
fmctlu_v0_1_testbench.udo
minitlu/simulation/questa/fmctlu_v0_1_testbench.udo
+10
-0
fmctlu_v0_1_testbench_wave.fdo
minitlu/simulation/questa/fmctlu_v0_1_testbench_wave.fdo
+12
-0
modelsim.ini
minitlu/simulation/questa/modelsim.ini
+1868
-0
vish_stacktrace.vstf
minitlu/simulation/questa/vish_stacktrace.vstf
+140
-0
vsim.wlf
minitlu/simulation/questa/vsim.wlf
+0
-0
README
minitlu/simulation/scripts/README
+6
-0
add_files.tcl
minitlu/simulation/scripts/add_files.tcl
+86
-0
addfiles_sim.tcl
minitlu/simulation/scripts/addfiles_sim.tcl
+38
-0
file_list
minitlu/simulation/scripts/file_list
+67
-0
file_list.sav
minitlu/simulation/scripts/file_list.sav
+7
-0
files.txt
minitlu/simulation/scripts/files.txt
+68
-0
fmc_tlu_sim.cr.mti
minitlu/simulation/scripts/fmc_tlu_sim.cr.mti
+717
-0
fmc_tlu_sim.mpf
minitlu/simulation/scripts/fmc_tlu_sim.mpf
+2067
-0
modelsim.ini
minitlu/simulation/scripts/modelsim.ini
+1868
-0
setup.sh
minitlu/simulation/scripts/setup.sh
+12
-0
setup_project.tcl
minitlu/simulation/scripts/setup_project.tcl
+24
-0
fmc-tlu_v0-1_test-bench.vhd
minitlu/simulation_src/fmc-tlu_v0-1_test-bench.vhd
+182
-0
pmtPulseGenerator_rtl.vhd
minitlu/simulation_src/pmtPulseGenerator_rtl.vhd
+152
-0
tlu_scripts.zip
minitlu/tlu_scripts.zip
+0
-0
SP601_RevC_annotated_master_ucf_8-28-09.ucf
minitlu/ucf/SP601_RevC_annotated_master_ucf_8-28-09.ucf
+252
-0
SP601_fmc_connections.ucf
minitlu/ucf/SP601_fmc_connections.ucf
+73
-0
SP601_fmc_connections.xlsx
minitlu/ucf/SP601_fmc_connections.xlsx
+0
-0
SP601_fmc_connections_v2.ucf
minitlu/ucf/SP601_fmc_connections_v2.ucf
+94
-0
fmcTLU_fmc_connections.txt
minitlu/ucf/fmcTLU_fmc_connections.txt
+50
-0
fmc_pins.ucf
minitlu/ucf/fmc_pins.ucf
+50
-0
generate_fmcTLU_ucf.pl
minitlu/ucf/generate_fmcTLU_ucf.pl
+82
-0
sp601_FMC_mTLU.ucf
minitlu/ucf/sp601_FMC_mTLU.ucf
+152
-0
sp601_FMC_mTLU_v1a.ucf
minitlu/ucf/sp601_FMC_mTLU_v1a.ucf
+220
-0
sp605_FMC_mTLU.ucf
minitlu/ucf/sp605_FMC_mTLU.ucf
+138
-0
sp605_FMC_mTLU_v1a.ucf
minitlu/ucf/sp605_FMC_mTLU_v1a.ucf
+185
-0
sp605_FMC_mTLU_v1a_pintest.ucf
minitlu/ucf/sp605_FMC_mTLU_v1a_pintest.ucf
+155
-0
ax3_pm3_mTLUvC.xdc
minitlu/xdc/ax3_pm3_mTLUvC.xdc
+377
-0
No files found.
minitlu/Introduction.markdown
0 → 100644
View file @
5eb3d86a
Introduction to AIDA FMC Mini-TLU {#mainpage}
=================================
The TLU provides different parts of a Particle Physics Beam-Test
system with the information they need to synchronize data taken with
different detectors. The detectors are also refered to as Devices
Under Test (DUT).
Functions of TLU
----------------
-
Trigger.
The TLU can combine signals from detectors in the beam-line ( often
scintillation detectors ) to produce a trigger that is sent to the
different DUT. Each DUT can indicate to the TLU that it is busy and
unable to take any further data.
-
Particle Timestamping
The arrival time of every pulse from the beam-detectors is recorded.
-
Clock and Synchronization Signals.
The TLU produces clock and synchronization signals that allow the
internal counters of different DUT to be sychronized.
N.B. Not all the functions of the TLU may be used in a given beam-test
system. For example, it is common to only use the Trigger/Busy
function of the TLU.
Firmare Structure
-----------------
The firmware is almost exclusively written in VHDL. The top level
entitity is
[
top_extphy
](
top_extphy_struct
)
The HDL-Designer package by Mentor graphics has been used to develop
some of the code, mainly the top-level structure. However, is is not
necessary to use HDL-Designer to build the firmware. In fact the VHDL
files produced by HDL-Designer can also be edited "by hand" without
using the tool.
A block diagram, generated by HDL-Designer, is
[
here
](
http://www.ohwr.org/attachments/2710/hdl_designer_test_print_2.pdf
)
Building Firmware
-----------------
Instructions on building the firmware are found
[
here
](
http://www.ohwr.org/projects/fmc-mtlu/wiki/FirmwareBuild
)
.
minitlu/config/ise14/sp601/build_bitstream.tcl
0 → 100644
View file @
5eb3d86a
project open fmc-mtlu
puts
"Regenerating cores"
cd
$::env
(
FW_WORKSPACE
)
/workspace/ipcore_dir
catch
{
exec
coregen -r -b tri_mode_eth_mac_v5_4.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b mac_fifo_axi4.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b tlu_event_fifo.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b FIFO.xco -p coregen.cgp
}
# catch {exec coregen -r -b CounterUp.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b internalTriggerGenerator.xco -p coregen.cgp
}
process run
"Synthesize"
process run
"Translate"
process run
"Map"
process run
"Place & Route"
process run
"Generate Programming File"
project close
minitlu/config/ise14/sp601/coregen.cgp
0 → 100644
View file @
5eb3d86a
SET busformat = BusFormatAngleBracketNotRipped
SET designentry = VHDL
SET device = xc6slx16
SET devicefamily = spartan6
SET flowvendor = Other
SET package = csg324
SET speedgrade = -3
SET verilogsim = false
SET vhdlsim = true
minitlu/config/ise14/sp601/file_list
0 → 100644
View file @
5eb3d86a
hdl ipbus/firmware/example_designs/hdl/clocks_s6_extphy.vhd
include ipbus/firmware/ethernet/cfg/file_list_s6_extphy
include ipbus/firmware/ipbus_core/cfg/file_list
minitlu/config/ise14/sp601/setup_project.tcl
0 → 100644
View file @
5eb3d86a
project new fmc-mtlu
project set family spartan6
project set device xc6slx16
project set package csg324
project set speed -3
project set
"Enable Multi-Threading"
"2"
-process
"Map"
project set
"Pack I/O Registers/Latches into IOBs"
"For Inputs and Outputs"
-process
"Map"
project set
"Enable Multi-Threading"
"2"
-process
"Place & Route"
project set
"Enable BitStream Compression"
TRUE -process
"Generate Programming File"
project set
"Preferred Language"
"VHDL"
# source $::env(REPOS_FW_DIR
)
/firmware/example_designs/scripts/addfiles.tcl
# Just list files by hand for now. Can't get addfiles.tcl to work.
#xfile add ipbus/firmware/example_designs/hdl/clocks_s6_extphy.vhd
# IPBus Ethernet for gig_eth_pcs_pma_v11_5
xfile add ipbus/firmware/ethernet/hdl/eth_s6_gmii.vhd
xfile add ipbus/firmware/ethernet/hdl/emac_hostbus_decl.vhd
puts
"Adding and Regenerating Ethernet cores"
# Add cores for Ethernet
exec
cp ipbus/firmware/ethernet/coregen/tri_mode_eth_mac_v5_4.xco ipcore_dir
exec
cp ipbus/firmware/ethernet/coregen/mac_fifo_axi4.xco ipcore_dir
xfile add ipcore_dir/tri_mode_eth_mac_v5_4.xco
xfile add ipcore_dir/mac_fifo_axi4.xco
# Don't regenerate cores for now...
#cd ipcore_dir
#catch {exec coregen -r -b tri_mode_eth_mac_v5_4.xco -p coregen.cgp
}
#catch {exec coregen -r -b mac_fifo_axi4.xco -p coregen.cgp
}
#cd ..
puts
"Adding IPBus files"
# Xilinx ISE setup fragment for ipbus core
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_package.vhd
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_trans_decl.vhd
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_ctrl.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_if_flat.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_buffer_selector.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_arp.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_payload.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_ping.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_resend.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_status.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_byte_sum.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_clock_crossing_if.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_do_rx_reset.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_dualportram.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_dualportram_rx.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_dualportram_tx.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_ipaddr_block.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_packet_parser.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rarp_block.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rxram_mux.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rxram_shim.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rxtransactor_if_simple.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_status_buffer.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_tx_mux.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_txtransactor_if_simple.vhd
xfile add ipbus/firmware/ipbus_core/hdl/trans_arb.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor_if.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor_sm.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor_cfg.vhd
xfile add ipbus/firmware/ipbus_core/hdl/stretcher.vhd
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_fabric.vhd
xfile add ipbus/firmware/example_designs/hdl/clock_div.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_reg_types.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_reg_v.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_ctrlreg_v.vhd
#xfile add ipbus/firmware/slaves/hdl/syncreg_r.vhd
#xfile add ipbus/firmware/slaves/hdl/syncreg_w.vhd
#xfile add ipbus/firmware/slaves/hdl/ipbus_syncreg_v.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_ctrlreg_v.vhd
# Add Opencores files for i2c interface
xfile add external/opencores_i2c/i2c_master_bit_ctrl.vhd
xfile add external/opencores_i2c/i2c_master_byte_ctrl.vhd
xfile add external/opencores_i2c/i2c_master_registers.vhd
xfile add external/opencores_i2c/i2c_master_top.vhd
# Add TLU cores....
# Add cores for Ethernet
puts
"Adding and Regenerating TLU cores"
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/tlu_event_fifo.xco ipcore_dir
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/FIFO.xco ipcore_dir
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/CounterUp.xco ipcore_dir
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/internalTriggerGenerator.xco ipcore_dir
xfile add ipcore_dir/tlu_event_fifo.xco
xfile add ipcore_dir/FIFO.xco
# xfile add ipcore_dir/CounterUp.xco
xfile add ipcore_dir/internalTriggerGenerator.xco
# Don't regenerate cores for now...
#cd ipcore_dir
#catch {exec coregen -r -b tlu_event_fifo.xco -p coregen.cgp
}
#catch {exec coregen -r -b FIFO.xco -p coregen.cgp
}
#catch {exec coregen -r -b CounterUp.xco -p coregen.cgp
}
#catch {exec coregen -r -b internalTriggerGenerator.xco -p coregen.cgp
}
#cd ..
puts
"Adding TLU Files "
# Add FMC-MTLU files. First the hand-written VHDL
xfile add fmc-mtlu/firmware/hdl/common/dualSERDES_1to4_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/DUTInterfaces_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/eventBuffer_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/eventFormatter_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/i2c_master_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/ipbus_addr_decode.vhd
xfile add fmc-mtlu/firmware/hdl/common/IPBusInterface_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/ipbus_ver.vhd
xfile add fmc-mtlu/firmware/hdl/common/logic_clocks_rtl.vhd
#xfile add fmc-mtlu/firmware/hdl/common/pulseClockDomainCrossing_rtl.vhd
#xfile add fmc-mtlu/firmware/hdl/common/Reg_2clks.vhd
xfile add fmc-mtlu/firmware/hdl/common/registerCounter_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/synchronizeRegisters_rtl.vhd
# xfile add fmc-mtlu/firmware/hdl/common/serdes_1_to_n_SDR.vhd
xfile add fmc-mtlu/firmware/hdl/common/serdesCalibrateFSM_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/triggerInputs_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/triggerLogic_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/clocks_s6_extphy.vhd
xfile add fmc-mtlu/firmware/hdl/common/arrivalTimeLUT_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/test/clock_divider_s6.v
xfile add fmc-mtlu/firmware/hdl/common/counterWithReset_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/synchronizeRegisters_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/handshakes_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/TPx3Logic_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/GPP_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/counterDown.vhd
# Then add the HDL-Designer generated files..
xfile add fmc-mtlu/firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/top_extphy_struct.vhd
xfile add fmc-mtlu/firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/fmcTLU_pkg_body.vhd
xfile add fmc-mtlu/firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/fmcTLU_pkg.vhd
# Add user constraints file
# UCF for TLU with FMC connector wrong way round.
#xfile add fmc-mtlu/firmware/ucf/sp601_FMC_mTLU.ucf
# bug-fixed TLU:
xfile add fmc-mtlu/firmware/ucf/sp601_FMC_mTLU_v1a.ucf
project close
puts
"Successfully finished building project file"
minitlu/config/ise14/sp605/build_bitstream.tcl
0 → 100644
View file @
5eb3d86a
project open fmc-mtlu
puts
"Regenerating cores"
cd
$::env
(
FW_WORKSPACE
)
/workspace/ipcore_dir
catch
{
exec
coregen -r -b tri_mode_eth_mac_v5_4.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b mac_fifo_axi4.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b tlu_event_fifo.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b FIFO.xco -p coregen.cgp
}
# catch {exec coregen -r -b CounterUp.xco -p coregen.cgp
}
catch
{
exec
coregen -r -b internalTriggerGenerator.xco -p coregen.cgp
}
process run
"Synthesize"
process run
"Translate"
process run
"Map"
process run
"Place & Route"
process run
"Generate Programming File"
project close
minitlu/config/ise14/sp605/coregen.cgp
0 → 100644
View file @
5eb3d86a
SET busformat = BusFormatAngleBracketNotRipped
SET designentry = VHDL
SET device = xc6slx45t
SET devicefamily = spartan6
SET flowvendor = Other
SET package = fgg484
SET speedgrade = -3
SET verilogsim = false
SET vhdlsim = true
minitlu/config/ise14/sp605/file_list
0 → 100644
View file @
5eb3d86a
hdl ipbus/firmware/example_designs/hdl/clocks_s6_extphy.vhd
include ipbus/firmware/ethernet/cfg/file_list_s6_extphy
include ipbus/firmware/ipbus_core/cfg/file_list
minitlu/config/ise14/sp605/setup_project.tcl
0 → 100644
View file @
5eb3d86a
project new fmc-mtlu
project set family spartan6
project set device xc6slx45t
project set package fgg484
project set speed -3
project set
"Enable Multi-Threading"
"2"
-process
"Map"
project set
"Pack I/O Registers/Latches into IOBs"
"For Inputs and Outputs"
-process
"Map"
project set
"Enable Multi-Threading"
"2"
-process
"Place & Route"
project set
"Enable BitStream Compression"
TRUE -process
"Generate Programming File"
project set
"Preferred Language"
"VHDL"
project set
"Set SPI Configuration Bus Width spartan6"
4
# source $::env(REPOS_FW_DIR
)
/firmware/example_designs/scripts/addfiles.tcl
# Just list files by hand for now. Can't get addfiles.tcl to work.
#xfile add ipbus/firmware/example_designs/hdl/clocks_s6_extphy.vhd
# IPBus Ethernet for gig_eth_pcs_pma_v11_5
xfile add ipbus/firmware/ethernet/hdl/eth_s6_gmii.vhd
xfile add ipbus/firmware/ethernet/hdl/emac_hostbus_decl.vhd
puts
"Adding and Regenerating Ethernet cores"
# Add cores for Ethernet
exec
cp ipbus/firmware/ethernet/coregen/tri_mode_eth_mac_v5_4.xco ipcore_dir
exec
cp ipbus/firmware/ethernet/coregen/mac_fifo_axi4.xco ipcore_dir
xfile add ipcore_dir/tri_mode_eth_mac_v5_4.xco
xfile add ipcore_dir/mac_fifo_axi4.xco
# Don't regenerate cores for now...
#cd ipcore_dir
#catch {exec coregen -r -b tri_mode_eth_mac_v5_4.xco -p coregen.cgp
}
#catch {exec coregen -r -b mac_fifo_axi4.xco -p coregen.cgp
}
#cd ..
puts
"Adding IPBus files"
# Xilinx ISE setup fragment for ipbus core
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_package.vhd
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_trans_decl.vhd
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_ctrl.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_if_flat.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_buffer_selector.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_arp.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_payload.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_ping.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_resend.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_build_status.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_byte_sum.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_clock_crossing_if.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_do_rx_reset.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_dualportram.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_dualportram_rx.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_dualportram_tx.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_ipaddr_block.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_packet_parser.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rarp_block.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rxram_mux.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rxram_shim.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_rxtransactor_if_simple.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_status_buffer.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_tx_mux.vhd
xfile add ipbus/firmware/ipbus_core/hdl/udp_txtransactor_if_simple.vhd
xfile add ipbus/firmware/ipbus_core/hdl/trans_arb.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor_if.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor_sm.vhd
xfile add ipbus/firmware/ipbus_core/hdl/transactor_cfg.vhd
xfile add ipbus/firmware/ipbus_core/hdl/stretcher.vhd
xfile add ipbus/firmware/ipbus_core/hdl/ipbus_fabric.vhd
xfile add ipbus/firmware/example_designs/hdl/clock_div.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_reg_types.vhd
#xfile add ipbus/firmware/slaves/hdl/syncreg_r.vhd
#xfile add ipbus/firmware/slaves/hdl/syncreg_w.vhd
#xfile add ipbus/firmware/slaves/hdl/ipbus_syncreg_v.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_ctrlreg_v.vhd
xfile add ipbus/firmware/slaves/hdl/ipbus_ctrlreg_v.vhd
# Add Opencores files for i2c interface
xfile add external/opencores_i2c/i2c_master_bit_ctrl.vhd
xfile add external/opencores_i2c/i2c_master_byte_ctrl.vhd
xfile add external/opencores_i2c/i2c_master_registers.vhd
xfile add external/opencores_i2c/i2c_master_top.vhd
# Add TLU cores....
# Add cores for Ethernet
puts
"Adding and Regenerating TLU cores"
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/tlu_event_fifo.xco ipcore_dir
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/FIFO.xco ipcore_dir
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/CounterUp.xco ipcore_dir
exec
cp fmc-mtlu/firmware/ise/ipcore_dir/internalTriggerGenerator.xco ipcore_dir
xfile add ipcore_dir/tlu_event_fifo.xco
xfile add ipcore_dir/FIFO.xco
#xfile add ipcore_dir/CounterUp.xco
xfile add ipcore_dir/internalTriggerGenerator.xco
# Don't regenerate cores for now...
#cd ipcore_dir
#catch {exec coregen -r -b tlu_event_fifo.xco -p coregen.cgp
}
#catch {exec coregen -r -b FIFO.xco -p coregen.cgp
}
#catch {exec coregen -r -b CounterUp.xco -p coregen.cgp
}
#catch {exec coregen -r -b internalTriggerGenerator.xco -p coregen.cgp
}
#cd ..
puts
"Adding TLU Files "
# Add FMC-MTLU files. First the hand-written VHDL
xfile add fmc-mtlu/firmware/hdl/common/dualSERDES_1to4_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/DUTInterfaces_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/eventBuffer_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/eventFormatter_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/i2c_master_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/ipbus_addr_decode.vhd
xfile add fmc-mtlu/firmware/hdl/common/IPBusInterface_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/ipbus_ver.vhd
xfile add fmc-mtlu/firmware/hdl/common/logic_clocks_rtl.vhd
#xfile add fmc-mtlu/firmware/hdl/common/pulseClockDomainCrossing_rtl.vhd
#xfile add fmc-mtlu/firmware/hdl/common/Reg_2clks.vhd
xfile add fmc-mtlu/firmware/hdl/common/registerCounter_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/IODELAYCal_FSM_rtl.vhd
#xfile add fmc-mtlu/firmware/hdl/common/serdes_1_to_n_SDR.vhd
#xfile add fmc-mtlu/firmware/hdl/common/sync_reg.vhd
xfile add fmc-mtlu/firmware/hdl/common/triggerInputs_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/triggerLogic_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/clocks_s6_extphy.vhd
xfile add fmc-mtlu/firmware/hdl/common/arrivalTimeLUT_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/test/clock_divider_s6.v
xfile add fmc-mtlu/firmware/hdl/common/counterWithReset_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/synchronizeRegisters_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/handshakes_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/TPx3Logic_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/GPP_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/counterDown.vhd
xfile add fmc-mtlu/firmware/hdl/common/handshakes_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/TPx3Logic_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/pulseClockDomainCrossing_rtl.vhd
xfile add fmc-mtlu/firmware/hdl/common/counterDown.vhd
# Then add the HDL-Designer generated files..
xfile add fmc-mtlu/firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/top_extphy_struct.vhd
xfile add fmc-mtlu/firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/fmcTLU_pkg_body.vhd
xfile add fmc-mtlu/firmware/hdl_designer/fmc_mTLU/fmc_mTLU_lib/hdl/fmcTLU_pkg.vhd
# Add user constraints file
xfile add fmc-mtlu/firmware/ucf/sp605_FMC_mTLU_v1a.ucf
project close
puts
"Successfully finished building project file"
minitlu/hdl/common/DUTInterfaces_rtl.vhd
0 → 100644
View file @
5eb3d86a
This diff is collapsed.
Click to expand it.
minitlu/hdl/common/GPL_doxygen_header.vhdl
0 → 100644
View file @
5eb3d86a
--! @file dtype_fds.vhdl
--
-------------------------------------------------------------------------------
-- --
-- (c) University of Bristol, High Energy Physics Group --
-- --
-------------------------------------------------------------------------------
--
--
-- This file is part of IPBus.
--
-- IPBus is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- IPBus is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with IPBus. If not, see <http://www.gnu.org/licenses/>.
--
-- IPBus is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- IPBus is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with IPBus. If not, see <http://www.gnu.org/licenses/>.
--
--
--! Standard library
library
IEEE
;
-- Standard logic defintions.
use
IEEE
.
STD_LOGIC_1164
.
all
;
--
-- unit name: dtype_fds
--
--! @brief Aims to be the same as the Xilinx "FDS" primitive - D-Type flip-flop
--
--
--! @author David.Cussans@bristol.ac.uk
--
--! @date 7/May/2011
--
--! @version 0.1
--
--! @details -- Modified from D-type example in VHDL book.
--! See Xilinx spartan6_scm.pdf
--! Output goes high when input goes high ( asyncnronous to system clock).
--
--! <b>Dependencies:</b>\n
--!
--! <b>References:</b>\n
--! <reference one> \n
--! <reference two>
--!
--! <b>Modified by:</b>\n
--! Author: <name>
-------------------------------------------------------------------------------
--! \n\n<b>Last changes:</b>\n
--! <date> <initials> <log>\n
--! <extended description>
-------------------------------------------------------------------------------
--! @todo <next thing to do> \n
--! <another thing to do> \n
--
-------------------------------------------------------------------------------
minitlu/hdl/common/GPP_rtl.vhd
0 → 100644
View file @
5eb3d86a
This diff is collapsed.
Click to expand it.
minitlu/hdl/common/IODELAYCal_FSM_rtl.vhd
0 → 100644
View file @
5eb3d86a
--=============================================================================
--! @file IODELAYCal_FSM_rtl.vhd
--=============================================================================
--
-------------------------------------------------------------------------------
-- --
-- UoB , USC
-- --
------------------------------------------------------------------------------- --
--
--! @brief Finite-state machine to control calibration and reset signals to
--! Iserdes, IDelay
--! based on code by Alvaro Dosil\n
--
--! @author Alvaro Dosil
--
--! @date 22/Feb/2014
--
--! @version v0.1
--
--! @details
--
-------------------------------------------------------------------------------
--! \n\n<b>Last changes:</b>\n
-------------------------------------------------------------------------------
--! @todo Implement a periodic calibration sequence\n
--! <another thing to do> \n
LIBRARY
ieee
;
USE
ieee
.
std_logic_1164
.
all
;
entity
IODELAYCal_FSM
is
port
(
clk_i
:
in
std_logic
;
--! Global clock
startcal_i
:
in
std_logic
;
--! Start calibration
busy_i
:
in
std_logic
;
--! Status of the IDELAY component
calibrate_o
:
out
std_logic
;
--! Calibration signals to IODELAY
reset_o
:
out
std_logic
--! Reset to IODELAY component
);
end
entity
IODELAYCal_FSM
;
architecture
rtl
of
IODELAYCal_FSM
is
--! Calibration FSM state values
type
state_values
is
(
st0
,
st1
,
st2
,
st3
);
signal
pres_state
,
next_state
:
state_values
:
=
st0
;
signal
s_cal_FSM
:
std_logic
:
=
'0'
;
-- IODELAY reset
signal
s_rst_FSM
:
std_logic
:
=
'0'
;
-- IODELAY reset
begin
-- rtl
--! Calibration FSM register
statereg
:
process
(
clk_i
)
begin
if
rising_edge
(
clk_i
)
then
pres_state
<=
next_state
;
-- Move to next state
end
if
;
end
process
statereg
;
--! Calibration FSM combinational block
fsm
:
process
(
pres_state
,
startcal_i
,
busy_i
)
begin
next_state
<=
pres_state
;
-- Default values
s_Rst_FSM
<=
'0'
;
s_cal_FSM
<=
'0'
;
case
pres_state
is
-- st0 - IDLE
when
st0
=>
if
(
startcal_i
=
'1'
)
then
next_state
<=
st1
;
-- Next state is "st1 - SEND CALIBRATION SIGNAL"
end
if
;
-- st1 - SEND CALIBRATION SIGNAL
when
st1
=>
s_cal_FSM
<=
'1'
;
next_state
<=
st2
;
-- Next state is "st2 - WAIT BUSY = '0'"
-- st2 - WAIT BUSY = '0'
when
st2
=>
if
busy_i
=
'0'
then
next_state
<=
st3
;
-- Next state is "st3 - RESET STATE"
end
if
;
-- st3 - RESET STATE
when
st3
=>
s_Rst_FSM
<=
'1'
;
next_state
<=
st0
;
-- Next state is "st0 - IDLE"
end
case
;
end
process
fsm
;
calibrate_o
<=
s_cal_FSM
;
reset_o
<=
s_Rst_FSM
;
end
rtl
;
minitlu/hdl/common/IPBusInterface_rtl.vhd
0 → 100644
View file @
5eb3d86a
--=============================================================================
--! @file IPBusInterface_rtl.vhd
--=============================================================================
--
-------------------------------------------------------------------------------
-- --
-- University of Bristol, High Energy Physics Group.
-- --
------------------------------------------------------------------------------- --
-- VHDL Architecture fmc_mTLU_lib.IPBusInterface.rtl
--
--! @brief \n
--! \n
--
--! @author David Cussans , David.Cussans@bristol.ac.uk
--
--! @date 16:06:57 11/09/12
--