1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
use channel::*; use dimensions::*; use floorplan::*; use heat_sink::*; use stack_element_list::*; use thermal_grid::*; use types::*; #[derive(Clone, Copy)] #[repr(C)] pub struct PowerGrid_t { pub NLayers: CellIndex_t, pub NCells: CellIndex_t, pub LayersProfile: *mut StackLayerType_t, pub FloorplansProfile: *mut *mut Floorplan_t, pub Sources: *mut Source_t, pub Channel: *mut Channel_t, pub HeatSink: *mut HeatSink_t, } extern "C" { pub fn power_grid_init(pgrid: *mut PowerGrid_t); pub fn power_grid_build(pgrid: *mut PowerGrid_t, nlayers: Quantity_t, ncells: Quantity_t) -> Error_t; pub fn power_grid_destroy(pgrid: *mut PowerGrid_t); pub fn fill_power_grid(pgrid: *mut PowerGrid_t, list: *mut StackElementList_t); pub fn update_source_vector(pgrid: *mut PowerGrid_t, thermal_grid: *mut ThermalGrid_t, dimensions: *mut Dimensions_t) -> Error_t; }