一种基于FPGA芯片多控制信号的布局方法技术

技术编号:13018251 阅读:165 留言:0更新日期:2016-03-16 18:24
本发明专利技术涉及一种基于FPGA芯片多控制信号的布局方法,方法包括:通过网表将用户设计的多个控制信号分成M组;根据M组控制信号的分组信息,对寄存器进行分组;根据扇出量对M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;根据区域时钟缓存器与分组的寄存器的连接关系,组建宏模块;并通过宏模块,进行芯片布局。本发明专利技术实施例的方法优化了多控制信号设计用例的时钟资源使用状况,提高了时钟信号布线通过率,以及减少了用户设计的耗电量,使多控制信号的用户设计得到了支持。

【技术实现步骤摘要】

本专利技术涉及集成电路
,特别是一种基于现场可编程门阵列(Field-ProgrammableGateArray,FPGA)芯片多控制信号的布局方法。
技术介绍
FPGA是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。FPGA内部的时钟分为多个区域,在这个区域内有特定的时钟能够驱动寄存器(reg)和随机存取存储器(RandomAccessMemory,RAM)的时钟端。在FPGA中,这些时钟由时钟树的专用的时钟线连接起来。FPGA的全局时钟路径需要专用时钟驱动器--全局时钟缓冲器(GlobalClockbuffer,GBUF),时钟信号只有经过GBUF之后才可以驱动全局时钟网络。然而全局时钟资源一般是非常有限的。图1为现有技术中C1架构的时钟信号输入端的结构示意图。C1是FPGA芯片中cloud系列的第一款芯片,主要用于高速通信领域。如图1所示,C1架构的输入端由8个全局时钟信号通道和4个区域时钟信号通道组成。8个全局时钟信号输入端rclk[7:0]接收的全局时钟信号经选通器rclk0和rclk1选择通过不同局部缓冲器驱动后面的寄存器;4根区域时钟信号输入端rc[3:0]接收芯片内部其他逻辑单元输出的时钟信号采用与GBUF级联来驱动一个时钟区域或几个特定的寄存器。但是对于用户设计中多于8组控制信号的情况将不能通过GBUF与区域时钟级联的方式实现。
技术实现思路
为克服上述现有技术中存在的问题,本专利技术提供了一种基于FPGA芯片多控制信号的布局方法。该方法包括:通过网表将用户设计的多个控制信号分成M组;根据M组控制信号的分组信息,对寄存器进行分组;根据扇出量对M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;根据区域时钟缓存器与分组的寄存器的连接关系,组建宏模块;通过宏模块,进行芯片布局。进一步的,通过网表将用户设计的多个控制信号分成M组的步骤,包括:根据网表信息,对多个控制信号按照时钟信号、使能信号和置位/复位信号分成M组。根据M组控制信号的分组信息,对寄存器进行集群打包的步骤,包括根据M组控制信号的分组信息,将线网信息和参数配置信息相同的用户设计寄存器分为一组。进一步的,所述根据扇出量对M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器的步骤,包括将扇出量大的前P组控制信号驱动的P组寄存器中每组寄存器前插入一个全局时钟信号缓存器;将M-P组控制信号驱动的M-P组寄存器进行集群分组,每组寄存器插入一个或多个区域时钟缓存器。进一步的,通过集群算法对M-P组控制信号驱动的M-P组寄存器进行集群分组,集群算法包括:在M-P组寄存器中,将接收相同控制信号的k个寄存器集群分组,形成k/N或k/N+1个寄存器子集,在每个寄存器子集前插入一个或多个时钟区域缓冲器;其中,N为芯片中每个区域时钟缓存器驱动的寄存器数量。进一步的,根据宏模块进行芯片布局的步骤,包括根据宏模块进行全局布局和局部布局;将宏模块作为整体进行全局布局,确定每个宏模块在芯片中的位置;根据宏模块的位置进行局部布局,依次确定每个逻辑单元在芯片布局中的位置;进一步的,根据用户设计的不同,利用调整集群粒度对全局布局和局部布局进行优化。本专利技术实施例的布局方法,优化了多控制信号设计用例的时钟资源使用状况,提高了时钟信号布线通过率,以及减少了用户设计的耗电量,使多控制信号的用户设计得到了支持。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为现有技术中FPGA芯片C1架构的时钟信号输入端的结构示意图;图2为本专利技术实施例提供的一种基于FPGA芯片多控制信号布局方法的流程图;图3为本专利技术实施例提供的区域时钟缓存器在逻辑资源上工作状态示意图;图4为本专利技术实施例提供的一种宏模块全局布局示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图2为本专利技术实施例提供的一种基于FPGA芯片多控制信号布局方法的流程图.如图2所示,本专利技术实施例FPGA芯片的布局方法包括:步骤S201、根据网表对用户设计的多控制信号进行分组;根据综合工具根据用户设计输入的硬件描述语言(Verilog或VHDL)将用户设计转化为网表(netlist),网表用于描述电路中各模块的连接关系信息,它包括用户设计的各个逻辑单元、每个逻辑单元的所有端口和每个逻辑单元的所有端口的连接信息。通过建立网表对用户设计的多控制信号进行分析。其中,多控制信号包括时钟信号、使能信号和置位/复位信号,并将分析后的多控制信号按时钟信号、使能信号和重置或复位信号的不同进行分类打包集群,例如,若多控制信号中时钟信号包括C1和C2,使能信号包括E1和E2,重置或复位信号包括R1和R2,那么该多控制信号能分成:C1,E1,S1、C1,E1,S2、C1,E2,S1、C1,E2,S2、C2,E2,S2、C2,E2,S1、C2,E1,S1和C2,E1,S2共8组。寄存器通过接收相应控制信号进行正常工作,根据用户设计的多控制信号的分组信息,将设计中的所有寄存器按照线网信息和参数配置信息进行集群打包,也就是说,将线网信息和参数配置信息相同的寄存器分为一组,该组寄存器接收与自身的线网信息和参数配置信息相同的一组控制信号,保证了寄存器的整体性,也便与后续芯片的整体布局。其中,线网信息是指该寄存器接收的控制信号类型;参数配置信息是指该寄存器接收的控制信号参数。步骤S202、根据扇出量(fan-out)将分组后的控制信号进行排序;扇出量是描述单个逻辑门能够驱动的控制信号输出量,将分组后的寄存器组根据其控制信号的扇出量按从大到小的顺序进行排序,扇出量大表示驱动寄存器的数量多,扇出量小表示驱动寄存器的数量少。步骤S203、根据排序信息和芯片架构自动插入GBUF或RBUF一个FPGA芯片中有P根全局时钟信号通道和Q根区域时钟信号通道,由步骤2中扇出量的排序信息,得到扇出量最大的前P组控制信号,在该P组控制信号驱动的寄存器前分别插入一个GBUF,也就是设置该P组控制信号由P根全局时本文档来自技高网
...
一种基于FPGA芯片多控制信号的布局方法

【技术保护点】
一种基于FPGA芯片多控制信号的布局方法,其特征在于,所述方法包括:通过网表将用户设计的多个控制信号分成M组;根据所述M组控制信号的分组信息,对寄存器进行分组;根据扇出量对所述M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;根据所述区域时钟缓存器与分组的所述寄存器的连接关系,组建宏模块;通过所述宏模块,进行芯片布局。

【技术特征摘要】
1.一种基于FPGA芯片多控制信号的布局方法,其特征在于,所述方法包括:
通过网表将用户设计的多个控制信号分成M组;
根据所述M组控制信号的分组信息,对寄存器进行分组;
根据扇出量对所述M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器;
根据所述区域时钟缓存器与分组的所述寄存器的连接关系,组建宏模块;
通过所述宏模块,进行芯片布局。
2.根据权利要求1所述的方法,其特征在于,所述通过网表将用户设计的所述多个控制信号分成M组的步骤,包括:根据所述网表信息,对所述多个控制信号按照时钟信号、使能信号和置位/复位信号分成M组。
所述根据所述M组控制信号的分组信息,对寄存器进行集群打包的步骤,包括:根据所述M组控制信号的分组信息,将线网信息和参数配置信息相同的用户设计寄存器分为一组。
3.根据权利要求1所述的方法,其特征在于,所述根据扇出量对所述M组控制信号进行排序,插入全局时钟缓存器和区域时钟缓存器的步骤,包括,将所述扇出量大的前P组所述控制信号驱动的P组所述寄存器中每组所述寄存器...

【专利技术属性】
技术研发人员:吴鑫蒋中华黄攀
申请(专利权)人:京微雅格北京科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1