diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-04-02 19:44:37 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-04-02 19:45:48 +0200 |
commit | 2fc3356ae0d34dae87eb22c94f4b5eaa1873695b (patch) | |
tree | a0d3f99840b71a8a60951a2a3890bf0babdcb488 /src/grt/grt-processes.ads | |
parent | 013c41bf28a636e32d7b62e89293f4ff172a5491 (diff) | |
download | ghdl-2fc3356ae0d34dae87eb22c94f4b5eaa1873695b.tar.gz ghdl-2fc3356ae0d34dae87eb22c94f4b5eaa1873695b.tar.bz2 ghdl-2fc3356ae0d34dae87eb22c94f4b5eaa1873695b.zip |
grt: add code to support systemc co-simulation.
Diffstat (limited to 'src/grt/grt-processes.ads')
-rw-r--r-- | src/grt/grt-processes.ads | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/grt/grt-processes.ads b/src/grt/grt-processes.ads index 2cd091524..7a5577c11 100644 --- a/src/grt/grt-processes.ads +++ b/src/grt/grt-processes.ads @@ -45,9 +45,20 @@ package Grt.Processes is -- Broken down version of Simulation. function Simulation_Init return Integer; + pragma Export (C, Simulation_Init, "__ghdl_simulation_init"); function Simulation_Cycle return Integer; procedure Simulation_Finish; + function Simulation_Step return Integer; + pragma Export (C, Simulation_Step, "__ghdl_simulation_step"); + -- Return value: + -- 0: delta cycle + -- 1: non-delta cycle + -- 2: stop + -- 3: finished + -- 4: stop-time reached + -- 5: stop-delta reached + -- True if simulation has reached a user timeout (--stop-time or -- --stop-delta). Emit an info message as a side effect. function Has_Simulation_Timeout return Boolean; @@ -124,6 +135,9 @@ package Grt.Processes is procedure Ghdl_Always_Register (Instance : Instance_Acc; Proc : Proc_Acc); + function Ghdl_Register_Foreign_Process + (Instance : Instance_Acc; Proc : Proc_Acc) return Process_Acc; + -- Add a simple signal in the sensitivity of the last registered -- (sensitized) process. procedure Ghdl_Process_Add_Sensitivity (Sig : Ghdl_Signal_Ptr); @@ -251,6 +265,8 @@ private pragma Export (C, Ghdl_Always_Register, "__ghdl_always_register"); pragma Export (C, Ghdl_Initial_Register, "__ghdl_initial_register"); + pragma Export (C, Ghdl_Register_Foreign_Process, + "__ghdl_register_foreign_process"); pragma Export (C, Ghdl_Process_Add_Sensitivity, "__ghdl_process_add_sensitivity"); |