本发明涉及eda(electronic design automation,电子设计自动化)模型版图仿真,具体而言,涉及一种eda模型的数据单位切换方法及装置。
背景技术:
1、目前,eda软件经常需要使用不同的数据单位进行设计。设计者面对不同的需求场景时使用的单位制可能是不同的。其中,常见的eda模型数据单位有全局单位和局部单位。其中,全局单位是指设计模型时,默认使用和显示的单位,所有的器件、结构、坐标系的命令,或者测量产生的文本都以全局单位来计量展示。局部单位指的是结构的某个命令、airbox、坐标系的某个属性的单位。
2、例如,设计者在设计电路板和设计大规模电路分析,如汽车雷达时,需要利用切换全局单位的功能。对于局部单位而言,可以在圆的基础上利用sweep along vector命令将圆拉伸成高度为1000mm的圆柱体,设计者期望将圆柱体的高度改为1mm,可以将sweepalong vector命令的vector属性中的1000手动修改为1,也可以选择直接修改vector属性的单位,将mm切换为um。此时模型中其它结构的大小和单位不受任何影响。可见,现在亟需一种eda模型的数据单位切换方法,以实现全局单位和局部单位的修改,增加设计的灵活性和便捷性。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种eda模型的数据单位切换方法及装置,能够实现全局单位和局部单位的修改,增加设计的灵活性和便捷性。
2、根据本发明实施例的一个方面,提供了一种eda模型的数据单位切换方法,包括:
3、获取eda模型的初始数据单位以及当前数据单位;
4、基于所述初始数据单位以及所述当前数据单位,确定全局换算因子;
5、检测数据单位切换指令;
6、如果所述数据单位切换指令为局部数据单位切换指令,确定所述局部数据单位切换指令的第一指令类别,并基于所述第一指令类别和所述全局换算因子进行数据单位切换;
7、如果所述数据单位切换指令为全局数据单位切换指令,确定所述全局数据单位切换指令的第二指令类别,并基于所述第二指令类别和所述全局换算因子进行数据单位切换。
8、作为一种可选的实施方式,基于所述第一指令类别和所述全局换算因子进行数据单位切换,包括:
9、如果所述第一指令类别为切换局部单位redo,则构建属性类型和目标单位的局部映射表;
10、基于所述局部映射表,确定属性指定单位;
11、计算所述属性指定单位与全局单位的换算比例;
12、计算所述换算比例除以所述全局换算因子,得到第一局部换算值;
13、基于所述第一局部换算值,对所述eda模型进行重新建模,以实现数据单位切换。
14、作为一种可选的实施方式,基于所述第一指令类别和所述全局换算因子进行数据单位切换,包括:
15、如果所述第一指令类别为切换局部单位undo,则获取切换局部单位redo之前的前局部单位;
16、基于所述前局部单位,更新所述局部映射表;
17、基于更新后的所述局部映射表,确定切换局部单位redo之前的前属性指定单位;
18、基于所述前属性指定单位与所述全局单位、以及所述全局换算因子,得到第二局部换算值;
19、基于所述第二局部换算值,对所述eda模型进行重新建模,以实现数据单位切换。
20、作为一种可选的实施方式,基于所述第二指令类别和所述全局换算因子进行数据单位切换,包括:
21、如果所述第二指令类别为切换全局单位redo,则构建全局结构和命令之间的全局映射表;
22、基于所述全局映射表确定属性跟随类别;其中,所述属性跟随类别包含跟随或者不跟随;
23、基于所述属性跟随类别和模型数据同步缩放类别,确定数值变更类别,以及;其中,所述模型数据同步缩放类别包含同步或者不同步;
24、如果所述数值更新类别为需要变更,则基于叠加因子以及所述全局换算因子,确定第一全局换算值;
25、基于所述第一全局换算值,进行数据单位切换。
26、作为一种可选的实施方式,基于所述第二指令类别和所述全局换算因子进行数据单位切换,包括:
27、如果所述第二指令类别为切换全局单位undo,则获取切换全局单位redo之前的前全局单位、前全局换算因子以及前叠加因子;
28、如果所述数值变更类别为需要变更,则基于所述前全局单位、所述前全局换算因子以及所述前叠加因子,确定第二全局换算值;
29、基于所述第二全局换算值,进行数据单位切换。
30、根据本发明实施例的另一方面,还提供了一种eda模型的数据单位切换装置,包括:
31、数据获取单元,用于获取eda模型的初始数据单位以及当前数据单位;
32、单位切换单元,用于基于所述初始数据单位以及所述当前数据单位,确定全局换算因子;检测数据单位切换指令;如果所述数据单位切换指令为局部数据单位切换指令,确定所述局部数据单位切换指令的第一指令类别,并基于所述第一指令类别和所述全局换算因子进行数据单位切换;如果所述数据单位切换指令为全局数据单位切换指令,确定所述全局数据单位切换指令的第二指令类别,并基于所述第二指令类别和所述全局换算因子进行数据单位切换。
33、作为一种可选的实施方式,所述单位切换单元具体用于:
34、如果所述第一指令类别为切换局部单位redo,则构建属性类型和目标单位的局部映射表;
35、基于所述局部映射表,确定属性指定单位;
36、计算所述属性指定单位与全局单位的换算比例;
37、计算所述换算比例除以所述全局换算因子,得到第一局部换算值;
38、基于所述第一局部换算值,对所述eda模型进行重新建模,以实现数据单位切换。
39、作为一种可选的实施方式,所述单位切换单元具体用于:
40、如果所述第一指令类别为切换局部单位undo,则获取切换局部单位redo之前的前局部单位;
41、基于所述前局部单位,更新所述局部映射表;
42、基于更新后的所述局部映射表,确定切换局部单位redo之前的前属性指定单位;
43、基于所述前属性指定单位与所述全局单位、以及所述全局换算因子,得到第二局部换算值;
44、基于所述第二局部换算值,对所述eda模型进行重新建模,以实现数据单位切换。
45、作为一种可选的实施方式,所述单位切换单元具体用于:
46、如果所述第二指令类别为切换全局单位redo,则构建全局结构和命令之间的全局映射表;
47、基于所述全局映射表确定属性跟随类别;其中,所述属性跟随类别包含跟随或者不跟随;
48、基于所述属性跟随类别和模型数据同步缩放类别,确定数值变更类别,以及;其中,所述模型数据同步缩放类别包含同步或者不同步;
49、如果所述数值更新类别为需要变更,则基于叠加因子以及所述全局换算因子,确定第一全局换算值;
50、基于所述第一全局换算值,进行数据单位切换。
51、作为一种可选的实施方式,所述单位切换单元具体用于:
52、如果所述第二指令类别为切换全局单位undo,则获取切换全局单位redo之前的前全局单位、前全局换算因子以及前叠加因子;
53、如果所述数值变更类别为需要变更,则基于所述前全局单位、所述前全局换算因子以及所述前叠加因子,确定第二全局换算值;
54、基于所述第二全局换算值,进行数据单位切换。
55、根据本发明实施例的又一方面,还提供了一种计算设备,所述计算设备包括:至少一个处理器、存储器和输入输出单元;其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行上述eda模型的数据单位切换方法。
56、根据本发明实施例的又一方面,还提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述eda模型的数据单位切换方法。
57、在本发明实施例中,获取eda模型的初始数据单位以及当前数据单位;基于所述初始数据单位以及所述当前数据单位,确定全局换算因子;检测数据单位切换指令;如果所述数据单位切换指令为局部数据单位切换指令,确定所述局部数据单位切换指令的第一指令类别,并基于所述第一指令类别和所述全局换算因子进行数据单位切换;如果所述数据单位切换指令为全局数据单位切换指令,确定所述全局数据单位切换指令的第二指令类别,并基于所述第二指令类别和所述全局换算因子进行数据单位切换。可见,本发明能够实现全局单位和局部单位的修改,增加设计的灵活性和便捷性。