介绍multibit flipflop的差异和使用方法
专栏:iLoveIC Nov. 25, 2024, 6:43 p.m. 1444 阅读
介绍multibit flipflop的差异和使用方法

multibit flipflop介绍

先进工艺里,或者少数老工艺里,有一种flipflop,把2个或多个dff做在一起了。如下图,左侧是2 dff合并,右侧是4 dff 合并。

image.png image.png

逻辑上等价于下面的电路:

image.png

带scan的multibit flipflop电路

如下图,在multibit flipflop电路里已经把chain串好了。如下图:

image.png

所以,multibit flipflop的符号,只需要一个TD(SI, scan data input),而不是4个TD。如下:

image.png

multibit flipflop的优缺点

multibit flipflop的主要优势是功耗。但对timing不友好,实际timing会差一些。

另外面积也会稍小。下面是某库中的面积对比。可见2DFF高度是两倍,4DFF高度是4倍,但宽度稍小。

CELLWidthHeight
QDFFRBTDX18.362.66
Q2DFFRBTDX17.985.32
Q4DFFRBTDX17.9810.64

GDS的差异与floorplan

我们看到高度不同,是单DFF的多倍高度。从下图gds Metal1上来看,也能看出来。要注意的是,2DFF和4DFF的VCC和GND与单bit DFF是兼容的,仍然是VCC和GND每行交替。在做floorplan和create row时,需要按照兼容的方式创建。

  • 单bit DFF
    image.png#100%

  • 2bit DFF
    image.png#100%

  • 4bit DFF
    image.png#100%

dc综合时怎么使用

在综合脚本开头,读入RTL之前,设置option:

set hdlin_infer_multibit default_all

在compile之前设置multibit的mode,如下:

set_multibit_options -mode timing_driven
compile_ultra

formality的注意事项

在开启multibit选项后,必须要记录svf文件。在dc脚本的一开头设置svf,如下:

# 给formality用
set_svf top.svf
# svf的文本格式,给conformal做第三方工具来用
set_vsdc top.vsdc

svf文件里记录着多个dff的合并方式,用guide_multibit来描述。用formality做等价性验证时需要先读入svf指导文件,告诉formality,在综合时是如何优化multibit flipflop的。

 

感谢阅读,更多文章点击这里:【专栏:iLoveIC】
最新20篇 开设专栏