Difference between revisions of "SC Synch"

From NaplesPU Documentation
Jump to: navigation, search
Line 1: Line 1:
The single core version of the nu+ architecture shares the same synchronization master module, namely synchronization_core, of the many core version. The synchronization_core is instantiated at the system level, and it is directly connected to the nuplus_core module:
+
The single core version of the nu+ architecture shares the same synchronization master module, namely synchronization_core, of the many core version described in [Synchronization|Synchronization architecture]] section. The synchronization_core is instantiated at the system level, and it is directly connected to the nuplus_core module:
  
 
  nuplus_core # (
 
  nuplus_core # (
Line 9: Line 9:
 
  nuplus_core (
 
  nuplus_core (
 
  // Synch Interface
 
  // Synch Interface
  .bc2n_account_valid              ( c2n_account_valid                  ),
+
  .bc2n_account_valid              ( c2n_account_valid                  ),[Synchronization|Synchronization architecture]]
 
  .bc2n_account_message            ( c2n_account_message                ),
 
  .bc2n_account_message            ( c2n_account_message                ),
 
  .bc2n_account_destination_valid  (                                    ) ,
 
  .bc2n_account_destination_valid  (                                    ) ,

Revision as of 15:27, 3 May 2019

The single core version of the nu+ architecture shares the same synchronization master module, namely synchronization_core, of the many core version described in [Synchronization|Synchronization architecture]] section. The synchronization_core is instantiated at the system level, and it is directly connected to the nuplus_core module:

nuplus_core # (
   .TILE_ID  ( 0 ),
   .CORE_ID  ( 0 ),
   .DSU      ( 0 ),
   .MANYCORE ( 0 )
)
nuplus_core (
// Synch Interface
.bc2n_account_valid               ( c2n_account_valid                   ),[Synchronization|Synchronization architecture]]
.bc2n_account_message             ( c2n_account_message                 ),
.bc2n_account_destination_valid   (                                     ) ,
.n2bc_network_available           ( account_available                   ),
.n2bc_release_message             ( n2c_release_message                 ),
.n2bc_release_valid               ( n2c_release_valid                   ),
.n2bc_mes_service_consumed        (                                     ),

Signals named n2bc_* (network to barrier core) are directly from the synchnronization master, while in te many core version they come from the synchronization virtual channel.

Dually, signals named bc2n_* are synch messages from the core. Those signals directly fed the synchronization master, although some minor changes are required since the native interface of this module is oriented to a NoC-based interface. The main issue is the ni_available signal which checks the network interface availability. In the single core version, we have no NoC and the synchronization master is directly connected to the nuplus_core, which has no back-pressure singal on synchronization messages. Hence, this signal is set constantly high at the system level:

assign network_available     = 1'b1;