Crate xlsynth_sys

Crate xlsynth_sys 

Source
Expand description

Declarations for the C API for the XLS dynamic shared object.

Structs§

CBitsRope
CDslxCallGraph
CDslxColonRef
CDslxConstantDef
CDslxEnumDef
CDslxEnumMember
CDslxExpr
CDslxFunction
CDslxImport
CDslxImportData
CDslxInterpValue
CDslxInvocation
CDslxInvocationCalleeData
CDslxInvocationCalleeDataArray
CDslxInvocationData
CDslxInvocationRewriteRule
CDslxModule
CDslxModuleMember
CDslxParam
CDslxParametricEnv
CDslxQuickcheck
CDslxStructDef
CDslxStructMember
CDslxType
CDslxTypeAlias
CDslxTypeAnnotation
CDslxTypeDefinition
CDslxTypeDim
CDslxTypeInfo
CDslxTypeRef
CDslxTypeRefTypeAnnotation
CDslxTypecheckedModule
CIrBValue
CIrBits
CIrBuilderBase
CIrFunction
CIrFunctionBase
CIrFunctionBuilder
CIrFunctionJit
CIrFunctionType
CIrPackage
CIrType
CIrValue
CScheduleAndCodegenResult
CTraceMessage
CVastAlwaysBase
CVastBlankLine
CVastCaseStatement
CVastComment
CVastConcat
CVastConditional
CVastContinuousAssignment
CVastDataType
CVastDef
CVastExpression
CVastFile
CVastGenerateLoop
CVastIndex
CVastIndexableExpression
CVastInlineVerilogStatement
CVastInstantiation
CVastLiteral
CVastLocalparamRef
CVastLogicRef
CVastModule
CVastModulePort
CVastParameterRef
CVastSlice
CVastStatement
CVastStatementBlock
XlsDslxParametricEnvItem

Constants§

DSLX_STDLIB_PATH
XLS_CALLING_CONVENTION_IMPLICIT_TOKEN
XLS_CALLING_CONVENTION_PROC_NEXT
XLS_CALLING_CONVENTION_TYPICAL
XLS_DSO_PATH
Directory containing the libxls DSO.
XLS_VAST_DATA_KIND_GENVAR
XLS_VAST_DATA_KIND_INT
XLS_VAST_DATA_KIND_INTEGER
XLS_VAST_DATA_KIND_LOGIC
XLS_VAST_DATA_KIND_REG
XLS_VAST_DATA_KIND_UNTYPED_ENUM
XLS_VAST_DATA_KIND_USER
XLS_VAST_DATA_KIND_WIRE
XLS_VAST_MODULE_PORT_DIRECTION_INPUT
XLS_VAST_MODULE_PORT_DIRECTION_OUTPUT

Functions§

xls_bits_abs
xls_bits_add
xls_bits_and
xls_bits_eq
xls_bits_free
xls_bits_get_bit
xls_bits_get_bit_count
xls_bits_make_bits_from_bytes
xls_bits_make_sbits
xls_bits_make_ubits
xls_bits_ne
xls_bits_negate
xls_bits_not
xls_bits_or
xls_bits_rope_append_bits
xls_bits_rope_free
xls_bits_rope_get_bits
xls_bits_sge
xls_bits_sgt
xls_bits_shift_left_logical
xls_bits_shift_right_arithmetic
xls_bits_shift_right_logical
xls_bits_sle
xls_bits_slt
xls_bits_smul
xls_bits_sub
xls_bits_to_bytes
xls_bits_to_debug_string
xls_bits_to_int64
xls_bits_to_string
xls_bits_to_uint64
xls_bits_uge
xls_bits_ugt
xls_bits_ule
xls_bits_ult
xls_bits_umul
xls_bits_width_slice
xls_bits_xor
xls_builder_base_add_add
xls_builder_base_add_after_all
xls_builder_base_add_and
xls_builder_base_add_and_reduce
xls_builder_base_add_array
xls_builder_base_add_array_concat
xls_builder_base_add_array_index
xls_builder_base_add_array_slice
xls_builder_base_add_array_update
xls_builder_base_add_bit_slice
xls_builder_base_add_bit_slice_update
xls_builder_base_add_clz
xls_builder_base_add_concat
xls_builder_base_add_ctz
xls_builder_base_add_decode
xls_builder_base_add_dynamic_bit_slice
xls_builder_base_add_encode
xls_builder_base_add_eq
xls_builder_base_add_identity
xls_builder_base_add_literal
xls_builder_base_add_nand
xls_builder_base_add_ne
xls_builder_base_add_negate
xls_builder_base_add_nor
xls_builder_base_add_not
xls_builder_base_add_one_hot
xls_builder_base_add_one_hot_select
xls_builder_base_add_or
xls_builder_base_add_or_reduce
xls_builder_base_add_priority_select
xls_builder_base_add_reverse
xls_builder_base_add_sdiv
xls_builder_base_add_select
xls_builder_base_add_sge
xls_builder_base_add_sgt
xls_builder_base_add_shll
xls_builder_base_add_shra
xls_builder_base_add_shrl
xls_builder_base_add_sign_extend
xls_builder_base_add_sle
xls_builder_base_add_slt
xls_builder_base_add_smod
xls_builder_base_add_smul
xls_builder_base_add_smulp
xls_builder_base_add_sub
xls_builder_base_add_tuple
xls_builder_base_add_tuple_index
xls_builder_base_add_udiv
xls_builder_base_add_uge
xls_builder_base_add_ugt
xls_builder_base_add_ule
xls_builder_base_add_ult
xls_builder_base_add_umod
xls_builder_base_add_umul
xls_builder_base_add_umulp
xls_builder_base_add_xor
xls_builder_base_add_xor_reduce
xls_builder_base_add_zero_extend
xls_builder_base_get_last_value
xls_builder_base_get_type
xls_bvalue_free
xls_bytes_free
xls_c_str_free
xls_c_strs_free
xls_convert_dslx_path_to_ir
xls_convert_dslx_path_to_ir_with_warnings
xls_convert_dslx_to_ir
xls_convert_dslx_to_ir_with_warnings
xls_create_bits_rope
xls_dslx_call_graph_free
xls_dslx_call_graph_get_callee_count
xls_dslx_call_graph_get_callee_function
xls_dslx_call_graph_get_function
xls_dslx_call_graph_get_function_count
xls_dslx_colon_ref_get_attr
xls_dslx_colon_ref_resolve_import_subject
xls_dslx_constant_def_get_name
xls_dslx_constant_def_get_value
xls_dslx_constant_def_to_string
xls_dslx_enum_def_get_identifier
xls_dslx_enum_def_get_member
xls_dslx_enum_def_get_member_count
xls_dslx_enum_def_get_underlying
xls_dslx_enum_def_to_string
xls_dslx_enum_member_get_name
xls_dslx_enum_member_get_value
xls_dslx_expr_get_owner_module
xls_dslx_function_get_identifier
xls_dslx_function_get_param
xls_dslx_function_get_param_count
xls_dslx_function_is_parametric
xls_dslx_function_to_string
xls_dslx_import_data_create
xls_dslx_import_data_free
xls_dslx_import_get_subject
xls_dslx_import_get_subject_count
xls_dslx_interp_value_clone
xls_dslx_interp_value_convert_to_ir
xls_dslx_interp_value_free
xls_dslx_interp_value_from_string
xls_dslx_interp_value_make_array
xls_dslx_interp_value_make_enum
xls_dslx_interp_value_make_sbits
xls_dslx_interp_value_make_tuple
xls_dslx_interp_value_make_ubits
xls_dslx_interp_value_to_string
xls_dslx_invocation_callee_data_array_free
xls_dslx_invocation_callee_data_array_get
xls_dslx_invocation_callee_data_array_get_count
xls_dslx_invocation_callee_data_clone
xls_dslx_invocation_callee_data_free
xls_dslx_invocation_callee_data_get_callee_bindings
xls_dslx_invocation_callee_data_get_caller_bindings
xls_dslx_invocation_callee_data_get_derived_type_info
xls_dslx_invocation_callee_data_get_invocation
xls_dslx_invocation_data_get_callee
xls_dslx_invocation_data_get_caller
xls_dslx_invocation_data_get_invocation
xls_dslx_module_get_member
xls_dslx_module_get_member_count
xls_dslx_module_get_name
xls_dslx_module_get_type_definition_as_enum_def
xls_dslx_module_get_type_definition_as_struct_def
xls_dslx_module_get_type_definition_as_type_alias
xls_dslx_module_get_type_definition_count
xls_dslx_module_get_type_definition_kind
xls_dslx_module_member_get_constant_def
xls_dslx_module_member_get_enum_def
xls_dslx_module_member_get_function
xls_dslx_module_member_get_kind
xls_dslx_module_member_get_quickcheck
xls_dslx_module_member_get_struct_def
xls_dslx_module_member_get_type_alias
xls_dslx_module_to_string
xls_dslx_param_get_name
xls_dslx_param_get_type_annotation
xls_dslx_parametric_env_clone
xls_dslx_parametric_env_create
xls_dslx_parametric_env_equals
xls_dslx_parametric_env_free
xls_dslx_parametric_env_get_binding_count
xls_dslx_parametric_env_get_binding_identifier
xls_dslx_parametric_env_get_binding_value
xls_dslx_parametric_env_hash
xls_dslx_parametric_env_less_than
xls_dslx_parametric_env_to_string
xls_dslx_parse_and_typecheck
xls_dslx_quickcheck_get_count
Retrieves the test-case count for the Quickcheck. Returns true and sets *result_out when the Quickcheck has a counted test-case specifier; returns false when the Quickcheck is marked exhaustive (in which case *result_out is not modified).
xls_dslx_quickcheck_get_function
xls_dslx_quickcheck_is_exhaustive
Returns true iff the Quickcheck has the exhaustive test-cases specifier.
xls_dslx_quickcheck_to_string
xls_dslx_replace_invocations_in_module
xls_dslx_struct_def_get_identifier
xls_dslx_struct_def_get_member
xls_dslx_struct_def_get_member_count
xls_dslx_struct_def_is_parametric
xls_dslx_struct_def_to_string
xls_dslx_struct_member_get_name
xls_dslx_struct_member_get_type
xls_dslx_type_alias_get_identifier
xls_dslx_type_alias_get_type_annotation
xls_dslx_type_alias_to_string
xls_dslx_type_annotation_get_type_ref_type_annotation
xls_dslx_type_array_get_element_type
xls_dslx_type_array_get_size
xls_dslx_type_definition_get_colon_ref
xls_dslx_type_definition_get_type_alias
xls_dslx_type_dim_free
xls_dslx_type_dim_get_as_bool
xls_dslx_type_dim_get_as_int64
xls_dslx_type_dim_is_parametric
xls_dslx_type_get_enum_def
xls_dslx_type_get_struct_def
xls_dslx_type_get_total_bit_count
xls_dslx_type_info_build_function_call_graph
xls_dslx_type_info_get_all_invocation_callee_data
xls_dslx_type_info_get_const_expr
xls_dslx_type_info_get_imported_type_info
xls_dslx_type_info_get_requires_implicit_token
xls_dslx_type_info_get_root_invocation_data
xls_dslx_type_info_get_type_constant_def
xls_dslx_type_info_get_type_enum_def
xls_dslx_type_info_get_type_struct_def
xls_dslx_type_info_get_type_struct_member
xls_dslx_type_info_get_type_type_alias
xls_dslx_type_info_get_type_type_annotation
Gets the concrete type for a TypeAnnotation AST node.
xls_dslx_type_info_get_unique_invocation_callee_data
xls_dslx_type_is_array
xls_dslx_type_is_bits_like
xls_dslx_type_is_enum
xls_dslx_type_is_signed_bits
xls_dslx_type_is_struct
xls_dslx_type_ref_get_type_definition
xls_dslx_type_ref_type_annotation_get_type_ref
xls_dslx_type_to_string
xls_dslx_typechecked_module_clone_removing_functions
xls_dslx_typechecked_module_free
xls_dslx_typechecked_module_get_module
xls_dslx_typechecked_module_get_type_info
xls_format_preference_from_string
xls_function_builder_add_parameter
xls_function_builder_as_builder_base
xls_function_builder_build
xls_function_builder_build_with_return_value
xls_function_builder_create
xls_function_builder_free
xls_function_get_name
xls_function_get_param_name
xls_function_get_type
xls_function_jit_free
xls_function_jit_run
xls_function_ptr_array_free
xls_function_to_z3_smtlib
xls_function_type_get_param_count
xls_function_type_get_param_type
xls_function_type_get_return_type
xls_function_type_to_string
xls_init_xls
xls_interpret_function
xls_make_function_jit
xls_mangle_dslx_name
xls_mangle_dslx_name_full
xls_optimize_ir
xls_package_create
xls_package_free
xls_package_get_array_type
xls_package_get_bits_type
xls_package_get_function
xls_package_get_functions
xls_package_get_token_type
xls_package_get_top
xls_package_get_tuple_type
xls_package_get_type_for_value
xls_package_set_top_by_name
xls_package_to_string
xls_parse_ir_package
xls_parse_typed_value
xls_schedule_and_codegen_package
xls_schedule_and_codegen_result_free
xls_schedule_and_codegen_result_get_verilog_text
xls_trace_messages_free
xls_type_get_flat_bit_count
xls_type_get_kind
xls_type_get_leaf_count
xls_type_to_string
xls_value_clone
xls_value_eq
xls_value_flatten_to_bits
xls_value_free
xls_value_from_bits
xls_value_from_bits_owned
xls_value_get_bits
xls_value_get_element
xls_value_get_element_count
xls_value_get_kind
xls_value_make_array
Returns an error:
xls_value_make_false
xls_value_make_sbits
xls_value_make_token
xls_value_make_true
xls_value_make_tuple
xls_value_make_ubits
xls_value_to_string
xls_value_to_string_format_preference
xls_vast_always_base_get_statement_block
xls_vast_case_statement_add_default
xls_vast_case_statement_add_item
xls_vast_concat_as_expression
xls_vast_conditional_add_else
xls_vast_conditional_add_else_if
xls_vast_conditional_get_then_block
xls_vast_data_type_flat_bit_count_as_int64
xls_vast_data_type_is_signed
xls_vast_data_type_width
xls_vast_data_type_width_as_int64
xls_vast_def_get_data_type
xls_vast_def_get_name
xls_vast_generate_loop_get_body
xls_vast_generate_loop_get_genvar
xls_vast_index_as_expression
xls_vast_index_as_indexable_expression
xls_vast_literal_as_expression
xls_vast_localparam_ref_as_expression
xls_vast_logic_ref_as_expression
xls_vast_logic_ref_as_indexable_expression
xls_vast_logic_ref_get_name
xls_vast_make_verilog_file
xls_vast_parameter_ref_as_expression
xls_vast_slice_as_expression
xls_vast_statement_block_add_blank_line
xls_vast_statement_block_add_blocking_assignment
xls_vast_statement_block_add_case
xls_vast_statement_block_add_comment_text
xls_vast_statement_block_add_conditional
xls_vast_statement_block_add_continuous_assignment
xls_vast_statement_block_add_generate_loop
xls_vast_statement_block_add_inline_text
xls_vast_statement_block_add_nonblocking_assignment
xls_vast_verilog_file_add_include
xls_vast_verilog_file_add_module
xls_vast_verilog_file_emit
xls_vast_verilog_file_free
xls_vast_verilog_file_make_binary
xls_vast_verilog_file_make_bit_vector_type
xls_vast_verilog_file_make_bit_vector_type_expr
xls_vast_verilog_file_make_blank_line
xls_vast_verilog_file_make_blocking_assignment
xls_vast_verilog_file_make_comment
xls_vast_verilog_file_make_concat
xls_vast_verilog_file_make_continuous_assignment
xls_vast_verilog_file_make_def
xls_vast_verilog_file_make_extern_package_type
xls_vast_verilog_file_make_index
xls_vast_verilog_file_make_index_i64
xls_vast_verilog_file_make_inline_verilog_statement
xls_vast_verilog_file_make_instantiation
xls_vast_verilog_file_make_int_def
xls_vast_verilog_file_make_int_type
xls_vast_verilog_file_make_integer_def
xls_vast_verilog_file_make_integer_type
xls_vast_verilog_file_make_literal
xls_vast_verilog_file_make_nonblocking_assignment
xls_vast_verilog_file_make_packed_array_type
xls_vast_verilog_file_make_plain_literal
xls_vast_verilog_file_make_pos_edge
xls_vast_verilog_file_make_replicated_concat
xls_vast_verilog_file_make_replicated_concat_i64
xls_vast_verilog_file_make_scalar_type
xls_vast_verilog_file_make_slice
xls_vast_verilog_file_make_slice_i64
xls_vast_verilog_file_make_ternary
xls_vast_verilog_file_make_unary
xls_vast_verilog_file_make_unsized_one_literal
xls_vast_verilog_file_make_unsized_x_literal
xls_vast_verilog_file_make_unsized_zero_literal
xls_vast_verilog_file_make_width_cast
xls_vast_verilog_module_add_always_at
xls_vast_verilog_module_add_always_comb
xls_vast_verilog_module_add_always_ff
xls_vast_verilog_module_add_generate_loop
xls_vast_verilog_module_add_input
xls_vast_verilog_module_add_localparam
xls_vast_verilog_module_add_localparam_with_def
xls_vast_verilog_module_add_logic
xls_vast_verilog_module_add_logic_input
xls_vast_verilog_module_add_logic_output
xls_vast_verilog_module_add_member_blank_line
xls_vast_verilog_module_add_member_comment
xls_vast_verilog_module_add_member_continuous_assignment
xls_vast_verilog_module_add_member_inline_statement
xls_vast_verilog_module_add_member_instantiation
xls_vast_verilog_module_add_output
xls_vast_verilog_module_add_parameter
xls_vast_verilog_module_add_parameter_port
xls_vast_verilog_module_add_parameter_with_def
xls_vast_verilog_module_add_reg
xls_vast_verilog_module_add_typed_parameter_port
xls_vast_verilog_module_add_wire
xls_vast_verilog_module_free_ports
xls_vast_verilog_module_get_name
xls_vast_verilog_module_get_ports
xls_vast_verilog_module_port_get_def
xls_vast_verilog_module_port_get_direction
xls_verify_package

Type Aliases§

CVastFileType
DslxModuleMemberKind
DslxTypeDefinitionKind
VastDataKind
VastModulePortDirection
VastOperatorKind
XlsCallingConvention
XlsFormatPreference
XlsValueKind