针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1)

对于ultrascale/ultrascale+芯片,几乎fpga内部所有组件都是可以部分可重配置的,这包括clb中的查找表(lut)、触发器(ff)、移位寄存器(采用lut实现)、分布式ram/rom等,block如bram、uram、dsp、gt(高速收发器)、pcie、cmac、interlaken mac等,sysmon(xadc和system monitor),时钟单元如bufg、mmcm和pll等,i/o相关单元如iserdes、oserdes和idelayctrl等。只有与配置相关组件必须在静态区,包括bsan、cfg_io_access、efuse_usr、icap、frame_ecc、master_jtag、startup、和usr_access。
pblock的大小
dfx设计中,动态区都有专属的pblock。pblock的最小范围是由pu(programmableunit)决定的,而一个pu的大小是跟资源类型紧密相关的。例如,对于slice,其pu为所属的clb以及与之相邻的一个clb,同时还包括这两个clb共享的interconnect,这可通过如下tcl命令获取,注意最外层的tcl命令get_tiles需要添加选项-pu。如果vivado版本是2023.1或更高版本,可以使用命令get_dfx_footprint外加选项-pu实现同样功能。
对于bram(36kb),其pu包含自身之后还包含与之相邻的5个clb以及共享的interconnect,如下图所示。
对于pcie,其pu包含自身之后还包含两侧各60个共120个clb以及共享的interconnect,如下图所示。
对于高速收发器,其pu包含自身之外还包含与之相邻的60个clb以及共享的interconnect,如下图所示。
对于packagepin,其pu包含其所在io bank的所有资源,如下图所示,这也表明了同一个io bank内的管脚要么均在静态区,要么均在动态区。
在ultrascale/ultrascale+ fpga中,pblock不再需要设置属性reset_after_reconfig,但需要将属性snapping_mode设置为on。这样工具给了用户足够的灵活性去画pblock,但为了保证pblock不违反pu的要求,工具又会在已画pblock的基础上自动调整,这正是snapping_mode的作用。
对于dfx工程,在执行完布局布线之后,会生成一个名为hd_visual的文件目录,在此文件夹下有两个tcl文件,如下图所示,文件名为pblock__placement/routing_alltiles.tcl。
打开布线后的网表文件,执行source命令即可看到整个pblock的实际布局范围和布线范围。图中白色高亮标记为原始pblock范围,红色标记为实际pblock的布局范围,黄色标记为实际pblock的布线范围,包括了扩展的布线区域。对于vivado2023.1及之后版本,可直接使用命令get_dfx_footprint实现同样功能。
sourcepblock_my_math_placement_alltiles.tcl
对于ultrascale/ultrascale+ fpga,动态区pblock的高度可以不是以clock region对齐,这在上述案例中已有体现。换言之,上图中pblock所在clock region的其他区域仍然可以供静态区使用,但不能供其他动态区使用。这意味着同一个clockregion只能拥有一个rp,所以可以看到“可重构”仍然是按照clockregion作为基础帧执行的。
扩展的布线区域
对于动态区的pblock,其属性contain_routing的值为true,意味着动态区的布线也在划定的pblock内。但实际上,最终的布线区域是可扩展的,不仅是已画好的pblock,还包括pblock之外的布线资源。从而,与rm输入/输出端口相连的网线就可能出现扩展的布线区域内(pblock之外),但只要partition pin落在扩展区域内,就可以不用限定partitionpin的位置。这里并不是说pblock的形状不规范才导致布线区域扩展,即使是正规的矩形pblock也可能会有扩展的布线区域。
但一个事实是扩展的布线区域一定是以clock region为边界的。由于动态区布线区域的扩展,动态区对应的bit文件大小就会增大,但是如果动态区对应的bit文件大小比设计性能更为关键,可通过如下命令禁止动态区性能扩展。另外,7系列fpga是不支持动态区布线区域扩展这一功能的。从vivado2020.2开始,算法的改进促使动态区布线扩展区域更小同时这种更小的布线区域对布线性能影响也更小。


基于AT89C55单片机和PCA82C250实现分布式通信网络的设计
基于STM32F103C8T6单片机的智能疫苗箱
安徽十三五:新能源发展战略规划
全国产EtherCAT运动控制边缘控制器(四):轴参数配置与单轴运动PC上位机C++控制
三轴按键试验机:原理、应用与性能分析
针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1)
制造过程监测中多传感器测量与数据融合技术的综述
ADXRS453BEYZ 工业、仪表仪器和高振动环境中稳定应用的角速率传感器(陀螺仪)的中文资料
多谐振荡器双闪灯电路设计与制作
三星Chromebook2将采用4k屏幕增强电池寿命
物联网会给电子零部件带来什么
哪款蓝牙耳机值得推荐?4款音质好的蓝牙耳机推荐
基于Docker Compose部署RabbitMQ的经验分享
三星Galaxy F62新机型部分参数信息曝光
全球最大锂矿宣布减产
全球首款5G基站核心芯片——天罡
澳大利亚进口的商品中,半导体有86%来自中国
一种多路输出隔离驱动电路及其在短路限流器中的应用
变电所主接线图
什么情况需要用到三相三线电缆