Cyclone V GX FPGA 逻辑单元结构分析
概述
手上有块Cyclone V的开发板,即SoCkit开发板,上面的FPGA器件是5CSXFC6D6F31C8ES。这个片子是28nm工艺,之前TDC均是在老工艺器件上实现的,找点时间在这个板子上验证下28nm工艺器件上TDC能跑出啥效果,编译软件采用的是QII13.0。
逻辑单元结构
所谓磨刀不误砍柴工,在新器件上验证TDC之前,先熟悉下新FPGA逻辑单元结构,ALTERA在推出28nm之后,好像后面就被Intel收购了。5代Cyclone逻辑单元和之前3代、4代或者更早的2代和1代最大差别好像是基本单元名称与高端FPGA统一称为了ALM。而且28nm的单个ALM里包含的各种颗粒也与之前高端FPGA不一样。比如单个ALM里加法器变成了2个,寄存器从2个增加到了4个,如图1所示。
图1:Cyclone V FPGA的ALM结构
进位链时延信息
简单实现了一个延时线,编译后通过TimeQuest分析其中进位链的延时信息,得到的结果如图2所示。图3到图6展示了LAB中各个ALM之间时延信息。
图2:延时线中第一个LAB和第二个LAB时序分析报告的延时信息
图3:第一个LAB的第2个ALM(左),第一个LAB的第3个ALM(右)
图4:第一个LAB的第5个ALM(左),第一个LAB的第6个ALM(右)
图5:第二个LAB的第1个ALM(左),第一个LAB的第2个ALM(右)
图6:第三个LAB的第1个ALM(左),第一个LAB的第2个ALM(右)
总结一下,每个LAB中间有个大延时,LAB与LAB之间有个大延时,可能每个LAB或各个LAB之间有所不同。比如LAB中间可能是CELL8+CELL10->433/68+476/108或433/63+479/133 或433/68+479/133;而LAB之间可能是CELL0->611/124或604/138或604/124或611/138。
上面给出几个图中可以看到,延时单元到寄存器的延时也有需要注意的地方。LAB之间接口处,会出现一个344ps的较大延时,其余均为306ps。这个344出现的位置目前看似乎是固定,即每个LAB的第二个ALM的底部单元到寄存器出现344ps延时。
另外,还有一个现象是每个ALM的底部单元在整个延时线上表现的延时时间都是0,也就是说每个ALM只有顶部一个单元体现出了延时。如果TimeQuest没犯错的话,不知道ALTERA当时这样安排的原因是为何?!难道无法适当平均分配时延在两个单元上?
作者: coyoo, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-1010859.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论