Difference between revisions of "SC Synch"
Line 1: | Line 1: | ||
− | The single core version of the | + | The single core version of the NaplesPU architecture shares the same synchronization master module, namely synchronization_core, of the many core version described in [[Synchronization|Synchronization architecture]] section. In the single-core version, the synchronization_core is instantiated at the system level, and it is directly connected to the npu_core module: |
− | + | npu_core # ( | |
.TILE_ID ( 0 ), | .TILE_ID ( 0 ), | ||
.CORE_ID ( 0 ), | .CORE_ID ( 0 ), | ||
Line 7: | Line 7: | ||
.MANYCORE ( 0 ) | .MANYCORE ( 0 ) | ||
) | ) | ||
− | + | npu_core ( | |
// Synch Interface | // Synch Interface | ||
.bc2n_account_valid ( c2n_account_valid ),[Synchronization|Synchronization architecture]] | .bc2n_account_valid ( c2n_account_valid ),[Synchronization|Synchronization architecture]] | ||
Line 19: | Line 19: | ||
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. | 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 | + | 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 npu_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; | assign network_available = 1'b1; |
Revision as of 13:55, 19 June 2019
The single core version of the NaplesPU architecture shares the same synchronization master module, namely synchronization_core, of the many core version described in Synchronization architecture section. In the single-core version, the synchronization_core is instantiated at the system level, and it is directly connected to the npu_core module:
npu_core # ( .TILE_ID ( 0 ), .CORE_ID ( 0 ), .DSU ( 0 ), .MANYCORE ( 0 ) ) npu_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 npu_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;