【技术实现步骤摘要】
一种面向FPGA的多路选择器工艺映射方法
[0001]本专利技术涉及FPGA领域,尤其是一种面向FPGA的多路选择器工艺映射方法。
技术介绍
[0002]现场可编程逻辑门阵列(Field
‑
Programmable Gate Array,FPGA)以其配置灵活、开发周期短等特点而被广泛应用于人工神经网络、原型验证、算法加速等领域。FPGA的设计流程由电子设计自动化(Electronic Design Automation,EDA)工具实现,主要包括逻辑综合、装箱、布局、布线、时序分析和码流生成等操作。工艺映射是逻辑综合的最后一步,通过将逻辑网表中的单元与芯片上的各类器件进行绑定来得到工艺网表,是物理实现数字系统的关键。
[0003]早期的FPGA是简单的同质结构,仅由LUT(Look
‑
Up Table,查找表)与寄存器等基本逻辑器件构成,其中,LUT是FPGA中不可或缺的逻辑器件,每个K输入LUT通过编程配置可以实现任意K变量的逻辑函数。对于同质结构FPGA,已有许多有效的结构化工艺映射方法,一般通过分割枚举、分割排序、最佳分割选取等步骤用K
‑
可行锥集覆盖逻辑网表,最后将每个K
‑
可行的锥绑定到K输入LUT。
[0004]但是同质结构的FPGA的性能与专用集成电路(Application Specific Integrated Circuit,ASIC)相差甚远,因此随着FPGA设计水平的不断提高,FPGA逐渐向着异质结构发展 ...
【技术保护点】
【技术特征摘要】
1.一种面向FPGA的多路选择器工艺映射方法,其特征在于,所述方法包括:解析RTL级描述文件并识别得到待映射选择器单元,每个待映射选择器单元包括N个待选信号以及位选择信号,符号表示向上取整;对于具有预设基本结构的待映射选择器单元,例化所述待映射选择器单元所具有的预设基本结构对应的模板、完成对所述待映射选择器单元的工艺映射,每个预设基本结构对应的模板是预先对具有所述预设基本结构的选择器单元完成工艺映射后保存得到的工艺网表;对于不具有所述预设基本结构的待映射选择器单元,将所述待映射选择器单元的结构基于预设基本结构进行拆分得到若干个具有信号级联关系的子单元,并将所述待映射选择器单元的待选信号和选择信号按预定逻辑分配连接至相应的子单元,分别例化子单元所具有的预设基本结构对应的模板、完成对所述待映射选择器单元的工艺映射。2.根据权利要求1所述的工艺映射方法,其特征在于,所述将所述待映射选择器单元的结构基于预设基本结构进行拆分得到若干个具有信号级联关系的子单元,并将所述待映射选择器单元的待选信号和选择信号按预定逻辑分配连接至相应的子单元,包括:将所述待映射选择器单元作为待拆分单元开始进行若干层拆分,每一个待拆分单元被拆分为若干个第一级选择单元和一个第二级选择单元,所述第二级选择单元是基于预设基本结构得到的一个子单元,各个第一级选择单元的输出作为所述第二级选择单元的各个待选信号,所述待拆分单元的待选信号按第一编码顺序分为若干组且每一组作为拆分得到的一个第一级选择单元的待选信号;所述待拆分单元的选择信号按第二编码顺序分为若干组分别作为拆分得到的第一级选择单元和第二级选择单元的选择信号;将未达到子单元级别的第一级选择单元作为新的待拆分单元继续拆分;其中,选择信号的所述第二编码顺序是R位选择信号从最低位至最高位的顺序,待选信号的所述第一编码顺序是根据各个待选信号对应的选择信号所构成的二进制数的大小对所述待选信号进行升序排列得到的顺序。3.根据权利要求2所述的工艺映射方法,其特征在于,对于log2N为整数而形成2
K
选1形式的待映射选择器单元,基于递归原则对所述待映射选择器单元依次进行拆分,K为参数;对于log2N为非整数而不具有2
K
选1形式的所述待映射选择器单元,对所述待映射选择器单元拆分为若干个由2选1单元相连的2
K
选1形式的待拆分单元,对拆分过程中得到的各个2
K
选1形式的待拆分单元分别基于递归原则依次进行拆分,对拆分得到的各个2选1单元基于待选信号和选择信号连接的单元的映射结果对所述2选1单元进行映射。4.根据权利要求3所述的工艺映射方法,其特征在于,预设基本结构的选择器单元包括:4选1选择器单元、8选1选择器单元以及16选1选择器单元,且4选1选择器单元与查找表进行绑定形成对应的模板,8选1选择器单元与查找表及其相连的第一级多路选择器硬核MUX0进行绑定形成对应的模板,16选1选择器单元与查找表及其依次相连的第一级多路选择器硬核MUX0和第二级多路选择器硬核MUX1进行绑定形成对应的模板;则对于不具有所述预设基本结构的待映射选择器单元:若所述待映射选择器单元的待选信号的数量N=2,则跳过对所述待映射选择器单元的
处理;若所述待映射选择器单元的待选信号的数量N=3,则直接将所述待映射选择器单元与对应的查找表绑定完成工艺映射;若所述待映射选择器单元的待选信号的数量N>4,则执行所述将所述待映射选择器单元的结构基于预设基本结构进行拆分得到若干个具有信号级联关系的子单元的步骤,且拆分得到的子单元至少包括:形成4选1选择器单元结构的子单元、形成8选1选择器单元结构的子单元、形成16选1选择器单元结构的子单元中的至少一种。5.根据权利要求4所述的工艺映射方法,其特征在于,在对所述待映射选择器单元的拆分过程中,在拆分任意一个具有2
K
选1形式的待拆分单元时:若K%4=0,则所述待拆分单元直接形成16
n
选1单元,将16
n
选1单元拆分为1个16选1单元和16个16
n
‑1选1单元,将每个16
n
‑1选1单元作为新的待拆分单元继续拆分直至n=2,其中,且n≥2,表示向下取整;若K%4=1,则将所述待拆分单元拆分为1个2选1单元和2个16
n
选1单元,并将所述待拆分单元的选择信号中的从低至高的K
‑
1位同时作为2个16
n
选1单元的选择信号、最高的一位作为2选1单元的选择信号,继续对每个16
n
选1单元分别依次进行拆分;若K%4=2,则将所述待拆分单元拆分为1个4选1单元和4个16
n
选1单元,并将所述待拆分单元的选择信号中的从低至高的K
‑
2位同时作为4个16
n
选1单元的选择信号、最高的两位作为4选1单元的选择信号,继续对每个16
n
选1单元分别依次进行拆分;若K%4=3,则将所述待拆分单元拆分为1个8选1单元和8个16
n
选1单元,并将所述待拆分单元的选择信号中的从低至高的K
‑
3位同时作为8个16
n
选1单元的选择信号、最高的三位作为8选1单元的选择信号,继续对每个16
n
选1单元分别依次进行拆分。6.根据权利要求5所述的工艺映射方法,其特征在于,在对任意取值的参数n时的16
n
选1单元拆分为1个16选1单元和16个16
n
‑1选1单元时,将16
n
选1单元的选择信号中的从低至高的4(n
‑
1)位同时作为16个16
n
‑1选1单元的选择信号、并将选择信号中的最高的4位作为16选1单元的选择信号。7.根据权利要求5所述的工艺映射方法,其特征在于,对于任意一个具有2
K
选1形式的待拆分单元,当K%4=1时,对一个待拆分单元的结构拆分得到的子单元还包括2选1单元,且对所述待拆分单元最终拆分得到的结构中,所述待拆分单元的选择信号的次高位s
K
‑2驱动的两个单元分别绑定到两个第二级多路选择器硬核MUX1,所述待映射选择器单元的选择信号的最高位s
K
‑1驱动的单元绑定到一个三输入查找表LUT3,则所述方法还包括:对待拆分单元的选择信号的最高两位所驱动的单元进行合并操作,合并得到一个形成4选1选择器单元结构的子单元。8.根据权利要求4所述的工艺映射方法,其特征在于,对任意的具有N
F
个待选信号且不具有2
K
选1形式的待拆分单元的拆分过程包括,令若则将具有N
F
个待选信号的待拆分单元拆分为1个作为第二级选择单元的2选1单元和1个作为第一级选择单元的选1的待拆分单元,并将所述待拆分单元的待选信号中按照所述第一编码顺序的前个待选信号连接到选1的待拆分单元,将选1的待拆分单元的输出和所述待拆分单元的待选信号中最高位的待选信号分别作为2选1单元的待选信号,所
述待拆分单元的选择信号中的最低的K
F
‑
1位作为选1的待拆分单元的选择信号、最高的一位作为2选1单元的选择信号;若则将具有N
F
个待选信号的待拆分单元拆分为1个作为第二级选择单元的2选1单元,以及包括选1的待拆分单元和选1的中间单元的第一级选择单元,将所述待拆分单元的待选信号按照所述第一编码顺序的前个待选信号作为选1的待拆分单元的待选信号、后个待选信号作为选1的待拆分单元的待选信号,选1的待拆分单元和选1的中间单元的输出分别作为2选1单元的两个待选信号;将所述待拆分单元的选择信号中的最低的K
F
‑
1位作为选1的待拆分单元的选择信号、最低的位作为选1的待拆分单元的选择信号,将最高的一位选择信号作为2选1单元的选择信号;基...
【专利技术属性】
技术研发人员:谢尚銮,惠锋,刘佩,王晨阳,张立,
申请(专利权)人:无锡中微亿芯有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。