05.07.2013 Views

Xilinx Synthesis Technology User Guide

Xilinx Synthesis Technology User Guide

Xilinx Synthesis Technology User Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Verilog Language Support<br />

Each instance of the built-in modules has a unique instantiation name<br />

such as a_inv, b_inv, out. The wiring up of the gates describes an<br />

XOR gate in structural Verilog.<br />

Example 7-11 gives the structural description of a half adder<br />

composed of four, 2 input nand modules.<br />

Example 7-11 Structural Description of a Half Adder<br />

module halfadd (X, Y, C, S);<br />

input X, Y;<br />

output C, S;<br />

wire S1, S2, S3;<br />

nand NANDA (S3, X, Y);<br />

nand NANDB (S1, X, S3);<br />

nand NANDC (S2, S3, Y);<br />

nand NANDD (S, S1, S2);<br />

assign C = S3;<br />

endmodule<br />

X<br />

Y<br />

A<br />

B<br />

NANDA<br />

Y<br />

Figure 7-1 Synthesized Top Level Netlist<br />

The structural features of Verilog HDL also allow you to design<br />

circuits by instantiating pre-defined primitives such as gates,<br />

registers and <strong>Xilinx</strong> specific primitives like CLKDLL and BUFGs.<br />

These primitives are other than those included in the Verilog<br />

language. These pre-defined primitives are supplied with the XST<br />

Verilog libraries (unisim_comp.v).<br />

XST <strong>User</strong> <strong>Guide</strong> 7-29<br />

S3<br />

A<br />

B<br />

A<br />

B<br />

NANDB<br />

NANDC<br />

Y<br />

Y<br />

S1<br />

S2<br />

A<br />

B<br />

NANDD<br />

Y<br />

S<br />

C<br />

x8952

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

Saved successfully!

Ooh no, something went wrong!