Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

Cadence OrCAD:Net Group 使用

Cadence OrCAD:Net Group 使用

软件版本:16.6-S062,装过一个Hotfix,因为早期版本中文显示有重叠的问题。

先看一个从来没用过的功能:NetGroup。据说是16.6之后的版本才有?
总而言之,是总线的一种扩展,可以把任意名称的网络放进去的一种:单个信号、总线、其他NG。给我的感觉是类似c语言的结构体,可以装进去各种类型的变量,也可以装其他结构体。NG的特点是可以组合各种不同名称的网络,而不必像总线一样要求名称像Data[0..31]一样保持一致。

2023.5.12 更新:
找到一个demo板的原理图使用了net group,可以参考:BRD4001a

例子

随便准备了一个原理图来展示。

  • 输入:电源,一个4pin接口
    1. LED[1…2]控制板子上的两个LED
    2. SCL/SDA是某条I2C总线,只是路过这个板子。
  • 输出:I2C总线从另一个2pin接口引出。
    然后把这两部分内容放在两页原理图中,如下:
    图片[1]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

NetGroup的建立

  1. 上方菜单place-NetGroup-add NetGroup

图片[2]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

  1. 建立NetGroup
    1. 输入NetGroup名称,apply
    2. add,添加需要组合在一起的网络名称,注意选择正确的类型。

图片[3]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

NetGroup和跨页符

有了NetGroup,可以使用单个跨页符,来连接两页中的多个信号。

  1. 新建一个跨页符,注意勾选NetGroup Offpage
    图片[4]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug
  2. 第一页的跨页符
    图片[5]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug
  3. 第二页的跨页符

图片[6]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug
按上图操作,两个图的4个信号就通过1个跨页符连通了。注意几点:

  1. 跨页符后面的连线使用bus。
  2. 网络要加入NetGroup,需要使用bus entry,并且按照规定的设置别名,NetGroup名称.NetGroup中定义过的信号名
    • 比如,NetGroup名称为NG1,则SCL的名称为NG1.SCL

学会了吗,是不是很麻烦呢?

NetGroup的别名

NetGroup名字太长?也可以再设置别名,如下图。
图片[7]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

比如下图中,给NetGroup重新取名为Q[0..3],后面网络就都用Q.xx,实际效果不变。这个和普通网络的跨页符+别名类似。
图片[8]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

其他

  • 在扁平设计中,相关的信号组成NetGroup,只需要一个跨页符,就能与其他页面上的信号相连。
  • 在层次设计中,相关的信号可以组成一个NetGroup Port,从而减少端口数量,简化上一层的连线。比如可以把主控和DDR之间的信号都汇总成一个NetGroup端口——但操作上其实还是挺麻烦的。

简单测试命名错误的情况

下图这种情况就是连不上的(Q.SCL错写为Q.CLK)。
图片[9]-Cadence OrCAD:Net Group 使用-PCB设计社区-FPGA CPLD-ChipDebug

最近重新开始画原理图,对于OrCAD这个工具,虽然也用了挺长时间,但是发现其实一点都不熟悉,以前会的操作,一段时间不用,就又忘了。另外,之前一直画扁平的图,用跨页符互联,复杂原理图可能需要用到的层次化设计等等,以前也都没接触过。新开一栏记录一下熟悉和陌生的各种操作。

 

请登录后发表评论

    没有回复内容