📄 grt-signals.ads
字号:
package Propagation is new GNAT.Table (Table_Component_Type => Propagation_Type, Table_Index_Type => Signal_Net_Type, Table_Low_Bound => 1, Table_Initial => 128, Table_Increment => 100); -- Get the signal index of PTR. function Signal_Ptr_To_Index (Ptr : Ghdl_Signal_Ptr) return Sig_Table_Index; -- Compute propagation order of signals. procedure Order_All_Signals; -- Initialize the package (mainly the lists). procedure Init; -- Initialize all signals. procedure Init_Signals; -- Update signals. procedure Update_Signals; -- Add PROC in the list of processes to be resumed in case of event on -- SIG. procedure Resume_Process_If_Event (Sig : Ghdl_Signal_Ptr; Proc : Process_Id); procedure Ghdl_Signal_Name_Rti (Sig : Ghdl_Rti_Access; Ctxt : Ghdl_Rti_Access; Addr : System.Address); procedure Ghdl_Signal_Merge_Rti (Sig : Ghdl_Signal_Ptr; Rti : Ghdl_Rti_Access); -- Performs some internal checks on signals (transaction order). -- Internal_error is called in case of error. procedure Ghdl_Signal_Internal_Checks; -- Subprograms to be called by generated code. procedure Ghdl_Signal_Simple_Assign_Error (Sign : Ghdl_Signal_Ptr); procedure Ghdl_Signal_Start_Assign_Error (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; After : Std_Time); procedure Ghdl_Signal_Set_Disconnect (Sign : Ghdl_Signal_Ptr; Time : Std_Time); procedure Ghdl_Signal_Disconnect (Sign : Ghdl_Signal_Ptr); procedure Ghdl_Signal_Start_Assign_Null (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; After : Std_Time); function Ghdl_Signal_Driving (Sig : Ghdl_Signal_Ptr) return Ghdl_B2; function Ghdl_Create_Signal_B2 (Init_Val : Ghdl_B2; Resolv_Func : System.Address; Resolv_Inst : System.Address) return Ghdl_Signal_Ptr; procedure Ghdl_Signal_Init_B2 (Sig : Ghdl_Signal_Ptr; Init_Val : Ghdl_B2); procedure Ghdl_Signal_Associate_B2 (Sig : Ghdl_Signal_Ptr; Val : Ghdl_B2); procedure Ghdl_Signal_Simple_Assign_B2 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_B2); procedure Ghdl_Signal_Start_Assign_B2 (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; Val : Ghdl_B2; After : Std_Time); procedure Ghdl_Signal_Next_Assign_B2 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_B2; After : Std_Time); function Ghdl_Signal_Driving_Value_B2 (Sig : Ghdl_Signal_Ptr) return Ghdl_B2; function Ghdl_Create_Signal_E8 (Init_Val : Ghdl_E8; Resolv_Func : System.Address; Resolv_Inst : System.Address) return Ghdl_Signal_Ptr; procedure Ghdl_Signal_Init_E8 (Sig : Ghdl_Signal_Ptr; Init_Val : Ghdl_E8); procedure Ghdl_Signal_Associate_E8 (Sig : Ghdl_Signal_Ptr; Val : Ghdl_E8); procedure Ghdl_Signal_Simple_Assign_E8 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_E8); procedure Ghdl_Signal_Start_Assign_E8 (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; Val : Ghdl_E8; After : Std_Time); procedure Ghdl_Signal_Next_Assign_E8 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_E8; After : Std_Time); function Ghdl_Signal_Driving_Value_E8 (Sig : Ghdl_Signal_Ptr) return Ghdl_E8; function Ghdl_Create_Signal_I32 (Init_Val : Ghdl_I32; Resolv_Func : System.Address; Resolv_Inst : System.Address) return Ghdl_Signal_Ptr; procedure Ghdl_Signal_Init_I32 (Sig : Ghdl_Signal_Ptr; Init_Val : Ghdl_I32); procedure Ghdl_Signal_Associate_I32 (Sig : Ghdl_Signal_Ptr; Val : Ghdl_I32); procedure Ghdl_Signal_Simple_Assign_I32 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_I32); procedure Ghdl_Signal_Start_Assign_I32 (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; Val : Ghdl_I32; After : Std_Time); procedure Ghdl_Signal_Next_Assign_I32 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_I32; After : Std_Time); function Ghdl_Signal_Driving_Value_I32 (Sig : Ghdl_Signal_Ptr) return Ghdl_I32; function Ghdl_Create_Signal_I64 (Init_Val : Ghdl_I64; Resolv_Func : System.Address; Resolv_Inst : System.Address) return Ghdl_Signal_Ptr; procedure Ghdl_Signal_Init_I64 (Sig : Ghdl_Signal_Ptr; Init_Val : Ghdl_I64); procedure Ghdl_Signal_Associate_I64 (Sig : Ghdl_Signal_Ptr; Val : Ghdl_I64); procedure Ghdl_Signal_Simple_Assign_I64 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_I64); procedure Ghdl_Signal_Start_Assign_I64 (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; Val : Ghdl_I64; After : Std_Time); procedure Ghdl_Signal_Next_Assign_I64 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_I64; After : Std_Time); function Ghdl_Signal_Driving_Value_I64 (Sig : Ghdl_Signal_Ptr) return Ghdl_I64; function Ghdl_Create_Signal_F64 (Init_Val : Ghdl_F64; Resolv_Func : System.Address; Resolv_Inst : System.Address) return Ghdl_Signal_Ptr; procedure Ghdl_Signal_Init_F64 (Sig : Ghdl_Signal_Ptr; Init_Val : Ghdl_F64); procedure Ghdl_Signal_Associate_F64 (Sig : Ghdl_Signal_Ptr; Val : Ghdl_F64); procedure Ghdl_Signal_Simple_Assign_F64 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_F64); procedure Ghdl_Signal_Start_Assign_F64 (Sign : Ghdl_Signal_Ptr; Rej : Std_Time; Val : Ghdl_F64; After : Std_Time); procedure Ghdl_Signal_Next_Assign_F64 (Sign : Ghdl_Signal_Ptr; Val : Ghdl_F64; After : Std_Time); function Ghdl_Signal_Driving_Value_F64 (Sig : Ghdl_Signal_Ptr) return Ghdl_F64; -- Add a driver to SIGN for the current process. procedure Ghdl_Process_Add_Driver (Sign : Ghdl_Signal_Ptr); -- Used for connexions: -- SRC is a source for TARG. procedure Ghdl_Signal_Add_Source (Targ : Ghdl_Signal_Ptr; Src : Ghdl_Signal_Ptr); -- Add an in conversion (from SRC to DEST using function FUNC). procedure Ghdl_Signal_In_Conversion (Func : System.Address; Instance : System.Address; Src : Ghdl_Signal_Ptr; Src_Len : Ghdl_Index_Type; Dst : Ghdl_Signal_Ptr; Dst_Len : Ghdl_Index_Type); procedure Ghdl_Signal_Out_Conversion (Func : System.Address; Instance : System.Address; Src : Ghdl_Signal_Ptr; Src_Len : Ghdl_Index_Type; Dst : Ghdl_Signal_Ptr; Dst_Len : Ghdl_Index_Type); -- Mark the next signals as resolved. procedure Ghdl_Signal_Create_Resolution (Proc : System.Address; Instance : System.Address; Sig : System.Address; Nbr_Sig : Ghdl_Index_Type); -- The effective value of TARG is the effective value of SRC. procedure Ghdl_Signal_Effective_Value (Targ : Ghdl_Signal_Ptr; Src : Ghdl_Signal_Ptr); -- Create a new 'stable (VAL) signal. function Ghdl_Create_Stable_Signal (Val : Std_Time) return Ghdl_Signal_Ptr; -- Create a new 'quiet (VAL) signal. function Ghdl_Create_Quiet_Signal (Val : Std_Time) return Ghdl_Signal_Ptr; -- Create a new 'transaction signal. function Ghdl_Create_Transaction_Signal return Ghdl_Signal_Ptr; -- Create a new SIG'delayed (VAL) signal. function Ghdl_Create_Delayed_Signal (Sig : Ghdl_Signal_Ptr; Val : Std_Time) return Ghdl_Signal_Ptr; -- Add SIG in the set of prefix for the last created signal. procedure Ghdl_Signal_Attribute_Register_Prefix (Sig : Ghdl_Signal_Ptr); -- Create a new implicitly defined GUARD signal. function Ghdl_Signal_Create_Guard (This : System.Address; Proc : Guard_Func_Acc) return Ghdl_Signal_Ptr; -- Add SIG to the list of referenced signals that appear in the guard -- expression. procedure Ghdl_Signal_Guard_Dependence (Sig : Ghdl_Signal_Ptr); -- Return number of ports/drivers. function Ghdl_Signal_Get_Nbr_Ports (Sig : Ghdl_Signal_Ptr) return Ghdl_Index_Type; function Ghdl_Signal_Get_Nbr_Drivers (Sig : Ghdl_Signal_Ptr) return Ghdl_Index_Type; function Ghdl_Signal_Read_Port (Sig : Ghdl_Signal_Ptr; Index : Ghdl_Index_Type) return Ghdl_Value_Ptr; function Ghdl_Signal_Read_Driver (Sig : Ghdl_Signal_Ptr; Index : Ghdl_Index_Type) return Ghdl_Value_Ptr; -- Statistics. Nbr_Active : Ghdl_I32; Nbr_Events: Ghdl_I32; function Get_Nbr_Future return Ghdl_I32;private pragma Export (C, Ghdl_Signal_Name_Rti, "__ghdl_signal_name_rti"); pragma Export (C, Ghdl_Signal_Merge_Rti, "__ghdl_signal_merge_rti"); pragma Export (C, Ghdl_Signal_Simple_Assign_Error, "__ghdl_signal_simple_assign_error"); pragma Export (C, Ghdl_Signal_Start_Assign_Error, "__ghdl_signal_start_assign_error"); pragma Export (C, Ghdl_Signal_Start_Assign_Null, "__ghdl_signal_start_assign_null"); pragma Export (C, Ghdl_Signal_Set_Disconnect, "__ghdl_signal_set_disconnect"); pragma Export (C, Ghdl_Signal_Disconnect, "__ghdl_signal_disconnect"); pragma Export (C, Ghdl_Signal_Driving, "__ghdl_signal_driving"); pragma Export (C, Ghdl_Create_Signal_B2, "__ghdl_create_signal_b2"); pragma Export (C, Ghdl_Signal_Init_B2, "__ghdl_signal_init_b2"); pragma Export (C, Ghdl_Signal_Associate_B2, "__ghdl_signal_associate_b2"); pragma Export (C, Ghdl_Signal_Simple_Assign_B2, "__ghdl_signal_simple_assign_b2"); pragma Export (C, Ghdl_Signal_Start_Assign_B2, "__ghdl_signal_start_assign_b2"); pragma Export (C, Ghdl_Signal_Next_Assign_B2, "__ghdl_signal_next_assign_b2"); pragma Export (C, Ghdl_Signal_Driving_Value_B2, "__ghdl_signal_driving_value_b2"); pragma Export (C, Ghdl_Create_Signal_E8, "__ghdl_create_signal_e8"); pragma Export (C, Ghdl_Signal_Init_E8, "__ghdl_signal_init_e8"); pragma Export (C, Ghdl_Signal_Associate_E8, "__ghdl_signal_associate_e8"); pragma Export (C, Ghdl_Signal_Simple_Assign_E8, "__ghdl_signal_simple_assign_e8"); pragma Export (C, Ghdl_Signal_Start_Assign_E8, "__ghdl_signal_start_assign_e8"); pragma Export (C, Ghdl_Signal_Next_Assign_E8, "__ghdl_signal_next_assign_e8"); pragma Export (C, Ghdl_Signal_Driving_Value_E8, "__ghdl_signal_driving_value_e8"); pragma Export (C, Ghdl_Create_Signal_I32, "__ghdl_create_signal_i32"); pragma Export (C, Ghdl_Signal_Init_I32, "__ghdl_signal_init_i32"); pragma Export (C, Ghdl_Signal_Associate_I32, "__ghdl_signal_associate_i32"); pragma Export (C, Ghdl_Signal_Simple_Assign_I32, "__ghdl_signal_simple_assign_i32"); pragma Export (C, Ghdl_Signal_Start_Assign_I32, "__ghdl_signal_start_assign_i32"); pragma Export (C, Ghdl_Signal_Next_Assign_I32, "__ghdl_signal_next_assign_i32"); pragma Export (C, Ghdl_Signal_Driving_Value_I32, "__ghdl_signal_driving_value_i32"); pragma Export (C, Ghdl_Create_Signal_I64, "__ghdl_create_signal_i64"); pragma Export (C, Ghdl_Signal_Init_I64, "__ghdl_signal_init_i64"); pragma Export (C, Ghdl_Signal_Associate_I64, "__ghdl_signal_associate_i64"); pragma Export (C, Ghdl_Signal_Simple_Assign_I64, "__ghdl_signal_simple_assign_i64"); pragma Export (C, Ghdl_Signal_Start_Assign_I64, "__ghdl_signal_start_assign_i64"); pragma Export (C, Ghdl_Signal_Next_Assign_I64, "__ghdl_signal_next_assign_i64"); pragma Export (C, Ghdl_Signal_Driving_Value_I64, "__ghdl_signal_driving_value_i64"); pragma Export (C, Ghdl_Create_Signal_F64, "__ghdl_create_signal_f64"); pragma Export (C, Ghdl_Signal_Init_F64, "__ghdl_signal_init_f64"); pragma Export (C, Ghdl_Signal_Associate_F64, "__ghdl_signal_associate_f64"); pragma Export (C, Ghdl_Signal_Simple_Assign_F64, "__ghdl_signal_simple_assign_f64"); pragma Export (C, Ghdl_Signal_Start_Assign_F64, "__ghdl_signal_start_assign_f64"); pragma Export (C, Ghdl_Signal_Next_Assign_F64, "__ghdl_signal_next_assign_f64"); pragma Export (C, Ghdl_Signal_Driving_Value_F64, "__ghdl_signal_driving_value_f64"); pragma Export (C, Ghdl_Process_Add_Driver, "__ghdl_process_add_driver"); pragma Export (C, Ghdl_Signal_Add_Source, "__ghdl_signal_add_source"); pragma Export (C, Ghdl_Signal_Effective_Value, "__ghdl_signal_effective_value"); pragma Export (C, Ghdl_Signal_In_Conversion, "__ghdl_signal_in_conversion"); pragma Export (C, Ghdl_Signal_Out_Conversion, "__ghdl_signal_out_conversion"); pragma Export (C, Ghdl_Signal_Create_Resolution, "__ghdl_signal_create_resolution"); pragma Export (C, Ghdl_Create_Stable_Signal, "__ghdl_create_stable_signal"); pragma Export (C, Ghdl_Create_Quiet_Signal, "__ghdl_create_quiet_signal"); pragma Export (C, Ghdl_Create_Transaction_Signal, "__ghdl_create_transaction_signal"); pragma Export (C, Ghdl_Signal_Attribute_Register_Prefix, "__ghdl_signal_attribute_register_prefix"); pragma Export (C, Ghdl_Create_Delayed_Signal, "__ghdl_create_delayed_signal"); pragma Export (C, Ghdl_Signal_Create_Guard, "__ghdl_signal_create_guard"); pragma Export (C, Ghdl_Signal_Guard_Dependence, "__ghdl_signal_guard_dependence"); pragma Export (C, Ghdl_Signal_Get_Nbr_Ports, "__ghdl_signal_get_nbr_ports"); pragma Export (C, Ghdl_Signal_Get_Nbr_Drivers, "__ghdl_signal_get_nbr_drivers"); pragma Export (C, Ghdl_Signal_Read_Port, "__ghdl_signal_read_port"); pragma Export (C, Ghdl_Signal_Read_Driver, "__ghdl_signal_read_driver");end Grt.Signals;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -