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 3. GENERATING PARAMETERISED LIBRARIES WITH LAYOUT 52<br />

B<br />

B<br />

B<br />

B<br />

B<br />

B<br />

B<br />

B<br />

B<br />

B<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

(a) Default layout interpretation<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

B<br />

B<br />

B<br />

B<br />

B B B B B B<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

C C C C C C<br />

(b) A better layout interpretation<br />

Figure 3.13: A grid <strong>of</strong> m ×n A elements surrounded by B and C elements can have multiple<br />

layout interpretations. Shown here for n = 4, m = 6.<br />

3.6.1 Composition<br />

Series and parallel composition have been given particular layout interpretations. This means<br />

that a series composition will always place elements from left to right, and a parallel compo-<br />

sition will always stack elements vertically. In this case, we want the parallel composition to<br />

be “wrapped around” the top and bottom <strong>of</strong> the grid - not something that can be achieved<br />

<strong>with</strong>in the current framework since it implies that the grid is placed <strong>with</strong>in the bounding box<br />

described by the parallel compositions. There are, however, three solutions that can resolve<br />

this situation:<br />

1. The Quartz description can be re-cast using the beside and below combinators. This<br />

would be quite effective, however it introduces some unnecessary complexity since beside<br />

and below operate on blocks <strong>with</strong> four connections and the map n B and map m C blocks<br />

have only two. The π1 −1 /π1 and π2 −1 /π2 wiring blocks can be used to resolve this<br />

issue, however the resulting description will be less clear than the original.<br />

2. The series and parallel compositions can be expanded out into separate block instan-<br />

tiations <strong>with</strong> explicit internal signals. This new expanded version can be derived from<br />

the original description by refinement. After the new description has been produced,<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

A<br />

C<br />

C<br />

C<br />

C

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

Saved successfully!

Ooh no, something went wrong!