原创 Cyclone V GX FPGA 逻辑单元结构分析

2024-3-21 16:39 783 4 4 分类: FPGA/CPLD 文集: TDC

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条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /6 下一条