引 言
fpga动态局部可重构技术是指允许可重构的器件或系统的一部分进行重新配置,配置过程中其余部分的工作不受影响。动态局部可重构缩短了重构的时间,减少了系统重构的开销,提高了系统的运行效率。局部动态可重构技术中通常将系统划分为固定模块和可重构模块。可重构模块与其他模块之间的通信(包括可重构模块和固定模块之间、可重构模块和可重构模块之间)都是由总线宏实现的。
动态可重构技术在fpga中的实现是xilinx公司首先提出的,并且提供了相应的开发工具和开发流程。他们从virtex系列器件开始支持动态可重构技术,同时他们提供了现成的总线宏文件给动态可重构系统开发者使用,但是它们提供的总线宏设计与软件版本的兼容性很差。xilinx提供的总线宏可能因为软件版本的问题会无法正常使用,所以用户需要借助正在使用的版本软件设计总线宏,以实现fpga动态局部可重构设计。
在研究总线宏的结构基础上,采用fpga editor可视化的方法设计基于tbuf的总线宏,并通过fp-ga动态可重构实验验证了该方法的正确性。
1 基于tbuf的总线宏结构
在不同系列的xilinx fpga器件中,使用不同的总线宏来实现动态局部可重构技术。在virtex,virtex-e,virtex-ⅱpro x,spartan-ⅱ,spartan-ⅱe和spartan-3系列器件中所使用的总线宏都是基于tbuf的,可重构模块的位置固定不变;在virtex4,virtex5更高性能的器件中,所使用的总线宏是基于slice的,可重构模块的位置是可变的;而virtex-ⅱ,virtex-ⅱpro所使用的总线宏既可以基于tbuf,也可以基于slice。
目前,使用最多的总线宏,其物理实现是使用6个三态缓冲器(tbuf),实现4位的双向通信。每个tbuf占用1位,每位使用1根tbuf长线,从fpga的最左侧到最右侧,如图1所示。tbuf的t端是三态使能端口;i端是数据输入端口;o是数据输出端口。相应地,总线宏的t端(lt和rt)是方向控制端口,控制总线宏从左或从右输出;i端(li和ri)是数据输入端口;o端(lo和ro)是数据输出端口。
总线宏的信息通信是双向的,既可以从左到右,也可以从右到左。但是对于一个设计来说,一旦信息通信方向确定以后就不能再改变。总线宏的位置精确地跨骑在模块a和模块b之间(a或b是可重构模块,或ab全是可重构模块),其中四栅三态缓冲器在模块a内,另外四栅在b内。对于virtex-ⅱ等系列器件,因内部结构不同,故两栅跨骑在模块a内,另外两栅跨骑在模块b内。
2 基于tbuf的总线宏设计
这里在深入研究xilinx公司所提供的总线宏的基础上,结合宏的设计技术,完善了总线宏的设计。
(1)tbuf的内部路由。图2给出内部路由后的tbuf电路结构图。tmux的t端决定总线宏的控制端lt和rt高电平有效,而t_b端决定低电平有效。
无论控制信号是高电平有效,还是低电平有效,在使用总线宏进行通信时,lt和rt的值必须是相反的,或者是同时无效的。例如,当控制信号高有效时,即t端为1时,tbuf打开。如果总线宏是从左向右传递数据,则必须将lt设为1,rt为0,反之亦然;如果总线宏不需要传递数据,那么两个控制信号应同时为0,此时总线宏输出为高阻态。
(2)tbuf添加的方法。virtex,virtex-e,spar-tan-ⅱ,spartan-ⅱe的内部结构类似,与tbuf添加的方法是相同的。在相应的位置选择一个可编程逻辑块(configurable logic block,clb)中的一个tbuf作为总线宏的一个tbuf(1个clb包含2个tbuf),依次选择同一行相连下一个clb中的一个tbuf,直至选够8个tbuf为止;对于spartan-3,virtex-ⅱ,virtex-ⅱpro和virtex-ⅱpro x系列器件;每一个clb中的2个tbuf都作为总线宏的tbuf被选用,在同一行中依次选择相连的4个clb中的8个tbuf作为总线宏的tbuf,如图3所示。
(3)tbuf外部端口的命名规则。根据图1的总线宏结构,对各个tbuf的外部端口t,i和o进行相应的命名,命名时要符合所使用版本软件的要求。例如,若对端口进行如下命名:li,lt等,而端口在进行物理设计规则检查(design rule check,drc)时会出错,根据所提示的出错信息将命名改为:li(3),lt(3)等,即能顺利通过drc,完成端口的命名。
(4)总线宏输出端口的定义。总线宏输出端口的定义只能通过手工路由(manual route)方法,把相应tbuf的输出端口通过端口连线和tbuf长线连接起来。
新唐科技ML51EC0AE控制器简介
浙江欣大继电器:我与中国电子展这15年
韩国推出“人工智能国家战略”以推动人工智能产业发展
基于展锐平台的移远5G模组已实现商用,让5G惠及更多行业
一汽集团领导班子最新出炉,这关键的一步能否迎来转折
基于TBUF总线宏的FPGA可视化设计
分组交换的特点_分组交换的优缺点
人工智能课进入小学和初中 机器人交警上岗
4G网络越来越慢是为了给5G商用铺路?事实真的是这样吗?
物联网网关的常见应用领域都有哪些
导入ARM的TEE核心 NFC手机毋须安全元件
摩尔斯微(Morse Micro)提供同类最佳的Wi-Fi HaLow SoC和模块样品供客户评估
全球鹰智能化RQ-4无人机升级,瞄准未来智能化战场
自助银行联网综合智能视频监控系统介绍
魅族Flyme6 更新后备份与恢复的操作方法
基于AX650N+CLIP的以文搜图展示
英国政府再次承诺将对海上风能进行大规模投资
2K档的“黑马”!上市两个月,OPPO A95的真实口碑到底如何?
FPGA开发与学习连载4
Python五种下划线的模式和命名约定