As with samples, markers can be absolute or relative. An absolute marker is attached to a specific time and is triggered by the unclocked process. A relative marker is attached to a specific edge, and is triggered by the clocking domain of the edge (See Section 2.9 Transactor Clock Domains and Waveform Code Generation).
To place a marker in a diagram:
•Press the Marker button so that right clicks will add marker lines to the diagram. |
•To attach a marker to a time, make sure no edges are selected, then right click on a waveform to add a marker. •To attach a marker to an edge, select the control edge, then right click. If the edge is moved, the the marker will stay a fixed distance from the edge |
•To move a time marker, drag and drop the time marker line or name |
Editing a Marker's Properties:
•Double click on the marker to open the Edit Time Marker dialog. •The name field for markers can be blank, so that by default the marker only displays its line. This is the only object besides spacer signals that can be nameless. |
|
•The Marker Type controls the function of the marker. The rest of the chapter is devoted to the details of each of the marker types: •End Diagram causes the transaction to terminate at that point. •Pause Simulation (Verilog only) stops the entire simulation. •Wait Until causes the process that triggers the marker to block until the condition becomes true. •While Loop, For Loop, Repeat Loop, Loop End, and Exit Loop When are used to create loops for a single process in the transaction. |
•HDL Code marker inserts user-written source code. •Semaphore used to define critical regions in a transaction. •Pipeline Boundary is used to specify a pipeline region in a transactor. This is used when multiple instances of a transactor are running in parallel. •Documentation markers are used to annotate the timing diagram. •Time Break Markers are used to hide sections of the timing diagram but do not cause code to be generated. |
Change the Attachment of the Marker:
The Attach to time controls are used to change the attachment or placement of a marker. Notice that at the top of the controls there is a readout that describes the current attachment to either the time or to the signal-and-time of the current attachment.
•To move a relative marker to the exact edge time, type 0 into the Attach to edge edit box. •To attach to a new edge, check the Attach to edge radio button and click OK to close the dialog and enter into an edge selection mode. As you move the cursor, a green bar will hop to the closest edge. Left click on the edge that you want to attach the marker. •To attach to a new time, check the Attach to time radio button and enter a time into the edit box. |
Display Name or any other property:
•Markers can display any of their properties listed in the Display Label box. The global default is set in the Options > Drawing Preferences menu. •The Custom label displays the string in the Custom box with the control codes replace by values. Notice that the default string lists all of the possible control codes so you do not have to remember them, just edit the default string. •The Type label for documentation markers is Blank so that you can just have a line and no other label. |
name = %n min value = %mv max value = %Mv distance = %md type = %t |
Edge lines for Markers:
•Draw Line From Marker To Edge will cause a dotted line to be drawn for markers that are attached to an edge. This is a nice feature to be able to quickly see that the marker is attached to an edge and not a time, and also which edge the marker is attached to. |
Display Label Position
•The Marker Label can be dragged and dropped so that it appears between two signals. Once this is done you can check the Auto-Adjust Display Label Position to return label placement control to the editor. |
Display Signal States with the Marker
•Markers can permanently display the signal state values if the Display Signal States box is checked in the Marker Properties dialog. Otherwise the signal states are just shown when the mouse hovers over the marker line. |