What can PandABlocks do?
PandABlocks is a framework enabling a number of functional Block instances to be written and loaded to an FPGA, with their parameters (including their connections to other Blocks) changed at runtime. It allows flexible triggering and processing systems to be created, by users who are unfamiliar with writing FPGA firmware.
How is the documentation structured?
The documentation is structured into a series of Tutorials and some general Reference documentation. End users and developers need different documentation, so links for various categories of user are listed below:
Generating a new set of Blocks for a PandABlocks device
Read Available Blocks to find out what already exists, then read Assembling Blocks into an App to see how to make an App of these Blocks that can be loaded to a PandABlocks device.
Extending the functionality of a PandABlocks device
Read Available Blocks to see if you need to create a new Block or add to an existing one. Read Writing a Block to find out how to specify the interface to a Block, VHDL entity, timing tests and docs.
Working on the core autogeneration framework
Read Writing a Block to find out how the process works, then Autogeneration framework architecture for more details on specific parts of the autogeneration framework
- What can PandABlocks do?
- How is the documentation structured?
- Using an existing PandABlocks device
- Generating a new set of Blocks for a PandABlocks device
- Extending the functionality of a PandABlocks device
- Working on the core autogeneration framework
- Blinking LEDs Tutorial
- Position Capture Tutorial
- Position Compare Tutorial
- Snake Scan Tutorial
- Available Blocks
- ABSENC - Absolute encoder
- BITS - Soft inputs and constant bits
- CALC - Position Calc
- CLOCK - Configurable clock
- COUNTER - Up/Down pulse counter
- DIV - Pulse divider
- FILTER - Filter
- FMC_24V - FMC 24V IO Module
- FMC_ACQ427 - FMC ACQ427 Module
- FMC_ACQ430 - FMC ACQ430 Module
- FMC_LOOPBACK - FMC Loopback Module
- INENC - Input encoder
- INENC - Input encoder
- LUT - 5 Input lookup table
- LVDSIN - LVDS Input
- LVDSOUT - LVDS Output
- OUTENC - Output encoder
- PCAP - Position Capture
- PCOMP - Position Compare
- PGEN - Position Generator
- PMACENC - Pmac encoder
- POSENC - Quadrature and step/direction encoder
- PULSE - One-shot pulse delay and stretch
- QDEC - Quadrature Decoder
- SEQ - Sequencer
- SFP_DLS_EVENTR - SFP Event Receiver Module
- SFP_LOOPBACK- SFP Loopback Module
- SFP_PANDA_SYNC - Synchronize data between 2 PandAs
- SFP_UDPONTRIG - SFP UDP on trig Module
- SRGATE - Set Reset Gate
- SYSTEM - System control FPGA
- TTLIN - TTL Input
- TTLOUT - TTL Output
- Contributing
- Assembling Blocks into an App
- Writing a Block
- Autogeneration framework architecture
- Softblocks
- Wrappers
- Config_d entries
pad()
all_subclasses()
BlockConfig
BlockConfig.name
BlockConfig.number
BlockConfig.module_path
BlockConfig.ini_path
BlockConfig.block_address
BlockConfig.entity
BlockConfig.type
BlockConfig.constraints
BlockConfig.ip
BlockConfig.description
BlockConfig.fields
BlockConfig.calc_extensions
BlockConfig.block_suffixes
BlockConfig.register_addresses()
BlockConfig.filter_fields()
BlockConfig.generateInterfaceConstraints()
RegisterConfig
BusEntryConfig
FieldConfig
FieldConfig.type_regex
FieldConfig.name
FieldConfig.number
FieldConfig.type
FieldConfig.description
FieldConfig.registers
FieldConfig.bus_entries
FieldConfig.wstb
FieldConfig.option_filter
FieldConfig.initial_value
FieldConfig.extension
FieldConfig.extra_config_lines
FieldConfig.parse_extra_config()
FieldConfig.register_addresses()
FieldConfig.address_line()
FieldConfig.config_line()
FieldConfig.numbered_registers()
BitOutFieldConfig
PosOutFieldConfig
ExtOutFieldConfig
ExtOutTimeFieldConfig
TableFieldConfig
TableShortFieldConfig
ParamFieldConfig
CalcExtensionFieldConfig
EnumParamFieldConfig
UintParamFieldConfig
ScalarParamFieldConfig
BitMuxFieldConfig
PosMuxFieldConfig
TimeFieldConfig
TargetSiteConfig
- Test benches
- Changelog
- Glossary
- Running the tests
- Available Blocks
- ABSENC - Absolute encoder
- BITS - Soft inputs and constant bits
- CALC - Position Calc
- CLOCK - Configurable clock
- COUNTER - Up/Down pulse counter
- DIV - Pulse divider
- FILTER - Filter
- FMC_24V - FMC 24V IO Module
- FMC_ACQ427 - FMC ACQ427 Module
- FMC_ACQ430 - FMC ACQ430 Module
- FMC_LOOPBACK - FMC Loopback Module
- INENC - Input encoder
- INENC - Input encoder
- LUT - 5 Input lookup table
- LVDSIN - LVDS Input
- LVDSOUT - LVDS Output
- OUTENC - Output encoder
- PCAP - Position Capture
- PCOMP - Position Compare
- PGEN - Position Generator
- PMACENC - Pmac encoder
- POSENC - Quadrature and step/direction encoder
- PULSE - One-shot pulse delay and stretch
- QDEC - Quadrature Decoder
- SEQ - Sequencer
- SFP_DLS_EVENTR - SFP Event Receiver Module
- SFP_LOOPBACK- SFP Loopback Module
- SFP_PANDA_SYNC - Synchronize data between 2 PandAs
- SFP_UDPONTRIG - SFP UDP on trig Module
- SRGATE - Set Reset Gate
- SYSTEM - System control FPGA
- TTLIN - TTL Input
- TTLOUT - TTL Output
- Contributing
- Assembling Blocks into an App
- Writing a Block
- Autogeneration framework architecture
- Softblocks
- Wrappers
- Config_d entries
pad()
all_subclasses()
BlockConfig
BlockConfig.name
BlockConfig.number
BlockConfig.module_path
BlockConfig.ini_path
BlockConfig.block_address
BlockConfig.entity
BlockConfig.type
BlockConfig.constraints
BlockConfig.ip
BlockConfig.description
BlockConfig.fields
BlockConfig.calc_extensions
BlockConfig.block_suffixes
BlockConfig.register_addresses()
BlockConfig.filter_fields()
BlockConfig.generateInterfaceConstraints()
RegisterConfig
BusEntryConfig
FieldConfig
FieldConfig.type_regex
FieldConfig.name
FieldConfig.number
FieldConfig.type
FieldConfig.description
FieldConfig.registers
FieldConfig.bus_entries
FieldConfig.wstb
FieldConfig.option_filter
FieldConfig.initial_value
FieldConfig.extension
FieldConfig.extra_config_lines
FieldConfig.parse_extra_config()
FieldConfig.register_addresses()
FieldConfig.address_line()
FieldConfig.config_line()
FieldConfig.numbered_registers()
BitOutFieldConfig
PosOutFieldConfig
ExtOutFieldConfig
ExtOutTimeFieldConfig
TableFieldConfig
TableShortFieldConfig
ParamFieldConfig
CalcExtensionFieldConfig
EnumParamFieldConfig
UintParamFieldConfig
ScalarParamFieldConfig
BitMuxFieldConfig
PosMuxFieldConfig
TimeFieldConfig
TargetSiteConfig
- Test benches
- Changelog
- Glossary
- Running the tests