假如有a,b两个48-bit的数做加法运行,可以:
- 将a,b都拆分成3个16-bit的数
- 并行执行3组16-bit的加法运行,包括:
{co[0],c[0*16+:16]} = a[0*16+:16]+b[0*16+:16]
{co[1],c[1*16+:16]} = a[1*16+:16]+b[1*16+:16]
{co[2],c[2*16+:16]} = a[2*16+:16]+b[2*16+:16]
- 进行进位判断
{co[1],c[1*16+:16]} += co[0]
{co[2],c[2*16+:16]} += co[1]
Note:其中16-bit的加法可以用4级的carry4 chain完成。