diff options
Diffstat (limited to 'src/synth/synth-context.ads')
-rw-r--r-- | src/synth/synth-context.ads | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/synth/synth-context.ads b/src/synth/synth-context.ads new file mode 100644 index 000000000..ac8b881d9 --- /dev/null +++ b/src/synth/synth-context.ads @@ -0,0 +1,50 @@ +-- Synthesis context. +-- Copyright (C) 2017 Tristan Gingold +-- +-- This file is part of GHDL. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +-- MA 02110-1301, USA. + +with Synth.Environment; use Synth.Environment; +with Synth.Values; use Synth.Values; +with Elaboration; use Elaboration; +with Netlists; use Netlists; +with Netlists.Builders; +with Iirs; use Iirs; + +package Synth.Context is + type Instance_Map_Array is array (Block_Instance_Id range <>) + of Synth_Instance_Acc; + type Instance_Map_Array_Acc is access Instance_Map_Array; + + -- Map between simulation instance and synthesis instance. + Instance_Map : Instance_Map_Array_Acc; + + Build_Context : Netlists.Builders.Context_Acc; + + function Make_Instance (Sim_Inst : Block_Instance_Acc) + return Synth_Instance_Acc; + procedure Free_Instance (Synth_Inst : in out Synth_Instance_Acc); + + procedure Make_Object (Syn_Inst : Synth_Instance_Acc; + Kind : Wire_Kind; + Obj : Iir); + + function Get_Net (Val : Value_Acc) return Net; + + function Get_Value (Inst : Synth_Instance_Acc; Obj : Iir) return Value_Acc; + +end Synth.Context; |