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.

Appendix D<br />

<strong>Circuit</strong> <strong>Layout</strong> Case Studies<br />

This appendix contains the Quartz descriptions and layout verification pro<strong>of</strong>s for a number <strong>of</strong><br />

full hardware designs for the Xilinx Virtex II <strong>FPGA</strong> architecture. Pro<strong>of</strong> scripts for hardware<br />

primitives have sometimes been omitted, although they have pro<strong>of</strong> scripts and theorems<br />

generated like any other block (though empty structures). Useful layout reasoning is at the<br />

level <strong>of</strong> half-slices which have size 1 × 1.<br />

D.1 Median Filter<br />

D.1.1 Quartz Description<br />

/∗∗ Median filter in Quartz.<br />

@author Oliver Pell<br />

1−D median filter implemented as a state machine <strong>with</strong> single serial input.<br />

∗/<br />

directive vhdl ”target:virtex2”.<br />

directive vhdl ”include:ieee header”.<br />

#include ”p prelude.qtz”<br />

/∗ Primitives ∗/<br />

block or2 (wire a, wire b) ∼ (wire c) attributes { height=1. width=1. }{ }<br />

block and2 (wire a, wire b) ∼ (wire c) attributes { height=1. width=1. }{ }<br />

block and3 (wire a, wire b, wire c) ∼ (wire d) attributes { height=1. width=1. }{ }<br />

block fd (wire c) (wire d) ∼ (wire q) attributes { height=1. width=1. }{ }<br />

block inv (wire a) ∼ (wire b) attributes { height=1. width=1. }{ }<br />

block mux lut (wire s) (wire d0, wire d1) ∼ (wire o) attributes { height=1. width=1. }{ }<br />

block mux lut ff (wire clk) (wire s) (wire d0, wire d1) ∼ (wire o) attributes { height=1.<br />

width=1. }{ }<br />

block comp lut ((wire a, wire b), wire s) ∼ (wire o) attributes { height=1. width=1. }{ }<br />

268

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

Saved successfully!

Ooh no, something went wrong!