本帖最后由 GoldSunMonkey 于 2011-10-5 16:38 编辑
Slice 结构概览终于讲到Slice了。
这个是研究FPGA的重中之重。
接下来要分成若干小点分别讲述,下面的图是我给一家著名企业培训的材料里面的一幅图.
其中Slice-M的结构图,注意里面的多出来的部分是SliceM专有结构,在slice-L中并不存在。通过比较,SliceL的结构也就非常清晰了。逻辑通路与bypass通路一个slice可以简单分成上下两部分,两部分的结构基本一致,有着近乎相同的元素。
下半部分一般冠以前缀或者后缀“F”,上半部分则冠以前缀或者后缀“G”。
现在以F为例,来研究一下主要的数据通路。参考的图片是下图,这个图太经典了。这里不太清楚,是DS312的图15
先来说明一下逻辑路径,这个路径必然经过LUT,否则就不能成为逻辑路径,而只能成为旁路路径。
总结一下,主要的逻辑路径是5个:
1. 从LUT输出后,再通过X口,离开CLB
2. 从LUT输出后再经过XOR运算(加法或乘法应用),再通过X口,离开CLB
3. 从LUT输出后再经过F5MUX(等价于LUT-5扩展),在通过X口或者F5,离开CLB
4. 上述三种情况中,不从X口输出,而是经由FF输出,通过XQ,离开CLB
5. 从LUT输出后再经过CYMUX,参与到加法运算的进位链中
大家有兴趣的话,可以自己用笔标示一下这些通路,非常清晰。
如果要**的话,其实也很简单,
一是逻辑运算后的直接输出和寄存器输出;
二是加法、乘法的直接输出和寄存器输出;
三是LUT4到LUT5甚至更多级的运算扩展输出。
资料中还提到了旁路bypass通路,这个通路的特点是必然不经过LUT,所以称为旁路。
旁路的应用比较多,但是为了集中精力,这里不再展开,大家自己研究吧。 |
|