This application discloses a method of layout and routing for FPGA, which includes receiving input layout and routing requests, executing layout and routing requests to layout and routing each module to obtain layout and routing results, judging whether the timing of layout and routing results is convergent or not, and adjusting layout and routing results according to the preset layout and routing adjustment strategy until the layout and routing results are achieved. Ordinal convergence; if convergence, the layout and routing will be terminated. When the result of layout and routing does not satisfy the timing convergence, this application does not need users to adjust manually, but adjusts the result of layout and routing according to the strategy of pre-layout and routing adjustment, which avoids the waste of human resources and improves the efficiency of layout and routing. The application also provides a system, device and computer readable storage medium for the layout and wiring of the FPGA, which has the above beneficial effects.
【技术实现步骤摘要】
一种FPGA布局布线的方法、系统及设备
本申请涉及FPGA布局布线领域,特别涉及一种FPGA布局布线的方法、系统、设备及计算机可读存储介质。
技术介绍
近年来,机器学习不断兴起,FPGA由于具有并行性结构以及相对降低的功耗被广泛使用,其中,CNN卷积神经网络算法等在FPGA中实现成为研究热点。算法的加速在FPGA中实现通常利用的架构如图1所示。FPGA一端通过PCIE接口与HOST主机相连,外部挂着多片DDR等存储器件。其中CNN等算法加速的实现,基于FPGA的逻辑部分通常包含PCIE部分(包含DMA部分)、DDR部分、Kernel部分以及板卡其他功能控制部分。其中Kernel部分主要是用来实现CNN算法的功能。如何将逻辑在FPGA中进行布局布线进行映射以满足时序收敛并且充分利用FPGA资源成为关键课题。现在的解决方法,大部分是自动布局布线,这种方法的缺点是,当逻辑规模较大时,布局布线的结果有时不满足时序收敛,需要人工手动调整,极大的浪费了人力资源,使得布局布线的效率较低。因此,如何提高FPGA中布局布线的效率是本领域技术人员目前需要解决的技术问题。
技术实现思路
本申请的目的是提供一种FPGA布局布线的方法、系统、设备及计算机可读存储介质,用于提高FPGA中布局布线的效率。为解决上述技术问题,本申请提供一种FPGA布局布线的方法,该方法包括:接收输入的布局布线请求;执行所述布局布线请求对各模块进行布局布线,得到布局布线结果;判断所述布局布线结果的时序是否收敛;若未收敛,则根据预设布局布线调整策略对所述布局布线结果进行调整,直至所述布局布线结果的时序收敛;若收 ...
【技术保护点】
1.一种FPGA布局布线的方法,其特征在于,包括:接收输入的布局布线请求;执行所述布局布线请求对各模块进行布局布线,得到布局布线结果;判断所述布局布线结果的时序是否收敛;若未收敛,则根据预设布局布线调整策略对所述布局布线结果进行调整,直至所述布局布线结果的时序收敛;若收敛,则结束此次布局布线。
【技术特征摘要】
1.一种FPGA布局布线的方法,其特征在于,包括:接收输入的布局布线请求;执行所述布局布线请求对各模块进行布局布线,得到布局布线结果;判断所述布局布线结果的时序是否收敛;若未收敛,则根据预设布局布线调整策略对所述布局布线结果进行调整,直至所述布局布线结果的时序收敛;若收敛,则结束此次布局布线。2.根据权利要求1所述的方法,其特征在于,执行所述布局布线请求对各模块进行布局布线,得到布局布线结果,包括:根据FPGA引脚位置划分PCIE模块和DDR模块的布局位置区域,并确定所述PCIE模块和所述DDR模块的布局位置,得到初始布局;判断所述初始布局的时序是否收敛;若否,则对所述PCIE模块和所述DDR模块的布局位置进行调整,直至所述初始布局的时序收敛;若是,则在所述DDR模块的周围为Kernel中与DDR存储交互的模块划分布局位置区域,并确定所述与DDR存储交互的模块的布局位置,得到二次布局;完成所述二次布局内各所述模块的布线,得到所述布局布线结果。3.根据权利要求2所述的方法,其特征在于,所述根据FPGA引脚位置划分PCIE模块和DDR模块的布局位置区域,包括:调用Xilinx或Altera的布局布线工具,根据FPGA引脚位置为所述PCIE模块和所述DDR模块设定相应的物理位置约束。4.根据权利要求1所述的方法,其特征在于,在所述结束此次布局布线之后,还包括:记录当前布局布线次数,并生成布局布线报告。5.一种FPGA布局布线的系统,其特征在于,包括:接收模块,用于接收输入的布局布线请求;布局布线模块,用于执行所述布局布线请求对各模块进行布局布线,得到布局布线结果;判断模块,用于判断所述布局布线结果的时序是否收敛;布局布线调整模块,用于当所述布局布线...
【专利技术属性】
技术研发人员:葛海亮,阚宏伟,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。