cadence中原理图层次化设计

层次化电路图设计通过模块化将复杂电路分解为子电路,提高设计清晰度和效率。自下而上的设计流程包括创建项目,设计子电路,封装层次块,然后在顶层模块整合。这种方法便于电路的维护、更新和团队间的沟通协作。

概述

        层次化电路图设计是一种模块化的设计方法,用于在电路非常复杂的情况下使原理图变得更加清晰。它包括两种设计方法:自上而下设计和自下而上设计。

        自上而下设计:先设计好模块化后的封装器件,再设计该器件具体的电路。

        自下而上设计:先设计好每个模块的原理图,再将每个模块的原理图进行生成器件的操作。

        在设计过程中,我们首先需要根据电路的功能将电路图分成若干个子电路,然后通过主图连接各个子电路。这样,复杂的电路就被简化了。

层次化电路图设计优点

        结构清晰:层次化电路图将整个电路按不同的功能分成若干个子电路,每个子电路负责一部分特定的功能,这样可以使整个电路的设计结构更加清晰,便于理解和操作。

        模块化:将电路划分为若干个子电路,每个子电路可以被独立设计和验证,这样可以提高设计的效率和可靠性。同时,模块化也可以方便后续的维护和更新。

        可重复调用:每个子电路都是一个独立的模块,可以重复调用,这样可以在不同的电路设计中复用这些模块,提高设计的效率。

        便于交流:层次化电路图可以使用方块图等简洁的符号来表示,使得交流更加方便,便于在不同的工程师之间进行沟通和协作。

        总之,层次化电路图设计是一种有效的电路设计方法,可以帮助我们更高效地处理复杂的电路设计任务,提高设计效率和可靠性。

原理图自下而上层次化设计步骤

1,在Cadence中创建一个原理图Project,执行File---New---Project,点击OK。如图:

2,选中工程文件,新建New Schematic,在New Schematic下新建原理图页PAGE;如图:

3,在原理图页中设计具体的电路,包括所有的元件和连接。

        3.1 所有元器件的位号使用’?’(如R?、C、U?),方便后续使用Annotate进行自动编号;

        3.2 不使用pin使用No connect标记

        3.3 同一层次内的信号,页与页之间用 Place Off-Page Connector。如图:

        3.4 引出同层次外的信号,使用Place Hierarchical Connector如图:

4,打开顶层模块原理图页,然后执行菜单命令Place-->Hierarchical Block,将它们封装为一个层次块。Reference:根据模块实际填写;Implementtation Type选择Schematic View;Implementtation name选择你要调用的模块;其他选项选择默认;点击ok;如图:

5 ,在顶层模块原理图页,鼠标会变成一个‘+’符号;长按左键拖动鼠标,层次块在在顶层原理图页调用成功。如图:

6,在顶层原理图页中,将之前创建的层次块拖拽到合适的位置,调整层次块的大小和pin的位置,并连接它们的端口。

总结

1,在需要修改具体电路的情况下,可以在顶层原理图页中双击某个层次块,进入该层次块的原理图页进行修改。

2,当原理图有改动时,选中框图中层次模块,点击鼠标右键,菜单中Synchronize Up向上更新, Synchronize Down向下更新。

        通过这种自下而上的方法进行原理图层次化设计,可以更好地组织和管理电路图,使得电路更加清晰易懂,同时还可以方便地进行模块化的设计和修改。

### Cadence 层次化原理图设计教程与技术细节 层次化设计Cadence OrCAD 中一种强大的功能,能够帮助工程师更好地组织和管理复杂的电路设计。以下是对 Cadence 软件在层次化原理图设计中的使用方法和技术细节的详细说明: #### 1. 创建层次化设计项目 在开始设计之前,需要创建一个新的原理图项目。通过执行菜单命令 `File -> New -> Project`,可以新建一个项目文件夹[^2]。此项目文件夹将包含所有与层次化设计相关的子图和配置文件。 #### 2. 绘制顶层框图 在顶层原理图页面中,绘制整个系统的结构框图。通过执行菜单命令 `Place -> Hierarchical Block`,可以在页面上放置一个表示子模块的方框[^3]。每个方框代表一个子模块,后续将在这些子模块中设计具体的电路。 #### 3. 添加层次化端口 为了实现不同层次之间的连接,需要为每个子模块添加端口。通过执行菜单命令 `Place -> Hierarchical PIN`,可以为子模块定义输入、输出或双向端口[^2]。这些端口用于连接顶层框图和其他子模块。 #### 4. 创建子模块电路图 选中顶层框图中的某个子模块方框并双击,系统会自动创建一个新的电路图页文件夹,并打开该子模块的设计界面[^3]。在此界面中,可以设计具体的电路逻辑。 #### 5. 子模块间的互连 在子模块中,通过 `Place -> Port` 命令添加端口。单根线端口可以直接命名,例如 `FPGA`;总线端口则需要指定范围,例如 `CAM[0...7]` 表示包含 8 根线的总线端口。对于总线端口,还需要在总线入口处标明序号以确保正确连接。 #### 6. 更新设计同步 当某个子模块的电路发生更改时,可以通过右键点击顶层框图中的对应模块,选择 `Synchronize Up` 或 `Synchronize Down` 来更新设计[^3]。`Synchronize Up` 用于将子模块的更改同步到顶层框图,而 `Synchronize Down` 则用于将顶层框图的更改同步到子模块。 #### 7. 最佳实践建议 - **清晰的功能划分**:在设计初期明确系统功能模块的划分,有助于后续设计和维护。 - **规范命名规则**:为端口、信号和子模块制定统一的命名规则,提高设计可读性。 - **版本控制**:定期保存设计文件,并使用版本控制系统记录更改历史。 - **验证设计一致性**:在完成设计后,检查所有层次之间的连接是否一致,避免潜在错误。 ```python # 示例代码:层次化设计中的端口命名规则 port_names = ["CLK", "RST", "DATA_IN", "DATA_OUT"] for name in port_names: print(f"Adding port: {name}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值