在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1657|回复: 2

[原创] 基于Xilinx LUT6设计高效紧凑的2:1 Bus Mux

[复制链接]
发表于 2021-8-15 20:21:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖摘自公司内部培训文件,对网页版阅读效果不满意的同学可直接下载:
基于Xilinx LUT6设计高效紧凑的2_1_Bus_MUx.pdf (605.17 KB, 下载次数: 6 )
 楼主| 发表于 2021-8-15 20:28:21 | 显示全部楼层
在FPGA逻辑设计中,从两组总线数据源中,根据某个条件选择其中一组输出,是一个十分常见的设计需求。例如我司PXI总线的DA模块/通讯总线模块等,通常支持输出(发送)的数据来源于PCI BAR2寄存器或片内Buffer,即为一个典型的2:1 Bus Mux设计需求。
依据Xilinx手册UG384可知,其LUT6由两个共用A[5:1]地址线的LUT5 + 1个Mux构成,并提供两个独立输出,如下图:
image.png
Xilinx在其UG384中明确指出:“在一个LUT6内可实现两个5输入的独立的任意逻辑表达式,唯一的限制是这两个表达式的输入是共用的”,如下图:
image.png
那么,理论上Spartan-6的一个LUT6可以实现共用选择信号的2-bits的2:1 Mux,共5个输入:A[1:0]、B[1:0]、SEL,两个输出AO、BO分别由LUT6的O5、O6输出,从而在Spartan-6的一个Slice内可实现高效、紧凑的,并带一级寄存器的8-bits 2:1 Bus Mux,一个非常常用的32-bits 2:1 Bus Mux仅需4个Slices即可实现
以我司PXI-4021(32Rx/32Tx ARINC-429总线模块)为例,查看XST的实现结果。PXI-4021发送通道的数据源(THR)需要从PCI BAR2的寄存器数据和片内BlockRAM中选择一种输出,设计代码如下:
image.png
需要注意的是:XST在综合时,无论其属性参数“LUT Combining”设为Auto还是Area,以及两种代码风格对综合结果没有影响,始终按照1-bit 2:1 Mux的方式综合,即综合的原理图和综合资源报告均显示以上代码需要64个LUT3 + 64个FDE,按此综合结果,结合Spartan-6Slice的原理,将消耗16个Slices来完成以上代码的功能,更进一步地,Spartan-6 Slice的8个触发器分为两组,每组4个,其中一组触发器的D输入端限制为只能连接Slice内对应LUT6的O5输出端,而如果布局布线时采用了LUT6 O6到对应触发器的策略,将导致与此LUT6 O5输出端相连的触发器不能再被其它逻辑使用。关于Spartan-6 Slice的触发器使用限制见UG384,如下图:
image.png
根据以上分析,有必要通过实验的方式确定XST的布局布线策略是否能够将这样的共用选择信号的总线型2:1 Mux按照一个LUT6实现2-bits选择的方式优化?设计编译完成后,利用Xilinx FPGA Editor查看最终布局布线的结果,可以看到,XST在布局布线阶段确实按照在1个Slices内实现8-bits 2:1 Bus Mux的方式实现的,本例中TxCH0的DataMux[7:0]即布局于Slice_X42Y158,如下图:
image.png
放大局部,可以看到TxCH0/DataMux<0>来自其触发器对应LUT6的O6输出,TxCH0/DataMux<1>来自其触发器对应LUT6的O5输出,1个LUT6加上Slice内与其相连的两个触发器,实现了共用选择信号的2-bits 2:1 Mux,满足设计预期,如下图:
image.png
更进一步地,Xilinx 7系列FPGA同样基于LUT6的架构,其UG474中对LUT6的描述如下:
image.png
XilinxUltraSCALE及UltraSCALE+系列FPGA同样基于LUT6的架构,其UG574中对LUT6的描述如下:
image.png
故,本例中的设计思路同样适用于Xilinx 7系列、UltraSCALE及UltraSCALE+系列FPGA。

发表于 2021-8-15 20:36:07 | 显示全部楼层
thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-9 22:57 , Processed in 0.019556 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表