CMX
CMX firmware code in-line documentation
 All Classes Namespaces Files Functions Variables
File List
Here is a list of all files with brief descriptions:
[detail level 12345]
o-Common
|\-trunk
| \-sources
|  o*adder_counter.vhdThis is the high-level counter module (rate metering) for all the flavors. This module uses mult_cnt component. The generic select the flavor and set the threshold number
|  o*and_all.vhdPurely combinational circuit to compute and of all bits
|  o*BCID_counter.vhdLoop over BCID's; reset to a pre-defined value
|  o*BUF_2X24_AT_80_TO_1X96_AT_40.vhdDe-serializer of DDR 160 Mbps data to 40 Mbps
|  o*cmm_board_select_rtl.vhdVME infrastructure: selects (left or right) CMX
|  o*cmx_base_vme_bspt.vhdVME infrastructure: detects thet this FPGA has been addressed and latches the port values
|  o*CMX_cable_clocked_80Mbps_input_module.vhdImplements the input module for 80 Mbps source synchroneous
|  o*CMX_cable_clocked_80Mbps_output_module.vhdSends data on cable connector - together with 40 MHz clock on last
|  o*CMX_clock_manager.vhdA wrapper for the global clock networks MMCMs and global buffers
|  o*CMX_crate_cable_output_module.vhdImplements the output module for 80 Mbps source synchroneous transmission from the 'Crate' to the 'System' CMX and spy memories
|  o*CMX_CTP_output_module.vhdSends data at 40 Mbps on CTP cable connectors - together with 40 MHz clocks on the last pair of each connector
|  o*CMX_data_delay.vhdThis unit implements IODELAY for backplane inputs including the clocks
|  o*CMX_delay_generator.vhdA wrapper for VME registers that set the delay values
|  o*CMX_generic_module_spy_mem_control_FSM.vhdFSM for controlling access to spy memories via VME
|  o*CMX_input_module.vhdThis module captures data from the backplane
|  o*CMX_input_module_spy_mem_control_FSM.vhdObsolete: FSM for controlling access to input module spy memories via VME
|  o*CMX_Memory_spy_inhibit.vhdA simple module that synchroneously stops writing to the spy memories
|  o*CMX_pipeline_module.vhdThe pipeline delay (CMX_pipeline_module) to delay the internal signal. The pipeline delay module uses the srl16 component. The output is delayed with respect to the input by n-ticks which are defined by the VME register
|  o*CMX_rate_counter_inhibit.vhdModule to synchroneously stop and reset the rate counters
|  o*CMX_system_cable_input_module.vhdImplements the input module for 80 Mbps source synchroneous transmission from the 'Crate' CMX and spy memories
|  o*CMX_version.vhdA wrapper for VME registers that define the version numbers
|  o*CMX_VME_defs.vhdVME address space for the CMXs
|  o*CMXpackage.vhdThis package defines all the types and constants common to all CMX types
|  o*CRC_CALC.vhdAppends a 12 bit CRC code to the 128 bit trasnsmission that comes in 8 16 bit words
|  o*CRC_CHECK.vhdChecks if the CRC of the transmission is 0
|  o*daq_glink.vhdFormats and transfers data to the glink TX 40.00MHz domain
|  o*Delay.vhdDelay input signal by number of ticks specified in the generic parameter
|  o*glink_encoder.vhdThis is the G-Link Encoder Module. The G-Link protocol was successfully implemented in Virtex-6. This protocol encodes 20 bits of user data
|  o*glink_interface.vhdThis is the G-Link interface, it uses glink encoder. The 24-bits of encoded data (clock 40 MHz) are "divided" into 3 x 8-bits of encoded data (clock 120 MHz)
|  o*input_latch_rtl.vhdVME infreastructure
|  o*mini_fifo.vhdSuper-light weight fifo transferring data from one clock domain to next clocks must be exactly the same frequency but are of unknown phase relationship
|  o*mini_fifo_synchroniser.vhdThis modules provides synchronisers for the mini fifos that transfer the data into the GTX TX Clock domains
|  o*mult_cnt.vhdModule (low-level) for counting the threshold acceptance rates. Two additional control signals are used: the reset and inhibit. The reset zeros the counters, while inhibit blocks the counters
|  o*or_all.vhdPurely combinational circuit to compute or of all bits
|  o*PARITY_CALC.vhdPurely combinational circuit to compute parity of numbitsinchan - 1 bits
|  o*parity_gen.vhdThe parity_gen module generates the parity of incoming data
|  o*Readout_FIFO.vhdThis module encapsulates two corgen FIFOs
|  o*rx_sync.vhdAutogenerated file by the GTX wizard - synchronisation for the GTX's RX
|  o*SFP_TXRX.vhdCMX common firmware module for transmitting data on the GTX driving the optical SFP (ROI and DAQ readout)
|  o*Stretch_10.vhdShift in the input signal 10 times and take or of all to stretch a short reset pulse
|  o*sys_monitor.vhdInstantiates the system monitor and the VME interface for monitoring FPGA Temperature, voltage levels and currents
|  o*time_multiplex_8to1.vhdSimple 8 to 1 time multiplexer used for transferring data at 320M words/s to the GTXs
|  o*Topo_Data_TX.vhdCMX common firmware module for transmitting data to L1 Topo 24 channels 6.4 Gbps line rate each 8b/10b encoding. Instantiates and configures GTX transmitters
|  o*tx_sync.vhdAuto-generated by xilinx GTX Wizard for synchronisation of the GTX's TX
|  o*vme_inreg_async_rtl.vhdRead-Write only register without read/write event detection. This one has internal tri-states, suitable for partitioned design
|  o*vme_inreg_rtl.vhdRead-Write only register with read event detection and write event detection. This one has internal tri-states, not suitable for partitioned design
|  o*vme_inreg_rtl_notri.vhdRead-Write only register with read event detection and write event detection. This one has no internal tri-states, suitable for partitioned design
|  o*vme_inreg_rtl_notri_async.vhdRead-Write register with no read/write event detection. This one has no internal tri-states, suitable for partitioned design
|  o*vme_local_switch.vhdLocal VME traffic switch
|  o*vme_main_hub.vhdMain VME traffic switch; instatiates the tri-states; must be in the global partition
|  o*vme_outreg_rtl.vhdRead only register with read event detection. This one has internal tri-states, not suitable for partitioned design
|  o*vme_outreg_rtl_notri.vhdRead only register with read event detection. This one has no internal tri-states, suitable for partitioned design
|  \*vme_outreg_rtl_notri_async.vhdRead only register with without read event detection. This one has no internal tri-states, suitable for partitioned design
o-CP
|o-CP_common
||\-trunk
|| \+sources
|o-CP_crate
||\-trunk
|| \+sources
|\-CP_system
| \-trunk
|  \+sources
o-Jet
|o-Jet_common
||\-trunk
|| \+sources
|o-Jet_crate
||\-trunk
|| \+sources
|\-Jet_system
| \-trunk
|  o+sources
|  \*mini_fifo_synchroniser.vhd
\-SumET
 o-SumET_common
 |\-trunk
 | \+sources
 o-SumET_crate
 |\-trunk
 | \+sources
 \-SumET_system
  \-trunk
   \+sources