24.04.2013 Views

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 4. VERIFYING CIRCUIT LAYOUTS 70<br />

(x21, y21)<br />

(x21, y21)<br />

(x11, y11)<br />

(x22, y22)<br />

(x11, y11)<br />

(a) x22 ≤ x11<br />

(x22, y22)<br />

(x12, y12)<br />

(c) y12 ≤ y21<br />

(x12, y12)<br />

(x11, y11)<br />

(x11, y11)<br />

(x21, y21)<br />

(x12, y12)<br />

(x21, y21)<br />

(b) x12 ≤ x21<br />

(x12, y12)<br />

(x22, y22)<br />

(d) y22 ≤ y11<br />

(x22, y22)<br />

Figure 4.2: Situations under which two rectangles will not overlap<br />

possibly being allocated to both. This must obviously be avoided in correct circuit descrip-<br />

tions.<br />

Ensuring this correctness criteria is the common target <strong>of</strong> work on relative placement. The<br />

problem <strong>of</strong> ensuring non-overlapping <strong>of</strong> n rectangles is a well understood objective in con-<br />

straint programming [1, 6] and is a problem in placement algorithms, however in our case<br />

we are interested not in finding a solution to the problem but rather in checking one. Exist-<br />

ing work on constraint solving applied to this problem is not suitable for adaptation to the<br />

Quartz system because we permit a much ricer language <strong>of</strong> expressions than simple arithmetic<br />

operations to define block sizes.<br />

Two objects placed on a n-dimensional surface will not overlap if is one dimension in which<br />

they can not intersect. For rectangles on a two-dimensional surface this means that one<br />

block must be either below or above the other, or to the left or right <strong>of</strong> it. This means that<br />

there are four possible situations in which a layout can be correct, illustrated graphically<br />

in Figure 4.2. When the rectangle A is described by corners (x11, y11) and (x12, y12), and<br />

rectangle B is described by corners (x21, y21) and (x22, y22) this can be represented by the<br />

logical disjunction:<br />

(x22 ≤ x11) ∨ (x12 ≤ x21) ∨ (y12 ≤ y21) ∨ (y22 ≤ y11)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!