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 5. SPECIALISATION 123<br />

a fast carry chain designed to support the generation <strong>of</strong> fast adders and multipliers. Each<br />

half-slice also contains a mult and component which allows two functional cells implementing<br />

multiplication to be described <strong>with</strong>in a single slice. Figure 5.11 illustrates how a half-slice<br />

can be configured to form part <strong>of</strong> the functional cell <strong>of</strong> a multiplier.<br />

At first glance this is an inefficient way <strong>of</strong> implementing the functional cell, since the x · y<br />

logical and operation is computed twice. However this is not actually the case since the area<br />

<strong>with</strong>in the dotted boundary is implemented using the slice look-up table. The performance<br />

and area required by the look-up table is independent <strong>of</strong> the actual logic function it is used<br />

to implement and the intermediate x · y signal does not actually exist, so can not be used as<br />

an input to the top multiplexer.<br />

The lower and gate is the slice mult and component which is specifically available for carrying<br />

out this operation and can only be connected to the lower two inputs <strong>of</strong> the look-up table.<br />

The second exclusive-or operation and the multiplexer are also available already as dedicated<br />

devices <strong>with</strong>in the slice so do not require any additional resources that are not already in<br />

existence.<br />

This slice logic can be combined <strong>with</strong> a wiring arrangement to form a cell suitable for com-<br />

position into a grid. Figure 5.12(a) shows the wiring <strong>with</strong>in a multiplier cell and how it is<br />

connected to the slice circuitry. The ACCin and ACCout signals provide a diagonal connec-<br />

tion between the SUMout output <strong>of</strong> the cell to the left and the Qin input <strong>of</strong> the cell above.<br />

X and Y signals are routed through the cell as well as being connected to the slice logic and<br />

the output signals are connected to the cells above and to the right. Figure 5.13 shows the<br />

Quartz description <strong>of</strong> the multiplier cell.<br />

This cell design can be composed into a grid, describing a multiplier <strong>with</strong> a y input on the<br />

left and x input on the bottom. The multiplication results are output on the right side and<br />

the top side. When multiplying an n bit number by an m bit number the lower n bits <strong>of</strong><br />

the result will be output on the right and the upper m bits will be available in carry-save<br />

representation on the top connections. An additional adder circuit must be connected to the<br />

top connections to produce a full m+n bit output. Figure 5.14 shows the Quartz description<br />

for an n-bit by n-bit multiplier, where only the first n bits <strong>of</strong> the output are utilised. This<br />

circuit is similar to one derived formally using the T-Ruby system [68], although ours is

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

Saved successfully!

Ooh no, something went wrong!