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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 4. VERIFYING CIRCUIT LAYOUTS 99<br />

block irregular grid (block A ‘a1 ∼ ‘a2, block B ‘b1 ∼ ‘b2,<br />

block C ‘c1 ∼ ‘c2, block D ‘d1 ∼ ‘d2, block E ‘e1 ∼ ‘e2)<br />

(‘a1 a1, ‘b1 b1, ‘c1 c1, ‘d1 d1, ‘e1 e1) ∼<br />

(‘a2 a2, ‘b2 b2, ‘c2 c2, ‘d2 d2, ‘e2 e2)<br />

attributes {<br />

height = max (height (a1;A;a2) + height(b1;B;b2),<br />

height(a1;A;a2)+height(c1;C;c2)+height(d1;D;d2),<br />

height(e1;E;e2)+height(d1;D;d2)).<br />

width = max (width(a1;A;a2) + width(e1;E;e2),<br />

width(b1;B;b2) + width(c1;C;c2) + width(e1;E;e2),<br />

width(b1;B;b2) + width(d1;D;d2)).<br />

} {<br />

a1 ; A ; a2 at (0,0).<br />

b1 ; B ; b2 at (0, height(a1 ; A ; a2)).<br />

c1 ; C ; c2 at (width(b1 ;B ; b2), height(a1 ; A ; a2)).<br />

d1 ; D ; d2<br />

at (width (b1 ;B ; b2),<br />

max (height (c1 ;C ; c2) + height(a1 ;A ; a2), height(e1 ; E ; e2))).<br />

e1 ; E ; e2<br />

at (max (width (a1 ;A ;a2), width(c1 ;C ; c2) + width(b1 ;B ; b2)), 0).<br />

}<br />

Figure 4.17: Quartz description for the irregular grid arrangement shown in Figure 4.16<br />

script execution times for the two combinators, <strong>with</strong> the inferred size combinator requiring<br />

2 min 37s to execute while the manually specified size combinator required only 31s. In<br />

both cases pro<strong>of</strong> scripts required some minor amendments from the auto-generated defaults,<br />

although these were relatively simple.<br />

The most important observation from this combinator stems from pro<strong>of</strong> <strong>of</strong> its four intersection<br />

theorems. During pro<strong>of</strong>s <strong>of</strong> these theorems a bug in the layout description was discovered,<br />

illustrating that the pro<strong>of</strong> process can have a role in the early debugging <strong>of</strong> this kind <strong>of</strong> layout<br />

description. While one downside <strong>of</strong> theorem proving as opposed to model checking is that it<br />

does not provide counter-examples, failure to prove an intersection pro<strong>of</strong> obligation tends to<br />

leave a pro<strong>of</strong> state that <strong>with</strong> only a little massaging clearly reveals the source <strong>of</strong> the error.<br />

Appendix C.3 gives the full pro<strong>of</strong> script for this combinator.<br />

4.7.3 H-Tree<br />

A H-tree is type <strong>of</strong> layout shown in Figure 4.18. It is <strong>of</strong> particular interest in circuit design<br />

since it can be used to lay out a tree-shaped circuit in a square block <strong>with</strong> balanced wire

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

Saved successfully!

Ooh no, something went wrong!