| ~ | | Changeset 9760:afe0a546336f |
| | ~ | Changeset 9775:aaf1f37d26ef |
| | |
|
| | | sim: Add the notion of clock domains to all ClockedObjects |
| | |
|
| | | This patch adds the notion of source- and derived-clock domains to the
|
| | | ClockedObjects. As such, all clock information is moved to the clock
|
| | | domain, and the ClockedObjects are grouped into domains. |
| | |
|
| | | The clock domains are either source domains, with a specific clock
|
| | | period, or derived domains that have a parent domain and a divider
|
| | | (potentially chained). For piece of logic that runs at a derived clock
|
| | | (a ratio of the clock its parent is running at) the necessary derived
|
| | | clock domain is created from its corresponding parent clock
|
| | | domain. For now, the derived clock domain only supports a divider,
|
| | | thus ensuring a lower speed compared to its parent. Multiplier
|
| | | functionality implies a PLL logic that has not been modelled yet
|
| | | (create a separate clock instead). |
| | |
|
| | | The clock domains should be used as a mechanism to provide a
|
| | | controllable clock source that affects clock for every clocked object
|
| | | lying beneath it. The clock of the domain can (in a future patch) be
|
| | | controlled by a handler responsible for dynamic frequency scaling of
|
| | | the respective clock domains. |
| | |
|
| | | All the config scripts have been retro-fitted with clock domains. For
|
| | | the System a default SrcClockDomain is created. For CPUs that run at a
|
| | | different speed than the system, there is a seperate clock domain
|
| | | created. This domain incorporates the CPU and the associated
|
| | | caches. As before, Ruby runs under its own clock domain. |
| | + |
|
| | + | The clock period of all domains are pre-computed, such that no virtual
|
| | + | functions or multiplications are needed when calling
|
| | + | clockPeriod. Instead, the clock period is pre-computed when any
|
| | + | changes occur. For this to be possible, each clock domain tracks its
|
| | + | children. |