A method of designing a system on a chip (SoC) to operate with varying
latencies and frequencies. A layout of the chip is designed with specific
placement of devices, including a bus controller, initiator, and target
devices. The time for a signal to propagate from a source device to a
destination device is determined relative to a default propagation time. A
pipeline stage is then inserted into a bus path between said source device
and destination device for each additional time the signal takes to
propagate. Each device (i.e., initiators, targets, and bus controller) is
designed with logic to control a protocol that functions with a variety of
response latencies. With the additional logic, the devices do not need to
be changed when pipeline stages are inserted in the various paths.
Registers are utilized as the pipeline stages that are inserted within the
paths.
Une méthode de concevoir un système sur un morceau (SoC) pour fonctionner avec des latences et des fréquences variables. Une disposition du morceau est conçue avec le placement spécifique des dispositifs, y compris un contrôleur d'autobus, un initiateur, et des dispositifs de cible. Le moment pour un signal pour propager à partir d'un dispositif de source à un dispositif de destination est déterminé relativement à un temps de propagation de défaut. Une étape de canalisation est alors insérée dans un chemin d'autobus entre ledit dispositif de source et le dispositif de destination pendant chaque heure additionnelle le signal prend à la propagation. Chaque dispositif (c.-à-d., initiateurs, cibles, et contrôleur d'autobus) est conçu avec la logique pour commander un protocole ce des fonctions avec une variété de latences de réponse. Avec la logique additionnelle, les dispositifs n'ont pas besoin d'être changés quand des étapes de canalisation sont insérées dans les divers chemins. Des registres ser des étapes de canalisation qui sont insérées dans les chemins.