Changes between Version 79 and Version 80 of Writing Rules/Tlmt
- Timestamp:
- Nov 16, 2008, 8:03:50 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Writing Rules/Tlmt
v79 v80 302 302 defining if it should participate to the arbitration. This '''active''' flag is always set to true for general purpose processors. 303 303 Any arbitration thread receiving a timed request is resumed. It must obtain an up to date timing & activity information for all its input channels before making any decision. 304 To do that, the !LocalTime and !ActivityStatus of all VCI initiators are considered as globalvariables, that can be accessed (read only) by all arbitration threads.304 To do that, the '''m_local_time''' and '''m_activity_status''' variables of all VCI initiators are considered as public variables, that can be accessed (read only) by all arbitration threads. 305 305 The arbitration policy is the following : The arbitration thread scans all its input channels, and selects the smallest time between the active initiators. 306 306 If there is a request, this request is forwarded to the target, and the arbitration thread local time is updated. … … 308 308 309 309 For efficiency reasons, in this implementation, each arbitration thread constructs - during elaboration of the simulation - two local array of pointers (indexed 310 by the input channel index) to access the !LocalTime and !ActivityStatus variables of the correspondingVCI initiators. To get this information, each arbitration thread311 uses the '''nb_transport_bw()''' function on all its VCI target ports, with a adedicated value for the phase called '''soclib::tlmt::TLMT_INFO'''. The payload argument refers to the same310 by the input channel index) to access the '''m_local_time''' and '''m_activity_status''' variables of all VCI initiators. To get this information, each arbitration thread 311 uses the '''nb_transport_bw()''' function on all its VCI target ports, with a dedicated value for the phase called '''soclib::tlmt::TLMT_INFO'''. The payload argument refers to the same 312 312 '''tlmt_vci_transaction''' object as the two other phase values ('''soclib::tlmt::TLMT_CMD''' and '''soclib::tlmt::TLMT_RSP'''). 313 313 … … 321 321 }}} 322 322 323 As the net-list of the simulated platform mus be explicitely defined before constructing th ose LocalTime and ActivityStatus arrays, the vgmn hardware component323 As the net-list of the simulated platform mus be explicitely defined before constructing the LocalTime and ActivityStatus arrays, the vgmn hardware component 324 324 provides an utility function '''fill_time_activity_arrays()''' that must be called in the SystemC top-cell, before starting the simulation. 325 325