一种解决fpga保持时间不满足的方法

文档序号:8282488阅读:3845来源:国知局
一种解决fpga保持时间不满足的方法
【技术领域】
[0001]本发明涉及FPGA设计领域,具体地说是一种解决FPGA保持时间不满足的方法。
【背景技术】
[0002]随着EDA (Electronic Design Automatic)技术和半导体制造工艺的不断发展,芯片的功能越来越强,器件结构越来越复杂。根据摩尔定律,验证的复杂度是与芯片面积的平方成正比的,随着芯片单位面积上容量每18个月增长一倍,验证的复杂度也会每6-9个月翻一番。验证工作是目前芯片设计过程中最耗时费力的一项工作,它可以占到整个设计工作量的50-80%,是当今芯片设计的瓶颈。由于芯片硬件模块数目众多、内嵌软件复杂,传统的基于逻辑模拟的验证方式已不再可行,特别是其在软硬协同验证时,模拟时间之长令人难以忍受。为了缩短芯片验证时间,基于FPGA的快速系统原型(Rapid System Prototype)验证,即硬件原型和软件原型结合验证,已经成为芯片设计流程中的重要手段。
[0003]目前FPGA器件在密度和复杂度上有了飞速的发展,Altera公司的Stratix系列以及Xilinx公司的Virtex系列芯片可达到数百万门的规模,对于几百万门的FPGA器件都嵌有微处理器、IP逻辑模块和多个高速接口标准。由于FPGA最大的特点就是具有静态可编程的特性或在线动态重构特性,使硬件的功能同软件一样可以通过编程来修改。这样就使设计修改变得十分便利,实时性好。可以使产品开发周期大大缩短,开发成本降低。
[0004]但是对于FPGA芯片资源是固定的,在时序约束时比较复杂,由于在资源利用比较多的情况下,时序约束更加复杂才能满足设计的要求。考虑到FPGA芯片资源利用比较多或者对设计中的某个模块对时序要求比较高时,特别是在设计中例化RAM IP Core时,holdTime经常会遇到时序不满足的问题而导致整个设计时序不满足,宄其原因是clock path(时钟路径)比data path (数据通路)延迟大造成的,因此在设计中加大data path的延迟可以解决hold Time的问题,但约束过大会影响setup Time (设置时间)的满足。

【发明内容】

[0005]本发明旨在解决设计中例化Block RAM IP CORE时总是存在一个clock偏移,导致hold time不满足的问题,而提供一种解决FPGA保持时间不满足的方法。
[0006]本发明所述一种解决FPGA保持时间不满足的方法,解决所述技术问题采用的技术方案如下:所述解决FPGA保持时间不满足的方法,通过对模块进行面积约束,对BlockRAM(块内存)的位置进行物理位置约束,加大和Block RAM的接口信号的data path(数据通路)和对Block RAM的接口信号进行物理位置约束;解决了 FPGA中例化XILINX的BlockRAM带来的hold time不满足的问题,能够快速方便的解决某些hold time的时序问题,满足整个设计对时序的要求。
[0007]本发明的一种解决FPGA保持时间不满足的方法与现有技术相比具有的有益效果是:本发明只需对数据进行两次取反,然后通过原语保持此信号,即可加大data path满足hold time的要求;避免了大幅度的修改设计,同时也避免了大幅度的进行时序约束。
【附图说明】
[0008]附图1为本发明时序约束示意图;
附图2为本发明时序约束具体实施图。
【具体实施方式】
[0009]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参考附图,对本发明所述一种解决FPGA保持时间不满足的方法进一步详细说明。
[0010]本发明所述一种解决FPGA保持时间不满足的方法,主要考虑在FPGA中例化XILINX(赛灵思公司)的Block RAM IP CORE (块内存IP核心)带来的hold time不满足的情况,通过对模块进行面积约束,对Block RAM(块内存)的位置进行物理位置约束,加大和Block RAM的接口信号的data path (数据通路)和对Block RAM的接口信号进行物理位置约束,从而解决了 FPGA中例化XILINX的Block RAM带来的hold time不满足的问题。
[0011]实施例1:
本实施例所述一种解决FPGA保持时间不满足的方法,主要包括如下步骤:(I)对模块进行面积约束;(2)对Block RAM的位置进行物理位置约束;(3)加大和Block RAM的接口信号的data path ; (4)对Block RAM的接口信号进行物理位置约束;如附图1所示。通过本实施例所述解决FPGA保持时间不满足的方法,能够快速方便的解决某些hold time的时序问题,满足整个设计对时序的要求。
[0012]本实施例所述解决FPGA保持时间不满足的方法中,所述(I)对模块进行面积约束,是指对时序要求比较高的模块进行面积约束;在整个设计中一般是由几个模块构成的,有的是高速模块,有的是低速模块,比如在浪潮服务器互联芯片FPGA原型验证系统中,就利用到了 XILINX的Aurora的IP CORE (IP核)来和CPU进行高速通信,由于芯片资源利用比较多,Aurora部分频率又高,因此必须对Aurora模块进行面积约束。
[0013]所述⑵对Block RAM的位置进行物理位置约束:由于Aurora模块用到了很多的Block RAM分别缓存与CPU和潮服务器互联芯片的数据,对Block RAM的位置进行物理位置约束,能更好的满足设计对时序的要求。
[0014]在一般的方法中,时序不满足时除了时序约束外,还需要修改设计通过拆分组合逻辑的方法来减小延时,而本实施例所述方法避免大幅度的修改设计,同时也避免大幅度的进行时序约束。所述加大和Block RAM的接口信号的data path,是指只需对数据进行两次取反,然后通过XILINX原语保持此信号,S卩可加大data path,满足hold time的要求。
[0015]经过步骤三后,由于加大了和Block RAM的接口信号的data path,势必会影响setup time (设置时间)的时序,同时在步骤二中对Block RAM的位置进行物理位置约束,因此经过对Block RAM的接口进行物理位置约束即可满足setup time的时序,最终满足整个设计对时序的要求。
[0016]实施例2:
本实施例所述解决FPGA保持时间不满足的方法,在实施例1的基础上,首先对模块进行面积约束,具体实现方式如下:
INST 〃u_module/u_module_inst〃 AREA_GROUP = 〃pblock_u_module_inst〃;AREA_GR0UP〃pblock_u_module_inst〃RANGE=SLICE_X0Y310:SLICE_X83Y359;
然后对Block RAM的位置进行物理位置约束,具体实现方式如下:
INST 〃u_module/u_module_inst/data_ram〃LOC = RAMB36_X1Y59 ;
再进行加大和Block RAM的接口信号的data path,如附图2所示,具体实现方式如下:
wire data; wire datal; wire data2; wire dataitfc;
assign datal=?data;
assign data2=?datal;
assign dataitfc = data2;
最后,对Block RAM的接口信号进行物理位置约束,具体实现方式如下:
INST 〃u_module/u_module_inst/data_ram_itfc〃 BEL = BFF; INST〃u_module/u_module_inst/data_ram_itfc〃LOC = SLICE_X33Y327.上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种解决FPGA保持时间不满足的方法,其特征在于,该方法具体包括如下步骤:(I)对模块进行面积约束;(2)对Block RAM的位置进行物理位置约束;(3)加大和Block RAM的接口信号的data path; (4)对Block RAM的接口信号进行物理位置约束。
2.根据权利要求1所述一种解决FPGA保持时间不满足的方法,其特征在于,所述(I)对模块进行面积约束,是指对时序要求比较高的模块进行面积约束。
3.根据权利要求2所述一种解决FPGA保持时间不满足的方法,其特征在于,对Aurora模块进行面积约束。
4.根据权利要求3所述一种解决FPGA保持时间不满足的方法,其特征在于,所述加大和Block RAM的接口信号的data path,是指对数据进行两次取反,然后通过XILINX原语保持此信号。
5.根据权利要求1所述一种解决FPGA保持时间不满足的方法,其特征在于,对模块进行面积约束,具体实现方式如下:INST 〃u_module/u_module_inst〃 AREA_GROUP = 〃pblock_u_module_inst〃;AREA_GR0UP"pblock_u_module_inst"RANGE=SLICE_X0Y310:SLICE_X83Y359。
6.根据权利要求5所述一种解决FPGA保持时间不满足的方法,其特征在于,对BlockRAM的位置进行物理位置约束,具体实现方式如下:INST 〃u_module/u_module_inst/data_ram〃LOC = RAMB36_X1Y59。
7.根据权利要求6所述一种解决FPGA保持时间不满足的方法,其特征在于,加大和Block RAM的接口信号的data path,具体实现方式如下:wire data; wire datal; wire data2; wire dataitfc;assign datal= ~ data;assign data2= ~ datal;assign dataitfc = data2。
8.根据权利要求7所述一种解决FPGA保持时间不满足的方法,其特征在于,对BlockRAM的接口信号进行物理位置约束,具体实现方式如下:INST 〃u_module/u_module_inst/data_ram_itfc〃 BEL = BFF;INST〃u_module/u_module_inst/data_ram_itfc〃LOC = SLICE_X33Y327。
【专利摘要】本发明公开一种解决FPGA保持时间不满足的方法,涉及FPGA设计领域,通过对模块进行面积约束,对Block RAM(块内存)的位置进行物理位置约束,加大和Block RAM的接口信号的data path(数据通路)和对Block RAM的接口信号进行物理位置约束;解决了FPGA中例化XILINX的Block RAM带来的hold time不满足的问题,能够快速方便的解决某些hold time的时序问题,满足整个设计对时序的要求。
【IPC分类】G06F17-50
【公开号】CN104598670
【申请号】CN201410806609
【发明人】周玉龙, 童元满, 李仁刚
【申请人】浪潮电子信息产业股份有限公司
【公开日】2015年5月6日
【申请日】2014年12月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1