„Bluespec Tutorial: Rule Scheduling and SynthesisMichael PellauerComputer Science & Artificial Intelligence LabMassachusetts Institute of TechnologyBased on material prepared by Bluespec Inc, January 2005March 4, 2005 http://csg.csail.mit.edu/6.884/ BST-1Improving performance via schedulingLatency and bandwidth can be improved by performing more operations in each clock cycleThat is, by firing more rules per cycleBluespec schedules all applicable rules in a cycle to execute, except when there are resource conflicts Therefore: Improving performance is often about resolving conflicts found by the schedulerMarch 4, 2005 http://csg.csail.mit.edu/6.884/ BST-21„„„Viewing the scheduleThe command-line flag -show-schedule can be used to dump the scheduleThree groups of information:method scheduling informationrule scheduling informationthe static execution order of rules and methodsMarch 4, 2005 http://csg.csail.mit.edu/6.884/ BST-3Method scheduling infoFor each method, there is an entry like this:name of the methodexpression for the ready signalMethod: imem_get (1 for always ready)Ready signal: 1Conflict-free: dmem_get, dmem_put, start, doneSequenced before: imem_putConflicts: imem_getconflict relationshipswith other methodsMarch 4, 2005 http://csg.csail.mit.edu/6.884/ BST-42„„„„Types of conflictsConflict-freeAny methods which can execute in the same clock cycle as the current method, in any execution orderSequenced ...
Voir