谁知道哪里可以下载GENESIS软件的ERF修改说明?或发我一份呀

2025-01-01 18:24:03
推荐回答(1个)
回答1:

一、相对应的程序:
Surface Analysis surf.erf
  Drill Ckecks drill.erf
  Board-Drill Checks brd_drill.erf
  Signal Layer Checks signal.erf
  Power Ground Checks pg.erf
  Solder Mask Checks sm.erf
  Silk Screen Checks ss.erf
  Profile Checks profile.erf
  Drill Summary drillsum.erf
  SMD Summary smdsum.erf
  Orbotech AOI Checks cdr.erf
  CDR NFP Spacing cdr_nfp_spacing.erf
  CDR Clearances Detection cdr_pos_clr.erf
  Microvia Checks microvia.erf
  Pads for Drills pd.erf
  Power Ground (GLT) pg_lt.erf
  Legend Detection nomenclr.erf
  Construct Pads [Auto.] auto_subst.erf
  Construct Pads [Auto.,All Angles] autono90_subst.erf
  Construct Pads [Ref.] ref_subst.erf
  Set SMD Attribute set_smd.erf
  Line Unification line_uni.erf
  Cross-Hatch Detection cross_hatch.erf
  Redundant Line Removal nflr.erf
  Legend Detection nomenclr.erf
  Construct Pads [Auto.] auto_subst.erf
  Construct Pads [Auto.,All Angles] autono90_subst.erf
  Construct Pads [Ref.] ref_subst.erf
  Set SMD Attribute set_smd.erf
  Line Unification line_uni.erf
  Cross-Hatch Detection cross_hatch.erf
  Redundant Line Removal nflr.erf
  NFP Removal nfpr.erf
  Draw To Outline f_toutln.erf
  Pad Snapping pad_snap.erf
  Pin Holes Elimination clean_holes.erf
  NeckDown Repair neck.erf
  Classic Silver Fill silver_fill.erf
  Silver & Acute Angles smooth.erf
  Sliver & Peelable Repair local_min.erf
  Legend Silver Fill txt_silver.erf
  Tangency Elimination tan_elm.erf
  Signal Layer Opt sigopt.erf
  Line Width Opt neckdown.erf
  Power / Ground Opt pgo.erf
  Solder Mask Opt smcc.erf
  Silk Screen opt tan_elm.erf
  Solder Paste Opt sop.erf
  Positive Plane Opt pco.erf
  Etch Compensation cmpetch.erf
  Tear Drop Creation td.erf
  Advanced Teardrop Creation tear_drop.erf
  Copper Balancing balance.erf
  BGA Tie Line Generation bga_tie.erf
  Parallel Spacing Optimization spacing_opt.erf
  Hammer Head Etch Compensation bga_etch.er
  Dynamic Etch Compensation detch.erf
  Dynamic Etch Compensation (Simplified) ddetch.erf
  Drills Touching Copper Count drill_touch.erf
  Punch To Drill punch_to_drill.erf
  Net Points Generation tp.erf
.name 程序的名称
  .uid 内部使用不用修改
  .menu 程序菜单的位置 ,也就是你启动这个程序后,画面的位置
  .param 画面以及各项参数的值的范围设定
  。model 模组的名称,
  units 单位 有inch和metric两种
  。color 设置及过分类报告的三种颜色
  。pdef action画面的各项参数预设定值
  。ranges 个分类报告的等级归纳
  。vars 变数 (咱们修改的主要就是变数 )它直接影响执行结果的重要变数以及开关
  .name NLSE("Signal Layer Opt") 对应的程序启动的时候显示的名称 (信号层优化 )
  这个不需要修改
  .uid valor_dfm_sigopt 内部使用参数,不需要修改
  .modify 内部参数,不要修改
  。menu, 软件启动的时候,画面的位置不要修改
  。param 画面参数的预设定制这儿也不需要修改,真正要修改面板的参数值,可以到下面修改
  上面这些都是共有的
  
  下面讲解一下模组 ,也就是如何设置一个模组
  erf里边各项参数繁多
  也就是你设置一组参数无法满足需求 ,又不愿意每次都修改 ,所以这些参数,就需要定义成不同的模组 。使用的时候,只需要咱们调用不同模组即可 。每一个模组都可以自己设置自己的默认值
  genesis软件默认的模组有2个:一个是给英制的; 一个是给公制的。
  咱们先分析一下genesis自己带的模组
  然后等一下自己定义修改一个模组
  模组的开始部分
  ################### Start of model Inner Layers (Mils) ######################################
  一个模组的开头
  一个模组的结尾
  ################### End of model Inner Layers (Mils) ######################################
  开头和结尾中间的部分
  就是一个独立的模组 。模组里都有哪些东西 ,也就是咱们定义模组,可以修改哪些内容:
  .model Inner Layers (Mils) 模组的名称 ,也就是这个模组是什么名字 ,例如以后咱们需要建立2个模组 :1个是,加大pad的模组 ,一个是削pad的模组
  
  .model Inner Layers (Mils) 这是一个信号层优化的画面
  所谓的模组
  就是单击上边的erf
  这儿显示的名子
  
  大家可以看看
  也就是在这儿显示的名子
  这儿显示了2个
  说明我建立了2个模组
  
  .units inch
  单位,英制
  .colors 991010 999910 109010 # Colors set to red yellow green.
  设定结果分析显示的颜色 :红,黄,绿
  三种颜色表示级别不同
  例如红色,说明出现严重错误 ,这上边需要咱们修改的东西 。
  就是模组的名称。ranges分类报告的等级归纳,例如那种情况是红色的等级,那种情况是红色等级 。
  
  # Define ranges (how results should be captured / presented).
  .ranges
  arg_repaired = 0,0.1,1000 # Range - reports places where the annular ring has been fixed.
  arg_violation_min = 1000,1001,1002 # Range - reports places where the annular ring cannot be increased to the minimum required value.
  arg_violation_opt = 0,1000,1001 # Range - reports places where the annular ring is better than the minimum value, but cannot be increased to the optimum value.
  enlarge_limit = 0,1000,1001 # Range - reports places where the annular ring could not be fixed as the pad enlargement needed to fix it was larger than the variable max_pad_enlarge (see below).
  annular_ring = 10000,10001,10001 # Range - used only as part of flash edit. Do not modify. Used to display annular ring measurements.
  spacing = 10000,10001,10002 # Range - used only as part of flash edit. Do not modify. Used to display spacing measurements.
  pth2c = 10000,10001,10002 # Range - used only as part of flash edit. Do not modify. Used to display pth to copper spacing measurements.
  npth2c = 10000,10001,10002 # Range - used only as part of flash edit. Do not modify. Used to display non-pth to copper spacing measurements.
  spacing_repaired = 0,0.1,1000 # Range - reports places where spacing violations have been fixed.
  h2cu_repaired = 0,0.1,1000 # Range - reports places where hole to copper spacing violations have been fixed.
  spacing_violation_min = 1000,1001,1002 # Range - reports places where the spacing cannot be increased to the minimum required value.
  spacing_violation_opt = 0,1000,1001 # Range - reports places where the spacing is better than the minimum value, but cannot be increased to the optimum value.
  h2cu_violation = 1000,1001,1002 # Range - reports places where hole to copper spacing violations cannot be fixed.
  same_space = 0,1000,1001 # Range - if same_net_space variable (see below) is set to yes, this will report places where the pad cannot be increased as it will create a spacing problem with features of the same net.
  same_spacing = 0,1000,1001 # Range - if v_handle_same_net_spacing (see below) is set to "1" or "2", same net spacing problems will be report in this category.
  same_net_s_repaired = 0,1000,1001 # Range - if v_handle_same_net_spacing (see below) is set to "2", same net spacing that were solved will be report in this category.
  polygon_shave = 0,0.1,1000 # Range - reports places that have been fixed using a polygon shave. Active only if the variable do_poly_shave is set to yes.
  filled_surface = 0,1000,1001 # Range - reports places that were fixed using a filled polygon shave. Active only if the variables do_poly_shave and fill_poly are both set to yes.
  un_filled_surface = 0,1000,1001 # Range - reports places that have to be fixed using a filled polygon shave, but where the polygon
  
  这些就是等级归纳 ,这个不要修改 ,按照默认的即可 。
  
  .pdef :面板默认的参数 ,这个一定要修改的 ,每一个模组中面板默认的参数都需要修改,因为目的不同 ,咱们需要的参数就是不同的
  
  pp_layer 默认的层的名称 ,咱们可以直接设置成。affected
  pp_min_pth_ar = 6pth对应的最小焊环的默认值 ,这个值就是面板上默认的那些值
  pp_opt_pth_ar = 8 pth对应的焊环的优化值
  pp_min_via_ar = 5 via对应的焊环的最小值
  pp_opt_via_ar = 8via对应的焊环的优化值的默认值
  pp_min_spacing = 5最小间距对应的默认值
  pp_opt_spacing = 8 优化间距对应的默认值
  pad to pad对应的最小间距默认值
  pp_opt_p2p_spacing = 0 pad to pad对应的优化间距默认值
  pp_min_line = 4
  pp_opt_line = 10
  pp_nd_percent = 10
  pp_abs_min_line = 5
  这4个和线条有关系,对于咱们来说已经没有用处了
  因为咱们是不能缩小线宽的
  这几个参数都是和缩小线宽有关系的
  pp_min_pth2c = 12 钻孔到其它元素的最小间距
  pp_selected = All 把整个程序只在选择的物体中运行还是所有的物体
  针对这个参数
  pp_work_on = .all
  
  针对这个参数
  这个参数有个smds
  这个参数没有多大用处
  无论是否选择都不会优化smd pad
  因为下面的变量设置了不允许调整smd
  所以这个面板上是否选择都无所谓了
  pp_modification = .all
  针对版面上的modification
  如果仅仅是加大pad
  咱们可以设置成padup即可
  如果想把加大pad和绕线都设置成默认值
  pp_modification = .padup;rerout
  中间添加一个分号
  这样就会把两个默认值都选择上
  这个面板参数
  
  大家一定要设置好
  这样的话就不用每次运行前都要设置参数了
  大家可以根据本公司的工艺参数
  把这些参数设置成自己需要数值
  最最重要的。vars变数来了
  咱们修改erf的目的主要就是为了修改这一部分
  我把变量讲解完成
   1. resize_smd: 是否调整smd pad
  默认的是no
  这个变量直接不允许调整smd的
  也就是smd pad之所以不被允许调整
  就是因为这个参数
  2. smd_resize_ratio 这个参数是承接上一个参数来的
  如果第一个参数设置成yes
  下面的这个参数才起作用
  他的意思是,如果可以调整smd的大小
  那么调整的比例是多少/
  当然了,因为第一个参数设置成no了
  所以这个参数不起作用
  3. shave_smd:
  这个参数也是承接第一个参数的
  当地一个参数为yes时候
  这个参数才起作用
  他的意思就是
  如果可以调整smd,那么是否可以削smd pad
  因为第一个参数为no
  所以下面的2个关于smd的参数都不起任何作用
   4. v_keep_smd_form是否保持smd的形状
  因为第一个为no
  所以这个没有任何意义了
  5. min_neck_len
  最短的neck down线段
  什么是neck down 颈锁断开
  这个和缩小线宽有关系
  这个和缩小线宽有关系
  也就是如果无法满足间距
  咱们又需要缩小线宽
  这个最小宽度的长度
  就是这个值
  现在已经没有用处了
  因为没有公司允许缩小私案款的
  缩小线宽都不允许的
  6. min_rerout_side
  绕先后其两端最小的线段的长度
  当间距不够的时候,可以选择绕线的
  绕线的两段的最小长度
  就是由这个参数决定调e
  7. max_pad_shaves ――――――――――重要
  单个pad允许最多削的次数
  一般最小也应该设置成4
  也就是一个pad最多可以削4次
  不然的话,bga那个的地方,很难处理
  8. do_poly_shave: 是否使用surface来削pad
  9. fill_poly: 紧接上面的命令
  如果上面8这个命令设置成yes
  如果使用surface来削pad
  那么是否需要用线来填充这些surface
  10. min_brush: 承接第9个参数
  如果可以用线来填充surface的话
  那么最细的线条是多少
  exact_min_on_compromise: 如果焊环与间距要求互相冲突
  是否改为达成最小间距即可
  12 allow_both: 削pad的时候,是否平均削两pad ――――――――――重要
  13. LRR_max_shift: 绕线的时候最大位移值
  设置成0,就是不设限制
  14. max_pad_enlarge 加大pad的上限
  0表示不设限制
  15. max_pad_shrink: pad缩小的上限
  0表示不设限制
  16. same_net_space: 是否考虑相同网络的间距而不涨pad
  17. keep_pad_shape: 是否保持原来pad的形状
   18. shave_only_vias: 是否允许只学via 的pad
  选择no
  其它的pad,间距不够也要削
   19. max_pad_misregistration : 钻孔与pad中心之最大的偏差
  超过此值将不加大焊环
   20. v_handle_non_standard_pads : 是否处理圆,方以外的pad ――――――――――重要
  0表示只处理圆形和方形pad
  1表示可以处理其它形状的pad
  例如矩形pad和椭圆形pad的焊环加大问题
   21. v_handle_same_net_spacing : 是否处理相同网络的间距问题
  0不报缺点
  1只报缺点
  2 报缺点且做改善
  在程序的开头有个1-7的执行顺序
  他指的是各个操作他们的执行顺序
  prd 在不牺牲最佳焊环的情况下,缩小pad
  prdc 在不牺牲最小焊环的情况下,缩小pad
  prs 将smd的4个直角 转圆角
  psh 在不牺牲最佳焊环的情况下,削pad
  pshc在不牺牲最小焊环的情况下,削pad
  lre 缩小线宽,仅达到最小间距
  v_shave_pad_below_min = yes
  这个选项很重要
  他的意思是,如果达到最小焊环的情况下,为了间距是否还要继续削pad
  好了,第一个模组讲解完成