Notation

There are some notational conventions we will follow throughout the text. Most notations will be explained anyway when they are first used, but here is a short overview:

v  When we talk about the values of digital lines, we generally mean their logical values, 0 or 1. We indicate the complement of a logical value X with X, so 1 = 0 and 0 = 1.

v  Hexadecimal values are denoted by a preceding $ or 0x. Binary values are either given like decimal values if it is obvious that the value is binary, or they are marked with (·)2.

v  The notation M[X] is used to indicate a memory access at address X.

v  In our assembler examples, we tend to use general-purpose registers, which are labeled with R and a number, e.g., R0.

v  The sign means “proportional to”.

v  In a few cases, we will need intervals. We use the standard interval notations, which are [.,.] for a closed interval, [.,.) and (.,.] for half-open intervals, and (.,.) for an open interval. Variables denoting intervals will be overlined, e.g. dlatch = (0, 1]. The notation dlatch+2 adds the constant to the interval, resulting in (0, 1] + 2 = (2, 3].

v  We use k as a generic variable, so do not be surprised if k means different things in different sections or even in different paragraphs within a section.

Furthermore, you should be familiar with the following power prefixes.

Table 1.2: Power Prefixes