12 namespace uhd {
namespace rfnoc {
19 static const std::string PROP_KEY_MAGNITUDE =
"magnitude";
20 static const std::string PROP_KEY_DIRECTION =
"direction";
21 static const std::string PROP_KEY_LENGTH =
"length";
22 static const std::string PROP_KEY_FFT_SCALING =
"fft_scaling";
23 static const std::string PROP_KEY_FFT_SCALING_FACTOR =
"fft_scaling_factor";
24 static const std::string PROP_KEY_SHIFT_CONFIG =
"shift_config";
25 static const std::string PROP_KEY_BYPASS_MODE =
"bypass_mode";
26 static const std::string PROP_KEY_CP_INSERTION_LIST =
"cp_insertion_list";
27 static const std::string PROP_KEY_CP_REMOVAL_LIST =
"cp_removal_list";
28 static const std::string PROP_KEY_NIPC =
"nipc";
29 static const std::string PROP_KEY_MAX_LENGTH =
"max_length";
30 static const std::string PROP_KEY_MAX_CP_LENGTH =
"max_cp_length";
31 static const std::string PROP_KEY_MAX_CP_INSERTION_LIST_LENGTH =
32 "max_cp_insertion_list_length";
33 static const std::string PROP_KEY_MAX_CP_REMOVAL_LIST_LENGTH =
34 "max_cp_removal_list_length";
414 static const uint32_t REG_COMPAT_ADDR;
415 static const uint32_t REG_PORT_CONFIG_ADDR;
416 static const uint32_t REG_CAPABILITIES_ADDR;
417 static const uint32_t REG_CAPABILITIES2_ADDR;
418 static const uint32_t REG_RESET_ADDR;
419 static const uint32_t REG_LENGTH_LOG2_ADDR;
420 static const uint32_t REG_SCALING_ADDR;
421 static const uint32_t REG_DIRECTION_ADDR;
422 static const uint32_t REG_CP_INS_LEN_ADDR;
423 static const uint32_t REG_CP_INS_LIST_LOAD_ADDR;
424 static const uint32_t REG_CP_INS_LIST_CLR_ADDR;
425 static const uint32_t REG_CP_INS_LIST_OCC_ADDR;
426 static const uint32_t REG_CP_REM_LEN_ADDR;
427 static const uint32_t REG_CP_REM_LIST_LOAD_ADDR;
428 static const uint32_t REG_CP_REM_LIST_CLR_ADDR;
429 static const uint32_t REG_CP_REM_LIST_OCC_ADDR;
430 static const uint32_t REG_OVERFLOW_ADDR;
431 static const uint32_t REG_BYPASS_ADDR;
432 static const uint32_t REG_ORDER_ADDR;
433 static const uint32_t REG_MAGNITUDE_ADDR;
436 static const uint32_t REG_RESET_ADDR_V1;
437 static const uint32_t REG_LENGTH_LOG2_ADDR_V1;
438 static const uint32_t REG_MAGNITUDE_ADDR_V1;
439 static const uint32_t REG_DIRECTION_ADDR_V1;
440 static const uint32_t REG_SCALING_ADDR_V1;
441 static const uint32_t REG_ORDER_ADDR_V1;
529 virtual
void set_scaling_factor(const
double factor) = 0;
549 virtual
void set_scaling(const uint32_t scaling) = 0;
557 virtual uint32_t get_scaling() const = 0;
567 virtual
void set_length(const uint32_t length) = 0;
575 virtual uint32_t get_length() const = 0;
586 virtual
void set_bypass_mode(const
bool bypass) = 0;
594 virtual
bool get_bypass_mode() const = 0;
604 virtual uint32_t get_nipc() const = 0;
612 virtual uint32_t get_max_length() const = 0;
620 virtual uint32_t get_max_cp_length() const = 0;
630 virtual uint32_t get_max_cp_removal_list_length() const = 0;
640 virtual uint32_t get_max_cp_insertion_list_length() const = 0;
654 virtual
void set_cp_insertion_list(const std::vector<uint32_t> cp_lengths) = 0;
662 virtual std::vector<uint32_t> get_cp_insertion_list() const = 0;
677 virtual
void set_cp_removal_list(const std::vector<uint32_t> cp_lengths) = 0;
685 virtual std::vector<uint32_t> get_cp_removal_list() const = 0;
Definition: fft_block_control.hpp:409
Definition: noc_block_base.hpp:42
#define UHD_API
Definition: config.h:87
fft_magnitude
Definition: fft_block_control.hpp:16
fft_shift
Definition: fft_block_control.hpp:14
fft_direction
Definition: fft_block_control.hpp:15
UHD_INLINE size_t shift(const soft_reg_field_t field)
Definition: soft_register.hpp:80
Definition: build_info.hpp:12
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition: noc_block_base.hpp:22