package noc_units public with aadlv3; with Cheddar_Multicore_Properties; with memory_units; with multicore_crossbar_units; --------------------------------------------------- -- NoC processor model used by the DAS router ---------------------------------------------- system mesh end mesh; system implementation mesh.impl subcomponents pu : processor multicore_crossbar_units::uni_core [4][4]; properties aadlv3::System_Soc_Type => Soc_Interconnection_Unit; Cheddar_Multicore_Properties::Routing_Protocol => XY; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Mesh_NoC; Cheddar_Multicore_Properties::Switching_Protocol => Wormhole; end mesh.impl; system mesh_of_dual_core end mesh_of_dual_core; system implementation mesh_of_dual_core.impl subcomponents pu : system multicore_crossbar_units::dual_core [4][4]; properties aadlv3::System_Soc_Type => Soc_Interconnection_Unit; Cheddar_Multicore_Properties::Routing_Protocol => XY; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Mesh_NoC; Cheddar_Multicore_Properties::Switching_Protocol => Wormhole; end mesh_of_dual_core.impl; --------------------------------------------------- -- Kalray MPPA 2556 model components --------------------------------------------------- system kalray_core end kalray_core; system implementation kalray_core.impl subcomponents pe : processor multicore_crossbar_units::uni_core; i_cache_l1 : memory memory_units::Cache.impl; d_cache_l1 : memory memory_units::Cache.impl; properties aadlv3::System_Soc_Type => Soc_Processing_Unit; end kalray_core.impl; system cluster end cluster; system implementation cluster.partitioned subcomponents pe : system kalray_core.impl [16]; rm : processor multicore_crossbar_units::uni_core; shared_memory : memory memory_units::Bank_Memory.impl [16]; properties Actual_Memory_binding => (reference (pe[1])) applies to shared_memory[1]; aadlv3::System_Soc_Type => Soc_Interconnection_Unit; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Crossbar; end cluster.partitioned; system implementation cluster.shared subcomponents pe : system kalray_core.impl [16]; rm : processor multicore_crossbar_units::uni_core; shared_memory : memory memory_units::Bank_Memory.impl [16]; properties Allowed_Memory_binding => (reference (pe)) applies to shared_memory; aadlv3::System_Soc_Type => Soc_Interconnection_Unit; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Crossbar; end cluster.shared; system io_subsystem end io_subsystem; system implementation io_subsystem.impl subcomponents d_cache : memory memory_units::Cache.impl; smp : system multicore_crossbar_units::quad_core.impl; ddr_bank_and_controller : memory memory_units::Bank_Memory.impl; properties aadlv3::System_Soc_Type => Soc_Interconnection_Unit; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Crossbar; end io_subsystem.impl; system mppa256 end mppa256; system implementation mppa256.impl subcomponents clusters : system cluster.shared [4][4]; io_subsystems : system io_subsystem.impl [4]; properties aadlv3::System_Soc_Type => Soc_Interconnection_Unit; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Torus_NoC; Cheddar_Multicore_Properties::Routing_Protocol => Programmable_Routing; Cheddar_Multicore_Properties::Switching_Protocol => Wormhole; Cheddar_Multicore_Properties::Arbitration_Type => Round_Robin_With_Bandwidth_Reservation; end mppa256.impl; end noc_units;