OpenPET Firmware Parameters

This section will outline the OpenPET firmware parameters in the Main, IO, and detector board field programmable gate arrays (FPGAs). These parameters are VHDL generics that can be changed during compilation.

Main FPGA

Entity - main

Name Type Description
g_NODE_TYPE std_logic_vector(3 downto 0)
SupportBoard Function (Type)
g_slice_div integer
Clk to slice relation.
0 (default) divide by 8.
1 means divide by 16.
g_adc_channels positive
Number of ADC channels to
deserialize
g_adc_number positive
Number of ADC chips
g_adc_resolution positive
ADC resolution
g_QUSB_FD_WIDTH positive
QuickUSB Data bus width
g_QUSB_ADR_WIDTH positive
QuickUSB Address bus width
g_QUSB_CMD_PKTS positive
Number of QuickUSB packets
(write cycles) to complete a single
OpenPET command.
g_osc_num_adc_samples positive
Total number of ADC samples
per db
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)
g_en_qusb boolean
Enable/disable quickusb logic
g_en_eth boolean
Enable/disable ethernet logic
g_eth_ip std_logic_vector(31 downto 0)
IP address 10.10.10.2
g_eth_mac std_logic_vector(47 downto 0)
Mac address
g_eth_ip_dst std_logic_vector(31 downto 0)
IP address 10.10.10.2
g_eth_mac_dst std_logic_vector(47 downto 0)
Mac address
–g_eth_ip_dst std_logic_vector(31 downto 0)
IP address 10.10.10.2
–g_eth_mac_dst std_logic_vector(47 downto 0)
Mac address
g_eth_jumbo_dw positive
14 for jumbo frames
11 for normal
g_udp_width positive
Width of UDP bus

Component

qusb

Name Type Description
g_FD_WIDTH positive
QuickUSB Data bus width
g_ADR_WIDTH positive
QuickUSB Address bus width
g_CMD_PKTS positive
Number of QuickUSB packets (write cycles)
to complete a single OpenPET command
g_DATA_FIFO_DEPTH positive
Depth of output data FIFO

swfw_cmd

Name Type Description
g_NODE_TYPE std_logic_vector(3 downto 0)
SupportBoard Function (Type)
g_osc_num_adc_samples positive
Total number of ADC samples
per db
g_adc_number positive
Number of ADC chips
g_adc_channels positive
Number of ADC channels to
deserialize
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_en_tdc boolean
Enable/disable TDC logic
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

processdata

Name Type Description
g_NODE_TYPE std_logic_vector(3 downto 0)
SupportBoard Function (Type)
g_osc_fifo_depth positive
Oscilloscope FIFO depth
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

ether_rgmii

Name Type Description
g_ip_src std_logic_vector(31 downto 0)
Default source IP
g_mac_src std_logic_vector(47 downto 0)
Default source mac
g_ip_dst std_logic_vector(31 downto 0)
Default destination IP
g_mac_dst std_logic_vector(47 downto 0)
Default destination mac
g_jumbo_dw positive
Jumbo frames
g_udp_width positive
Width of data bus
g_osc_num_adc_samples positive
Depth of output data FIFO

Main FPGA VHD file

IO FPGA

Entity - io

Name Type Description
g_NODE_TYPE std_logic_vector(3 downto 0)
SupportBoard Function (Type)
g_slice_div integer
Clk to slice relation.
0 (default) divide by 8.
1 means divide by 16.
g_adc_channels positive
Number of ADC channels to
deserialize
g_adc_number positive
Number of ADC chips
g_adc_resolution positive
ADC resolution
g_osc_num_adc_samples positive
Total number of ADC samples
per db
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

Component

swfw_cmd

Name Type Description
g_osc_num_adc_samples positive
Total number of ADC samples
per db
g_adc_number positive
Number of ADC chips
g_adc_channels positive
Number of ADC channels to
deserialize
g_en_tdc boolean
Enable/disable TDC logic
g_frame_width positive
ADCClk_Freq / SliceClk_Freq
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

processdata

Name Type Description
g_NODE_TYPE std_logic_vector(3 downto 0)
SupportBoard Function (Type)
g_osc_fifo_depth positive
Oscilloscope FIFO depth
g_frame_width positive
ADCClk_Freq / SliceClk_Freq
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

IO FPGA VHD file

Detector Board FPGA

Entity - db16ch

Name Type Description
g_en_debug boolean
Enable/disable debugging
g_slice_div integer
Clk to slice relation.
0 (default) divide by 8.
1 means divide by 16.
g_adc_channels positive
Number of ADC channels to
deserialize
g_adc_number positive
Number of ADC chips
g_adc_resolution positive
ADC resolution
g_tdc_type integer
Generate TDC logic. 0=no logic
1=waveunion, 2=multiphase (default)
g_tdc_resolution positive
TDC resolution
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_osc_num_adc_samples positive
Total number of ADC samples
per run
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages

Component

swfw_cmd

Name Type Description
g_osc_num_adc_samples positive
Total number of ADC samples
per db
g_adc_number positive
Number of ADC chips
g_adc_channels positive
Number of ADC channels to
deserialize
g_frame_width positive
ADCClk_Freq / SliceClk_Freq
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

adc_16ch

Name Type Description
g_adc_channels positive
Number of ADC channels to
deserialize
g_adc_number positive
Number of ADC chips
g_adc_resolution positive
ADC resolution

processdata

Name Type Description
g_adc_channels positive
Number of ADC channels to
deserialize
g_adc_number positive
Number of ADC chips
g_adc_resolution positive
ADC resolution
g_tdc_resolution positive
TDC resolution
g_osc_fifo_depth positive
Oscilloscope FIFO depth
g_frame_width positive
ADCClk_Freq / SliceClk_Freq
g_sng_max_pipeline_stages positive
Maximum number of pipeline
stages
g_tdc_type integer
Generate TDC logic. 0=no logic
1=waveunion, 2=multiphase (default)
g_en_osc_mode boolean
Generate oscilloscope mode logic
g_sng_mode_type integer
Generate singles mode logic.
0=no logic generated.
1=LBNL example (default)

tcd

Name Type Description
g_en_debug boolean
Enable/disable debugging
g_tdc_type integer
Generate TDC logic. 0=no logic
1=waveunion, 2=multiphase (default)
g_adc_channels positive
Number of ADC channels to
deserialize
g_adc_number positive
Number of ADC chips
g_tdc_resolution positive
TDC resolution

sram

Name Type Description
g_dataw positive
Data width
g_addrw positive
Address width

Detector Board FPGA VHD file