本发明涉及电子设计,具体涉及一种多路选择器的表达方法、系统、电子设备及存储介质。
背景技术:
1、mux(multiplexer,多路选择器)电路是一种电子电路,它具有多个数据输入通道,并通过一组控制信号来确定哪一个输入通道的数据能够通过到单一的输出线路。mux电路在电子设计中具有广泛的应用和重要的作用,通过优化mux电路的设计和实现,可以显著提高整个系统的性能、灵活性和效率。
2、mux电路的表达方式对逻辑综合过程中电路优化的质量和效率起到非常重要的作用,mux电路的表达方式需要保留完整的mux电路信息并应尽可能简洁,同时应便于应用后期的各项mux优化策略,比如无关项的优化和实现结构的调整等。目前主流的电子设计自动化(electronic design automation,eda)工具中,常用于表达mux电路的运算符有两种,分别是二进制复用器(binary mux)运算符和选择(select)运算符。但是binary mux运算符为内部解码结构,在表达稀疏多路复用器(sparse mux)时存在大量数据冗余的问题,select运算符为外部解码结构,能有效解决binary mux运算符中的数据冗余问题,但这种外部解码结构不能完整保留mux电路的信息,而且实现结构固化为译码器-选择器(decoder-selector)结构,难以在优化后期针对时序做结构性优化。
技术实现思路
1、鉴于现有技术的上述不足,本发明提供一种多路选择器的表达方法、系统、电子设备及存储介质,有效解决现有技术中多路选择器电路在表达时难以在优化后期针对时序做结构性优化的问题。
2、第一方面,本发明提供一种多路选择器的表达方法,所述方法包括:
3、获取多路选择器的寄存器传输级设计信息;
4、分析所述寄存器传输级设计信息,获得所述多路选择器的信号状态信息和数据通道信息;
5、根据所述数据通道信息对所述多路选择器的数据通道进行分组,获得优先级组信息;
6、根据所述信号状态信息和所述优先级组信息配置运算符,并设置运算符端口;
7、将外部信号接入所述运算符端口,驱动所述运算符进行所述多路选择器的表达。
8、进一步的,所述信号状态信息至少包括控制信号信息、输出信号信息、数据通道的数据信号信息和数据通道的选择信号状态,所述数据通道信息至少包括数据通道数量、数据通道优先级关系和数据通道冲突关系。
9、进一步的,所述根据所述数据通道信息对所述多路选择器的数据通道进行分组,包括:
10、根据所述数据通道优先级关系对所述多路选择器的多个所述数据通道进行排序;
11、将具有默认分支的数据通道划分至最低优先级组,将优先级最高的数据通道划分至最高优先级组;
12、依次遍历未分组的数据通道,判断所述未分组的数据通道与所述优先级最高的数据通道的所述数据通道冲突关系;
13、若存在与所述优先级最高的数据通道不冲突的至少一个第一数据通道,则将至少一个所述第一数据通道划分至所述最高优先级组;
14、若存在与所述优先级最高的数据通道冲突的至少一个第二数据通道,则按照所述数据通道优先级关系和所述数据通道冲突关系将至少一个所述第二数据通道继续划分优先级组,直至全部所述数据通道划分至不同的优先级组。
15、进一步的,所述运算符为稀疏选择器运算符,所述根据所述信号状态信息和所述优先级组信息配置运算符,包括:
16、根据所述稀疏选择器运算符的数据端口匹配所述多路选择器的数据通道;
17、将所述数据通道的选择信号状态和所述优先级组信息记录到相应的所述数据端口。
18、进一步的,所述外部信号包括第一控制信号和第一数据信号,所述将外部信号接入所述运算符端口,驱动所述运算符进行所述多路选择器的表达,包括:
19、输入所述第一控制信号驱动所述稀疏选择器运算符的控制端口;
20、输入所述第一数据信号驱动所述稀疏选择器运算符的数据端口;
21、驱动所述稀疏选择器运算符的输出端口输出目标信号。
22、进一步的,所述运算符为稀疏译码器运算符,所述根据所述信号状态信息和所述优先级组信息配置运算符,包括:
23、根据所述稀疏译码器运算符的输出端口匹配所述多路选择器的数据通道;
24、将所述数据通道的选择信号状态和所述优先级组信息记录到相应的所述输出端口。
25、进一步的,所述外部信号包括第二控制信号和第二数据信号,所述将外部信号接入所述运算符端口,驱动所述运算符进行所述多路选择器的表达,包括:
26、创建选择器运算符,所述选择器运算符至少包括控制端口、数据端口和输出端口;
27、输入所述第二数据信号驱动所述选择器运算符的数据端口;
28、输入所述第二控制信号驱动所述稀疏译码器运算符的控制端口;
29、根据所述稀疏译码器运算符的输出端口驱动所述选择器运算符的控制端口;
30、驱动所述选择器运算符的输出端口输出目标信号。
31、第二方面,本发明提供一种多路选择器的表达系统,所述系统包括:
32、信息获取模块,用于获取多路选择器的寄存器传输级设计信息;
33、信息分析模块,用于分析所述寄存器传输级设计信息,获得所述多路选择器的信号状态信息和数据通道信息;
34、通道分组模块,用于根据所述数据通道信息对所述多路选择器的数据通道进行分组,获得优先级组信息;
35、运算符配置模块,用于根据所述信号状态信息和所述优先级组信息配置运算符,并设置运算符端口;
36、选择器表达模块,用于将外部信号接入所述运算符端口,驱动所述运算符进行所述多路选择器的表达。
37、第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序实现如本发明第一方面所述的多路选择器的表达方法。
38、第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的多路选择器的表达方法。
39、本发明提供的多路选择器的表达方法、系统、电子设备及存储介质,不依赖控制信号的全部展开或选择信号的提前解码,而是将数据的选择信号记录在表达运算符中,使得多路选择器的设计更加简洁和易于理解,在实现时获得更好的性能和资源利用率,有效节省了内存。同时将优先级信息完整记录在表达运算符中,保留了完整的多路选择器电路信息,使得中后期对多路选择器电路的优化更加灵活。基于时序优化的目标,可以自由选择多路选择器电路的实现结构,同时可以将优先级解码的实现延后,得到更适合当前时序上下文的优先级解码结构。
1.一种多路选择器的表达方法,其特征在于,所述方法包括:
2.根据权利要求1所述的多路选择器的表达方法,其特征在于,所述信号状态信息至少包括控制信号信息、输出信号信息、数据通道的数据信号信息和数据通道的选择信号状态,所述数据通道信息至少包括数据通道数量、数据通道优先级关系和数据通道冲突关系。
3.根据权利要求2所述的多路选择器的表达方法,其特征在于,所述根据所述数据通道信息对所述多路选择器的数据通道进行分组,包括:
4.根据权利要求2所述的多路选择器的表达方法,其特征在于,所述运算符为稀疏选择器运算符,所述根据所述信号状态信息和所述优先级组信息配置运算符,包括:
5.根据权利要求4所述的多路选择器的表达方法,其特征在于,所述外部信号包括第一控制信号和第一数据信号,所述将外部信号接入所述运算符端口,驱动所述运算符进行所述多路选择器的表达,包括:
6.根据权利要求2所述的多路选择器的表达方法,其特征在于,所述运算符为稀疏译码器运算符,所述根据所述信号状态信息和所述优先级组信息配置运算符,包括:
7.根据权利要求6所述的多路选择器的表达方法,其特征在于,所述外部信号包括第二控制信号和第二数据信号,所述将外部信号接入所述运算符端口,驱动所述运算符进行所述多路选择器的表达,包括:
8.一种多路选择器的表达系统,其特征在于,所述系统包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现如权利要求1至7任一项所述多路选择器的表达方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述多路选择器的表达方法。