Logic Array Blocks and Adaptive Logic Modules in Cyclone ... - Altera
Logic Array Blocks and Adaptive Logic Modules in Cyclone ... - Altera
Logic Array Blocks and Adaptive Logic Modules in Cyclone ... - Altera
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CV-52001<br />
2013.05.06<br />
Figure 1-8: ALM <strong>in</strong> Arithmetic Mode for <strong>Cyclone</strong> V Devices<br />
Carry Cha<strong>in</strong><br />
datae0<br />
dataf0<br />
datac<br />
datab<br />
dataa<br />
datad<br />
datae1<br />
dataf1<br />
4-Input<br />
LUT<br />
4-Input<br />
LUT<br />
4-Input<br />
LUT<br />
4-Input<br />
LUT<br />
carry_<strong>in</strong><br />
carry_out<br />
adder0<br />
adder1<br />
reg0<br />
reg1<br />
reg2<br />
reg3<br />
To General or<br />
Local Rout<strong>in</strong>g<br />
To General or<br />
Local Rout<strong>in</strong>g<br />
The carry cha<strong>in</strong> provides a fast carry function between the dedicated adders <strong>in</strong> arithmetic or shared arithmetic<br />
mode.<br />
The two-bit carry select feature <strong>in</strong> <strong>Cyclone</strong> V devices halves the propagation delay of carry cha<strong>in</strong>s with<strong>in</strong><br />
the ALM. Carry cha<strong>in</strong>s can beg<strong>in</strong> <strong>in</strong> either the first ALM or the fifth ALM <strong>in</strong> a LAB. The f<strong>in</strong>al carry-out<br />
signal is routed to an ALM, where it is fed to local, row, or column <strong>in</strong>terconnects.<br />
To avoid rout<strong>in</strong>g congestion <strong>in</strong> one small area of the device when a high fan-<strong>in</strong> arithmetic function is<br />
implemented, the LAB can support carry cha<strong>in</strong>s that only use either the top half or bottom half of the LAB<br />
before connect<strong>in</strong>g to the next LAB. This leaves the other half of the ALMs <strong>in</strong> the LAB available for<br />
implement<strong>in</strong>g narrower fan-<strong>in</strong> functions <strong>in</strong> normal mode. Carry cha<strong>in</strong>s that use the top five ALMs <strong>in</strong> the<br />
first LAB carry <strong>in</strong>to the top half of the ALMs <strong>in</strong> the next LAB <strong>in</strong> the column. Carry cha<strong>in</strong>s that use the bottom<br />
five ALMs <strong>in</strong> the first LAB carry <strong>in</strong>to the bottom half of the ALMs <strong>in</strong> the next LAB with<strong>in</strong> the column. You<br />
can bypass the top-half of the LAB columns <strong>and</strong> bottom-half of the MLAB columns.<br />
The Quartus II Compiler creates carry cha<strong>in</strong>s longer than 20 ALMs (10 ALMs <strong>in</strong> arithmetic or shared<br />
arithmetic mode) by l<strong>in</strong>k<strong>in</strong>g LABs together automatically. For enhanced fitt<strong>in</strong>g, a long carry cha<strong>in</strong> runs<br />
vertically, allow<strong>in</strong>g fast horizontal connections to the TriMatrix memory <strong>and</strong> DSP blocks. A carry cha<strong>in</strong> can<br />
cont<strong>in</strong>ue as far as a full column.<br />
Shared Arithmetic Mode<br />
The ALM <strong>in</strong> shared arithmetic mode can implement a 3-<strong>in</strong>put add <strong>in</strong> the ALM.<br />
This mode configures the ALM with four 4-<strong>in</strong>put LUTs. Each LUT either computes the sum of three <strong>in</strong>puts<br />
or the carry of three <strong>in</strong>puts. The output of the carry computation is fed to the next adder us<strong>in</strong>g a dedicated<br />
connection called the shared arithmetic cha<strong>in</strong>.<br />
<strong>Logic</strong> <strong>Array</strong> <strong>Blocks</strong> <strong>and</strong> <strong>Adaptive</strong> <strong>Logic</strong> <strong>Modules</strong> <strong>in</strong> <strong>Cyclone</strong> V Devices<br />
Feedback<br />
Shared Arithmetic Mode<br />
1-9<br />
<strong>Altera</strong> Corporation